normalitalicindexvaluew100w200w300w400w500w600w700w800w900boldvalues==hashCodelerptoStringfeature_kEncodedSize_encodeaxisgraphemeClusterLayoutBoundsgraphemeClusterCodeUnitRangewritingDirectionleftrightcenterjustifystartend
alphabeticideographic_maskcontainsnone	underlineoverlinelineThroughsoliddoubledotteddashedwavyproportionalevenapplyHeightToFirstAscentapplyHeightToLastDescentleadingDistribution_encoded_fontFamily_fontFamilyFallback	_fontSize_letterSpacing_wordSpacing_height_decorationThickness_locale_background_foreground_shadows_fontFeatures_fontVariations_leadingDistribution_strutStyle	_ellipsis_enabledrtlltrtopbottom	directiontoRectupstream
downstreamoffsetaffinityemptyisValidisCollapsedisNormalized
textBefore	textAfter
textInsidewidthtightmaxincludeLineSpacingMiddleincludeLineSpacingTopincludeLineSpacingBottomstrutbaselineaboveBaselinebelowBaselinemiddle	hardBreakascentdescentunscaledAscentheight
lineNumberlongestLineminIntrinsicWidthmaxIntrinsicWidthalphabeticBaselineideographicBaselinedidExceedMaxLineslayoutgetBoxesForRangegetBoxesForPlaceholdersgetPositionForOffsetgetClosestGlyphInfoForOffsetgetGlyphInfoAtgetWordBoundarygetLineBoundarycomputeLineMetricsgetLineMetricsAtnumberOfLinesgetLineNumberAtdisposedebugDisposed_needsLayout_layout_decodeTextBoxes_getBoxesForRange_getBoxesForPlaceholders_getPositionForOffset_getGlyphInfoAt_getClosestGlyphInfoForOffset_getWordBoundary_getLineBoundary_paint_computeLineMetrics_getLineMetricsAt_getLineNumber_dispose	_disposedplaceholderCountplaceholderScales	pushStylepopaddTextaddPlaceholderbuild_constructor_placeholderCount_placeholderScales_defaultLeadingDistribution
_pushStyle_encodeLocale_addText_addPlaceholder_build%kTextHeightNone	FontStyle
FontWeightFontFeatureFontVariation	GlyphInfo	TextAlignTextBaselineTextDecorationTextDecorationStyleTextLeadingDistributionTextHeightBehavior_listEquals_encodeTextStyle	TextStyle_encodeParagraphStyleParagraphStyle_encodeStrut
StrutStyleTextDirectionTextBoxTextAffinityTextPosition	TextRangeParagraphConstraintsBoxHeightStyleBoxWidthStylePlaceholderAlignmentLineMetrics	Paragraph_NativeParagraphParagraphBuilder_NativeParagraphBuilderloadFontFromList_fontChangeMessage_sendFontChangeMessage_loadFontFromListdartuiheightfontSizedoubleitalicslantnormalboldw500weight
DeprecatedintclampListoverrideboolObjectruntimeTypevalueCurveselasticInOutAnimationController_lerpIntroundStringlengthwidgetsTextrich	fractions	randomizestylisticSettoStringpadLeft
numeratorsdenominatoralternativeFractionshistoricalLigatureshistoricalFormsoldstyleFigurespainting	TextStylelocaleenableslashedZeroliningFigurestabularFigurescontextualAlternatescharacterVariantscientificInferiorssuperscripts
subscriptsproportionalFiguresvoidByteData	codeUnitseverycisetUint8
codeUnitAtsetInt32_kFakeHostEndianfeaturehash	currentlybinary32
setFloat32axis
lerpDoubleclampDoublegetGlyphInfoAtgetClosestGlyphInfoForOffsetOffsetRectfromLTRBstartendltrrtl	identicalgraphemeClusterLayoutBoundsgraphemeClusterCodeUnitRangewritingDirection
decoration_mask_hashCodeaddjoinapplyHeightToFirstAscentapplyHeightToLastDescentleadingDistributionproportionalevenindex	Int32ListColorLocalePaintShadow
isNotEmptycolor
foregrounddecorationColordecorationStyledecorationThickness
fontWeight	fontStyletextBaseline
fontFamilyfontFamilyFallbackletterSpacingwordSpacing
backgroundshadowsfontFeaturesfontVariations_leadingDistribution_fontFamily	_fontSize_letterSpacing_wordSpacing_height_decorationThickness_locale_background_foreground_encoded_shadows_fontFamilyFallback_fontFeatures_fontVariationshashAllvalues_encodelayout	textAligntextDirectionmaxLinestextHeightBehavior
strutStyleellipsis_strutStyle	_ellipsis_fromEncodedviewbufferleadingforceStrutHeightlengthInBytes
asInt8ListDirectionalityMaterialAppofBuildContextCanvas
EdgeInsetsEdgeInsetsDirectionallefttoprightbottom	directiontoStringAsFixed
downstreamoffsetaffinity	substringnewwidthgetBoxesForRangeincludeLineSpacingTopincludeLineSpacingMiddleincludeLineSpacingBottomaddPlaceholdercomputeLineMetricslongestLine	hardBreakascentdescentunscaledAscentbaseline
lineNumberdrawParagraphboxHeightStyleboxWidthStyletightNativeFieldWrapperClass1NativeDoublePointerVoidsymbolisLeafBoolFloat32List	fromLTRBDtoIntHandleUint32dxdyFunctionupstreamisValid_NativeCanvasFloat64ListInt32
StateErroraboveBaselinebelowBaseline_enabledgetInt32addAll_kEncodedSize	variation_objects_data_encodeShadowsArgumentErrorbaselineOffsetscale
alphabeticFuture	Uint8List	_futurize	_Callbackcallbackthenutf8encodejson
asByteDataFutureOrPlatformDispatcherinstanceonPlatformMessage_invoke3PlatformMessageResponseCallback_onPlatformMessageZonechannelBufferspushNativeFieldWrapperClass1	ParagraphParagraphBuilder?T\^>jhW   Ί < <Icفڂ"q(9aklԃރEINRnrmqćPT?ڈ9hˊH{ފABUǋȋ)[\mތߌ#$Ast#$Jǎюێ<PVKU:ד&SYȔ.AG^˔ &Fb~ҕ
&BQUWX/Z^q6:}Gٚi7=̜jEF֝מ)ijU(kɠʠ89ciϢYܣ!h
ntҤ Vإަd(._ezèflʨЩ8JP`f
TU̪V!9?#39
TUίV۰"ag|Jв?EŲ˳)/Ĵbc$4:ѵ׵3r@ŷַܸ!f"VW[\ҼRXm\bҽؽD G @  @& @; @} @ @ A A# A A A A A B B Bj B B C  C% C+ Cs C D D# D) Dz D D E E E+ Eq E E E FQ FW F F F F F G> G G G G G HA HR HX H H H I Id I I J5 Jx J K  KG K K K L L L  L` L L M- Mr M M M N' Ni N N O O O O O O O P PM PN Pq Pw P Q QK Q Q R R1 R7 R{ R R R S S S{ S S S S T
 T Tf T T T T U U^ U U V. Vo V V V W. Wr W W X= X~ X X X Y YD Y Y Y Y Z Z_ Z Z Z [] [c [ [ [ [ [ \F \ \ ] ] ]p ]v ] ^ ^ ^` ^ ^ ^ ^ _B _\ _b _ _ `0 `s ` ` ` ` a a! a a a a a b bf bg b b b c" cY c_ ct c c d d` df d d d d d eG e e e e e f@ f f g g g# gh g g g g h h hu h{ h h h i i ib i i i j j ja j j j k( k. kC k k k l$ l* l l l l l m mP mQ m m m n
 n nT nZ n n n n o6 o} o o p& p, p p p q	 q q q% q{ q q r  r rV r r s s s` s s s s s t  t_ t` t t t u uQ u u u u u v7 v} v v w? w w w w w xa xs xy x x x yL y y y y z zH z z z { { {, {l { { { | |i |{ | | | | }6 }7 }m }s } } } ~: ~q ~ ~ ~ 
 I    U k q    4 :      J      u {     	 X    3 L        u      7 c i   * < B R X  	 :      5 y      U      B     #       P      I     * g z    2 8 M    7 =       U     1      G M b   , q     R d j z     @ F       b    \ b      E      B x ~   , - W ]   J     ! ' x       A t z       ! ' |        	 
 R V       ] e i   C G U Y    > t   	  W    + ^         G H e     & , p     D J Z `     - . X ^     V   F     T     c      e f      ] c    $ V \ l r    * ? @ d j    9 K Q a g    3 9    A G v |   F L \ b    m      
  9 ?    - y   B H   
 X   - C D j k    & , a e f r     , 0 1 = m n    E k q   < B   $ p þ  [ ğ ĥ   a ś Ź ſ   A H L M Y ƒ Ɣ ƕ      g Ǉ   2 i v Ȝ        & 9 P e u   b c ʲ    m ˾    : j k ̟      , 2 S ͟  ! % & 2 H Ψ Ω ε  A C D t   " * + d m n У Э Ю    k v w Ѳ Ѹ  	 U ^ _ қ ҡ   > E G H v ӊ   6 K Q Ԣ ԰ Ա   B m | ~  ծ    ; ր ֒ ־         ~ צ     1 2 a آ أ    : } ~ ي ٭       ! - C Y } ڃ ڢ     4 : d ۅ ۋ ۩       P k ܃ ܌ ܍ ܢ ܬ ܭ           J i ݰ    = k ޴   1 A B ߋ   
 ) / }        G    
 Z    0 e      G M    `   $ 3 9     > D E     O      K    F L     $ * z   " u {     f    * i ~     : X j      ( < B l   2 6 7 C X p           `       ! % u     / 3 ^ p t         F I u x   ^      K      G J z }     
  8 R z      # 7 P g y        ; ~        ' + L e        * L P k        - F J       @ D c }         6 Z ^ v     2Lpt+/Oi1-XEH	%		

w
2G .@`|5[q-Hmjt$8Od 7PZ)Le3\]y2Xq!XYe"Nv8\#r
,X(;Vg})k!Y 1 !!~!"_"#0#$$%%t%%&@&&'F''(X(e(i(k(l(((()%)o)))** *X*[******+A+U+v++++++,%,?,W,q,,,,,--3-7-V-o------..'.H.L.f.....///(/A/e/i////00^000001
1.121L1f1111111112;222233_33444d445<5B556.6~67	77b7778B8H889)9z999:1:::;#;_;e;;;<</<5<<<==Q==>;>>?&?`?f????@@$@:@N@z@@@@@AA3AKA^AsAAAAAABBB BAB^BwBBBBCHCICeCCCCCDDADBDNDqDDDDDDEEDElEEEFFFFzF~FFFFFFFGGG/G4G5GAGWGtGHJHIIgJJ]JKKYKKLLLLLZLLMKMMMN(NQNhN~NNNNOO%O=OWO[OOP?P[PuPPPPQQ(Q@QDQEQzQQQQRR+R/RJRaRRRSS.SQSUSVSSSSTTTT9TPTTTTTUU!U%UHU_UcUdUUUUV$V&V'V5V9VVVVVWGWXW^WWWXIX[XaXXYBYYZ:Z~Z[[=[C[[\.\o\u\]	]W]]]^^$^*^{^^^_3__`+`z```aa(a<anaaaaab
b'b:bKbib{bbbbbccNcOcccdddGdHdTdwddddddeeFeef/f3f4f@fVfffffg7ggh!h4h8hhii.i2iKiOiij8jjjjkEkkl0ltlllm*m{mnnJnno
ooZoop8pppppq;qwq{qqqr5rfrjrrrs6sst%tXt\tttu?uuv$v]vavvwLwwwx,xwxxxy>yEyFyyyyyyzzzTzzzz{K{`{a{{{{{|7|M|N|u|||||}}W}X}}}}~~0~l~p~q~~~~4G28Wu
RS_v](vn<+y/C!LR<P\].kq	Zn|~;b;?!n=CT+1|/CIMQSTQW[vuv-3t\>gh4Nnrs
-ObhPRS$Eb RXJ1|
^FZ`$&'j:%czW]/CI+1pv%p(*+p:OXY$q+/^z$01+,t*+v|V\/5	m Vbv?Yr,=M\ow}iWno([a GMCbcN\st$*:@#]rs"F_`ò&'3VĂĖĜĿ	-_ŁšſAP\i}ƉƔƞƬƼ1O{ǗǱ-1ȁȩȭ>Jeɣɩ+1bwx,FG˕˷˽Xtz̫DefͪSΣOkωϊ"STКР7цѽIOқҡ'6pӧӭӮOx~12oufփ։֙֟PQסlج5ن٤#rڿ]c۶]ܰdjݧݭ#G{|"u߰(n-]vw<O85Xjk5788PQmnzMklxb!".(ST`$DTpMx-Lk&5D~)045pOP\QR^6:;P Ight>br)klYv&u\bswxT_`l2g| ) P v   	!"ur!CDP}CvwSx1A]pz 3GW~
%/I_e}			g			
!
9
=


7Y?[\$GH,}9:sy=CBE\brxfhEK0'CI?QW$*,CUh6_eL|?t=w4g   : S o      !8!`!d!!!!!"""*"="B"C"O"""""###Z#[#g###$)$O$$$$$%7%n%%%&&K&L&o&&'''A'y'''(*(2(8(9(^(()$)>)|))**5*=*C*D*T*c*{****++<+_++++,
,',.,2,3,>,Q,f,t,,,,,,,,,- ---*-8->-i-----...6.I.o....//-/2/3/~/////00$0N0g00000111"191K1^111112*262q22333g33344(4?4]4444445)5Y5]5~555555556676N6d6h6i6667 7+7-7.7x7|788[889
99G9I9J9s9999::5:t::;%;?;Y;|;;;;;;<N<         p z    {{
 ȉщ׉މ؉" v/// Creates a [FontWeight] object, which can be added to a [TextStyle] to
/// select the thickness of a font's glyphs.  ꊱ>,/// The thickness value of this font weight.0:>;)K)/// Thin, the least thick.voDAo/// Extra-light.ċ;
/// Light.	N/// Normal / regular / plain.JTXUC<C/// Medium.^?/// Semi-bold.͌׌ی،ƌ:	/// Bold. @/// Extra-bold.blpm[&K[/// Black, the most thick.vD/// The default font weight.b</// A commonly used font weight that is heavier than normal.ݎs~tˎՎj&j#/// A list of all the font weights.  JKUyV2/// The encoded integer value of this font weight.  &        〮              ݃/// Linearly interpolates between two font weights.
///
/// If both `a` and `b` are null, then this method will return null. Otherwise,
/// any null values for `a` or `b` are interpreted as equivalent to [normal]
/// (also known as [w400]).
///
/// The `t` argument represents position on the timeline, with 0.0 meaning
/// that the interpolation has not started, returning `a` (or something
/// equivalent to `a`), 1.0 meaning that the interpolation has finished,
/// returning `b` (or something equivalent to `b`), and values in between
/// meaning that the interpolation is at the relevant point on the timeline
/// between `a` and `b`. The interpolation can be extrapolated beyond 0.0 and
/// 1.0, so negative values and values greater than 1.0 are valid (and can
/// easily be generated by curves such as [Curves.elasticInOut]). The result
/// is clamped to the range [w100]–[w900].
///
/// Values for `t` are usually obtained from an [Animation<double>], such as
/// an [AnimationController].    u/// The thickness of the glyphs used to draw the text.
///
/// Values must be in the range 1..1000.
///
/// Fonts are typically weighted on a 9-point scale, which, for historical
/// reasons, uses the names 100 to 900. In Flutter, these are named `w100` to
/// `w900` and have the following conventional meanings:
///
///  * [w100]: Thin, the thinnest font weight.
///
///  * [w200]: Extra light.
///
///  * [w300]: Light.
///
///  * [w400]: Normal. The constant [FontWeight.normal] is an alias for this value.
///
///  * [w500]: Medium.
///
///  * [w600]: Semi-bold.
///
///  * [w700]: Bold. The constant [FontWeight.bold] is an alias for this value.
///
///  * [w800]: Extra-bold.
///
///  * [w900]: Black, the thickest font weight.
///
/// For example, the font named "Roboto Medium" is typically exposed as a font
/// with the name "Roboto" and the weight [FontWeight.w500].
///
/// Some modern fonts allow the weight to be adjusted in arbitrary increments.
/// When using these fonts, applications can specify [FontWeight] instances
/// constructed using values other than the predefined values. For these fonts,
/// [FontWeight] will set the value of the `wght` axis (producing the same
/// results as explicitly setting that attribute using [FontVariation.weight]).  r }    ~~    󜺜B	& 7/// Creates a [FontFeature] object, which can be added to a [TextStyle] to
/// change how the engine selects glyphs when rendering text.
///
/// `feature` is the four-character tag that identifies the feature.
/// These tags are specified by font formats such as OpenType.
///
/// `value` is the value that the feature will be set to. The behavior
/// of the value depends on the specific feature. Many features are
/// flags whose value can be 1 (when enabled) or 0 (when disabled).
///
/// See <https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags>       ĝȝӝɝҝHHN/// Create a [FontFeature] object that enables the feature with the given tag.  1<D    EEL W[f\eٝـ=O/// Create a [FontFeature] object that disables the feature with the given tag.  ^iu    vv
{ ;;Zj/// Access alternative glyphs. (`aalt`)
///
/// This feature selects the given glyph variant for glyphs in the span.
///
/// {@tool sample}
/// The Raleway font supports several alternate glyphs. The code
/// below shows how specific glyphs can be selected. With `aalt` set
/// to zero, the default, the normal glyphs are used. With a
/// non-zero value, Raleway substitutes small caps for lower case
/// letters. With value 2, the lowercase "a" changes to a stemless
/// "a", whereas the lowercase "t" changes to a vertical bar instead
/// of having a curve. By targeting specific letters in the text
/// (using [widgets.Text.rich]), the desired rendering for each glyph can be
/// achieved.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_aalt.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_alternative.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#aalt>  2   ?7AOIQD/// Use alternative ligatures to represent fractions. (`afrc`)
///
/// When this feature is enabled (and the font supports it),
/// sequences of digits separated by U+002F SOLIDUS character (/) or
/// U+2044 FRACTION SLASH (⁄) are replaced by ligatures that
/// represent the corresponding fraction. These ligatures may differ
/// from those used by the [FontFeature.fractions] feature.
///
/// This feature overrides all other features.
///
/// {@tool sample}
/// The Ubuntu Mono font supports the `afrc` feature. It causes digits
/// before slashes to become superscripted and digits after slashes to become
/// subscripted. This contrasts to the effect seen with [FontFeature.fractions].
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_afrc.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_alternative_fractions.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [FontFeature.fractions], which has a similar (but different) effect.
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#afrc>  2   ?7AOIQWW/// Enable contextual alternates. (`calt`)
///
/// With this feature enabled, specific glyphs may be replaced by
/// alternatives based on nearby text.
///
/// {@tool sample}
/// The Barriecito font supports the `calt` feature. It causes some
/// letters in close proximity to other instances of themselves to
/// use different glyphs, to give the appearance of more variation
/// in the glyphs, rather than having each letter always use a
/// particular glyph.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_calt.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_contextual_alternates.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [FontFeature.randomize], which is more a rarely supported but more
///    powerful way to get a similar effect.
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#calt>  "-@   MEO]W_WW
./// Enable case-sensitive forms. (`case`)
///
/// Some glyphs, for example parentheses or operators, are typically
/// designed to fit nicely with mixed case, or even predominantly
/// lowercase, text. When these glyphs are placed near strings of
/// capital letters, they appear a little off-center.
///
/// This feature, when supported by the font, causes these glyphs to
/// be shifted slightly, or otherwise adjusted, so as to form a more
/// aesthetically pleasing combination with capital letters.
///
/// {@tool sample}
/// The Piazzolla font supports the `case` feature. It causes
/// parentheses, brackets, braces, guillemets, slashes, bullets, and
/// some other glyphs (not shown below) to be shifted up slightly so
/// that capital letters appear centered in comparison. When the
/// feature is disabled, those glyphs are optimized for use with
/// lowercase letters, and so capital letters appear to ride higher
/// relative to the punctuation marks.
///
/// The difference is very subtle. It may be most obvious when
/// examining the square brackets compared to the capital A.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_case.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_case_sensitive_forms.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#case>     غ	  eeǆ/// Select a character variant. (`cv01` through `cv99`)
///
/// Fonts may have up to 99 character variant sets, numbered 1
/// through 99, each of which can be independently enabled or
/// disabled.
///
/// Related character variants are typically grouped into stylistic
/// sets, controlled by the [FontFeature.stylisticSet] feature
/// (`ssXX`).
///
/// {@tool sample}
/// The Source Code Pro font supports the `cvXX` feature for several
/// characters. In the example below, variants 1 (`cv01`), 2
/// (`cv02`), and 4 (`cv04`) are selected. Variant 1 changes the
/// rendering of the "a" character, variant 2 changes the lowercase
/// "g" character, and variant 4 changes the lowercase "i" and "l"
/// characters. There are also variants (not shown here) that
/// control the rendering of various greek characters such as beta
/// and theta.
///
/// Notably, this can be contrasted with the stylistic sets, where
/// the set which affects the "a" character also affects beta, and
/// the set which affects the "g" character also affects theta and
/// delta.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_cvXX.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_character_variant.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [FontFeature.stylisticSet], which allows for groups of characters
///    variants to be selected at once, as opposed to individual character variants.
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#cv01-cv99>  LWc   phrz^^&X/// Display digits as denominators. (`dnom`)
///
/// This is typically used automatically by the font rendering
/// system as part of the implementation of `frac` for the denominator
/// part of fractions (see [FontFeature.fractions]).
///
/// {@tool sample}
/// The Piazzolla font supports the `dnom` feature. It causes
/// the digits to be rendered smaller and near the bottom of the EM box.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_dnom.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_denominator.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#dnom>   B B B    B B B B B Bv BԄ	/// Use ligatures to represent fractions. (`afrc`)
///
/// When this feature is enabled (and the font supports it),
/// sequences of digits separated by U+002F SOLIDUS character (/) or
/// U+2044 FRACTION SLASH (⁄) are replaced by ligatures that
/// represent the corresponding fraction.
///
/// This feature may imply the [FontFeature.numerators] and
/// [FontFeature.denominator] features.
///
/// {@tool sample}
/// The Ubuntu Mono font supports the `frac` feature. It causes
/// digits around slashes to be turned into dedicated fraction
/// glyphs. This contrasts to the effect seen with
/// [FontFeature.alternativeFractions].
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_frac.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_fractions.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [FontFeature.alternativeFractions], which has a similar (but different) effect.
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj#frac>   GF GQ Ga    Gn Gf Gp G~ Gx G C C GR/// Use historical forms. (`hist`)
///
/// Some fonts have alternatives for letters whose forms have changed
/// through the ages. In the Latin alphabet, this is common for
/// example with the long-form "s" or the Fraktur "k". This feature enables
/// those alternative glyphs.
///
/// This does not enable legacy ligatures, only single-character alternatives.
/// To enable historical ligatures, use [FontFeature.historicalLigatures].
///
/// This feature may override other glyph-substitution features.
///
/// {@tool sample}
/// The Cardo font supports the `hist` feature specifically for the
/// letter "s": it changes occurrences of that letter for the glyph
/// used by U+017F LATIN SMALL LETTER LONG S.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_historical.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_historical_forms.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj#hist>   P P P+    P8 P0 P: PH PB PJ G G P//// Use historical ligatures. (`hlig`)
///
/// Some fonts support ligatures that have fallen out of favor today,
/// but were historically in common use. This feature enables those
/// ligatures.
///
/// For example, the "long s" glyph was historically typeset with
/// characters such as "t" and "h" as a single ligature.
///
/// This does not enable the legacy forms, only ligatures. See
/// [FontFeature.historicalForms] to enable single characters to be
/// replaced with their historical alternatives. Combining both is
/// usually desired since the ligatures typically apply specifically
/// to characters that have historical forms as well. For example,
/// the historical forms feature might replace the "s" character
/// with the "long s" (ſ) character, while the historical ligatures
/// feature might specifically apply to cases where "long s" is
/// followed by other characters such as "t". In such cases, without
/// the historical forms being enabled, the ligatures would only
/// apply when the "long s" is used explicitly.
///
/// This feature may override other glyph-substitution features.
///
/// {@tool sample}
/// The Cardo font supports the `hlig` feature. It has legacy
/// ligatures for "VI" and "NT", and various ligatures involving the
/// "long s". In the example below, both historical forms (`hist 1`)
/// and historical ligatures (`hlig 1`) are enabled, so, for
/// instance, "fish" becomes "fiſh" which is then rendered using a
/// ligature for the last two characters.
///
/// Similarly, the word "business" is turned into "buſineſſ" by
/// `hist`, and the `ſi` and `ſſ` pairs are ligated by `hlig`.
/// Observe in particular the position of the dot of the "i" in
/// "business" in the various combinations of these features.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_historical.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_historical_ligatures.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj#hlig>   Tn Ty T    T T T T T T PP PPX Tz/// Use lining figures. (`lnum`)
///
/// Some fonts have digits that, like lowercase latin letters, have
/// both descenders and ascenders. In some situations, especially in
/// conjunction with capital letters, this leads to an aesthetically
/// questionable irregularity. Lining figures, on the other hand,
/// have a uniform height, and align with the baseline and the
/// height of capital letters. Conceptually, they can be thought of
/// as "capital digits".
///
/// This feature may conflict with [FontFeature.oldstyleFigures].
///
/// {@tool sample}
/// The Sorts Mill Goudy font supports the `lnum` feature. It causes
/// digits to fit more seamlessly with capital letters.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_lnum.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_lining_figures.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#lnum>   \ \ \     \ \ \  \ \ \ \ ] ] ] ] ]
 ] ] T Tm \̇/// Use locale-specific glyphs. (`locl`)
///
/// Some characters, most notably those in the Unicode Han
/// Unification blocks, vary in presentation based on the locale in
/// use. For example, the ideograph for "grass" (U+8349, 草) has a
/// broken top line in Traditional Chinese, but a solid top line in
/// Simplified Chinese, Japanese, Korean, and Vietnamese. This kind
/// of variation also exists with other alphabets, for example
/// Cyrillic characters as used in the Bulgarian and Serbian
/// alphabets vary from their Russian counterparts.
///
/// A particular font may default to the forms for the locale for
/// which it was constructed, but still support alternative forms
/// for other locales. When this feature is enabled, the locale (as
/// specified using [painting.TextStyle.locale], for instance) is
/// used to determine which glyphs to use when locale-specific
/// alternatives exist. Disabling this feature causes the font
/// rendering to ignore locale information and only use the default
/// glyphs.
///
/// This feature is enabled by default. Using
/// `FontFeature.localeAware(enable: false)` disables the
/// locale-awareness. (So does not specifying the locale in the
/// first place, of course.)
///
/// {@tool sample}
/// The Noto Sans CJK font supports the `locl` feature for CJK characters.
/// In this example, the `localeAware` feature is not explicitly used, as it is
/// enabled by default. This example instead shows how to set the locale,
/// thus demonstrating how Noto Sans adapts the glyph shapes to the locale.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_locl.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_locale_aware.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#locl>
///  * <https://en.wikipedia.org/wiki/Han_unification>
///  * <https://en.wikipedia.org/wiki/Cyrillic_script>   b b b+     b- b- b2 
 b: bH b@ bJ bR bX bc b_ bY bb ] ]H b/// Display alternative glyphs for numerals (alternate annotation forms). (`nalt`)
///
/// Replaces glyphs used in numbering lists (e.g. 1, 2, 3...; or a, b, c...) with notational
/// variants that might be more typographically interesting.
///
/// Fonts sometimes support multiple alternatives, and the argument
/// selects the set to use (a positive integer, or 0 to disable the
/// feature). The default set if none is specified is 1.
///
/// {@tool sample}
/// The Gothic A1 font supports several notational variant sets via
/// the `nalt` feature.
///
/// Set 1 changes the spacing of the glyphs. Set 2 parenthesizes the
/// latin letters and reduces the numerals to subscripts. Set 3
/// circles the glyphs. Set 4 parenthesizes the digits. Set 5 uses
/// reverse-video circles for the digits. Set 7 superscripts the
/// digits.
///
/// The code below shows how to select set 3.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_nalt.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_notational_forms.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#nalt>   eO eZ ee    er ej et e e| e bi bi e[/// Display digits as numerators. (`numr`)
///
/// This is typically used automatically by the font rendering
/// system as part of the implementation of `frac` for the numerator
/// part of fractions (see [FontFeature.fractions]).
///
/// {@tool sample}
/// The Piazzolla font supports the `numr` feature. It causes
/// the digits to be rendered smaller and near the top of the EM box.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_numr.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_numerators.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#numr>   i i i    i i i i i i e eR i/// Use old style figures. (`onum`)
///
/// Some fonts have variants of the figures (e.g. the digit 9) that,
/// when this feature is enabled, render with descenders under the
/// baseline instead of being entirely above the baseline. If the
/// default digits are lining figures, this allows the selection of
/// digits that fit better with mixed case (uppercase and lowercase)
/// text.
///
/// This overrides [FontFeature.slashedZero] and may conflict with
/// [FontFeature.liningFigures].
///
/// {@tool sample}
/// The Piazzolla font supports the `onum` feature. It causes
/// digits to extend below the baseline.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_onum.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_oldstyle_figures.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#onum>
///  * <https://en.wikipedia.org/wiki/Text_figures>   m m! m.    m; m3 m= mK mE mM i io m"/// Use ordinal forms for alphabetic glyphs. (`ordn`)
///
/// Some fonts have variants of the alphabetic glyphs intended for
/// use after numbers when expressing ordinals, as in "1st", "2nd",
/// "3rd". This feature enables those alternative glyphs.
///
/// This may override other features that substitute glyphs.
///
/// {@tool sample}
/// The Piazzolla font supports the `ordn` feature. It causes
/// alphabetic glyphs to become smaller and superscripted.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_ordn.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_ordinal_forms.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#ordn>   q q q    q q q q q q mS mSp q/// Use proportional (varying width) figures. (`pnum`)
///
/// For fonts that have both proportional and tabular (monospace) figures,
/// this enables the proportional figures.
///
/// This is mutually exclusive with [FontFeature.tabularFigures].
///
/// The default behavior varies from font to font.
///
/// {@tool sample}
/// The Kufam font supports the `pnum` feature. It causes the digits
/// to become proportionally-sized, rather than all being the same
/// width. In this font this is especially noticeable with the digit
/// "1": normally, the 1 has very noticeable serifs in this
/// sans-serif font, but with the proportionally figures enabled,
/// the digit becomes much narrower.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_pnum.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_proportional_figures.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#pnum>   t( t3 t=    tJ tB tL tZ tT t\ q qǂ t4>/// Randomize the alternate forms used in text. (`rand`)
///
/// For example, this can be used with suitably-prepared handwriting fonts to
/// vary the forms used for each character, so that, for instance, the word
/// "cross-section" would be rendered with two different "c"s, two different "o"s,
/// and three different "s"s.
///
/// Contextual alternates ([FontFeature.contextualAlternates])
/// provide a similar effect in some fonts, without using
/// randomness.
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#rand>   yT y_ ys    y yx y y y y tb tb2 y`/// Enable stylistic alternates. (`salt`)
///
/// Some fonts have alternative forms that are not tied to a
/// particular purpose (such as being historical forms, or
/// contextually relevant alternatives, or ligatures, etc). This
/// font feature enables these purely stylistic alternatives.
///
/// This may override other features that substitute glyphs.
///
/// {@tool sample}
/// The Source Code Pro font supports the `salt` feature. It causes
/// some glyphs to be rendered differently, for example the "a" and
/// "g" glyphs change from their typographically common
/// double-storey forms to simpler single-storey forms, the dollar
/// sign's line changes from discontinuous to continuous (and is
/// angled), and the "0" rendering changes from a center dot to a
/// slash.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_salt.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_stylistic_alternates.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [FontFeature.contextualAlternates], which is enables alternates specific to certain contexts.
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#salt>   | }  }    }! } }# }1 }+ }3 y y },/// Use scientific inferiors. (`sinf`)
///
/// Some fonts have variants of the figures (e.g. the digit 2) that,
/// when this feature is enabled, render in a manner more
/// appropriate for subscripted digits ("inferiors") used in
/// scientific contexts, e.g. the subscripts in chemical formulae.
///
/// This may override other features that substitute glyphs.
///
/// {@tool sample}
/// The Piazzolla font supports the `sinf` feature. It causes
/// digits to be smaller and subscripted.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_sinf.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_scientific_inferiors.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#sinf>            	    }9 }9W [/// Select a stylistic set. (`ss01` through `ss20`)
///
/// Fonts may have up to 20 stylistic sets, numbered 1 through 20,
/// each of which can be independently enabled or disabled.
///
/// For more fine-grained control, in some fonts individual
/// character variants can also be controlled by the
/// [FontFeature.characterVariant] feature (`cvXX`).
///
/// {@tool sample}
/// The Source Code Pro font supports the `ssXX` feature for several
/// sets. In the example below, stylistic sets 2 (`ss02`), 3
/// (`ss03`), and 4 (`ss04`) are selected. Stylistic set 2 changes
/// the rendering of the "a" character and the beta character,
/// stylistic set 3 changes the lowercase "g", theta, and delta
/// characters, and stylistic set 4 changes the lowercase "i" and
/// "l" characters.
///
/// This font also supports character variants (see
/// [FontFeature.characterVariant]).
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_ssXX_1.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_stylistic_set.0.dart **
/// {@end-tool}
///
/// {@tool sample}
/// The Piazzolla font supports the `ssXX` feature for more
/// elaborate stylistic effects. Set 1 turns some Latin characters
/// into Roman numerals, set 2 enables some ASCII characters to be
/// used to create pretty arrows, and so forth.
///
/// _These_ stylistic sets do _not_ correspond to character variants.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_ssXX_2.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_stylistic_set.1.dart **
/// {@end-tool}
///
/// See also:
///
///  * [FontFeature.characterVariant], which allows for individual character
///    variants to be selected, as opposed to entire sets.
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#ssxx>                1 /// Enable subscripts. (`subs`)
///
/// This feature causes some fonts to change some glyphs to their subscripted form.
///
/// It typically does not affect all glyphs, and so is not appropriate for generally causing
/// all text to be subscripted.
///
/// This may override other features that substitute glyphs.
///
/// {@tool sample}
/// The Piazzolla font supports the `subs` feature. It causes
/// digits to be smaller and subscripted.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_subs.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_subscripts.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#subs>
///  * [FontFeature.scientificInferiors], which is similar but intended specifically for
///    subscripts used in scientific contexts.
///  * [FontFeature.superscripts], which is similar but for subscripting.   X c p    } u      Ʉ dR/// Enable superscripts. (`sups`)
///
/// This feature causes some fonts to change some glyphs to their
/// superscripted form. This may be more than just changing their
/// position. For example, digits might change to lining figures
/// (see [FontFeature.liningFigures]) in addition to being raised
/// and shrunk.
///
/// It typically does not affect all glyphs, and so is not
/// appropriate for generally causing all text to be superscripted.
///
/// This may override other features that substitute glyphs.
///
/// {@tool sample}
/// The Sorts Mill Goudy font supports the `sups` feature. It causes
/// digits to be smaller, superscripted, and changes them to lining
/// figures (so they are all the same height).
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_sups.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_superscripts.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#sups>
///  * [FontFeature.subscripts], which is similar but for subscripting.   ] h n     p p u 
 }            i/// Enable swash glyphs. (`swsh`)
///
/// Some fonts have beautiful flourishes on some characters. These
/// come in many forms, such as exaggerated serifs, long tails, long
/// entry strokes, or other forms of decorative extensions to the
/// base character.
///
/// This feature enables the rendering of these flourishes. Some
/// fonts have many swashes per character; the argument, if
/// specified, selects which swash to use (0 disables them
/// altogether).
///
/// Some fonts have an absurd number of alternative swashes. For
/// example, Adobe's Poetica famously has 63 different ampersand
/// forms available through this feature!
///
/// {@tool sample}
/// The BioRhyme Expanded font supports the `swsh` feature specifically
/// for the capital "Q" and "R" glyphs and the ampersand.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_swsh.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_swash.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#swsh>
///  * <https://en.wikipedia.org/wiki/Swash_(typography)>                m /// Use tabular (monospace) figures. (`tnum`)
///
/// For fonts that have both proportional (varying width) and tabular figures,
/// this enables the tabular figures. Tabular figures are monospaced (all the
/// same width), so that they align in tables of figures.
///
/// This is mutually exclusive with [FontFeature.proportionalFigures].
///
/// The default behavior varies from font to font.
///
/// {@tool sample}
/// The Piazzolla font supports the `tnum` feature. It causes the
/// digits to become uniformly-sized, rather than having variable
/// widths. In this font this is especially noticeable with the
/// digit "1"; with tabular figures enabled, the "1" digit is more
/// widely spaced.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_tnum.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_tabular_figures.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#tnum>   M X d    q i s  {   h Y/// Use the slashed zero. (`zero`)
///
/// Some fonts contain both a circular zero and a zero with a slash. This
/// enables the use of the latter form.
///
/// This is overridden by [FontFeature.oldstyleFigures].
///
/// {@tool sample}
/// The Source Code Pro font supports the `zero` feature. It causes the
/// zero digit to be drawn with a slash rather than the default rendering,
/// which in this case has a dot through the zero rather than a slash.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/font_feature_zero.png)
///
/// ** See code in examples/api/lib/ui/text/font_feature.font_feature_slashed_zero.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/features_uz#zero>   # 3 #/// The tag that identifies the effect of this feature.  Must consist of 4
/// ASCII characters (typically lowercase letters).
///
/// These features are defined in a registry maintained by Microsoft:
/// <https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags>   /Z 2/// The value assigned to this feature.
///
/// Must be a positive integer. Many features are Boolean values that accept
/// values of either 0 (feature is disabled) or 1 (feature is enabled). Other
/// features have a bound range of values (which may be documented in these
/// API docs for features that have dedicated constructors, and are generally
/// documented in the official registry). In some cases the precise supported
/// range depends on the font.
///
/// See also:
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist>   "        <                                  C   XX /// A feature tag and value that affect the selection of glyphs in a font.
///
/// Different fonts support different features. Consider using a tool
/// such as <https://wakamaifondue.com/> to examine your fonts to
/// determine what features are available.
///
/// {@tool sample}
/// This example shows usage of several OpenType font features,
/// including Small Caps (selected manually using the "smcp" code),
/// old-style figures, fractional ligatures, and stylistic sets.
///
/// ** See code in examples/api/lib/ui/text/font_feature.0.dart **
/// {@end-tool}
///
/// Some fonts also support continuous font variations; see the [FontVariation]
/// class.
///
/// See also:
///
///  * <https://en.wikipedia.org/wiki/List_of_typographic_features>,
///    Wikipedia's description of these typographic features.
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags>,
///    Microsoft's registry of these features.   f  s     t t	 y     
                         !   /// Creates a [FontVariation] object, which can be added to a [TextStyle] to
/// change the variable attributes of a font.
///
/// `axis` is the four-character tag that identifies the design axis.
/// OpenType lists the [currently registered axis
/// tags](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg).
///
/// `value` is the value that the axis will be set to. The behavior
/// depends on how the font implements the axis.           
             	  #  %  v ́/// Variable font style. (`ital`)
///
/// Varies the style of glyphs in the font between normal and italic.
///
/// Values must in the range 0.0 (meaning normal, or Roman, as in
/// [FontStyle.normal]) to 1.0 (meaning fully italic, as in
/// [FontStyle.italic]).
///
/// This is distinct from [FontVariation.slant], which leans the characters
/// without changing the font style.
///
/// See also:
///
///  * <https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_ital>    & 2     3 3
 8 	 A G S N H P [ V ] 0 04 '/// Optical size optimization. (`opzs`)
///
/// Changes the rendering of the font to be optimized for the given text size.
/// Normally, the optical size of the font will be derived from the font size.
///
/// This feature could be used when the text represents a particular physical
/// font size, for example text in the representation of a hardcopy magazine,
/// which does not correspond to the actual font size being used to render the
/// text. By setting the optical size explicitly, font variations that might
/// be applied as the text is zoomed will be fixed at the size being
/// represented by the text.
///
/// This feature could also be used to smooth animations. If a font varies its
/// rendering as the font size is adjusted, it may appear to "quiver" (or, one
/// might even say, "flutter") if the font size is animated. By setting a
/// fixed optical size, the rendering can be fixed to one particular style as
/// the text size animates.
///
/// Values must be greater than zero, and are interpreted as points. A point
/// is 1/72 of an inch, or 1.333 logical pixels (96/72).
///
/// See also:
///
///  * <https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_opsz>           
            ' !  # 5 0 7 h h ߂B/// Variable font width. (`slnt`)
///
/// Varies the slant of glyphs in the font.
///
/// Values must be greater than -90.0 and less than +90.0, and represents the
/// angle in _counter-clockwise_ degrees relative to "normal", at 0.0.
///
/// For example, to lean the glyphs forward by 45 degrees, one would use
/// `FontVariation.slant(-45.0)`.
///
/// This is distinct from [FontVariation.italic], in that slant leans the
/// characters without changing the font style.
///
/// See also:
///
///  * <https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_slnt>           
  	          B B ԁg/// Variable font width. (`wdth`)
///
/// Varies the width of glyphs in the font.
///
/// Values must be greater than zero, with no upper limit. 100.0 represents
/// the "normal" width. Smaller values are "condensed", greater values are
/// "extended".
///
/// See also:
///
///  * <https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_wdth>           
                    ς/// Variable font weight. (`wght`)
///
/// Applications should avoid using this and should instead declare font
/// weight by specifying a [FontWeight], which will implicitly set this
/// attribute. However, if a value is provided for this attribute, then it
/// will override the [FontWeight].
///
/// Varies the stroke thickness of the font.
///
/// Values must be in the range 1..1000, and are to be interpreted in a manner
/// consistent with the values of [FontWeight]. For instance, `400` is the
/// "normal" weight, and `700` is "bold".
///
/// See also:
///
///  * <https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_wght>    | d/// The tag that identifies the design axis.
///
/// An axis tag must consist of 4 ASCII characters.  < 4 </// The value assigned to this design axis.
///
/// The range of usable values depends on the specification of the axis.
///
/// While this property is represented as a [double] in this API
/// ([binary64](https://en.wikipedia.org/wiki/Double-precision_floating-point_format)),
/// fonts use the fixed-point 16.16 format to represent the value of font
/// variations. This means that the actual range is -32768.0 to approximately
/// 32767.999985 and in principle the smallest increment between two values is
/// approximately 0.000015 (1/65536).
///
/// Unfortunately for technical reasons the value is first converted to the
/// [binary32 floating point
/// format](https://en.wikipedia.org/wiki/Single-precision_floating-point_format),
/// which only has 24 bits of precision. This means that for values outside
/// the range -256.0 to 256.0, the smallest increment is larger than what is
/// technically supported by OpenType. At the extreme edge of the range, the
/// smallest increment is only approximately ±0.002. g W F" W    3 4 3 39 G      z z    m m r         h i h h      1 1 @    C C R    U U \   p p ,{/// Linearly interpolates between two font variations.
///
/// If the two variations have different axis tags, the interpolation switches
/// abruptly from one to the other at t=0.5. Otherwise, the value is
/// interpolated (see [lerpDouble].
///
/// The value is not clamped to the valid values of the axis tag, but it is
/// clamped to the valid range of font variations values in general (the range
/// of signed 16.16 fixed point numbers).
///
/// The `t` argument represents position on the timeline, with 0.0 meaning
/// that the interpolation has not started, returning `a` (or something
/// equivalent to `a`), 1.0 meaning that the interpolation has finished,
/// returning `b` (or something equivalent to `b`), and values in between
/// meaning that the interpolation is at the relevant point on the timeline
/// between `a` and `b`. The interpolation can be extrapolated beyond 0.0 and
/// 1.0, so negative values and values greater than 1.0 are valid (and can
/// easily be generated by curves such as [Curves.elasticInOut]).
///
/// Values for `t` are usually obtained from an [Animation<double>], such as
/// an [AnimationController].   O P O OB b   
 
 zi/// An axis tag and value that can be used to customize variable fonts.
///
/// Some fonts are variable fonts that can generate a range of different
/// font faces by altering the values of the font's design axes.
///
/// For example:
///
/// ```dart
/// const TextStyle(fontVariations: <ui.FontVariation>[ui.FontVariation('slnt', -5.0)])
/// ```
///
/// Font variations are distinct from font features, as exposed by the
/// [FontFeature] class. Where features can be enabled or disabled in a discrete
/// manner, font variations provide a continuous axis of control.
///
/// See also:
///
///  * <https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg#registered-axis-tags>,
///    which lists registered axis tags.
///
///  * <https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview>,
///    an overview of the font variations technology.   k  t     z z      Ƞ Ƞ! ȥ         4 4 4/// Creates a [GlyphInfo] with the specified values.                 
           * * 1    = = A    T T X    i i
 n ! ɗ { ə ɝ ɞ ɦ ɿ ɧ ɭ ɲ ɹ         
   1   9 M 3 ; H I O \ ]  {      e ܁]/// The layout bounding rect of the associated character, in the paragraph's
/// coordinates.
///
/// This is **not** a tight bounding box that encloses the character's outline.
/// The vertical extent reported is derived from the font metrics (instead of
/// glyph metrics), and the horizontal extent is the horizontal advance of the
/// character.  L l L=/// The UTF-16 range of the associated character in the text.  ̵ mX ̵1/// The writing direction within the [GlyphInfo].   ( ) ( ( <             ʁZ     Ϋ ά Ϋ Ϋ ξ   ƕ ƕ &/// The measurements of a character (or a sequence of visually connected
/// characters) within a paragraph.
///
/// See also:
///
///  * [Paragraph.getGlyphInfoAt], which finds the [GlyphInfo] associated with
///    a code unit in the text.
///  * [Paragraph.getClosestGlyphInfoForOffset], which finds the [GlyphInfo] of
///    the glyph(s) onscreen that's closest to the given [Offset].           
     #    = E S [     \ \  q     TL/// Creates a decoration that paints the union of all the given decorations.        ( ) * . +  W /// Do not draw a decoration ؋ ؙ ؚ ؛ ؟ ؜  4l ,/// Draw a line underneath each line of text     
   إf '/// Draw a line above each line of text f t u v z w X k X)/// Draw a line through each line of text      /       ׎ ׎ ם   " " ׅ[/// Whether this decoration will paint at least as much decoration as the given decoration.    ٝ ٝ ٤  ـ ف ـ ـl ٚ    # $ # # 6     մ./// A linear decoration to draw near the text.           $      $      ?      / 0  ) W/// Creates a new TextHeightBehavior object.
///
///  * applyHeightToFirstAscent: When true, the [TextStyle.height] modifier
///    will be applied to the ascent of the first line. When false, the font's
///    default ascent will be used.
///  * applyHeightToLastDescent: When true, the [TextStyle.height] modifier
///    will be applied to the descent of the last line. When false, the font's
///    default descent will be used.
///  * leadingDistribution: How the leading is distributed over and under
///    text.
///
/// All properties default to true (height modifications applied as normal).                    7  I 9 G B : D L n U  p ~ y q {  G G> }/// Creates a new TextHeightBehavior object from an encoded form.
///
/// See [_encode] for the creation of the encoded form.    艂) ꚁ/// Whether to apply the [TextStyle.height] modifier to the ascent of the first
/// line in the paragraph.
///
/// When true, the [TextStyle.height] modifier will be applied to the ascent
/// of the first line. When false, the font's default ascent will be used and
/// the [TextStyle.height] will have no effect on the ascent of the first line.
///
/// This property only has effect if a non-null [TextStyle.height] is specified.
///
/// Defaults to true (height modifications applied as normal).   귂* Ɂ/// Whether to apply the [TextStyle.height] modifier to the descent of the last
/// line in the paragraph.
///
/// When true, the [TextStyle.height] modifier will be applied to the descent
/// of the last line. When false, the font's default descent will be used and
/// the [TextStyle.height] will have no effect on the descent of the last line.
///
/// This property only has effect if a non-null [TextStyle.height] is specified.
///
/// Defaults to true (height modifications applied as normal).    ށ/// {@template dart.ui.textLeadingDistribution}
/// How the ["leading"](https://en.wikipedia.org/wiki/Leading) is distributed
/// over and under the text.
///
/// Does not affect layout when [TextStyle.height] is not specified. The
/// leading can become negative, for example, when [TextLeadingDistribution.even]
/// is used with a [TextStyle.height] much smaller than 1.0.
/// {@endtemplate}
///
/// Defaults to [TextLeadingDistribution.proportional],   9 : 9 9 M        ^_/// Returns an encoded int representation of this object (excluding
/// [leadingDistribution]).           ρf        ߁      /// {@template dart.ui.textHeightBehavior}
/// Defines how to apply [TextStyle.height] over and under text.
///
/// [TextHeightBehavior.applyHeightToFirstAscent] and
/// [TextHeightBehavior.applyHeightToLastDescent] represent whether the
/// [TextStyle.height] modifier will be applied to the corresponding metric. By
/// default both properties are true, and [TextStyle.height] is applied as
/// normal. When set to false, the font's default ascent will be used.
///
/// [TextHeightBehavior.leadingDistribution] determines how the
/// leading is distributed over and under text. This
/// property applies before [TextHeightBehavior.applyHeightToFirstAscent] and
/// [TextHeightBehavior.applyHeightToLastDescent].
///
/// {@endtemplate}  " +    229   DDT   ddk   $               !!)   99 G   __g   uu}         ,      
   !   11?   LL_   qq# Rq{W-AXm)@vax	=0?[S]l#%J:L G/// Creates a new TextStyle object.
///
/// * `color`: The color to use when painting the text. If this is specified, `foreground` must be null.
/// * `decoration`: The decorations to paint near the text (e.g., an underline).
/// * `decorationColor`: The color in which to paint the text decorations.
/// * `decorationStyle`: The style in which to paint the text decorations (e.g., dashed).
/// * `decorationThickness`: The thickness of the decoration as a multiplier on the thickness specified by the font.
/// * `fontWeight`: The typeface thickness to use when painting the text (e.g., bold).
/// * `fontStyle`: The typeface variant to use when drawing the letters (e.g., italics).
/// * `fontFamily`: The name of the font to use when painting the text (e.g., Roboto). If a `fontFamilyFallback` is
///   provided and `fontFamily` is not, then the first font family in `fontFamilyFallback` will take the position of
///   the preferred font family. When a higher priority font cannot be found or does not contain a glyph, a lower
///   priority font will be used.
/// * `fontFamilyFallback`: An ordered list of the names of the fonts to fallback on when a glyph cannot
///   be found in a higher priority font. When the `fontFamily` is null, the first font family in this list
///   is used as the preferred font. Internally, the 'fontFamily` is concatenated to the front of this list.
///   When no font family is provided through 'fontFamilyFallback' (null or empty) or `fontFamily`, then the
///   platform default font will be used.
/// * `fontSize`: The size of glyphs (in logical pixels) to use when painting the text.
/// * `letterSpacing`: The amount of space (in logical pixels) to add between each letter.
/// * `wordSpacing`: The amount of space (in logical pixels) to add at each sequence of white-space (i.e. between each word).
/// * `textBaseline`: The common baseline that should be aligned between this text span and its parent text span, or, for the root text spans, with the line box.
/// * `height`: The height of this text span, as a multiplier of the font size. Setting the `height` to `kTextHeightNone` will allow the line height
///   to take the height as defined by the font, which may not be exactly the height of the fontSize.
/// * `leadingDistribution`: When `height` is set to a non-null that is not `kTextHeightNone`, how the extra vertical space should be distributed over and under the text.
///   Defaults to the paragraph's [TextHeightBehavior] if left unspecified.
/// * `locale`: The locale used to select region-specific glyphs.
/// * `background`: The paint drawn as a background for the text.
/// * `foreground`: The paint used to draw the text. If this is specified, `color` must be null.
/// * `fontFeatures`: The font features that should be applied to the text.
/// * `fontVariations`: The font variations that should be applied to the text.  o_o  {  '        ))  B4"B  hZh  s      &  *  B#3B   !     xx [\[[u     /// An opaque object that determines the size, position, and rendering of text.
///
/// See also:
///
///  * [TextStyle](https://api.flutter.dev/flutter/painting/TextStyle-class.html), the class in the [painting] library.
///  ? ?    ???   ???   ??@   @@@   @(@(@0   @>@>@F   @R@R&@f   @~@~@   @@@   @@@   @@@   @@@ ,A@AABA(A<ATAgA|AAAAAABB3B'B5BRBHBTBmBeBoBB~BBBBBBBBBCBC	CC"C9C:22 /// Creates a new ParagraphStyle object.
///
/// * `textAlign`: The alignment of the text within the lines of the
///   paragraph. If the last line is ellipsized (see `ellipsis` below), the
///   alignment is applied to that line after it has been truncated but before
///   the ellipsis has been added.
///   See: https://github.com/flutter/flutter/issues/9819
///
/// * `textDirection`: The directionality of the text, left-to-right (e.g.
///   Norwegian) or right-to-left (e.g. Hebrew). This controls the overall
///   directionality of the paragraph, as well as the meaning of
///   [TextAlign.start] and [TextAlign.end] in the `textAlign` field.
///
/// * `maxLines`: The maximum number of lines painted. Lines beyond this
///   number are silently dropped. For example, if `maxLines` is 1, then only
///   one line is rendered. If `maxLines` is null, but `ellipsis` is not null,
///   then lines after the first one that overflows the width constraints are
///   dropped. The width constraints are those set in the
///   [ParagraphConstraints] object passed to the [Paragraph.layout] method.
///
/// * `fontFamily`: The name of the font family to apply when painting the text,
///   in the absence of a `textStyle` being attached to the span.
///
/// * `fontSize`: The fallback size of glyphs (in logical pixels) to
///   use when painting the text. This is used when there is no [TextStyle].
///
/// * `height`: The fallback height of the spans as a multiplier of the font
///   size. The fallback height is used when no height is provided through
///   [TextStyle.height]. Omitting `height` here (or setting it to
///   [kTextHeightNone]) and in [TextStyle] will allow the line height to take
///   the height as defined by the font, which may not be exactly the height of
///   the `fontSize`.
///
/// * `textHeightBehavior`: Specifies how the `height` multiplier is
///   applied to ascent of the first line and the descent of the last line.
///
/// * `leadingDistribution`: Specifies how the extra vertical space added by
///   the `height` multiplier should be distributed over and under the text.
///   Defaults to [TextLeadingDistribution.proportional].
///
/// * `fontWeight`: The typeface thickness to use when painting the text
///   (e.g., bold).
///
/// * `fontStyle`: The typeface variant to use when drawing the letters (e.g.,
///   italics).
///
/// * `strutStyle`: The properties of the strut. Strut defines a set of minimum
///   vertical line height related metrics and can be used to obtain more
///   advanced line spacing behavior.
///
/// * `ellipsis`: String used to ellipsize overflowing text. If `maxLines` is
///   not null, then the `ellipsis`, if any, is applied to the last rendered
///   line, if that line overflows the width constraints. If `maxLines` is
///   null, then the `ellipsis` is applied to the first line that overflows
///   the width constraints, and subsequent lines are dropped. The width
///   constraints are those set in the [ParagraphConstraints] object passed to
///   the [Paragraph.layout] method. The empty string and the null value are
///   considered equivalent and turn off this behavior.
///
/// * `locale`: The locale used to select region-specific glyphs.  C[CKC[  CuCgCu  CCC  CCC  CCC  CCC  DCD  D+D2D+   FFFFF     DaDaDh DDDEDDDD9D^   G7G8G7G7GJ  112/// An opaque object that determines the configuration used by
/// [ParagraphBuilder] to position lines within a [Paragraph] of text.  ` `  	  ```   `` `   aaa   a,a,a4   a@a@,aY   araraz   aaa   aaa   aaa aaaababb0bCbTbrbbbbbbcccc8c$c:VV̌ /// Creates a new StrutStyle object.
///
/// * `fontFamily`: The name of the font to use when painting the text (e.g.,
///   Roboto).
///
/// * `fontFamilyFallback`: An ordered list of font family names that will be
///    searched for when the font in `fontFamily` cannot be found.
///
/// * `fontSize`: The size of glyphs (in logical pixels) to use when painting
///   the text.
///
/// * `height`: The minimum height of the line boxes, as a multiplier of the
///   font size. The lines of the paragraph will be at least
///   `(height + leading) * fontSize` tall when `fontSize` is not null. Omitting
///   `height` (or setting it to [kTextHeightNone]) will allow the minimum line
///   height to take the height as defined by the font, which may not be exactly
///   the height of the `fontSize`. When `fontSize` is null, there is no minimum
///   line height. Tall glyphs due to baseline alignment or large
///   [TextStyle.fontSize] may cause the actual line height after layout to be
///   taller than specified here. The `fontSize` must be provided for
///   this property to take effect.
///
/// * `leading`: The minimum amount of leading between lines as a multiple of
///   the font size. `fontSize` must be provided for this property to take
///   effect. The leading added by this property is distributed evenly over
///   and under the text, regardless of `leadingDistribution`.
///
/// * `leadingDistribution`: how the extra vertical space added by the
///   `height` multiplier should be distributed over and under the text,
///   independent of `leading` (which is always distributed evenly over and
///   under text). Defaults to the paragraph's [TextHeightBehavior]'s leading
///   distribution.
///
/// * `fontWeight`: The typeface thickness to use when painting the text
///   (e.g., bold).
///
/// * `fontStyle`: The typeface variant to use when drawing the letters (e.g.,
///   italics).
///
/// * `forceStrutHeight`: When true, the paragraph will force all lines to be exactly
///   `(height + leading) * fontSize` tall from baseline to baseline.
///   [TextStyle] is no longer able to influence the line height, and any tall
///   glyphs may overlap with lines above. If a `fontFamily` is specified, the
///   total ascent of the first line will be the min of the `Ascent + half-leading`
///   of the `fontFamily` and `(height + leading) * fontSize`. Otherwise, it
///   will be determined by the Ascent + half-leading of the first text.  c`cQc`  ccc  cc'c  cc3c    dd0d   f6f7f6f6fJ     dgdgdn dJdKdJdJdd  V'V'V/// See also:
///
///  * [StrutStyle](https://api.flutter.dev/flutter/painting/StrutStyle-class.html), the class in the [painting] library.
///  z\zczm    znzn	zs   zyzyz~   zz
z   zzz   zzz  zzzd;/// Creates an object that describes a box containing text.  {Zz{Z/// The left edge of the text box, irrespective of direction.
///
/// To get the leading edge (which may depend on the [direction]), consider [start]. {{c4{!/// The top edge of the text box. |F{|F/// The right edge of the text box, irrespective of direction.
///
/// To get the trailing edge (which may depend on the [direction]), consider [end]. ||P:|$/// The bottom edge of the text box. ||V|6/// The direction in which text inside this box flows.   }Z}Z~(/// The [left] edge of the box for left-to-right text; the [right] edge of the box for right-to-left text.
///
/// See also:
///
///  * [direction], which specifies the text direction.   ~s~sA/// The [right] edge of the box for left-to-right text; the [left] edge of the box for right-to-left text.
///
/// See also:
///
///  * [direction], which specifies the text direction.     Q     ||l}"0/// Returns a rect of the same size as this box.    r   UVUUh  yyzt/// A rectangle enclosing a run of text.
///
/// This is similar to [Rect] but includes an inherent [TextDirection].  v        ' Հ /// Creates an object representing a particular position in a string.
///
/// The arguments must not be null (so the [offset] argument is required).  ȁ</// The index of the character that immediately follows the position in the
/// string representation of the text.
///
/// For example, given the string `'Hello'`, offset 0 represents the cursor
/// being before the `H`, while offset 5 represents the cursor being just
/// after the `o`. 	Ɂ/// Disambiguates cases where the position in the string given by [offset]
/// could represent two different visual positions in the rendered text. For
/// example, this can happen when text is forced to wrap, or when one string
/// of text is rendered with multiple text directions.
///
/// See the documentation for [TextAffinity] for more information on how
/// TextAffinity disambiguates situations like these.  >      ր   d  ă>/// A position in a string of text.
///
/// A TextPosition can be used to describe a caret position in between
/// characters. The [offset] points to the position between `offset - 1` and
/// `offset` characters of the string, and the [affinity] is used to describe
/// which character this position affiliates with.
///
/// One use case is when rendered text is forced to wrap. In this case, the offset
/// where the wrap occurs could visually appear either at the end of the first
/// line or the beginning of the second line. The second way is with
/// bidirectional text.  An offset at the interface between two different text
/// directions could have one of two locations in the rendered text.
///
/// See the documentation for [TextAffinity] for more information on how
/// TextAffinity disambiguates situations like these.  ' 0    22@   GGU agsnhqr| u/// Creates a text range.
///
/// The [start] and [end] arguments must not be null. Both the [start] and
/// [end] must either be greater than or equal to zero or both exactly -1.
///
/// The text included in the range includes the character at [start], but not
/// the one at [end].
///
/// Instead of creating an empty text range, consider using the [empty]
/// constant.  (2    33
7 AGTOHRS]W_kgm)/// A text range that starts and ends at offset.
///
/// The [offset] argument must be non-null and greater than or equal to -1. x}>/// A text range that contains nothing and is not in the text. u/// The index of the first character in the range.
///
/// If [start] and [end] are both -1, the text range is empty. y/// The next index after the characters in this range.
///
/// If [start] and [end] are both -1, the text range is empty.   mg?/// Whether this range represents a valid position in the text.   wO/// Whether this range is empty (but still potentially placed inside the text).   ^I5/// Whether the start of this range precedes the end.  J       jj/// The text before this range.   %%,  ~/// The text after this range.     uu/// The text inside this range.   $       	G  TT./// A range of characters in a string of text.         dd b/// Creates constraints for laying out a paragraph.
///
/// The [width] argument must not be null.  ヰ/// The width the paragraph should use whey computing the positions of glyphs.
///
/// If possible, the paragraph will select a soft line break prior to reaching
/// this width. If no soft line break is available, the paragraph will select
/// a hard line break prior to reaching this width. If that would force a line
/// break without any characters having been placed (i.e. if the next
/// character to be laid out does not fit within the given width constraint)
/// then the next character is allowed to overflow the width constraint and a
/// forced line break is placed after it (even if an explicit line break
/// follows).
///
/// The width influences how ellipses are applied. See the discussion at
/// [ParagraphStyle.new] for more details.
///
/// This width is also used to position glyphs according to the [TextAlign]
/// alignment described in the [ParagraphStyle] used when building the
/// [Paragraph] with a [ParagraphBuilder].  /     

 퀸   G  SSK/// Layout constraints for [Paragraph] objects.
///
/// Instances of this class are typically used with [Paragraph.layout].
///
/// The only constraint that can be specified is the [width]. See the discussion
/// at [width] for more details.     	           !!/   CCQ   ]]k   vv        xxQ B/// Creates a [LineMetrics] object with only the specified values.    	        
      005   AA
F   QQ	V   ``e   ssx  ̀  	 w/// True if this line ends with an explicit line break (e.g. '\n') or is the end
/// of the paragraph. False otherwise. f!Kf%/// The rise from the [baseline] as calculated from the font and style for this line.
///
/// This is the final computed ascent and can be impacted by the strut, height, scaling,
/// as well as outlying runs that are very tall.
///
/// The [ascent] is provided as a positive value, even though it is typically defined
/// in fonts as negative. This is to ensure the signage of operations with these
/// metrics directly reflects the intended signage of the value. For example,
/// the y coordinate of the top edge of the line is `baseline - ascent`. qU4/// The drop from the [baseline] as calculated from the font and style for this line.
///
/// This is the final computed ascent and can be impacted by the strut, height, scaling,
/// as well as outlying runs that are very tall.
///
/// The y coordinate of the bottom edge of the line is `baseline + descent`. RˁRm/// The rise from the [baseline] as calculated from the font and style for this line
/// ignoring the [TextStyle.height].
///
/// The [unscaledAscent] is provided as a positive value, even though it is typically
/// defined in fonts as negative. This is to ensure the signage of operations with
/// these metrics directly reflects the intended signage of the value. kek/// Total height of the line from the top edge to the bottom edge.
///
/// This is equivalent to `round(ascent + descent)`. This value is provided
/// separately due to rounding causing sub-pixel differences from the unrounded
/// values. vsN/// Width of the line from the left edge of the leftmost glyph to the right
/// edge of the rightmost glyph.
///
/// This is not the same as the width of the pargraph.
///
/// See also:
///
///  * [Paragraph.width], the max width passed in during layout.
///  * [Paragraph.longestLine], the width of the longest line in the paragraph. llj/// The x coordinate of left edge of the line.
///
/// The right edge can be obtained with `left + width`. UuU/// The y coordinate of the baseline for this line from the top of the paragraph.
///
/// The bottom edge of the paragraph up to and including this line may be obtained
/// through `baseline + descent`. b/// The number of this line in the overall paragraph, with the first line being
/// index zero.
///
/// For example, the first line is line 0, second line is line 1.  (     FFM )*))C   āL  Zh/// [LineMetrics] stores the measurements and statistics of a single line in the
/// paragraph.
///
/// The measurements here are for the line as a whole, and represent the maximum
/// extent of the line instead of per-run or per-glyph metrics. For more detailed
/// metrics, see [TextBox] and [Paragraph.getBoxesForRange].
///
/// [LineMetrics] should be obtained directly from the [Paragraph.computeLineMetrics]
/// method.   
   ggn/// The amount of horizontal space this paragraph occupies.
///
/// Valid only after [layout] has been called.   ol/// The amount of vertical space this paragraph occupies.
///
/// Valid only after [layout] has been called.   zz9/// The distance from the left edge of the leftmost glyph to the right edge of
/// the rightmost glyph in the paragraph.
///
/// Valid only after [layout] has been called.   II/// The minimum width that this paragraph could be without failing to paint
/// its contents within itself.
///
/// Valid only after [layout] has been called.   ̸/// Returns the smallest width beyond which increasing the width never
/// decreases the height.
///
/// Valid only after [layout] has been called.   ΀Qs/// The distance from the top of the paragraph to the alphabetic
/// baseline of the first line, in logical pixels.   hht/// The distance from the top of the paragraph to the ideographic
/// baseline of the first line, in logical pixels.   vZ/// True if there is more vertical content, but the text was truncated, either
/// because we reached `maxLines` lines of text or because the `maxLines` was
/// null, `ellipsis` was not null, and one of the lines exceeded the width
/// constraint.
///
/// See the discussion of the `maxLines` and `ellipsis` arguments at
/// [ParagraphStyle.new].   ࢀg/// The total number of visible lines in the paragraph.
///
/// Returns a non-negative number. If `maxLines` is non-null, the value of
/// [numberOfLines] never exceeds `maxLines`.   mm&/// Whether this reference to the underlying picture is [dispose]d.
///
/// This only returns a valid value if asserts are enabled, and must not be
/// used otherwise.    00 E  όό)/// Computes the size and position of each glyph in the paragraph.
///
/// The [ParagraphConstraints] control how wide the text is allowed to be.   	    ++/   ::4I   tt1ӂ ZhiӒӟӠVVV/// Returns a list of text boxes that enclose the given text range.
///
/// The [boxHeightStyle] and [boxWidthStyle] parameters allow customization
/// of how the boxes are bound vertically and horizontally. Both style
/// parameters default to the tight option, which will provide close-fitting
/// boxes and will not account for any line spacing.
///
/// Coordinates of the TextBox are relative to the upper-left corner of the paragraph,
/// where positive y values indicate down.
///
/// The [boxHeightStyle] and [boxWidthStyle] parameters must not be null.
///
/// See [BoxHeightStyle] and [BoxWidthStyle] for full descriptions of each option.   ӰӰI/// Returns a list of text boxes that enclose all placeholders in the paragraph.
///
/// The order of the boxes are in the same order as passed in through
/// [ParagraphBuilder.addPlaceholder].
///
/// Coordinates of the [TextBox] are relative to the upper-left corner of the paragraph,
/// where positive y values indicate down.   @@G  44+/// Returns the text position closest to the given offset.
///
/// This method always returns a [TextPosition] for any given [offset], even
/// when the [offset] is not close to any text, or when the paragraph is empty.
/// This is useful for determining the text to select when the user drags the
/// text selection handle.
///
/// See also:
///
///  * [getClosestGlyphInfoForOffset], which returns more information about
///    the closest character to an [Offset].     SSعN/// Returns the [GlyphInfo] of the glyph closest to the given `offset` in the
/// paragraph coordinate system, or null if if the text is empty, or is
/// entirely clipped or ellipsized away.
///
/// This method first finds the line closest to `offset.dy`, and then returns
/// the [GlyphInfo] of the closest glyph(s) within that line.     ٱ/// Returns the [GlyphInfo] located at the given UTF-16 `codeUnitOffset` in
/// the paragraph, or null if the given `codeUnitOffset` is out of the visible
/// lines or is ellipsized.     ؃C/// Returns the [TextRange] of the word at the given [TextPosition].
///
/// Characters not part of a word, such as spaces, symbols, and punctuation,
/// have word breaks on both sides. In such cases, this method will return
/// (offset, offset+1). Word boundaries are defined more precisely in Unicode
/// Standard Annex #29 http://www.unicode.org/reports/tr29/#Word_Boundaries
///
/// The [TextPosition] is treated as caret position, its [TextPosition.affinity]
/// is used to determine which character this position points to. For example,
/// the word boundary at `TextPosition(offset: 5, affinity: TextPosition.upstream)`
/// of the `string = 'Hello word'` will return range (0, 5) because the position
/// points to the character 'o' instead of the space.   ccp  [S/// Returns the [TextRange] of the line at the given [TextPosition].
///
/// The newline (if any) is returned as part of the range.
///
/// Not valid until after layout.
///
/// This can potentially be expensive, since it needs to compute the line
/// metrics, so use it sparingly.   ~~[ā%/// Returns the full list of [LineMetrics] that describe in detail the various
/// metrics of each laid out line.
///
/// Not valid until after layout.
///
/// This can potentially return a large amount of data, so it is not recommended
/// to repeatedly call this. Instead, cache the results.     ݀}/// Returns the [LineMetrics] for the line at `lineNumber`, or null if the
/// given `lineNumber` is greater than or equal to [numberOfLines].     yyj促$/// Returns the line number of the line that contains the code unit that
/// `codeUnitOffset` points to.
///
/// This method returns null if the given `codeUnitOffset` is out of bounds, or
/// is logically after the last visible codepoint. This includes the case where
/// its codepoint belongs to a visible line, but the text layout library
/// replaced it with an ellipsis.
///
/// If the target code unit points to a control character that introduces
/// mandatory line breaks (most notably the line feed character `LF`, typically
/// represented in strings as the escape sequence "\n"), to conform to
/// [the unicode rules](https://unicode.org/reports/tr14/#LB4), the control
/// character itself is always considered to be at the end of "current" line
/// rather than the beginning of the new line.   瀂_n/// Release the resources used by this object. The object is no longer usable
/// after this method is called. "Y5/// A paragraph of text.
///
/// A paragraph retains the size and position of each glyph in the text and can
/// be efficiently resized and painted.
///
/// To create a [Paragraph] object, use a [ParagraphBuilder].
///
/// Paragraphs can be displayed on a [Canvas] using the [Canvas.drawParagraph]
/// method.  :JL    掀K/// This class is created by the engine, and should not be instantiated
/// or extended directly.
///
/// To create a [Paragraph] object, use a [ParagraphBuilder]. gXSX  
  pq|}ppz    	!K("*E?G|c   noz{nn   *)#($+`2,4ZT\x   鎀   $%017V?8GUHOTPW^X`$$   & "꼀>   VWbciojwxVV    |4            耨         66B  %    **	.   99=   HH4W   1 hvw9    	   "   ''+   ;;? rsyzrr   RSRRrl   Ȁ5     TUTTm    	   	 =>DsLETrU\a]dlt{u}==     j        RSYaZijqvryRR    77>     ::	A   EE	L   PPY      jkjj    
 #J+$3I4;@<CKpRLT         
 z{zz    44B   JJQ   TT[  	-   bcbb   $%+J3,;I<CHDKsRLT$$~     j        I"*H+273:BJpQKS    ggk FGFFW    aae A#%R   yzyy   z{

k/// This can't be a leaf call because the native function calls Dart API
/// (Dart_SetNativeInstanceField).  &  88C         [[ W/// Creates a new [ParagraphBuilder] object, which is used to create a
/// [Paragraph].     VI:/// The number of placeholders currently in the paragraph.   ^^Z4/// The scales of the placeholders in the paragraph.    55?  +c/// Applies the given style to the added text until [pop] is called.
///
/// See [pop] for details.   JJQ9/// Ends the effect of the most recent call to [pushStyle].
///
/// Internally, the paragraph builder maintains a stack of text styles. Text
/// added to the paragraph is affected by all the styles in the stack. Calling
/// [pop] removes the topmost style in the stack, leaving the remaining styles
/// in effect.   ++2  #x/// Adds the given text to the paragraph.
///
/// The text will be styled according to the current stack of text styles.   GGN   YY`   ll          <<3/// Adds an inline placeholder space to the paragraph.
///
/// The paragraph will contain a rectangular space with no text of the dimensions
/// specified.
///
/// The `width` and `height` parameters specify the size of the placeholder rectangle.
///
/// The `alignment` parameter specifies how the placeholder rectangle will be vertically
/// aligned with the surrounding text. When [PlaceholderAlignment.baseline],
/// [PlaceholderAlignment.aboveBaseline], and [PlaceholderAlignment.belowBaseline]
/// alignment modes are used, the baseline needs to be set with the `baseline`.
/// When using [PlaceholderAlignment.baseline], `baselineOffset` indicates the distance
/// of the baseline down from the top of the rectangle. The default `baselineOffset`
/// is the `height`.
///
/// Examples:
///
/// * For a 30x50 placeholder with the bottom edge aligned with the bottom of the text, use:
/// `addPlaceholder(30, 50, PlaceholderAlignment.bottom);`
/// * For a 30x50 placeholder that is vertically centered around the text, use:
/// `addPlaceholder(30, 50, PlaceholderAlignment.middle);`.
/// * For a 30x50 placeholder that sits completely on top of the alphabetic baseline, use:
/// `addPlaceholder(30, 50, PlaceholderAlignment.aboveBaseline, baseline: TextBaseline.alphabetic)`.
/// * For a 30x50 placeholder with 40 pixels above and 10 pixels below the alphabetic baseline, use:
/// `addPlaceholder(30, 50, PlaceholderAlignment.baseline, baseline: TextBaseline.alphabetic, baselineOffset: 40)`.
///
/// Lines are permitted to break around each placeholder.
///
/// Decorations will be drawn based on the font defined in the most recently
/// pushed [TextStyle]. The decorations are drawn as if unicode text were present
/// in the placeholder space, and will draw the same regardless of the height and
/// alignment of the placeholder. To hide or manually adjust decorations to fit,
/// a text style with the desired decoration behavior should be pushed before
/// adding a placeholder.
///
/// Any decorations drawn through a placeholder will exist on the same canvas/layer
/// as the text. This means any content drawn on top of the space reserved by
/// the placeholder will be drawn over the decoration, possibly obscuring the
/// decoration.
///
/// Placeholders are represented by a unicode 0xFFFC "object replacement character"
/// in the text buffer. For each placeholder, one object replacement character is
/// added on to the text buffer.
///
/// The `scale` parameter will scale the `width` and `height` by the specified amount,
/// and keep track of the scale. The scales of placeholders added can be accessed
/// through [placeholderScales]. This is primarily used for accessibility scaling.   ހ/// Applies the given paragraph style and returns a [Paragraph] containing the
/// added text and associated styling.
///
/// After calling this function, the paragraph builder object is invalid and
/// cannot be used further. œ#Fq/// Builds a [Paragraph] containing text with the given styling information.
///
/// To set the paragraph's alignment, truncation, and ellipsizing behavior, pass
/// an appropriately-configured [ParagraphStyle] object to the
/// [ParagraphBuilder.new] constructor.
///
/// Then, call combinations of [pushStyle], [addText], and [pop] to add styled
/// text to the object.
///
/// Finally, call [build] to obtain the constructed [Paragraph] object. After
/// this point, the builder is no longer usable.
///
/// After constructing a [Paragraph], call [Paragraph.layout] on it and then
/// paint it with [Canvas.drawParagraph].  N e    ffu NN   """" #####""2"  #=#9#=   "E"F"E"E:"Y   """"E"     !!!   !!!   !!!   !!!   !!!   """   """    "."."5    !5   !4   !!!!!&!.!6!b!B!<!D  ؁i!t    #x#x# #]#^#]#]#n    ---   ---   ---   ---   ---   ...   ...!   .:.:.A   .M.M .\   .s.s.}   .. .   ...   ...   ...   ///  ,5,6,<-@,G,B,O-<,W,^,c,_,l,z,,,,,,,,,---"-0-A-g-H-B-J,5,5-y    /Q/Q/Y  /5/5H/C   ////////////////////////w/    000 ////0    111 00000000000000000000~0    1=1=1D   1O1O1V   1b1b1w   111   111   111 111111)    555   555   555   555   555 4445&4445%4444455555'5[535-5544ځ5m   5555|6    666 6k6l6r66x6s6666666666666k6k6   666647	  B  
   ;;.c%/// Use the upright ("Roman") glyphs. nnnc/// Use glyphs that have a more pronounced angle and typically a cursive style
/// ("italic type").    ځڂ-M/// Whether to use the italic type variation of glyphs in the font.
///
/// Some modern fonts allow this to be selected in a more fine-grained manner.
/// See [FontVariation.italic] for details.
///
/// Italic type is distinct from slanted glyphs. To control the slant of a
/// glyph, consider the [FontVariation.slant] font feature.     < $5/// Align the text on the left edge of the container.  - -> f6/// Align the text on the right edge of the container.  p p; Х2/// Align the text in the center of the container.  а а m/// Stretch lines of text that end with a soft line break to fill the width of
/// the container.
///
/// Lines that end with hard line breaks are aligned towards the [start] edge.  y y W/// Align the text on the leading edge of the container.
///
/// For left-to-right text ([TextDirection.ltr]), this is the left edge.
///
/// For right-to-left text ([TextDirection.rtl]), this is the right edge.  a a @/// Align the text on the trailing edge of the container.
///
/// For left-to-right text ([TextDirection.ltr]), this is the right edge.
///
/// For right-to-left text ([TextDirection.rtl]), this is the left edge.     D D //// Whether and how to align text horizontally.    ӌ ӌ" Ԥ/// The horizontal line used to align the bottom of glyphs for alphabetic characters.
///
/// This baseline is often used for alphabetical scripts like Latin, Greek,
/// Cyrillic, etc.
///
/// Characters with descenders (like 'p', 'g', or 'y') extend below this line.  Գ Գ o/// The horizontal line used to align ideographic characters.
///
/// This baseline is often used for scripts with uniform square heights,
/// like Chinese, Japanese, Korean, etc.     H H5 {-/// A horizontal line used for aligning text.    m m ܅/// Draw a solid line  ܏ ܏ ܤ/// Draw two lines  ܯ ܯ /// Draw a dotted line    /// Draw a dashed line   ! /// Draw a sinusoidal line       U0/// The style in which to draw a text decoration    k k 3/// Distributes the [leading](https://en.wikipedia.org/wiki/Leading)
/// of the text proportionally above and below the text, to the font's
/// ascent/descent ratio.
///
/// {@template dart.ui.leading}
/// The leading of a text run is defined as
/// `TextStyle.height * TextStyle.fontSize - TextStyle.fontSize`. When
/// [TextStyle.height] is not set, the text run uses the leading specified by
/// the font instead.
/// {@endtemplate}  D D /// Distributes the ["leading"](https://en.wikipedia.org/wiki/Leading)
/// of the text evenly above and below the text (i.e. evenly above the
/// font's ascender and below the descender).
///
/// {@macro dart.ui.leading}
///
/// The leading can become negative when [TextStyle.height] is smaller than
/// 1.0.
///
/// This is the default strategy used by CSS, known as
/// ["half-leading"](https://www.w3.org/TR/css-inline-3/#half-leading).       O,/// {@macro dart.ui.textLeadingDistribution}   yyBy@</// The text flows from right to left (e.g. Arabic, Hebrew). yHyHDy>/// The text flows from left to right (e.g., English, French).    ffx/// A direction in which text flows.
///
/// Some languages are written from the left to the right (for example, English,
/// Tamil, or Chinese), while others are written from the right to the left (for
/// example Aramaic, Hebrew, or Urdu). Some are also written in a mixture, for
/// example Arabic is mostly written right-to-left, with numerals written
/// left-to-right.
///
/// The text direction must be provided to APIs that render text or lay out
/// boxes horizontally, so that they can determine which direction to start in:
/// either right-to-left, [TextDirection.rtl]; or left-to-right,
/// [TextDirection.ltr].
///
/// ## Design discussion
///
/// Flutter is designed to address the needs of applications written in any of
/// the world's currently-used languages, whether they use a right-to-left or
/// left-to-right writing direction. Flutter does not support other writing
/// modes, such as vertical text or boustrophedon text, as these are rarely used
/// in computer programs.
///
/// It is common when developing user interface frameworks to pick a default
/// text direction — typically left-to-right, the direction most familiar to the
/// engineers working on the framework — because this simplifies the development
/// of applications on the platform. Unfortunately, this frequently results in
/// the platform having unexpected left-to-right biases or assumptions, as
/// engineers will typically miss places where they need to support
/// right-to-left text. This then results in bugs that only manifest in
/// right-to-left environments.
///
/// In an effort to minimize the extent to which Flutter experiences this
/// category of issues, the lowest levels of the Flutter framework do not have a
/// default text reading direction. Any time a reading direction is necessary,
/// for example when text is to be displayed, or when a
/// writing-direction-dependent value is to be interpreted, the reading
/// direction must be explicitly specified. Where possible, such as in `switch`
/// statements, the right-to-left case is listed first, to avoid the impression
/// that it is an afterthought.
///
/// At the higher levels (specifically starting at the widgets library), an
/// ambient [Directionality] is introduced, which provides a default. Thus, for
/// instance, a [widgets.Text] widget in the scope of a [MaterialApp] widget
/// does not need to be given an explicit writing direction. The
/// [Directionality.of] static method can be used to obtain the ambient text
/// direction for a particular [BuildContext].
///
/// ### Known left-to-right biases in Flutter
///
/// Despite the design intent described above, certain left-to-right biases have
/// nonetheless crept into Flutter's design. These include:
///
///  * The [Canvas] origin is at the top left, and the x-axis increases in a
///    left-to-right direction.
///
///  * The default localization in the widgets and material libraries is
///    American English, which is left-to-right.
///
/// ### Visual properties vs directional properties
///
/// Many classes in the Flutter framework are offered in two versions, a
/// visually-oriented variant, and a text-direction-dependent variant. For
/// example, [EdgeInsets] is described in terms of top, left, right, and bottom,
/// while [EdgeInsetsDirectional] is described in terms of top, start, end, and
/// bottom, where start and end correspond to right and left in right-to-left
/// text and left and right in left-to-right text.
///
/// There are distinct use cases for each of these variants.
///
/// Text-direction-dependent variants are useful when developing user interfaces
/// that should "flip" with the text direction. For example, a paragraph of text
/// in English will typically be left-aligned and a quote will be indented from
/// the left, while in Arabic it will be right-aligned and indented from the
/// right. Both of these cases are described by the direction-dependent
/// [TextAlign.start] and [EdgeInsetsDirectional.start].
///
/// In contrast, the visual variants are useful when the text direction is known
/// and not affected by the reading direction. For example, an application
/// giving driving directions might show a "turn left" arrow on the left and a
/// "turn right" arrow on the right — and would do so whether the application
/// was localized to French (left-to-right) or Hebrew (right-to-left).
///
/// In practice, it is also expected that many developers will only be
/// targeting one language, and in that case it may be simpler to think in
/// visual terms.   EER/// The position has affinity for the upstream side of the text position, i.e.
/// in the direction of the beginning of the string.
///
/// In the example of an offset at the place where text is wrapping, upstream
/// indicates the end of the first line.
///
/// In the bidirectional text example "helloHELLO", an offset of 5 with
/// [TextAffinity] upstream would appear in the middle of the rendered text,
/// just to the right of the "o". See the definition of [TextAffinity] for the
/// full example. __p/// The position has affinity for the downstream side of the text position,
/// i.e. in the direction of the end of the string.
///
/// In the example of an offset at the place where text is wrapping,
/// downstream indicates the beginning of the second line.
///
/// In the bidirectional text example "helloHELLO", an offset of 5 with
/// [TextAffinity] downstream would appear at the end of the rendered text,
/// just to the right of the "H". See the definition of [TextAffinity] for the
/// full example.    k4/// A way to disambiguate a [TextPosition] when its offset could match two
/// different locations in the rendered string.
///
/// For example, at an offset where the rendered text wraps, there are two
/// visual positions that the offset could represent: one prior to the line
/// break (at the end of the first line) and one after the line break (at the
/// start of the second line). A text affinity disambiguates between these two
/// cases.
///
/// This affects only line breaks caused by wrapping, not explicit newline
/// characters. For newline characters, the position is fully specified by the
/// offset alone, and there is no ambiguity.
///
/// [TextAffinity] also affects bidirectional text at the interface between LTR
/// and RTL text. Consider the following string, where the lowercase letters
/// will be displayed as LTR and the uppercase letters RTL: "helloHELLO".  When
/// rendered, the string would appear visually as "helloOLLEH".  An offset of 5
/// would be ambiguous without a corresponding [TextAffinity].  Looking at the
/// string in code, the offset represents the position just after the "o" and
/// just before the "H".  When rendered, this offset could be either in the
/// middle of the string to the right of the "o" or at the end of the string to
/// the right of the "H".   逧/// Provide tight bounding boxes that fit heights per run. This style may result
/// in uneven bounding boxes that do not nicely connect with adjacent boxes. |/// The height of the boxes will be the maximum height of all runs in the
/// line. All boxes in the same line will be the same height.
///
/// This does not guarantee that the boxes will cover the entire vertical height of the line
/// when there is additional line spacing.
///
/// See [BoxHeightStyle.includeLineSpacingTop], [BoxHeightStyle.includeLineSpacingMiddle],
/// and [BoxHeightStyle.includeLineSpacingBottom] for styles that will cover
/// the entire line. rނA/// Extends the top and bottom edge of the bounds to fully cover any line
/// spacing.
///
/// The top and bottom of each box will cover half of the
/// space above and half of the space below the line.
///
/// {@template dart.ui.boxHeightStyle.includeLineSpacing}
/// The top edge of each line should be the same as the bottom edge
/// of the line above. There should be no gaps in vertical coverage given any
/// amount of line spacing. Line spacing is not included above the first line
/// and below the last line due to no additional space present there.
/// {@endtemplate} ƀ/// Extends the top edge of the bounds to fully cover any line spacing.
///
/// The line spacing will be added to the top of the box.
///
/// {@macro dart.ui.boxHeightStyle.includeLineSpacing} /// Extends the bottom edge of the bounds to fully cover any line spacing.
///
/// The line spacing will be added to the bottom of the box.
///
/// {@macro dart.ui.boxHeightStyle.includeLineSpacing} ΁X!F/// Calculate box heights based on the metrics of this paragraph's [StrutStyle].
///
/// Boxes based on the strut will have consistent heights throughout the
/// entire paragraph.  The top edge of each line will align with the bottom
/// edge of the previous line.  It is possible for glyphs to extend outside
/// these boxes.    ''ր/// Defines various ways to vertically bound the boxes returned by
/// [Paragraph.getBoxesForRange].
///
/// See [BoxWidthStyle] for a similar property to control width.   fQ\/// Provide tight bounding boxes that fit widths to the runs of each line
/// independently. [[{Ӂi/// Adds up to two additional boxes as needed at the beginning and/or end
/// of each line so that the widths of the boxes in line are the same width
/// as the widest line in the paragraph.
///
/// The additional boxes on each line are only added when the relevant box
/// at the relevant edge of that line does not span the maximum width of
/// the paragraph.    ++ހ/// Defines various ways to horizontally bound the boxes returned by
/// [Paragraph.getBoxesForRange].
///
/// See [BoxHeightStyle] for a similar property to control height.   ||&/// Match the baseline of the placeholder with the baseline.
///
/// The [TextBaseline] to use must be specified and non-null when using this
/// alignment mode. 33/// Align the bottom edge of the placeholder with the baseline such that the
/// placeholder sits on top of the baseline.
///
/// The [TextBaseline] to use must be specified and non-null when using this
/// alignment mode. ../// Align the top edge of the placeholder with the baseline specified
/// such that the placeholder hangs below the baseline.
///
/// The [TextBaseline] to use must be specified and non-null when using this
/// alignment mode. --/// Align the top edge of the placeholder with the top edge of the text.
///
/// When the placeholder is very tall, the extra space will hang from
/// the top and extend through the bottom of the line. ߀/// Align the bottom edge of the placeholder with the bottom edge of the text.
///
/// When the placeholder is very tall, the extra space will rise from the
/// bottom and extend through the top of the line. /// Align the middle of the placeholder with the middle of the text.
///
/// When the placeholder is very tall, the extra space will grow equally
/// from the top and bottom of the line.    ۅc/// Where to vertically align the placeholder relative to the surrounding text.
///
/// Used by [ParagraphBuilder.addPlaceholder].           
      
      ݀/// Determines if lists [a] and [b] are deep equivalent.
///
/// Returns true if the lists are both null, or if they are both non-null, have
/// the same length, and contain the same elements in the same order. Returns
/// false otherwise.            ,    : : A    T T$ i    | |                                    % % -    9 9 A    R R Z    i i q    { {                              #          +x+x+   +++   +++   +++   +++   +++   ++&,   ,',',3   ,A,A,L   ,Y,Y,e   ,s,s,{   ,,,  +U+U+_  	  NjNjNr   NN N   NNN   NNN   NN,N   NNO   OOO   O'O'O2   O?O?OE  NQNQNZ    8y8y8   888  7.7.8h,/// Loads a font from a buffer and makes it available for rendering text.
///
/// * `list`: A list of bytes containing the font file.
/// * `fontFamily`: The family name used to identify the font in text styles.
///  If this is not provided, then the family name will be extracted from the font file.   99ւ9    <n<n<x   <~<~<   <<< ;;;< < ;<<<	<<<!<L<(<"<*;;<\   ԁ!/// A [TextStyle.height] value that indicates the text span should take
/// the height defined by the font, which may not be exactly the height of
/// [TextStyle.fontSize].9n9w9x9~99999999999999999999999Y9J9Y     <Icفڂ"q(9aklԃރEINRnrmqćPT?ڈ9hˊH{ފABUǋȋ)[\mތߌ#$Ast#$Jǎюێ<PVKU:ד&SYȔ.AG^˔ &Fb~ҕ
&BQUWX/Z^q6:}Gٚi7=̜jEF֝מ)ijU(kɠʠ89ciϢYܣ!h
ntҤ Vإަd(._ezèflʨЩ8JP`f
TU̪V!9?#39
TUίV۰"ag|Jв?EŲ˳)/Ĵbc$4:ѵ׵3r@ŷַܸ!f"VW[\ҼRXm\bҽؽD G @  @& @; @} @ @ A A# A A A A A B B Bj B B C  C% C+ Cs C D D# D) Dz D D E E E+ Eq E E E FQ FW F F F F F G> G G G G G HA HR HX H H H I Id I I J5 Jx J K  KG K K K L L L  L` L L M- Mr M M M N' Ni N N O O O O O O O P PM PN Pq Pw P Q QK Q Q R R1 R7 R{ R R R S S S{ S S S S T
 T Tf T T T T U U^ U U V. Vo V V V W. Wr W W X= X~ X X X Y YD Y Y Y Y Z Z_ Z Z Z [] [c [ [ [ [ [ \F \ \ ] ] ]p ]v ] ^ ^ ^` ^ ^ ^ ^ _B _\ _b _ _ `0 `s ` ` ` ` a a! a a a a a b bf bg b b b c" cY c_ ct c c d d` df d d d d d eG e e e e e f@ f f g g g# gh g g g g h h hu h{ h h h i i ib i i i j j ja j j j k( k. kC k k k l$ l* l l l l l m mP mQ m m m n
 n nT nZ n n n n o6 o} o o p& p, p p p q	 q q q% q{ q q r  r rV r r s s s` s s s s s t  t_ t` t t t u uQ u u u u u v7 v} v v w? w w w w w xa xs xy x x x yL y y y y z zH z z z { { {, {l { { { | |i |{ | | | | }6 }7 }m }s } } } ~: ~q ~ ~ ~ 
 I    U k q    4 :      J      u {     	 X    3 L        u      7 c i   * < B R X  	 :      5 y      U      B     #       P      I     * g z    2 8 M    7 =       U     1      G M b   , q     R d j z     @ F       b    \ b      E      B x ~   , - W ]   J     ! ' x       A t z       ! ' |        	 
 R V       ] e i   C G U Y    > t   	  W    + ^         G H e     & , p     D J Z `     - . X ^     V   F     T     c      e f      ] c    $ V \ l r    * ? @ d j    9 K Q a g    3 9    A G v |   F L \ b    m      
  9 ?    - y   B H   
 X   - C D j k    & , a e f r     , 0 1 = m n    E k q   < B   $ p þ  [ ğ ĥ   a ś Ź ſ   A H L M Y ƒ Ɣ ƕ      g Ǉ   2 i v Ȝ        & 9 P e u   b c ʲ    m ˾    : j k ̟      , 2 S ͟  ! % & 2 H Ψ Ω ε  A C D t   " * + d m n У Э Ю    k v w Ѳ Ѹ  	 U ^ _ қ ҡ   > E G H v ӊ   6 K Q Ԣ ԰ Ա   B m | ~  ծ    ; ր ֒ ־         ~ צ     1 2 a آ أ    : } ~ ي ٭       ! - C Y } ڃ ڢ     4 : d ۅ ۋ ۩       P k ܃ ܌ ܍ ܢ ܬ ܭ           J i ݰ    = k ޴   1 A B ߋ   
 ) / }        G    
 Z    0 e      G M    `   $ 3 9     > D E     O      K    F L     $ * z   " u {     f    * i ~     : X j      ( < B l   2 6 7 C X p           `       ! % u     / 3 ^ p t         F I u x   ^      K      G J z }     
  8 R z      # 7 P g y        ; ~        ' + L e        * L P k        - F J       @ D c }         6 Z ^ v     2Lpt+/Oi1-XEH	%		

w
2G .@`|5[q-Hmjt$8Od 7PZ)Le3\]y2Xq!XYe"Nv8\#r
,X(;Vg})k!Y 1 !!~!"_"#0#$$%%t%%&@&&'F''(X(e(i(k(l(((()%)o)))** *X*[******+A+U+v++++++,%,?,W,q,,,,,--3-7-V-o------..'.H.L.f.....///(/A/e/i////00^000001
1.121L1f1111111112;222233_33444d445<5B556.6~67	77b7778B8H889)9z999:1:::;#;_;e;;;<</<5<<<==Q==>;>>?&?`?f????@@$@:@N@z@@@@@AA3AKA^AsAAAAAABBB BAB^BwBBBBCHCICeCCCCCDDADBDNDqDDDDDDEEDElEEEFFFFzF~FFFFFFFGGG/G4G5GAGWGtGHJHIIgJJ]JKKYKKLLLLLZLLMKMMMN(NQNhN~NNNNOO%O=OWO[OOP?P[PuPPPPQQ(Q@QDQEQzQQQQRR+R/RJRaRRRSS.SQSUSVSSSSTTTT9TPTTTTTUU!U%UHU_UcUdUUUUV$V&V'V5V9VVVVVWGWXW^WWWXIX[XaXXYBYYZ:Z~Z[[=[C[[\.\o\u\]	]W]]]^^$^*^{^^^_3__`+`z```aa(a<anaaaaab
b'b:bKbib{bbbbbccNcOcccdddGdHdTdwddddddeeFeef/f3f4f@fVfffffg7ggh!h4h8hhii.i2iKiOiij8jjjjkEkkl0ltlllm*m{mnnJnno
ooZoop8pppppq;qwq{qqqr5rfrjrrrs6sst%tXt\tttu?uuv$v]vavvwLwwwx,xwxxxy>yEyFyyyyyyzzzTzzzz{K{`{a{{{{{|7|M|N|u|||||}}W}X}}}}~~0~l~p~q~~~~4G28Wu
RS_v](vn<+y/C!LR<P\].kq	Zn|~;b;?!n=CT+1|/CIMQSTQW[vuv-3t\>gh4Nnrs
-ObhPRS$Eb RXJ1|
^FZ`$&'j:%czW]/CI+1pv%p(*+p:OXY$q+/^z$01+,t*+v|V\/5	m Vbv?Yr,=M\ow}iWno([a GMCbcN\st$*:@#]rs"F_`ò&'3VĂĖĜĿ	-_ŁšſAP\i}ƉƔƞƬƼ1O{ǗǱ-1ȁȩȭ>Jeɣɩ+1bwx,FG˕˷˽Xtz̫DefͪSΣOkωϊ"STКР7цѽIOқҡ'6pӧӭӮOx~12oufփ։֙֟PQסlج5ن٤#rڿ]c۶]ܰdjݧݭ#G{|"u߰(n-]vw<O85Xjk5788PQmnzMklxb!".(ST`$DTpMx-Lk&5D~)045pOP\QR^6:;P Ight>br)klYv&u\bswxT_`l2g| ) P v   	!"ur!CDP}CvwSx1A]pz 3GW~
%/I_e}			g			
!
9
=


7Y?[\$GH,}9:sy=CBE\brxfhEK0'CI?QW$*,CUh6_eL|?t=w4g   : S o      !8!`!d!!!!!"""*"="B"C"O"""""###Z#[#g###$)$O$$$$$%7%n%%%&&K&L&o&&'''A'y'''(*(2(8(9(^(()$)>)|))**5*=*C*D*T*c*{****++<+_++++,
,',.,2,3,>,Q,f,t,,,,,,,,,- ---*-8->-i-----...6.I.o....//-/2/3/~/////00$0N0g00000111"191K1^111112*262q22333g33344(4?4]4444445)5Y5]5~555555556676N6d6h6i6667 7+7-7.7x7|788[889
99G9I9J9s9999::5:t::;%;?;Y;|;;;;;;<N<  dart.ui %kTextHeightNone	FontStyle
FontWeightFontFeatureFontVariation	GlyphInfo	TextAlignTextBaselineTextDecorationTextDecorationStyleTextLeadingDistributionTextHeightBehavior_listEquals_encodeTextStyle	TextStyle_encodeParagraphStyleParagraphStyle_encodeStrut
StrutStyleTextDirectionTextBoxTextAffinityTextPosition	TextRangeParagraphConstraintsBoxHeightStyleBoxWidthStylePlaceholderAlignmentLineMetrics	Paragraph_NativeParagraphParagraphBuilder_NativeParagraphBuilderloadFontFromList_fontChangeMessage_sendFontChangeMessage_loadFontFromListdart.ui.leadingThe leading of a text run is defined as
`TextStyle.height * TextStyle.fontSize - TextStyle.fontSize`. When
[TextStyle.height] is not set, the text run uses the leading specified by
the font instead.dart.ui.textHeightBehaviorpDefines how to apply [TextStyle.height] over and under text.

[TextHeightBehavior.applyHeightToFirstAscent] and
[TextHeightBehavior.applyHeightToLastDescent] represent whether the
[TextStyle.height] modifier will be applied to the corresponding metric. By
default both properties are true, and [TextStyle.height] is applied as
normal. When set to false, the font's default ascent will be used.

[TextHeightBehavior.leadingDistribution] determines how the
leading is distributed over and under text. This
property applies before [TextHeightBehavior.applyHeightToFirstAscent] and
[TextHeightBehavior.applyHeightToLastDescent].dart.ui.textLeadingDistribution/How the ["leading"](https://en.wikipedia.org/wiki/Leading) is distributed
over and under the text.

Does not affect layout when [TextStyle.height] is not specified. The
leading can become negative, for example, when [TextLeadingDistribution.even]
is used with a [TextStyle.height] much smaller than 1.0.)dart.ui.boxHeightStyle.includeLineSpacingThe top edge of each line should be the same as the bottom edge
of the line above. There should be no gaps in vertical coverage given any
amount of line spacing. Line spacing is not included above the first line
and below the last line due to no additional space present there. 