disabledenabledindexsigneddecimaltext multilinenumberphonedatetime emailAddressurlvisiblePasswordname streetAddressnonevalues_names_nametoJsontoString==hashCode unspecifieddonegosearchsendnextpreviouscontinueActionjoinroute emergencyCallnewlinewords sentences charactersviewId inputTypereadOnly obscureText autocorrectautofillConfigurationsmartDashesTypesmartQuotesTypeenableSuggestionsenableInteractiveSelection actionLabel inputActiontextCapitalizationkeyboardAppearanceenableIMEPersonalizedLearningallowedMimeTypescopyWithenableDeltaModelStartUpdateEndoffset startLocationstate selection composingemptyisComposingRangeValidreplacedtoJSON_textRangeIsValidtap doubleTap longPress forcePresskeyboardtoolbardragscribbletextEditingValueuserUpdateTextEditingValue hideToolbar bringIntoView cutEnabled copyEnabled pasteEnabledselectAllEnabled lookUpEnabledsearchWebEnabled shareEnabledliveTextInputEnabled cutSelection pasteText selectAll copySelectioncurrentTextEditingValuecurrentAutofillScopeupdateEditingValue performAction insertContentperformPrivateCommandupdateFloatingCursorshowAutocorrectionPromptRectconnectionCloseddidChangeInputControl showToolbarinsertTextPlaceholderremoveTextPlaceholderperformSelectorelementIdentifieronScribbleFocusisInScribbleRectboundsposition directionupdateEditingValueWithDeltas _cachedSize_cachedTransform _cachedRect_cachedCaretRect_cachedSelectionRects_nextId_id debugResetId_clientattachedscribbleInProgressshowrequestAutofill updateConfigsetEditingStatesetEditableSizeAndTransformsetComposingRect setCaretRectsetSelectionRectssetStylecloseconnectionClosedReceived setChannel _instance_addInputControl_removeInputControlsetInputControlrestorePlatformInputControl_currentControl_inputControls_androidSupportedInputActions_iOSSupportedInputActionsensureInitializedattach_attach&_debugEnsureInputActionWorksOnPlatform_channel_currentConnection_currentConfiguration_scribbleClients_scribbleInProgressscribbleClients _loudlyHandleTextInputInvocation_handleTextInputInvocation _hidePending _scheduleHide _setClient _clearClient _updateConfig_setEditingState_show_hide_setEditableSizeAndTransform_setComposingTextRect _setCaretRect_setSelectionRects _setStyle_requestAutofill_updateEditingValuefinishAutofillContextregisterScribbleElementunregisterScribbleElementdetachhideinstance_configurationToJson onSystemHide _lastShown_lastTargetRect_hiddenBySystem _isVisible _isDisposedhandleSystemHidedisposeSmartDashesTypeSmartQuotesType TextInputTypeTextInputActionTextCapitalizationTextInputConfiguration_toTextAffinityFloatingCursorDragStateRawFloatingCursorPointTextEditingValueSelectionChangedCauseTextSelectionDelegateTextInputClientScribbleClient SelectionRectDeltaTextInputClientTextInputConnection_toTextInputAction_toTextCursorAction _toTextPoint TextInputTextInputControl_PlatformTextInputControlSystemContextMenuControllerPlatform FlutterView FontWeightOffsetRectSize TextAlign TextDirectionMatrix4 Clipboard Brightness TextPosition TextRangeAutofillConfiguration AutofillScope TextSelection TextFieldsmartDashesTypeCupertinoTextField EditableTextsmartQuotesType immutableintbool_numberWithOptionsListStringMapdynamicoverrideobjectRuntimeTypeObjectindexsigneddecimalhash FocusScopecontinueActionnewlineattachtextdonelightnonedisabledenabledViewviewId inputTypereadOnly obscureText autocorrectenableSuggestionsenableInteractiveSelection inputActiontextCapitalizationkeyboardAppearanceenableIMEPersonalizedLearningallowedMimeTypesautofillConfigurationenableDeltaModelTextEditingDeltaupdateEditingValueWithDeltasupdateEditingValuetoJsontoString TextAffinity downstreamupstreambackgroundCursorColorUpdate collapsedoffsetempty baseOffset extentOffsetaffinity isDirectionalstartend selection composingisValid isNormalizedlength replaceRangeclamp identicalhashCodeEditableTextStateuserUpdateTextEditingValuevoidLiveTextLiveTextInputStatusNotifiertoolbarFuture bringIntoView AutofillGroupKeyboardInsertedContenthideshowltrRenderEditable runtimeTypepositionbounds directionvisibleForTestingto _instance_currentConnectionscribbleInProgress_show_requestAutofill _updateConfig_setEditingState PipelineOwnerrootNode_setEditableSizeAndTransformisFinitezero_setComposingTextRect _setCaretRect listEquals_setSelectionRectsdouble _setStyle fontFamilyfontSize fontWeight textDirection textAlign _clearClient unspecifiedgosearchsendnextpreviousjoinroute emergencyCall FlutterError fromPartsDiagnosticsNode ErrorSummaryStartEndnumtoDoublestatesetEditingStateTextInputFormatterSystemChannels textInputsetMethodCallHandler MethodChannel_channel _loudlyHandleTextInputInvocationinstance_inputControlsaddremoverestorePlatformInputControl_currentControl_clientdidChangeInputControlsetInputControlSetclose_attachkIsWebisIOScontains isAndroid_scribbleClients MethodCall reportErrorFlutterErrorDetails exceptionstacklibrarycontextErrorDescriptionmethodinformationCollectorDiagnosticsPropertystyleDiagnosticsTreeStyle errorProperty argumentsonScribbleFocuscastmapvaluetoListkeyswherefromLTWHelementIdentifierisInScribbleRecthasNaN isInfinitelefttopwidthheightcurrentTextEditingValuecurrentAutofillScopefromJSONtagAutofillClientgetAutofillClienttextInputConfigurationautofill_id_updateEditingValueexcludeencoded encodedDeltadeltasfromJson insertContent performAction selectorsforEachperformSelectorperformPrivateCommandfirstArgupdateFloatingCursorconnectionClosedshowAutocorrectionPromptRect showToolbarinsertTextPlaceholderremoveTextPlaceholderMissingPluginExceptionscheduleMicrotaskcontroldetach updateConfigsetEditableSizeAndTransformsetComposingRect setCaretRectsetSelectionRectssetStylerequestAutofillFormonDisposeActionfinishAutofillContext autofillHints shouldSave multiline invokeMethodtoJSONstoragerectContextMenuControllerSystemContextMenu MediaQuery%maybeSupportsShowingSystemContextMenuSystemContextMenuClientServicesBindingregisterSystemContextMenuClient VoidCallbackplatformcall supportsShowingSystemContextMenu _isVisible_lastTargetRect!unregisterSystemContextMenuClientTextInputClientTextInputControlSystemContextMenuClientٯƲq7Sy AÄ% Brightness FontWeightOffsetRectSize TextAlign TextDirection TextPosition TextRangedart:uiYeMatrix4('package:vector_math/vector_math_64.dartAutofillConfiguration AutofillScopeh autofill.dartń TextSelectiontext_editing.dart dart:asyncPlatformdart:io҂* FlutterView FontWeightOffsetRectSize TextAlign TextDirectiondart:ui.package:flutter/foundation.dartMatrix4X'package:vector_math/vector_math_64.dart autofill.dart binding.dartނ Clipboardclipboard.dartkeyboard_inserted_content.dartmessage_codec.dart5platform_channel.dartUsystem_channels.dartttext_editing.darttext_editing_delta.dart<ց7;\ׁ,-WƂ4Ts'(ghمO܅Agˆ&ɇχfqstňɈ׈ۈ*P҉؉myz6ACDً݌'qnjݍ,-W]Ӎ0BC47Őː12djPQ3zÓē>wxٔߕ+?{|+,EKǖȗ RܘM̘ҙǙș)/c34vМ zejk.Pn͞6RptuƟ-12>y{|Ġȡb=أdky}ȥgQצۦ1l)/tƩǪiҪث%JYZIP; (./^dQr|}ɰ;۱Srxòɳflٳ0ms´ȵioXD{Ҹ#)uøɹiodsycܻ+yμ6<۽1arsپ߿,u{̿@A@@A$AtAAAABB2B6B~BBCCCfCCCCCDED{DDDDEETEbEcEEEEEEF'FjFFGKGGH/HUHYHgHkHHHHI IITIuIIIIJ J&JLJrJJJKK4KkKKL L,LM M MFMLM\MbMMMMNBNcNdNNNNNOOO0OJOKOsOyOOOOOP.PzPQQNQOQQQR#RRSTStTT T[TTTUUmUUUUUVVVAVBVVVWWuWX1XQXXY/Y~YYZZOZaZgZwZ}ZZZ[#[$[p[[\\N\\\\\\]E]Z]z]{]]]^L^c^i^^^^___V_{_|___` `` `&`x````aa a3aZa[abb(b.bybbbbbc,cAcmcncccd0dPdtddddde e1eNeteeeef(fLf~ffffggBgvggh*hphiiNijjCjjjjjk,krkxkkkllallmmemmmmnBn{nooHoNogoooop4pRpjppppq,qgqqqr$r_rrssDsqsxs|s~ssstt@tOtTtVtWtttu5uuv"vmvwwPwTwwx;xxxyy1y5yCyGyyyzEzUz^z_zzzzzzzz{4{8{F{J{{{||!|'|t|||||}C}D}}}~~p~~~.01-v| 4t!TdJQ#$I^_3IO;506o 5;4QRGew NUYZ?V\_ bM123dQXZw Br2l -KsNS#oZ+<@BC:AB&O\]1?E#AGAMOPb Y%&NTEF )IJjAfg9="(u:@Y RN`f39IOFLGH'-|} QRBC"[\RflRG!gZ|}»+Z\]ÐÔ)IJĕěbņŇŹ"oƤƯ!9UoǗǝǞEȂȗȘ$FY_ɋɟɥ8<=I~ʋ #=ˍ-}̝̣D͊͐ͦ ;bhz Iύϻ,{}~ко^ѭ-FG\yҎҨQWӠ)9M`jnoԐԑ,-rxCD֏֥P_eu{*./}؝%)*xُ NTڢ(.y۰InܒBX^ݯ.>cނސޖޮ<@Aߒ߳ )}*0y$bhlm4hz +2HIl BH$*AEF.EIKLZXdQVXY>\:z _cET=B KO7} YB%r5Ohw}&;p ?@{*c!r b\!'S,2vd-Gh%*+"?c}Ko 1 w    8 v   A s      T    J }     .CKgw7G "#BCn>tu!Us- 9Oz:J~ S!y?"2l1pNpJ|?FQ ! + 3 4 B H I p   !$!6!!""0"S"]"r"~""""""##f#$$$%A%%%%&N&z&'3'q'''((i(()4)o)))**#*V***++7+o+, ,6,i,--L--------...(...G.H...//$/L/]/e/m/q/r/00.0408090Q000011&1*1+1h111112 2J2p2v2z2{2222222383N3T3X3Y334,4246474a4444445.5P5V5Z5[556 6666'6H6g66667747T7p777777788A8b8h8l8m888889A9a999999::%:t::;<;@;A;;;<:>>>>?=??@!@s@@AAVAAB@BBBCC CWCCDDDDDDEEETEEFFlFFFFGGGGmGGHLHPHQHHIIIIIoIIIJCJJJKKEKIKKLLLLcLgLLLLLM7MMMNN NkNqNOO_O`OOOPDPmPnPPPQQQ;QAQQQQQR1RDRRRRSS-S_S`SSST'TvTwTTU UUAUBUUUUVVVDVJVVVVW%W+WzWWWWXX*XLXTXUXXXXXY$Y*Y:Y@YkYYYYZZ9Z:ZtZZ[[[[[[\3\r\\]M]a]]]]]]]^^Q^r^^^__ ____"_J______``=`D`H`I`U````````aa;a?a@aLa\aaaaabb>bWbbbbbbbbcc8c]cvccccccccdd#dDddd}dddddddde eHeieeeef f(fFf_ffffffffffgg-gWgyggggghhDhohhhhhhhii i!i-ifiiiiiiiijjNjjjkkkkkllPlllllllmDmmn nMnnnnnno0o4o5ooouoppApGppppqqqEqFq}qqqqrrr?r@rrrrrssss0sJsssssst tt.tHtLtMtotpttuuJuPuuvvvjvvw(w.wbwhwxw~wx xExlxxxy*y1y2yoyyyyz zUzzzzzz{0{[{t{{{||'|2|;|B|F|G|m|s|||}}}/}5}r}~ ~'~A~~~~~c   8D/// @docImport 'package:flutter/cupertino.dart'; /// @docImport 'package:flutter/material.dart'; /// @docImport 'package:flutter/rendering.dart'; /// /// @docImport 'live_text.dart'; /// @docImport 'text_formatter.dart';҂*-Wނ4TsÄ%(Yehń D6́w/// The type of information for which to optimize the text input control. /// /// On Android, behavior may vary across device and keyboard provider. /// /// This class stays as close to `Enum` interface as possible, and allows /// for additional flags for some input types. For example, numeric input /// can specify whether it supports decimal numbers and/or signed numbers.L $&//// Optimize for numerical information. /// /// Requests a numeric keyboard with additional settings. /// The [signed] and [decimal] parameters are optional. )=7?EK9/// Enum value index, corresponds to one of the [values]./// The number is signed, allowing a positive or negative sign at the start. /// /// This flag is only used for the [number] input type, otherwise `null`. /// Use `const TextInputType.numberWithOptions(signed: true)` to set this./// The number is decimal, allowing a decimal point to provide fractional. /// /// This flag is only used for the [number] input type, otherwise `null`. /// Use `const TextInputType.numberWithOptions(decimal: true)` to set this.U/// Optimize for textual information. /// /// Requests the default platform keyboard.*+,.-40/// Optimize for multiline textual information. /// /// Requests the default platform keyboard, but accepts newlines when the /// enter key is pressed. This is the input type used for all multiline text /// fields.Ko;KuK)KK(KL L:IIIIJJ JJJJJK"K,K-KRKdKeKKKKKLLKLKL%LCL3LULELXLLeLLYLgLvLwLLLLLLLLM LLLLLLLMMMM/// The ID of the view that the text input belongs to. /// /// See also: /// /// * [FlutterView], which is the view that the ID points to. /// * [View], which is a widget that wraps a [FlutterView].MiNXI/// The type of information for which to optimize the text input control.NfeNK/// Whether the text field can be edited or not. /// /// Defaults to false.NxO=[/// Whether to hide the text being edited (e.g., for passwords). /// /// Defaults to false.OM\O?/// Whether to enable autocorrection. /// /// Defaults to true.OQ7`/// The configuration to use for autofill. /// /// Defaults to null, in which case no autofill information will be provided /// to the platform. This will prevent the corresponding input field from /// participating in autofills triggered by other fields. Additionally, on /// Android and web, setting [autofillConfiguration] to null disables autofill.QQV0/// {@template flutter.services.TextInputConfiguration.smartDashesType} /// Whether to allow the platform to automatically format dashes. /// /// This flag only affects iOS versions 11 and above. It sets /// [`UITextSmartDashesType`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype?language=objc) /// in the engine. When true, it passes /// [`UITextSmartDashesTypeYes`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/uitextsmartdashestypeyes?language=objc), /// and when false, it passes /// [`UITextSmartDashesTypeNo`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/uitextsmartdashestypeno?language=objc). /// /// As an example of what this does, two consecutive hyphen characters will be /// automatically replaced with one en dash, and three consecutive hyphens /// will become one em dash. /// /// Defaults to true, unless [obscureText] is true, when it defaults to false. /// This is to avoid the problem where password fields receive autoformatted /// characters. /// /// See also: /// /// * [smartQuotesType] /// * /// {@endtemplate}VD[/// {@template flutter.services.TextInputConfiguration.smartQuotesType} /// Whether to allow the platform to automatically format quotes. /// /// This flag only affects iOS. It sets /// [`UITextSmartQuotesType`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype?language=objc) /// in the engine. When true, it passes /// [`UITextSmartQuotesTypeYes`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/uitextsmartquotestypeyes?language=objc), /// and when false, it passes /// [`UITextSmartQuotesTypeNo`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/uitextsmartquotestypeno?language=objc). /// /// As an example of what this does, a standard vertical double quote /// character will be automatically replaced by a left or right double quote /// depending on its position in a word. /// /// Defaults to true, unless [obscureText] is true, when it defaults to false. /// This is to avoid the problem where password fields receive autoformatted /// characters. /// /// See also: /// /// * [smartDashesType] /// * /// {@endtemplate}[&R]g/// {@template flutter.services.TextInputConfiguration.enableSuggestions} /// Whether to show input suggestions as the user types. /// /// This flag only affects Android. On iOS, suggestions are tied directly to /// [autocorrect], so that suggestions are only shown when [autocorrect] is /// true. On Android autocorrection and suggestion are controlled separately. /// /// Defaults to true. /// /// See also: /// /// * /// {@endtemplate}]}+^/// Whether a user can change its selection. /// /// This flag only affects iOS VoiceOver. On Android Talkback, the selection /// change is sent through semantics actions and is directly disabled from /// the widget side. /// /// Defaults to true.^__C/// What text to display in the text input control's action button._h_nD/// What kind of action to request for the action button on the IME._~'`/// Specifies how platforms may automatically capitalize text entered by the /// user. /// /// Defaults to [TextCapitalization.none]. /// /// See also: /// /// * [TextCapitalization], for a description of each capitalization behavior.`aF/// The appearance of the keyboard. /// /// This setting is only honored on iOS devices. /// /// Defaults to [Brightness.light].a]cN/// {@template flutter.services.TextInputConfiguration.enableIMEPersonalizedLearning} /// Whether to enable that the IME update personalized data such as typing /// history and user dictionary data. /// /// This flag only affects Android. On iOS, there is no equivalent flag. /// /// Defaults to true. /// /// See also: /// /// * /// {@endtemplate}cpqcK/// {@macro flutter.widgets.contentInsertionConfiguration.allowedMimeTypes}j愞otT/// Whether to enable that the engine sends text input updates to the /// framework as [TextEditingDelta]'s or as one [TextEditingValue]. /// /// Enabling this flag results in granular text updates being received from the /// platform's text input control. /// /// When this is enabled: /// * You must implement [DeltaTextInputClient] and not [TextInputClient] to /// receive granular updates from the platform's text input. /// * Platform text input updates will come through /// [DeltaTextInputClient.updateEditingValueWithDeltas]. /// * If [TextInputClient] is implemented with this property enabled then /// you will experience unexpected behavior as [TextInputClient] does not implement /// a delta channel. /// /// When this is disabled: /// * If [DeltaTextInputClient] is implemented then updates for the /// editing state will continue to come through the /// [DeltaTextInputClient.updateEditingValue] channel. /// * If [TextInputClient] is implemented then updates for the editing /// state will come through [TextInputClient.updateEditingValue]. /// /// Defaults to false.cdig/// Creates a copy of this [TextInputConfiguration] with the given fields /// replaced with new values.dx d~ddddddddd de e!e5e<eR eYexeeeeee&ef#f f,f;fP,fhffoo=/// Returns a representation of this object as a JSON object.HHz6{/// The current state and position of the floating cursor. /// /// See also: /// /// * [FloatingCursorDragState], which explains the floating cursor feature in /// detail.{ʁx||/// Creates information for setting the position and state of a floating /// cursor. /// /// [state] must not be null and [offset] must not be null if the state is /// [FloatingCursorDragState.Update].| ||||| }}}@}/} }}}'}(}9}2}<}F`}I/// The raw position of the floating cursor as determined by the iOS sdk.}1~π/// Represents the starting location when initiating a floating cursor via long press. /// This is a tuple where the first item is the local offset and the second item is the new caret position. /// This is only non-null when a floating cursor is started.~K'%/// The state of the floating cursor.1O/// The current text, selection, and composing state for editing a run of text. Q/// Creates information for editing a run of text. /// /// The selection and composing range must be within the text. This is not /// checked during construction, and must be guaranteed by the caller. /// /// The default value of [selection] is `TextSelection.collapsed(offset: -1)`. /// This indicates that there is no selection at all.$*8:>x ~0IO\]fqmgop9/// Creates an instance of this class from a JSON object.&6X"/// The current text being edited.aD/// The range of text that is currently selected. /// /// When [selection] is a [TextSelection] that has the same non-negative /// `baseOffset` and `extentOffset`, the [selection] property represents the /// caret position. /// /// If the current [selection] has a negative `baseOffset` or `extentOffset`, /// then the text currently does not have a selection or a caret location, and /// most text editing operations that rely on the current selection (for /// instance, insert a character at the caret location) will do nothing.Fa/// The range of text that is still being composed. /// /// Composing regions are created by input methods (IMEs) to indicate the text /// within a certain range is provisional. For instance, the Android Gboard /// app's English keyboard puts the current word under the caret into a /// composing region to indicate the word is subject to autocorrect or /// prediction changes. /// /// Composing regions can also be used for performing multistage input, which /// is typically used by IMEs designed for phonetic keyboard to enter /// ideographic symbols. As an example, many CJK keyboards require the user to /// enter a Latin alphabet sequence and then convert it to CJK characters. On /// iOS, the default software keyboards do not have a dedicated view to show /// the unfinished Latin sequence, so it's displayed directly in the text /// field, inside of a composing region. /// /// The composing region should typically only be changed by the IME, or the /// user via interacting with the IME. /// /// If the range represented by this property is [TextRange.empty], then the /// text is not currently being composed.TZ/// A value that corresponds to the empty string with no selection and no composing range.\+"/// Whether the [composing] range is a valid range within [text]. /// /// Returns true if and only if the [composing] range is normalized, its start /// is greater than or equal to 0, and its end is less than or equal to /// [text]'s length. /// /// If this property is false while the [composing] range's `isValid` is true, /// it usually indicates the current [composing] range is invalid because of a /// programming error.tjZX/// Creates a copy of this value but with the given fields replaced with the new values.i r{SD/// Returns a new [TextEditingValue], which is this [TextEditingValue] with /// its [text] partially replaced by the `replacementString`. /// /// The `replacementRange` parameter specifies the range of the /// [TextEditingValue.text] that needs to be replaced. /// /// The `replacementString` parameter specifies the string to replace the /// given range of text with. /// /// This method also adjusts the selection range and the composing range of the /// resulting [TextEditingValue], such that they point to the same substrings /// as the corresponding ranges in the original [TextEditingValue]. For /// example, if the original [TextEditingValue] is "Hello world" with the word /// "world" selected, replacing "Hello" with a different string using this /// method will not change the selected word. /// /// This method does nothing if the given `replacementRange` is not /// [TextRange.isValid].MXiq7=/// Returns a representation of this object as a JSON object.  ]p/// An interface to receive focus from the engine. /// /// This is currently only used to handle UIIndirectScribbleInteraction.I6)/// A unique identifier for this element.ʼnB//// The current bounds of the [ScribbleClient].L/// Called by the engine when the [ScribbleClient] should receive focus. /// /// For example, this method is called during a UIIndirectScribbleInteraction. oiK/// Tests whether the [ScribbleClient] overlaps the given rectangle bounds.z ŀτƵ/// Represents a selection rect for a character and it's position in the text. /// /// This is used to report the current text selection rect and position data /// to the engine for Scribble support on iPadOS 14.ǀ)6W/// Constructor for creating a [SelectionRect] from a text [position] and /// [bounds].=LYhs"yDŽǑǒǠT?/// The position of this selection rect within the text String.ȏ/// The rectangle representing the bounds of this selection rect within the /// currently focused [RenderEditable]'s coordinate space.ȚX8/// The direction text flows within this selection rect.?>S?@D ʁEʔʁʂƤƥ~l/// An interface for interacting with a text input control. /// /// See also: /// /// * [TextInput.attach], a method used to establish a [TextInputConnection] /// between the system's text input and a [TextInputClient]. /// * [EditableText], a [TextInputClient] that connects to and interacts with /// the system's text input using a [TextInputConnection]. < %95B;IO^g{ҁҐҖҪ=Ҿ qԇԓQ/// Whether this connection is currently interacting with the text input control.//// Whether there is currently a Scribble interaction in progress. /// /// This is used to make sure selection handles are shown when UIKit changes /// the selection during a Scribble interaction. U /// Resets the internal ID counter for testing purposes. /// /// This call has no effect when asserts are disabled. Calling it from /// application code will likely break text input for the application. #Fֆ8/// Requests that the text input control become visible.́`Ԁ/// Requests the system autofill UI to appear. /// /// Currently only works on Android. Other platforms do not respond to this /// message. /// /// See also: /// /// * [EditableText], a [TextInputClient] that calls this method when focused.1ؤi/// Requests that the text input control update itself according to the new /// [TextInputConfiguration].ر$,ٖ`/// Requests that the text input control change its internal state to match /// the given state.٦ٸ۷/// Send the size and transform of the editable text to engine. /// /// The values are sent as platform messages so they can be used on web for /// example to correctly position and size the html input field. /// /// 1. [editableBoxSize]: size of the render editable box. /// /// 2. [transform]: a matrix that maps the local paint coordinate system /// to the [PipelineOwner.rootNode].LE4T 4Z4р44 45]5b5u"5666+6=6L6^6k66$6667ꀁ78op8t88889\:/// Updates the editing value of the attached input client. /// /// This method should be called by the text input control implementation to /// send editing value updates to the attached input client.::;CoE7/// Finishes the current autofill context, and potentially saves the user /// input for future use if `shouldSave` is true. /// /// Typically, this method should be called when the user has finalized their /// input. For example, in a [Form], it's typically done immediately before or /// after its content is submitted. /// /// The topmost [AutofillGroup]s also call [finishAutofillContext] /// automatically when they are disposed. The default behavior can be /// overridden in [AutofillGroup.onDisposeAction]. /// /// {@template flutter.services.TextInput.finishAutofillContext} /// An autofill context is a collection of input fields that live in the /// platform's text input plugin. The platform is encouraged to save the user /// input stored in the current autofill context before the context is /// destroyed, when [TextInput.finishAutofillContext] is called with /// `shouldSave` set to true. /// /// Currently, there can only be at most one autofill context at any given /// time. When any input field in an [AutofillGroup] requests for autofill /// (which is done automatically when an autofillable [EditableText] gains /// focus), the current autofill context will merge the content of that /// [AutofillGroup] into itself. When there isn't an existing autofill context, /// one will be created to hold the newly added input fields from the group. /// /// Once added to an autofill context, an input field will stay in the context /// until the context is destroyed. To prevent leaks, call /// [TextInput.finishAutofillContext] to signal the text input plugin that the /// user has finalized their input in the current autofill context. The /// platform text input plugin either encourages or discourages the platform /// from saving the user input based on the value of the `shouldSave` /// parameter. The platform usually shows a "Save for autofill?" prompt for /// user confirmation. /// {@endtemplate} /// /// On many platforms, calling [finishAutofillContext] shows the save user /// input dialog and disrupts the user's flow. Ideally the dialog should only /// be shown no more than once for every screen. Consider removing premature /// [finishAutofillContext] calls to prevent showing the save user input UI /// too frequently. However, calling [finishAutofillContext] when there's no /// existing autofill context usually does not bring up the save user input /// UI. /// /// See also: /// /// * [EditableText.autofillHints] for autofill save troubleshooting tips. /// * [AutofillGroup.onDisposeAction], a configurable action that runs when a /// topmost [AutofillGroup] is getting disposed.EFFFG/// Registers a [ScribbleClient] with [elementIdentifier] that can be focused /// by the engine. /// /// For example, the registered [ScribbleClient] list is used to respond to /// UIIndirectScribbleInteraction on an iPad.GGGGHSHrKs Ass s trxT/// Shows the system context menu anchored on the given [Rect]. /// /// The [Rect] represents what the context menu is pointing to. For example, /// for some text selection, this would be the selection [Rect]. /// /// There can only be one system context menu visible at a time. Calling this /// while another system context menu is already visible will remove the old /// menu before showing the new menu. /// /// Currently this system context menu is bound to text input. The buttons /// that are shown and the actions they perform are dependent on the /// currently active [TextInputConnection]. Using this without an active /// [TextInputConnection] will be a noop. /// /// This is only supported on iOS 16.0 and later. /// /// See also: /// /// * [hide], which hides the menu shown by this method. /// * [MediaQuery.supportsShowingSystemContextMenu], which indicates whether /// this method is supported on the current platform.xYx_|I~/// Hides this system context menu. /// /// If this hasn't been shown, or if another instance has hidden this menu, /// does nothing. /// /// Currently this is only supported on iOS 16.0 and later. /// /// See also: /// /// * [show], which shows the menu hidden by this method. /// * [MediaQuery.supportsShowingSystemContextMenu], which indicates whether /// the system context menu is supported on the current platform.J/// Used to release resources when this instance will never be used again.Ё?/// Indicates how to handle the intelligent replacement of dashes in text input. /// /// See also: /// /// * [TextField.smartDashesType] /// * [CupertinoTextField.smartDashesType] /// * [EditableText.smartDashesType] /// * [SmartQuotesType] /// * Ç/// Smart dashes is disabled. /// /// This corresponds to the /// ["no" value of UITextSmartDashesType](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/no).Èh/// Smart dashes is enabled. /// /// This corresponds to the /// ["yes" value of UITextSmartDashesType](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/yes).tΉ&/// Indicates how to handle the intelligent replacement of quotes in text input. /// /// See also: /// /// * [TextField.smartQuotesType] /// * [CupertinoTextField.smartQuotesType] /// * [EditableText.smartQuotesType] /// * Êo/// Smart quotes is disabled. /// /// This corresponds to the /// ["no" value of UITextSmartQuotesType](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/no).|Ë8/// Smart quotes is enabled. /// /// This corresponds to the /// ["yes" value of UITextSmartQuotesType](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/yes).|W /// An action the user has requested the text input control to perform. /// /// Each action represents a logical meaning, and also configures the soft /// keyboard to display a certain kind of action button. The visual appearance /// of the action button might differ between versions of the same OS. /// /// Despite the logical meaning of each action, choosing a particular /// [TextInputAction] does not necessarily cause any specific behavior to /// happen, other than changing the focus when appropriate. It is up to the /// developer to ensure that the behavior that occurs when an action button is /// pressed is appropriate for the action button chosen. /// /// For example: If the user presses the keyboard action button on iOS when it /// reads "Emergency Call", the result should not be a focus change to the next /// TextField. This behavior is not logically appropriate for a button that says /// "Emergency Call". /// /// See [EditableText] for more information about customizing action button /// behavior. /// /// Most [TextInputAction]s are supported equally by both Android and iOS. /// However, there is not a complete, direct mapping between Android's IME input /// types and iOS's keyboard return types. Therefore, some [TextInputAction]s /// are inappropriate for one of the platforms. If a developer chooses an /// inappropriate [TextInputAction] when running in debug mode, an error will be /// thrown. If the same thing is done in release mode, then instead of sending /// the inappropriate value, Android will use "unspecified" on the platform /// side and iOS will use "default" on the platform side. /// /// See also: /// /// * [TextInput], which configures the platform's keyboard setup. /// * [EditableText], which invokes callbacks when the action button is pressed. /// Logical meaning: There is no relevant input action for the current input /// source, e.g., [TextField]. /// /// Android: Corresponds to Android's "IME_ACTION_NONE". The keyboard setup /// is decided by the OS. The keyboard will likely show a return key. /// /// iOS: iOS does not have a keyboard return type of "none." It is /// inappropriate to choose this [TextInputAction] when running on iOS.ɁLr/// Logical meaning: Let the OS decide which action is most appropriate. /// /// Android: Corresponds to Android's "IME_ACTION_UNSPECIFIED". The OS chooses /// which keyboard action to display. The decision will likely be a done /// button or a return key. /// /// iOS: Corresponds to iOS's "UIReturnKeyDefault". The title displayed in /// the action button is "return".\/// Logical meaning: The user is done providing input to a group of inputs /// (like a form). Some kind of finalization behavior should now take place. /// /// Android: Corresponds to Android's "IME_ACTION_DONE". The OS displays a /// button that represents completion, e.g., a checkmark button. /// /// iOS: Corresponds to iOS's "UIReturnKeyDone". The title displayed in the /// action button is "Done". "* /// Logical meaning: The user has entered some text that represents a /// destination, e.g., a restaurant name. The "go" button is intended to take /// the user to a part of the app that corresponds to this destination. /// /// Android: Corresponds to Android's "IME_ACTION_GO". The OS displays a /// button that represents taking "the user to the target of the text they /// typed", e.g., a right-facing arrow button. /// /// iOS: Corresponds to iOS's "UIReturnKeyGo". The title displayed in the /// action button is "Go".1It4/// Logical meaning: Execute a search query. /// /// Android: Corresponds to Android's "IME_ACTION_SEARCH". The OS displays a /// button that represents a search, e.g., a magnifying glass button. /// /// iOS: Corresponds to iOS's "UIReturnKeySearch". The title displayed in the /// action button is "Search".l/// Logical meaning: Sends something that the user has composed, e.g., an /// email or a text message. /// /// Android: Corresponds to Android's "IME_ACTION_SEND". The OS displays a /// button that represents sending something, e.g., a paper plane button. /// /// iOS: Corresponds to iOS's "UIReturnKeySend". The title displayed in the /// action button is "Send".ڳہ/// Logical meaning: The user is done with the current input source and wants /// to move to the next one. /// /// Moves the focus to the next focusable item in the same [FocusScope]. /// /// Android: Corresponds to Android's "IME_ACTION_NEXT". The OS displays a /// button that represents moving forward, e.g., a right-facing arrow button. /// /// iOS: Corresponds to iOS's "UIReturnKeyNext". The title displayed in the /// action button is "Next".( /// Logical meaning: The user wishes to return to the previous input source /// in the group, e.g., a form with multiple [TextField]s. /// /// Moves the focus to the previous focusable item in the same [FocusScope]. /// /// Android: Corresponds to Android's "IME_ACTION_PREVIOUS". The OS displays a /// button that represents moving backward, e.g., a left-facing arrow button. /// /// iOS: iOS does not have a keyboard return type of "previous." It is /// inappropriate to choose this [TextInputAction] when running on iOS. /// Logical meaning: In iOS apps, it is common for a "Back" button and /// "Continue" button to appear at the top of the screen. However, when the /// keyboard is open, these buttons are often hidden off-screen. Therefore, /// the purpose of the "Continue" return key on iOS is to make the "Continue" /// button available when the user is entering text. /// /// Historical context aside, [TextInputAction.continueAction] can be used any /// time that the term "Continue" seems most appropriate for the given action. /// /// Android: Android does not have an IME input type of "continue." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyContinue". The title displayed in the /// action button is "Continue". This action is only available on iOS 9.0+. /// /// The reason that this value has "Action" post-fixed to it is because /// "continue" is a reserved word in Dart, as well as many other languages.lW/// Logical meaning: The user wants to join something, e.g., a wireless /// network. /// /// Android: Android does not have an IME input type of "join." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyJoin". The title displayed in the /// action button is "Join".hT/// Logical meaning: The user wants routing options, e.g., driving directions. /// /// Android: Android does not have an IME input type of "route." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyRoute". The title displayed in the /// action button is "Route".vcZ/// Logical meaning: Initiate a call to emergency services. /// /// Android: Android does not have an IME input type of "emergencyCall." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyEmergencyCall". The title displayed /// in the action button is "Emergency Call".u[AɃ5/// Logical meaning: Insert a newline character in the focused text input, /// e.g., [TextField]. /// /// Android: Corresponds to Android's "IME_ACTION_NONE". The OS displays a /// button that represents a new line, e.g., a carriage return button. /// /// iOS: Corresponds to iOS's "UIReturnKeyDefault". The title displayed in the /// action button is "return". /// /// The term [TextInputAction.newline] exists in Flutter but not in Android /// or iOS. The reason for introducing this term is so that developers can /// achieve the common result of inserting new lines without needing to /// understand the various IME actions on Android and return keys on iOS. /// Thus, [TextInputAction.newline] is a convenience term that alleviates the /// need to understand the underlying platforms to achieve this common behavior.AՃB/// Configures how the platform keyboard will select an uppercase or /// lowercase keyboard. /// /// Only supports text keyboards, other keyboard types will ignore this /// configuration. Capitalization is locale-aware.B̀C/// Defaults to an uppercase keyboard for the first letter of each word. /// /// Corresponds to `InputType.TYPE_TEXT_FLAG_CAP_WORDS` on Android, and /// `UITextAutocapitalizationTypeWords` on iOS.CD}/// Defaults to an uppercase keyboard for the first letter of each sentence. /// /// Corresponds to `InputType.TYPE_TEXT_FLAG_CAP_SENTENCES` on Android, and /// `UITextAutocapitalizationTypeSentences` on iOS.DEV/// Defaults to an uppercase keyboard for each character. /// /// Corresponds to `InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS` on Android, and /// `UITextAutocapitalizationTypeAllCharacters` on iOS.Ee,E%/// Defaults to a lowercase keyboard.tWyᅄ/// The state of a "floating cursor" drag on an iOS soft keyboard. /// /// The "floating cursor" cursor-positioning mode is an iOS feature used to /// precisely position the caret in some editable text using certain touch /// gestures. As an example, when the user long-presses the spacebar on the iOS /// virtual keyboard, iOS enters floating cursor mode where the whole keyboard /// becomes a trackpad. In this mode, there are two visible cursors. One, the /// floating cursor, hovers over the text, following the user's horizontal /// movements exactly and snapping to lines vertically. The other, the /// placeholder cursor, is a "shadow" that also snaps to the actual location /// where the cursor will go horizontally when the user releases the trackpad. /// /// The floating cursor renders over the text field, while the placeholder /// cursor is a faint shadow of the cursor rendered in the text field in the /// location between characters where the cursor will drop into when released. /// The placeholder cursor is a faint vertical bar, while the floating cursor /// has the same appearance as a normal cursor (a blue vertical bar). /// /// This feature works out-of-the-box with Flutter. Support is built into /// [EditableText]. /// /// See also: /// /// * [EditableText.backgroundCursorColor], which configures the color of the /// placeholder cursor while the floating cursor is being dragged.y_zWU/// A user has just activated a floating cursor by long pressing on the /// spacebar.za2z)/// A user is dragging a floating cursor.z\zT/// A user has lifted their finger off the screen after using a floating /// cursor.C h/// Indicates what triggered the change in selected text (including changes to /// the cursor location).t/// The user used iPadOS 14+ Scribble to change the selection.ssssL \o wYq %6<RPV/// A mixin for manipulating the selection, provided for toolbar or shortcut /// keys. I /// Gets the current text input.:/// Whether cut is enabled. <4/// Whether copy is enabled.L>u/// Whether paste is enabled.G"/// Whether select all is enabled.A/// Whether look up is enabled.GL"/// Whether search web is enabled.i>/// Whether share is enabled./// Whether Live Text input is enabled. /// /// See also: /// * [LiveText], where the availability of Live Text input can be obtained. /// * [LiveTextInputStatusNotifier], where the status of Live Text can be listened to.ԁ/// Indicates that the user has requested the delegate to replace its current /// text editing state with [value]. /// /// The new [value] is treated as user input and thus may subject to input /// formatting. /// /// See also: /// /// * [EditableTextState.userUpdateTextEditingValue]: an implementation that /// applies additional pre-processing to the specified [value], before /// updating the text editing state.(/// Hides the text selection toolbar. /// /// By default, hideHandles is true, and the toolbar is hidden along with its /// handles. If hideHandles is set to false, then the toolbar will be hidden /// but the handles will remain.*0=HS/// Brings the provided [TextPosition] into the visible area of the text /// input./// Cut current selection to [Clipboard]. /// /// If and only if [cause] is [SelectionChangedCause.toolbar], the toolbar /// will be hidden and the current selection will be scrolled into view.9π/// Paste text from [Clipboard]. /// /// If there is currently a selection, it will be replaced. /// /// If and only if [cause] is [SelectionChangedCause.toolbar], the toolbar /// will be hidden and the current selection will be scrolled into view./// Set the current selection to contain the entire text value. /// /// If and only if [cause] is [SelectionChangedCause.toolbar], the selection /// will be scrolled into view./// Copy current selection to [Clipboard]. /// /// If [cause] is [SelectionChangedCause.toolbar], the position of /// [bringIntoView] to selection will be called and hide toolbar.ӑ/// An interface to receive information from [TextInput]. /// /// If [TextInputConfiguration.enableDeltaModel] is set to true, /// [DeltaTextInputClient] must be implemented instead of this class. /// /// See also: /// /// * [TextInput.attach] /// * [EditableText], a [TextInputClient] implementation. /// * [DeltaTextInputClient], a [TextInputClient] extension that receives /// granular information from the platform's text input.uD/// The current state of the [TextEditingValue] held by this client.⁝/// The [AutofillScope] this [TextInputClient] belongs to, if any. /// /// It should return null if this [TextInputClient] does not need autofill /// support. For a [TextInputClient] that supports autofill, returning null /// causes it to participate in autofill alone. /// /// See also: /// /// * [AutofillGroup], a widget that creates an [AutofillScope] for its /// descendent autofillable [TextInputClient]s. /// Requests that this client update its editing state to the given value. /// /// The new [value] is treated as user input and thus may subject to input /// formatting.e 7/// Requests that this client perform the given action..?J}D/// Notify client about new content insertion from Android keyboard.˃%/// Request from the input method that this client perform the given private /// command. /// /// This can be used to provide domain-specific features that are only known /// between certain input methods and their clients. /// /// See also: /// * [performPrivateCommand](https://developer.android.com/reference/android/view/inputmethod/InputConnection#performPrivateCommand\(java.lang.String,%20android.os.Bundle\)), /// which is the Android documentation for performPrivateCommand, used to /// send a command from the input method. /// * [sendAppPrivateCommand](https://developer.android.com/reference/android/view/inputmethod/InputMethodManager#sendAppPrivateCommand), /// which is the Android documentation for sendAppPrivateCommand, used to /// send a command to the input method.& .5KT/// Updates the floating cursor position and state. /// /// See also: /// /// * [FloatingCursorDragState], which explains the floating cursor feature /// in detail.#;E)/// Requests that this client display a prompt rectangle for the given text range, /// to indicate the range of text that will be changed by a pending autocorrection. /// /// This method will only be called on iOS.F KQV^퀃/// Platform notified framework of closed connection. /// /// [TextInputClient] should cleanup its connection and finalize editing./// The framework calls this method to notify that the text input control has /// been changed. /// /// The [TextInputClient] may switch to the new text input control by hiding /// the old and showing the new input control. /// /// See also: /// /// * [TextInputControl.hide], a method to hide the old input control. /// * [TextInputControl.show], a method to show the new input control./// Requests that the client show the editing toolbar, for example when the /// platform changes the selection through a non-flutter method such as /// scribble.`+/// Requests that the client add a text placeholder to reserve visual space /// in the text. /// /// For example, this is called when responding to UIKit requesting /// a text placeholder be added at the current selection, such as when /// requesting additional writing space with iPadOS14 Scribble.  [a9/// Requests that the client remove the text placeholder.2/// Performs the specified MacOS-specific selector from the /// `NSStandardKeyBindingResponding` protocol or user-specified selector /// from `DefaultKeyBinding.Dict`.BJʅ*/// An interface to receive granular information from [TextInput]. /// /// See also: /// /// * [TextInput.attach] /// * [TextInputConfiguration], to opt-in to receive [TextEditingDelta]'s from /// the platforms [TextInput] you must set [TextInputConfiguration.enableDeltaModel] /// to true./K3/// Requests that this client update its editing state by applying the deltas /// received from the engine. /// /// The list of [TextEditingDelta]'s are treated as changes that will be applied /// to the client's editing state. A change is any mutation to the raw text /// value, or any updates to the selection and/or composing region. /// /// {@tool snippet} /// This example shows what an implementation of this method could look like. /// /// ```dart /// class MyClient with DeltaTextInputClient { /// TextEditingValue? _localValue; /// /// @override /// void updateEditingValueWithDeltas(List textEditingDeltas) { /// if (_localValue == null) { /// return; /// } /// TextEditingValue newValue = _localValue!; /// for (final TextEditingDelta delta in textEditingDeltas) { /// newValue = delta.apply(newValue); /// } /// _localValue = newValue; /// } /// /// // ... /// } /// ``` /// {@end-tool}P(hIN /// An interface for implementing text input controls that receive text editing /// state changes and visual input control requests. /// /// Editing state changes and input control requests are sent by the framework /// when the editing state of the attached text input client changes, or it /// requests the input control to be shown or hidden, for example. /// /// The input control can be installed with [TextInput.setInputControl], and the /// default platform text input control can be restored with /// [TextInput.restorePlatformInputControl]. /// /// The [TextInputControl] class must be extended. [TextInputControl] /// implementations should call [TextInput.updateEditingValue] to send user /// input to the attached input client. /// /// {@tool dartpad} /// This example illustrates a basic [TextInputControl] implementation. /// /// ** See code in examples/api/lib/services/text_input/text_input_control.0.dart ** /// {@end-tool} /// /// See also: /// /// * [TextInput.setInputControl], a method to install a custom text input control. /// * [TextInput.restorePlatformInputControl], a method to restore the default /// platform text input control. /// * [TextInput.updateEditingValue], a method to send user input to /// the framework. N"<O/// Requests the text input control to attach to the given input client. /// /// This method is called when a text input client is attached. The input /// control should update its configuration to match the client's configuration.OO/O6$ONOb PK/// Requests the text input control to detach from the given input client. /// /// This method is called when a text input client is detached. The input /// control should release any resources allocated for the client.PRPcPpP~/// Requests that the text input control is shown. /// /// This method is called when the input control should become visible.QQu/// Requests that the text input control is hidden. /// /// This method is called when the input control should hide.QRK/// Informs the text input control about input configuration changes. /// /// This method is called when the configuration of the attached input client /// has changed.RX$RpRS4/// Informs the text input control about editing state changes. /// /// This method is called when the editing state of the attached input client /// has changed.SDSVSbT./// Informs the text input control about client position changes. /// /// This method is called on when the input control should position itself in /// relation to the attached input client.TJTPT`TiTyU"/// Informs the text input control about composing area changes. /// /// This method is called when the attached input client's composing area /// changes.U3 U9UDU倓/// Informs the text input control about caret area changes. /// /// This method is called when the attached input client's caret area /// changes.U UVV/// Informs the text input control about selection area changes. /// /// This method is called when the attached input client's selection area /// changes.V"VVkW/// Informs the text input control about text style changes. /// /// This method is called on the when the attached input client's text style /// changes.WWWWWWX$XX.XBXWXt/// Requests autofill from the text input control. /// /// This method is called when the autofill UI should appear.XYrs/// Requests that the autofill context is finalized. /// /// See also: /// /// * [TextInput.finishAutofillContext]YYYpackage:flutter/cupertino.dartpackage:flutter/material.dartpackage:flutter/rendering.dartDlive_text.dartetext_formatter.dart<ց7;\ׁ,-WƂ4Ts'(ghمO܅Agˆ&ɇχfqstňɈ׈ۈ*P҉؉myz6ACDً݌'qnjݍ,-W]Ӎ0BC47Őː12djPQ3zÓē>wxٔߕ+?{|+,EKǖȗ RܘM̘ҙǙș)/c34vМ zejk.Pn͞6RptuƟ-12>y{|Ġȡb=أdky}ȥgQצۦ1l)/tƩǪiҪث%JYZIP; (./^dQr|}ɰ;۱Srxòɳflٳ0ms´ȵioXD{Ҹ#)uøɹiodsycܻ+yμ6<۽1arsپ߿,u{̿@A@@A$AtAAAABB2B6B~BBCCCfCCCCCDED{DDDDEETEbEcEEEEEEF'FjFFGKGGH/HUHYHgHkHHHHI IITIuIIIIJ J&JLJrJJJKK4KkKKL L,LM M MFMLM\MbMMMMNBNcNdNNNNNOOO0OJOKOsOyOOOOOP.PzPQQNQOQQQR#RRSTStTT T[TTTUUmUUUUUVVVAVBVVVWWuWX1XQXXY/Y~YYZZOZaZgZwZ}ZZZ[#[$[p[[\\N\\\\\\]E]Z]z]{]]]^L^c^i^^^^___V_{_|___` `` `&`x````aa a3aZa[abb(b.bybbbbbc,cAcmcncccd0dPdtddddde e1eNeteeeef(fLf~ffffggBgvggh*hphiiNijjCjjjjjk,krkxkkkllallmmemmmmnBn{nooHoNogoooop4pRpjppppq,qgqqqr$r_rrssDsqsxs|s~ssstt@tOtTtVtWtttu5uuv"vmvwwPwTwwx;xxxyy1y5yCyGyyyzEzUz^z_zzzzzzzz{4{8{F{J{{{||!|'|t|||||}C}D}}}~~p~~~.01-v| 4t!TdJQ#$I^_3IO;506o 5;4QRGew NUYZ?V\_ bM123dQXZw Br2l -KsNS#oZ+<@BC:AB&O\]1?E#AGAMOPb Y%&NTEF )IJjAfg9="(u:@Y RN`f39IOFLGH'-|} QRBC"[\RflRG!gZ|}»+Z\]ÐÔ)IJĕěbņŇŹ"oƤƯ!9UoǗǝǞEȂȗȘ$FY_ɋɟɥ8<=I~ʋ #=ˍ-}̝̣D͊͐ͦ ;bhz Iύϻ,{}~ко^ѭ-FG\yҎҨQWӠ)9M`jnoԐԑ,-rxCD֏֥P_eu{*./}؝%)*xُ NTڢ(.y۰InܒBX^ݯ.>cނސޖޮ<@Aߒ߳ )}*0y$bhlm4hz +2HIl BH$*AEF.EIKLZXdQVXY>\:z _cET=B KO7} YB%r5Ohw}&;p ?@{*c!r b\!'S,2vd-Gh%*+"?c}Ko 1 w    8 v   A s      T    J }     .CKgw7G "#BCn>tu!Us- 9Oz:J~ S!y?"2l1pNpJ|?FQ ! + 3 4 B H I p   !$!6!!""0"S"]"r"~""""""##f#$$$%A%%%%&N&z&'3'q'''((i(()4)o)))**#*V***++7+o+, ,6,i,--L--------...(...G.H...//$/L/]/e/m/q/r/00.0408090Q000011&1*1+1h111112 2J2p2v2z2{2222222383N3T3X3Y334,4246474a4444445.5P5V5Z5[556 6666'6H6g66667747T7p777777788A8b8h8l8m888889A9a999999::%:t::;<;@;A;;;<:>>>>?=??@!@s@@AAVAAB@BBBCC CWCCDDDDDDEEETEEFFlFFFFGGGGmGGHLHPHQHHIIIIIoIIIJCJJJKKEKIKKLLLLcLgLLLLLM7MMMNN NkNqNOO_O`OOOPDPmPnPPPQQQ;QAQQQQQR1RDRRRRSS-S_S`SSST'TvTwTTU UUAUBUUUUVVVDVJVVVVW%W+WzWWWWXX*XLXTXUXXXXXY$Y*Y:Y@YkYYYYZZ9Z:ZtZZ[[[[[[\3\r\\]M]a]]]]]]]^^Q^r^^^__ ____"_J______``=`D`H`I`U````````aa;a?a@aLa\aaaaabb>bWbbbbbbbbcc8c]cvccccccccdd#dDddd}dddddddde eHeieeeef f(fFf_ffffffffffgg-gWgyggggghhDhohhhhhhhii i!i-ifiiiiiiiijjNjjjkkkkkllPlllllllmDmmn nMnnnnnno0o4o5ooouoppApGppppqqqEqFq}qqqqrrr?r@rrrrrssss0sJsssssst tt.tHtLtMtotpttuuJuPuuvvvjvvw(w.wbwhwxw~wx xExlxxxy*y1y2yoyyyyz zUzzzzzz{0{[{t{{{||'|2|;|B|F|G|m|s|||}}}/}5}r}~ ~'~A~~~~~c   8DSmartDashesTypeSmartQuotesType TextInputTypeTextInputActionTextCapitalizationTextInputConfiguration_toTextAffinityFloatingCursorDragStateRawFloatingCursorPointTextEditingValueSelectionChangedCauseTextSelectionDelegateTextInputClientScribbleClient SelectionRectDeltaTextInputClientTextInputConnection_toTextInputAction_toTextCursorAction _toTextPoint TextInputTextInputControl_PlatformTextInputControlSystemContextMenuControllerU