ZlerpcurvedurationonEnd createStatedebugFillProperties controller animation _animation initStatedidUpdateWidget _createCurvedispose_constructTweens forEachTweendidUpdateTweens_handleAnimationChangedchild alignmentpadding decorationforegroundDecoration constraintsmargin transformtransformAlignment clipBehavior _alignment_padding _decoration_foregroundDecoration _constraints_margin _transform_transformAlignmentbuild heightFactor widthFactor_heightFactorTween_widthFactorTweenlefttoprightbottomwidthheight_left_top_right_bottom_width_heightstartend_start_endscale filterQuality_scale_scaleAnimationturns_turns_turnsAnimationoffset_offset_offsetAnimationopacityalwaysIncludeSemantics_opacity_opacityAnimationsliverstyle textAlignsoftWrapoverflowmaxLinestextWidthBasistextHeightBehavior_styleshape borderRadius elevationcolor animateColor shadowColoranimateShadowColor _borderRadius _elevation_color _shadowColor'BoxConstraintsTweenDecorationTweenEdgeInsetsTweenEdgeInsetsGeometryTweenBorderRadiusTween BorderTween Matrix4TweenTextStyleTweenImplicitlyAnimatedWidgetTweenConstructor TweenVisitorImplicitlyAnimatedWidgetStateAnimatedWidgetBaseStateAnimatedContainer_AnimatedContainerStateAnimatedPadding_AnimatedPaddingState AnimatedAlign_AnimatedAlignStateAnimatedPositioned_AnimatedPositionedStateAnimatedPositionedDirectional#_AnimatedPositionedDirectionalState AnimatedScale_AnimatedScaleStateAnimatedRotation_AnimatedRotationState AnimatedSlide_AnimatedSlideStateAnimatedOpacity_AnimatedOpacityStateSliverAnimatedOpacity_SliverAnimatedOpacityStateAnimatedDefaultTextStyle_AnimatedDefaultTextStyleStateAnimatedPhysicalModel_AnimatedPhysicalModelStateAnimatedFractionallySizedBox"_AnimatedFractionallySizedBoxState€ÕTextHeightBehaviorBoxConstraintslerpTweenbeginendoverridedouble DecorationShapeDecorationlerpTolerpFromRoundedRectangleBorder CircleBorder StadiumBorder BoxBorder EdgeInsetsEdgeInsetsGeometry BorderRadiusBorderMatrix4Vector3zero Quaternionidentity decomposescaled normalizedcompose TextStyleStateAnimatedWidgetAnimationController AnimationTweenAnimationBuilderAlign ContainerDefaultTextStyle TransformscalerotateOpacityPadding PhysicalModel PositionedPositionedDirectional AnimatedThemeThemeAnimatedCrossFade AnimatedSizeAnimatedSwitcherStatefulWidgetCurveslinearCurveDuration VoidCallbackvoidDiagnosticPropertiesBuilderdebugFillPropertiesadd IntPropertyinMillisecondsunit forEachTweenObjectTSingleTickerProviderStateMixin protecteddurationwidget debugLabel kDebugMode toStringShortvsyncCurvedAnimation initStateaddStatusListenerAnimationStatusstatus isCompletedonEndcalldidUpdateWidgetcurvedisposedynamictweenevaluate targetValueforwardfromparentbool constructorbuild controller addListenersetStateDecoratedBoxTransitionStack alignmentColorClipnone isNonNegativedebugAssertIsValidcolor BoxDecorationwidthheighttightentightForWidget AlignmentAlignmentGeometryAlignmentDirectional decoration getClipPathUnsupportedErrorDiagnosticsPropertyshowName defaultValueObjectFlagPropertyhasAlignmentGeometryTweenvaluepaddingforegroundDecoration constraintsmargin transformtransformAlignment BuildContext animation clipBehaviorchild fastOutSlowIn easeInOutclampinfinityAlignTransition TextDirection heightFactor widthFactorSlideTransitionPositionedTransitionDirectionalityRectrectlefttopDoublePropertyrightbottomstartdebugCheckHasDirectionality directional textDirectionof FlutterLogoScaleTransitioncenter FilterQuality EnumPropertydrive filterQualityRotationTransitionturnsOffsetoffsetpositionFlow IgnorePointerFadeTransitionopacityalwaysIncludeSemantics SliverOpacityCustomScrollViewSliverFixedExtentListFloatingActionButtonSliverIgnorePointerSliverFadeTransitionsliverText elasticInOutDefaultTextStyleTransition TextOverflowclipTextWidthBasis TextAlignsoftWrapmaxLinesint FlagPropertyifTrueifFalsestyle textAlignoverflowtextWidthBasistextHeightBehaviorBoxShape rectangle ColorProperty ColorTween borderRadius elevation shadowColorshape animateColoranimateShadowColorFractionallySizedBoxTweenStatefulWidgetStateSingleTickerProviderStateMixinImplicitlyAnimatedWidgetStateImplicitlyAnimatedWidgetAnimatedWidgetBaseStateëM�dÒã0î«jvëÁ1Ö �ñ‚TextHeightBehavior�Û�ë�îui�îdart:ui‚package:flutter/foundation.dart‚9package:flutter/rendering.dart‚c'package:vector_math/vector_math_64.dart‚˜ basic.dart‚®container.dart‚È debug.dart‚Þframework.dart‚ø text.dartƒ ticker_provider.dartƒ-transitions.dartÀý!À_ʼn…=€ˆ€§€©€Ú€ß� �1�[��ž�Î�Ø�Ú‚ ‚ ‚8‚b‚•‚—‚­‚ǂ݂÷ƒ ƒ,ƒHƒJƒcƒ™„ „*„:„¹„¿„æ„è……!…q…�…’…Ù††=†D†ˆ†¾†ð†ò‡A‡N‡—‡š‡œ‡Í‡Òˆ"ˆ:ˆ?ˆ‰ˆÐˆøˆý‰ ‰‰W‰ ‰ëŠŠWŠmŠ ŠÃŠÊ‹‹h‹º‹ÞŒ ŒŒ]ŒjŒ«Œ®Œ°ŒáŒæ�2�J�O�–�›�ª�¯�ñŽŽJŽpŽwŽ»Žï���n�{�¼�¿�Á�ú�ÿ�O�s�x�¿�Ä�Ó�Ø‘(‘k‘™‘ ‘ä’ ’V’X’§’´“““ “=“B“�“ª“¯“ö”.”U”\” ”Е••Q•^•£•¦•¨•Õ•Ú–"–6–;–‚–®–Ï–Ö——A—k—m—¼—ɘ˜˜˜5˜:˜‚˜°˜µ˜ì˜ñ™8™e™‡™Ž™Ûš*šBšmšoš|š˜š´šÎ››8›u›°›àœœRœŽœæ�&�K�š�àž'ž,ž/ž1žažfž±žÈžÍŸŸŸ_Ÿ�Ÿ³Ÿº  V n › � ì ù¡8¡;¡=¡‡¡˜¡�¡é¢:¢„¢•¢š¢î£>£_£d£Ž£“£á¤"¤q¤Á¥ ¥S¥ž¥ì¦(¦z¦Ì§§?§D§o§t§Ã¨¨a¨f¨°¨ß©,©t©‰©Ø©ôªKª¦««d«µ¬¬¬c¬y¬Ê¬î­;­‰­¶®®®Z®œ®Æ®ê®ú¯¯8¯I¯P¯R¯�¯³¯µ°°°°P°W°¨°Ô°ò°ô±±K±M±Z± ±Ì²²$²'²)²O²T²£²Ø²Ý³-³K³›³�³ò³÷´/´{´·´¼µ µTµŸµ³µ¸¶¶T¶`¶e¶y¶~¶Î¶ä¶é·5·_·¹·»¸¸¸T¸›¸ç¸ì¹9¹†¹Ö¹éºLºzºÅºÓ»»7»t»†»Œ»Ž»Î¼¼5¼7¼E¼R¼h¼€¼½¼Þ¼ý½½½(½@½E½G½U½b½‰½°½Ü½ù¾¾$¾P¾o¾…¾¥¾Ã¾ó¾þ¿¿E¿e¿p¿–¿°¿·¿¼¿¾¿âÀ@(À@-À@/À@=À@JÀ@^À@yÀ@”À@ªÀ@¯À@±À@ÎÀ@öÀA ÀA(ÀADÀArÀA{ÀA�ÀAÊÀBÀB,ÀB>ÀBdÀBoÀBÀB–ÀBŸÀB´ÀB½ÀBßÀBäÀBæÀC5ÀCFÀCMÀCpÀCwÀCÇÀDÀD`ÀD¯ÀD¿ÀDÆÀDýÀEÀE/ÀE6ÀEˆÀEÚÀF,ÀF{ÀFÇÀF×ÀFÞÀG ÀGmÀG¼ÀH ÀHWÀHyÀH€ÀH¢ÀH©ÀHîÀI6ÀI{ÀI’ÀI™ÀI°ÀI·ÀIþÀJFÀJVÀJ]ÀJlÀJ³ÀJÕÀJÜÀJïÀKÀK5ÀKQÀK™ÀKáÀKïÀKúÀLÀLÀLPÀL”ÀL¶ÀLíÀMÀMFÀMgÀM¯ÀMØÀNÀN9ÀN@ÀN†ÀN¤ÀN¯ÀN¸ÀNÃÀNÖÀNäÀOÀOÀOlÀO‡ÀOŽÀOàÀP$ÀP+ÀPSÀPZÀP–ÀPãÀQ3ÀQkÀQrÀQÁÀRÀR`ÀR±ÀSÀSFÀSTÀSqÀStÀSvÀSÈÀSðÀSõÀT>ÀT‚ÀT±ÀT¶ÀTøÀUJÀUaÀU­ÀUÝÀUëÀUøÀVÀV&ÀV\ÀVaÀVcÀV‡ÀVšÀVÞÀVçÀVìÀVïÀVñÀWOÀWTÀW ÀWìÀX4ÀXWÀX\ÀX©ÀXûÀYEÀY�ÀY¬ÀY±ÀYõÀYúÀZÀZ\ÀZ¤ÀZÍÀZÒÀ[0À[AÀ[FÀ[UÀ[ZÀ[ À[ÊÀ\À\dÀ\¶À\ÐÀ]À]rÀ]×À^3À^oÀ^³À^ÊÀ^ÚÀ^ïÀ_À_À_2À_RÀ_fÀ_{À_�À_¯À_ÄÀ_âÀ_óÀ`À`)À`GÀ`YÀ`‘À`ËÀaÀa[ÀakÀašÀaÕÀb8ÀbCÀbœÀb²ÀbàÀc(ÀcrÀc‘Àc“ÀcÂÀcÉÀdÀdaÀd¯ÀdßÀdæÀeÀe0Àe2ÀeaÀehÀeºÀfÀfTÀf[Àf~Àf…Àf–Àf�ÀfèÀgÀg_Àg…Àg¬Àg®ÀgþÀh!ÀhGÀhIÀh|ÀhƒÀhÌÀiÀi&ÀiGÀiIÀiÀiªÀi¬ÀiáÀièÀj4ÀjhÀjoÀj¡ÀjÇÀjÉÀkÀk+Àk-ÀkvÀk“Àk•ÀkýÀlÀlLÀlSÀldÀlkÀl«ÀlÛÀlÝÀm'Àm.Àm{Àm‚ÀmÒÀnÀn ÀnPÀn™ÀnáÀoÀo*Ào,Ào9Ào“Ào•Ào¢ÀoèÀpÀp)ÀpXÀpnÀp‚ÀpœÀp¹ÀpÃÀpËÀq1Àq�ÀqóÀrÀr4ÀrLÀrbÀrÀr™Àr£Àr«ÀsÀs]ÀsrÀs¡ÀsÀÀsÝÀsúÀtÀt ÀtZÀt_ÀtbÀtdÀt¸ÀtßÀuÀu&ÀuQÀuwÀuœÀu¹ÀuéÀuëÀuøÀv.Àv@ÀvRÀvmÀvŽÀvëÀvúÀw#Àw3ÀwEÀw^Àw}ÀwÜÀwëÀxÀx(Àx:ÀxVÀxxÀxÇÀxÖÀxøÀyÀy'ÀyMÀyyÀyÈÀy×ÀyùÀz ÀzÀz<Àz_Àz¶ÀzÅÀzëÀzúÀ{ À{$À{BÀ{¡À{°À{ÚÀ{ìÀ{þÀ|À|:À|ƒÀ|’À|±À|ÌÀ|ÞÀ}À},À}‰À}˜À}ÁÀ}ÆÀ}ÈÀ}ÕÀ}ýÀ~6À~MÀ~€À~¯À~äÀ-ÀdÀ‘ÀÄÀ€ À€3À€OÀ€WÀ€\À€^À€kÀ€²À€ßÀ€õÀ�)À�?À�TÀ�nÀ�‹À�•À��À�³À‚À‚À‚|À‚’À‚ðÀ‚øÀƒÀƒ?ÀƒWÀƒnÀƒˆÀƒ¥Àƒ¯Àƒ·ÀƒÍÀ„)À„1À„†À„œÀ„ÐÀ„ïÀ… À…*À…4À…<À…AÀ…DÀ…FÀ…�À…ÖÀ…ÛÀ†À†$À†vÀ†–À‡À‡À‡À‡pÀ‡‰À‡ŽÀ‡êÀ‡ûÀˆÀˆÀˆÀˆ[Àˆ ÀˆÚÀ‰À‰?À‰†À‰™À‰®À‰¾À‰ÚÀ‰ëÀ‰ýÀŠÀŠ-ÀŠTÀŠVÀŠŽÀгÀеÀŠæÀŠíÀ‹À‹7À‹9À‹FÀ‹œÀ‹žÀ‹«À‹ñÀŒÀŒoÀŒtÀŒwÀŒyÀŒÉÀŒïÀŒñÀŒþÀ�4À�DÀ�VÀ�oÀ�ŽÀ�íÀ�üÀŽ&ÀŽ+ÀŽ-ÀŽ:ÀŽbÀŽwÀŽÚÀŽöÀŽþÀ�À�À�À�YÀ�†À�œÀ�úÀ�À�À� À� À�YÀ�¥À�ªÀ�õÀ‘À‘|À‘�À‘ÒÀ’'À’yÀ’ÂÀ“À“aÀ“�À“¢À“·À” À”&À”+À”…À”–À”›À”ªÀ”¯À”öÀ•>À•QÀ•½À– À–[À–uÀ–­À–üÀ—À—(À—8À—VÀ—gÀ—À—–À—¨À—ÆÀ—ØÀ˜À˜PÀ˜RÀ˜qÀ˜xÀ˜ÉÀ™À™hÀ™·ÀšÀšXÀš~Àš…Àš–Àš�ÀšîÀ› À›ZÀ›‰À›¯À›±À›âÀ›éÀœÀœ3Àœ5ÀœŠÀœ‘ÀœÐÀœïÀœñÀ�DÀ�KÀ�ŠÀ�¨À�ªÀ�·Àž Àž ÀžÀž^ÀžŠÀžßÀžäÀžçÀžéÀŸ5ÀŸ\ÀŸ‚ÀŸ§ÀŸ©ÀŸ¶ÀŸìÀŸþÀ À +À LÀ ©À ¸À áÀ¡ À¡%À¡9À¡^À¡„À¡ÏÀ¡àÀ¢À¢ À¢0À¢KÀ¢_À¢ƒÀ¢¨À¢óÀ£À£&À£-À£2À£4À£AÀ£iÀ£|À£°À£îÀ¤*À¤FÀ¤NÀ¤SÀ¤UÀ¤bÀ¤©À¤ÖÀ¤ìÀ¥MÀ¥UÀ¥kÀ¥ÌÀ¥ÔÀ¥êÀ¦MÀ¦UÀ¦ZÀ¦]À¦_À¦±À¦úÀ¦ÿÀ§CÀ§HÀ§xÀ§}À§ÇÀ¨À¨`À¨¯À©À©À©À©fÀ©†À©õÀ©úÀªKÀª�ÀªïÀ«<À«�À«ÞÀ¬À¬À¬4À¬qÀ¬°À¬ÚÀ¬ßÀ­>À­OÀ­TÀ­cÀ­hÀ­­À­òÀ®À®QÀ®�À®—À®ÜÀ¯#À¯iÀ¯ˆÀ¯¦À¯¶À¯ÐÀ¯àÀ¯ïÀ°À°À°#À°5À°GÀ°eÀ°wÀ°·À°øÀ°úÀ±FÀ±gÀ±wÀ±‘À±ªÀ±¼À±ÚÀ±ìÀ²À²À²:À²XÀ²nÀ²…À²‡À²¸À²¿À²ñÀ³À³ À³QÀ³hÀ³jÀ³¯À³ÅÀ³ÇÀ´À´(À´*À´uÀ´ŽÀ´�À´ªÀ´±ÀµÀµ*ÀµBÀµDÀµ_ÀµfÀµ·ÀµÞÀµ÷ÀµùÀ¶À¶bÀ¶dÀ¶qÀ¶·À¶ãÀ·*À·oÀ·¸À¸À¸LÀ¸—À¸œÀ¸ŸÀ¸¡À¸÷À¹À¹(À¹BÀ¹]À¹wÀ¹’À¹”À¹¡À¹×À¹äÀºCÀºcÀºoÀºÌÀºìÀºúÀ»[À»{À»ŠÀ»íÀ¼ À¼À¼|À¼œÀ¼«À½À½.À½3À½5À½BÀ½jÀ½‚À½«À½ÒÀ½ýÀ¾*À¾UÀ¾‚À¾žÀ¾¦À¾«À¾­À¾ºÀ¿À¿.À¿zÀ¿ÄÀÀÀÀbÀÀ°ÀÁÀÁÀÁÀÁ ÀÁ[ÀÁ§ÀÁµÀÁºÀ ÀÂ&ÀÂ+ÀÂ[ÀÂ`ÀªÀÂùÀÃCÀÃ’ÀÃäÀÄ/ÀÄ4ÀĆÀĦÀÅ!ÀÅ&ÀÅ5ÀÅ:ÀÅŒÀÅÊÀÆÀÆQÀÆXÀƪÀÆüÀÇAÀÇjÀÇzÀÇ”ÀÇ¥ÀÇ´ÀÇÃÀÇÕÀÇæÀÇøÀÈ ÀÈ(ÀÈ:ÀÈyÀȺÀȼÀÈíÀÈôÀÉ&ÀÉ=ÀÉ?ÀɈÀÉ ÀÉ¢ÀÉçÀÉýÀÉÿÀÊDÀÊZÀÊ\ÀʧÀÊÀÀÊÂÀÊÜÀÊãÀË4ÀË[ÀËsÀËuÀË�ÀË—ÀËèÀÌÀÌ(ÀÌ*ÀÌ7ÀÌ‚À̰À̲ÀÌ¿ÀÍÀÍ1ÀÍzÀÍ¿ÀÎÀÎOÀΘÀÎãÀÎèÀÎëÀÎíÀÏÀÏ^ÀÏxÀÏ�ÀϨÀÏÃÀÏÝÀÏøÀÏúÀÐÀÐ=ÀÐKÀЬÀÐÌÀÐØÀÑ5ÀÑUÀÑaÀѾÀÑÞÀÑíÀÒPÀÒpÀÒ~ÀÒßÀÒÿÀÓÀÓqÀÓ‘ÀÓ–ÀÓ˜ÀÓ¥ÀÓÍÀÔÀÔ$ÀÔVÀÔ�ÀÔ¨ÀÔÏÀÔüÀÕ'ÀÕTÀÕpÀÕxÀÕ}ÀÕÀÕŒÀÕÓÀÖÀÖNÀÖ˜ÀÖâÀ×2À×€À×ÐÀ×ÕÀרÀ×ÚÀØ1ÀØtÀØyÀØŽÀØ“ÀØàÀÙ/ÀÙ4ÀÙAÀÙoÀÙ”ÀÙ™ÀÙªÀÙåÀÙìÀÙñÀÚ&ÀÚAÀÚFÀÚcÀÚžÀÚ§ÀÚ¬ÀÚ½ÀÚéÀÛÀÛ9ÀÛXÀÛuÀÛ�ÀÛÍÀÛÝÀÛóÀÜ%ÀÜJÀÜiÀÜ ÀÜÍÀÜßÀÜïÀÜýÀÝ ÀÝÀÝÀÝ"ÀÝ3ÀÝ8ÀÝGÀÝLÀÝ�ÀÝÜÀÝïÀÞYÀÞ©ÀÞõÀß-ÀßiÀß‚Àß’ÀߣÀß½ÀßåÀßþÀàÀà.Àà@ÀàGÀàIÀàzÀà�Àà³ÀàËÀàÍÀàæÀàýÀàÿÀáNÀáƒÀáŠÀáÛÀáþÀâÀâÀâqÀâxÀâ¹ÀâàÀââÀâïÀãGÀãIÀãVÀãœÀãÈÀãýÀäÀäqÀäyÀäßÀääÀäçÀäéÀå;ÀåUÀå€Àå‚Àå�ÀåÅÀåÓÀæ4ÀæTÀæYÀæ[ÀæhÀæ„ÀæµÀæºÀæ¼ÀæÉÀæñÀçÀç-ÀçQÀç}Àç™Àç¡Àç¦Àç©Àç«ÀèÀèLÀèQÀèfÀèkÀèÂÀéÀéÀé&ÀéUÀé{Àé€Àé‘ÀéÎÀéÕÀéÚÀêÀê,Àê1ÀêQÀê~Àê‡ÀêŒÀê�ÀêÉÀêáÀëÀë8ÀëUÀë€Àë±ÀëÁÀë×Àì Àì1ÀìPÀì‡Àì´ÀìÆÀìÖÀìäÀìðÀìùÀíÀí ÀíÀíÀí.Àí3ÀípÀíÃÀîÀîJÀî‰Àî¥ÀîµÀîÆÀîàÀïÀï!Àï3ÀïQÀïcÀïjÀïlÀï�Àï¤ÀïÖÀïîÀïðÀð.Àð5Àð€Àð¸ÀðÏÀðÑÀñ#ÀñXÀñ_Àñ³ÀñÖÀñôÀñöÀòIÀòPÀò‘Àò¸ÀòºÀòÇÀó%Àó'Àó4ÀózÀó¦ÀóÛÀóðÀôOÀôWÀô½ÀôÂÀôÅÀôÇÀõÀõ9ÀõdÀõfÀõsÀõ©Àõ·ÀöÀö8Àö=Àö?ÀöLÀöhÀö™ÀöžÀö Àö­ÀöÕÀöõÀ÷À÷8À÷dÀ÷€À÷ˆÀ÷�À÷�À÷’À÷ÊÀøÀøÀøoÀø¹ÀøñÀøöÀù ÀùbÀùªÀù¯Àú ÀúÀúÀú.Àú3ÀúÀúÑÀúëÀû0Àû�ÀûÅÀüÀü'Àü7ÀüHÀücÀüuÀü“Àü¥Àü¬Àü®ÀüßÀüæÀýÀý0Àý2ÀýLÀý­ÀýÅÀýÇÀýÔÀþ,Àþ.Àþ;Àþ�Àþ­ÀþñÀþöÀþùÀþûÀÿMÀÿhÀÿ”Àÿ–Àÿ£ÀÿÙÀÿèÀKÀkÀpÀrÀÀ›ÀÎÀÓÀÕÀâÀ ÀXÀ]À`ÀbÀ±ÀøÀýÀAÀFÀ•ÀÁÀÆÀÀ8À¤À©À¾ÀÃÀÐÀýÀ!À&À7ÀpÀwÀ|À¯ÀÑÀÖÀõÀ<ÀEÀJÀ[À‡ÀŸÀ×ÀöÀÀ:ÀoÀšÀªÀÇÀñÀ À0À>ÀJÀSÀZÀcÀtÀyÀ�À’ÀÝÀ*ÀzÀÅÀÛÀàÀ 2À ‚À ÖÀ À À \À ªÀ ûÀ À À À À ]À §À öÀ BÀ �À ÚÀ À RÀ YÀ  À »À ËÀ ÜÀ øÀ À(À:ÀdÀ–À˜ÀÉÀÐÀÀÀÀ7À>À�À©ÀÂÀÄÀÀÀ1À8À€ÀËÀÀJÀpÀrÀÀÛÀÝÀêÀ0À\À•ÀšÀ�ÀŸÀõÀÀ>À@ÀMÀƒÀ“ÀøÀÀÀÀ,ÀHÀ}À‚À„À‘À¹ÀÕÀøÀ6ÀRÀZÀ_ÀbÀdÀ±ÀþÀ ÀÀ`À“À˜ÀêÀ ÀÀ$ÀkÀ¹À¾À!À2À7ÀKÀPÀ›ÀëÀ9À‰À¥ÀªÀüÀLÀŽÀÞÀéÀîÀ0À{ÀÌÀáÀæÀõÀúÀOÀ›ÀäÀ.ÀnÀ¬À³ÀúÀÀ+À=ÀYÀkÀ‰À›ÀÅÀ÷ÀùÀ*ÀCÀEÀ`ÀgÀ¸ÀÒÀëÀíÀ 9À @À ZÀ aÀ ²À ýÀ!FÀ!|À!¢À!¤À!±À!úÀ" À""À"/À"uÀ"¡À"ÚÀ"ßÀ"âÀ"äÀ#FÀ#bÀ#�À#‘À#žÀ#ÔÀ#äÀ$IÀ$iÀ$nÀ$pÀ$}À$™À$ÎÀ$ÓÀ$ÕÀ$âÀ% À%,À%OÀ%mÀ%«À%³À%¸À%»À%½À& À&[À&§À&µÀ&ºÀ'À'OÀ'nÀ'sÀ'ÅÀ'äÀ([À(`À(±À)À)XÀ)«À)ûÀ*JÀ*†À*ÉÀ+À+6À+FÀ+`À+zÀ+�À+ªÀ+ÒÀ+æÀ,À,6À,HÀ,fÀ,xÀ,ªÀ,¬À,ÝÀ,äÀ-À--À-/À-MÀ-TÀ-«À-ÅÀ-ÇÀ-ûÀ.À.RÀ.qÀ.sÀ.­À.´À/À/ À/DÀ/\À/^À/ŒÀ/“À/ãÀ0À0À0]À0dÀ0´À0»À0ôÀ1 À1À1QÀ1XÀ1 À1ÈÀ1ÊÀ1õÀ2)À2+À28À2~À2§À2©À2¶À2üÀ3(À3TÀ3®À3ÃÀ3ØÀ3íÀ4À41À4rÀ4‹À4•À4�À4øÀ5DÀ5YÀ5~À5™À5²À5àÀ5êÀ5òÀ6À6:À6YÀ6vÀ6“À6�À6¥À6ªÀ6­À6¯À7À7,À7.À7;À7qÀ7À7äÀ8À8 À8 À8À8AÀ8_À8ŠÀ8®À8ÐÀ8òÀ9À9BÀ9xÀ9”À9œÀ9¡À9¤À9¦À9ÐÀ9ÕÀ: À:À:_À:®À:üÀ;4À;9À;[À;`À;²À;ÒÀÀ>5À>YÀ>qÀ>ŒÀ>¦À>ÅÀ>åÀ? À?À?:À?LÀ?nÀ?pÀ?¡À?¨À?ÚÀ?ñÀ?óÀ@ À@À@:À@SÀ@UÀ@ŒÀ@“À@³À@ÏÀ@ÑÀAÀA&ÀAVÀA{ÀA}ÀAÊÀAâÀAéÀBÀB2ÀB4ÀBXÀBnÀBpÀB�ÀB¹ÀB»ÀBÛÀB÷ÀBùÀC-ÀCOÀCQÀC^ÀCÀÀCÂÀCÏÀDÀDAÀD~ÀDÔÀEÀEEÀE“ÀEÓÀF-ÀF2ÀF5ÀF7ÀF“ÀF¸ÀFÖÀFíÀG ÀG ÀGÀGOÀGdÀGvÀG”ÀGÍÀH ÀH/ÀHSÀHeÀHwÀH’ÀH³ÀHüÀI ÀI+ÀI9ÀI–ÀI³ÀIÇÀIÙÀIöÀJÀJ^ÀJmÀJŠÀJ�ÀJ‘ÀJžÀJÆÀJáÀJýÀK'ÀK`ÀK“ÀKäÀKøÀLXÀLtÀL|ÀL�ÀL„ÀL†ÀLÚÀM&ÀMzÀMˆÀM�ÀMÞÀN(ÀN=ÀNBÀNWÀN ÀNëÀO>ÀOCÀO®ÀO¿ÀOÄÀOÓÀOØÀP%ÀPlÀPØÀQ$ÀQvÀQ�ÀQ×ÀR)ÀRxÀR™ÀR ÀRëÀSÀS(ÀS8ÀS`ÀSqÀS‰ÀS ÀS²ÀSÐÀSâÀTÀTZÀT\ÀT�ÀT”ÀTÆÀTÞÀTàÀU(ÀUGÀUIÀU�ÀU®ÀU°ÀUõÀVÀVÀV*ÀVtÀV¡ÀV£ÀV°ÀVöÀW"ÀWwÀWÅÀXÀXÀXÀXÀXIÀXŽÀXµÀXÛÀYÀYÀYÀYEÀYWÀYiÀY„ÀY¥ÀZÀZÀZ:ÀZbÀZ~ÀZ’ÀZ·ÀZÝÀ[(À[9À[[À[bÀ[‰À[¤À[¸À[ÜÀ\À\LÀ\]À\À\†À\‹À\�À\šÀ\ÂÀ\äÀ]À]VÀ]’À]®À]¶À]»À]½À]ÊÀ^À^>À^TÀ^µÀ^½À^ÓÀ_4À_<À_RÀ_µÀ_½À_ÂÀ_Å�/// @docImport 'package:flutter/material.dart'; /// /// @docImport 'animated_cross_fade.dart'; /// @docImport 'animated_size.dart'; /// @docImport 'animated_switcher.dart'; /// @docImport 'scroll_view.dart'; /// @docImport 'sliver.dart'; /// @docImport 'tween_animation_builder.dart'; �Ú�ï�î�ñ‚‚ ‚8‚b‚—‚­‚ǂ݂÷ƒ ƒ,%„è‚°…ß…߀ê/// An interpolation between two [BoxConstraints]. /// /// This class specializes the interpolation of [Tween] to use /// [BoxConstraints.lerp]. /// /// See [Tween] for a discussion on how to use interpolation objects.†€Ø†À†À†Ó€�/// Creates a [BoxConstraints] tween. /// /// The [begin] and [end] properties may be null; the null value /// is treated as a tight constraint of zero size.†Õ †Ü†Û†â †é†è†ô€¡‡_‡_K/// Returns the value this variable has at the given animation clock value.‡d‡l‡k‡C‡D‡œ…ŠsŠs‚¿/// An interpolation between two [Decoration]s. /// /// This class specializes the interpolation of [Tween] to use /// [Decoration.lerp]. /// /// For [ShapeDecoration]s which know how to [ShapeDecoration.lerpTo] or /// [ShapeDecoration.lerpFrom] each other, this will produce a smooth /// interpolation between decorations. /// /// See also: /// /// * [Tween] for a discussion on how to use interpolation objects. /// * [ShapeDecoration], [RoundedRectangleBorder], [CircleBorder], and /// [StadiumBorder] for examples of shape borders that can be smoothly /// interpolated. /// * [BoxBorder] for a border that can only be smoothly interpolated between other /// [BoxBorder]s.Š¢�h‹à‹à‹ï�+/// Creates a decoration tween. /// /// The [begin] and [end] properties may be null. If both are null, then the /// result is always null. If [end] is not null, then its lerping logic is /// used (via [Decoration.lerpTo]). Otherwise, [begin]'s lerping logic is used /// (via [Decoration.lerpFrom]).‹ñ ‹ø‹÷‹þ ŒŒŒ€™ŒwŒwK/// Returns the value this variable has at the given animation clock value.Œ|Œ„ŒƒŒ_Œ`Œ°ƒ ŽŽ�[/// An interpolation between two [EdgeInsets]s. /// /// This class specializes the interpolation of [Tween] to use /// [EdgeInsets.lerp]. /// /// See [Tween] for a discussion on how to use interpolation objects. /// /// See also: /// /// * [EdgeInsetsGeometryTween], which interpolates between two /// [EdgeInsetsGeometry] objects.ŽL€ÏŽñŽñ�€˜/// Creates an [EdgeInsets] tween. /// /// The [begin] and [end] properties may be null; the null value /// is treated as an [EdgeInsets] with no inset.� � �� ���!€™�ˆ�ˆK/// Returns the value this variable has at the given animation clock value.���•�”�p�q�ÁƒE‘.‘.�\/// An interpolation between two [EdgeInsetsGeometry]s. /// /// This class specializes the interpolation of [Tween] to /// use [EdgeInsetsGeometry.lerp]. /// /// See [Tween] for a discussion on how to use interpolation objects. /// /// See also: /// /// * [EdgeInsetsTween], which interpolates between two [EdgeInsets] objects.‘m€ç’"’"’9€¨/// Creates an [EdgeInsetsGeometry] tween. /// /// The [begin] and [end] properties may be null; the null value /// is treated as an [EdgeInsetsGeometry] with no inset.’; ’B’A’H ’O’N’Z€©’É’ÉK/// Returns the value this variable has at the given animation clock value.’Î’Ö’Õ’©’ª“ ‚š“ü“ü€å/// An interpolation between two [BorderRadius]s. /// /// This class specializes the interpolation of [Tween] to use /// [BorderRadius.lerp]. /// /// See [Tween] for a discussion on how to use interpolation objects.”0€Î”Ò”Ò”〕/// Creates a [BorderRadius] tween. /// /// The [begin] and [end] properties may be null; the null value /// is treated as a right angle (no radius).”å ”ì”ë”ò ”ù”ø•€�•n•nK/// Returns the value this variable has at the given animation clock value.•s•{•z•S•T•¨‚[–ˆ–ˆ€Ó/// An interpolation between two [Border]s. /// /// This class specializes the interpolation of [Tween] to use /// [Border.lerp]. /// /// See [Tween] for a discussion on how to use interpolation objects.–°€¹—C—C—N€†/// Creates a [Border] tween. /// /// The [begin] and [end] properties may be null; the null value /// is treated as having no border.—P —W—V—] —d—c—o€‘—Ó—ÓK/// Returns the value this variable has at the given animation clock value.—Ø—à—ß—¾—¿˜†&™>™>�(/// An interpolation between two [Matrix4]s. /// /// This class specializes the interpolation of [Tween] to be /// appropriate for transformation matrices. /// /// Currently this class works only for translations. /// /// See [Tween] for a discussion on how to use interpolation objects.™g�šDšDšP€Í/// Creates a [Matrix4] tween. /// /// The [begin] and [end] properties must be non-null before the tween is /// first used, but the arguments can be null if the values are going to be /// filled in later.šR šYšXš_ šfšešqƒ¹š†š†š‹š“š’šqšrž1ƒŸeŸe�%/// An interpolation between two [TextStyle]s. /// /// This class specializes the interpolation of [Tween] to use /// [TextStyle.lerp]. /// /// This will not work well if the styles don't set the same fields. /// /// See [Tween] for a discussion on how to use interpolation objects.Ÿ’� p p ~€Î/// Creates a text style tween. /// /// The [begin] and [end] properties must be non-null before the tween is /// first used, but the arguments can be null if the values are going to be /// filled in later. €  ‡ † �  ” “ Ÿ€—¡¡K/// Returns the value this variable has at the given animation clock value.¡ ¡¡ î ï¡=�è®i®iŒâ/// An abstract class for building widgets that animate changes to their /// properties. /// /// Widgets of this type will not animate when they are first added to the /// widget tree. Rather, when they are rebuilt with different values, they will /// respond to those _changes_ by animating the changes over a specified /// [duration]. /// /// Which properties are animated is left up to the subclass. Subclasses' [State]s /// must extend [ImplicitlyAnimatedWidgetState] and provide a way to visit the /// relevant fields to animate. /// /// ## Relationship to [AnimatedWidget]s /// /// [ImplicitlyAnimatedWidget]s (and their subclasses) automatically animate /// changes in their properties whenever they change. For this, /// they create and manage their own internal [AnimationController]s to power /// the animation. While these widgets are simple to use and don't require you /// to manually manage the lifecycle of an [AnimationController], they /// are also somewhat limited: Besides the target value for the animated /// property, developers can only choose a [duration] and [curve] for the /// animation. If you require more control over the animation (e.g. you want /// to stop it somewhere in the middle), consider using an /// [AnimatedWidget] or one of its subclasses. These widgets take an [Animation] /// as an argument to power the animation. This gives the developer full control /// over the animation at the cost of requiring you to manually manage the /// underlying [AnimationController]. /// /// ## Common implicitly animated widgets /// /// A number of implicitly animated widgets ship with the framework. They are /// usually named `AnimatedFoo`, where `Foo` is the name of the non-animated /// version of that widget. Commonly used implicitly animated widgets include: /// /// * [TweenAnimationBuilder], which animates any property expressed by /// a [Tween] to a specified target value. /// * [AnimatedAlign], which is an implicitly animated version of [Align]. /// * [AnimatedContainer], which is an implicitly animated version of /// [Container]. /// * [AnimatedDefaultTextStyle], which is an implicitly animated version of /// [DefaultTextStyle]. /// * [AnimatedScale], which is an implicitly animated version of [Transform.scale]. /// * [AnimatedRotation], which is an implicitly animated version of [Transform.rotate]. /// * [AnimatedSlide], which implicitly animates the position of a widget relative to its normal position. /// * [AnimatedOpacity], which is an implicitly animated version of [Opacity]. /// * [AnimatedPadding], which is an implicitly animated version of [Padding]. /// * [AnimatedPhysicalModel], which is an implicitly animated version of /// [PhysicalModel]. /// * [AnimatedPositioned], which is an implicitly animated version of /// [Positioned]. /// * [AnimatedPositionedDirectional], which is an implicitly animated version /// of [PositionedDirectional]. /// * [AnimatedTheme], which is an implicitly animated version of [Theme]. /// * [AnimatedCrossFade], which cross-fades between two given children and /// animates itself between their sizes. /// * [AnimatedSize], which automatically transitions its size over a given /// duration. /// * [AnimatedSwitcher], which fades from one widget to another.®ž€°®Î®Î®æ&/// Initializes fields for subclasses.®î ®õ®ô®þ¯¯¯¯.¯-¯< ¯B¯A¯ ¯¯¯T\¯«¯«G/// The curve to apply when animating the parameters of this container.¯·c°°H/// The duration over which to animate the parameters of this container.°!€Î°ê°ê€¨/// Called every time an animation completes. /// /// This can be useful to trigger additional actions (e.g. another animation) /// at the end of the current animation.°öS±;±;°ö°÷±O€Ó±a±a±u&±’±‘±O±P·»›·¹ø¹ø‚#/// A base class for the `State` of widgets with implicit animations. /// /// [ImplicitlyAnimatedWidgetState] requires that subclasses respond to the /// animation themselves. If you would like `setState()` to be called /// automatically as the animation changes, use [AnimatedWidgetBaseState]. /// /// Properties that subclasses choose to animate are represented by [Tween] /// instances. Subclasses must implement the [forEachTween] method to allow /// [ImplicitlyAnimatedWidgetState] to iterate through the widget's fields and /// animate them.º"ººº|� ºôºôG/// The animation controller driving this widget's implicit animations.ºÇºÈ»»»ˆ»#»»%»+»,»E»;»R»k»G»T»Z»[»h»i»m»}»x»¼0¼¼¼$¼0¼1»�n»æ»æ { /// ColorTween? _colorTween; /// /// @override /// Widget build(BuildContext context) { /// return Text( /// 'Hello World', /// // Computes the value of the text color at any given time. /// style: TextStyle(color: _colorTween?.evaluate(animation)), /// ); /// } /// /// @override /// void forEachTween(TweenVisitor visitor) { /// // Update the tween using the provided visitor function. /// _colorTween = visitor( /// // The latest tween value. Can be `null`. /// _colorTween, /// // The color value toward which we are animating. /// widget.targetColor, /// // A function that takes a color value and returns a tween /// // beginning at that value. /// (dynamic value) => ColorTween(begin: value as Color?), /// ) as ColorTween?; /// /// // We could have more tweens than one by using the visitor /// // multiple times. /// } /// } /// ``` /// {@end-tool}ÀNøÀOÀOÀNØÀNÙÀO„RÀS[ÀS[ƒñ/// Optional hook for subclasses that runs after all tweens have been updated /// via [forEachTween]. /// /// Any properties that depend upon tweens created by [forEachTween] should be /// updated within [didUpdateTweens], not within [forEachTween]. /// /// This method will be called both: /// /// 1. After the tweens are _initially_ constructed (by /// the `constructor` argument to the [TweenVisitor] that's passed to /// [forEachTween]). In this case, the tweens are likely to contain only /// a [Tween.begin] value and not a [Tween.end]. /// /// 2. When the state's [widget] is updated, and one or more of the tweens /// visited by [forEachTween] specifies a target value that's different /// than the widget's current value, thus signaling that the [animation] /// should run. In this case, the [Tween.begin] value for each tween will /// an evaluation of the tween against the current [animation], and the /// [Tween.end] value for each tween will be the target value.ÀSHÀSIÀSvƒwÀUpÀUp�à/// A base class for widgets with implicit animations that need to rebuild their /// widget tree as the animation runs. /// /// This class calls [build] each frame that the animation ticks. For a /// variant that does not rebuild each frame, consider subclassing /// [ImplicitlyAnimatedWidgetState] directly. /// /// Subclasses must implement the [forEachTween] method to allow /// [AnimatedWidgetBaseState] to iterate through the subclasses' widget's fields /// and animate them.ÀUˆ"ÀUˆÀUˆÀU߀€ÀUÿÀUÿÀUßÀUàÀUíÀUîÀVe€…ÀVjÀVjÀVñ�oÀ^9À^9‡/// Animated version of [Container] that gradually changes its values over a period of time. /// /// The [AnimatedContainer] will automatically animate between the old and /// new values of properties when they change using the provided curve and /// duration. Properties that are null are not animated. Its child and /// descendants are not animated. /// /// This class is useful for generating simple implicit transitions between /// different parameters to [Container] with its internal [AnimationController]. /// For more complex animations, you'll likely want to use a subclass of /// [AnimatedWidget] such as the [DecoratedBoxTransition] or use your own /// [AnimationController]. /// /// {@youtube 560 315 https://www.youtube.com/watch?v=yI-8QHpGIP4} /// /// {@tool dartpad} /// The following example (depicted above) transitions an AnimatedContainer /// between two states. It adjusts the `height`, `width`, `color`, and /// [alignment] properties when tapped. /// /// ** See code in examples/api/lib/widgets/implicit_animations/animated_container.0.dart ** /// {@end-tool} /// /// See also: /// /// * [AnimatedPadding], which is a subset of this widget that only /// supports animating the [padding]. /// * The [catalog of layout widgets](https://flutter.dev/widgets/layout/). /// * [AnimatedPositioned], which, as a child of a [Stack], automatically /// transitions its child's position over a given duration whenever the given /// position changes. /// * [AnimatedAlign], which automatically transitions its child's /// position over a given duration whenever the given [AnimatedAlign.alignment] changes. /// * [AnimatedSwitcher], which switches out a child for a new one with a customizable transition. /// * [AnimatedCrossFade], which fades between two children and interpolates their sizes.À^q…À^µÀ^µÀ^Æ@/// Creates a container that animates its parameters implicitly.À^Î À^ÕÀ^ÔÀ^ÞÀ^äÀ^ãÀ^ó À^ùÀ^øÀ_ À_À_ À_À_&À_%À_6À_<À_;À_V À__À_^À_jÀ_sÀ_rÀ_À_�À_�À_¡ À_§À_¦À_³À_¹À_¸À_ÈÀ_ÎÀ_ÍÀ_æ À_ìÀ_ëÀ_÷À_ýÀ_üÀ` À`"À`!À`-À`=À`<À`K À`RÀ`QsÀ` À`À`À``À`fÀ`�À`vÀ`nÀ`gÀ`qÀ`yÀ`À`€À`˜À`žÀ`ÇÀ`¯À`§À`ŸÀ`ªÀ`²À`¹À`ºÀ`ÒÀ`ØÀaÀ`ìÀ`äÀ`ÙÀ`çÀ`ïÀ`ùÀ`úÀa Àa ÀaÀaÀaWÀa4Àa,Àa Àa/Àa7ÀaBÀaCÀaUÀaVÀabÀahÀa—Àb?Àa‚ÀazÀatÀa}Àa�Àa…Àa“Àa£ÀaÞÀbUÀbJÀbbÀbWÀbeÀb˜ÀbtÀb’ÀblÀbfÀboÀbvÀbƒÀb�Àb‰Àb„Àb‹Àb”Àb¯Àb£ÀbïÀc�Àb½ÀbÝÀbÌÀbÄÀb¾ÀbÇÀbÖÀbÏÀbÙÀc$ÀbñÀbüÀbþÀcÀc"Àc ÀcÀc ÀcÀcÀcÀc;ÀcIÀcJÀcRÀcoÀcXÀcSÀcZÀcgÀcaÀciÀcƒ Àc•�˜Àe(Àe(�l/// The [child] contained by the container. /// /// If null, and if the [constraints] are unbounded or also null, the /// container will expand to fill all available space in its parent, unless /// the parent provides unbounded constraints, in which case the container /// will attempt to be as small as possible. /// /// {@macro flutter.widgets.ProxyWidget.child}Àe4‚uÀg Àg ‚(/// Align the [child] within the container. /// /// If non-null, the container will expand to fill its parent and position its /// child within itself according to the given value. If the incoming /// constraints are unbounded, then the child will be shrink-wrapped instead. /// /// Ignored if [child] is null. /// /// See also: /// /// * [Alignment], a class with convenient constants typically used to /// specify an [AlignmentGeometry]. /// * [AlignmentDirectional], like [Alignment] for specifying alignments /// relative to text direction.Àg°€”Àh=Àh=l/// Empty space to inscribe inside the [decoration]. The [child], if any, is /// placed inside this padding.ÀhK€ùÀi:Ài:€Í/// The decoration to paint behind the [child]. /// /// A shorthand for specifying just a solid color is available in the /// constructor: set the `color` argument instead of the `decoration` /// argument.ÀiK\Ài“Ài“2/// The decoration to paint in front of the child.Ài®�Àj¹Àj¹€â/// Additional constraints to apply to the child. /// /// The constructor `width` and `height` arguments are combined with the /// `constraints` argument to set this property. /// /// The [padding] goes inside the constraints.ÀjË]Àk"Àk"9/// Empty space to surround the [decoration] and [child].Àk/aÀk‡Àk‡E/// The transformation matrix to apply before painting the container.Àk—�AÀlÆÀlÆ�/// The alignment of the origin, relative to the size of the container, if [transform] is specified. /// /// When [transform] is null, the value of this property is ignored. /// /// See also: /// /// * [Transform.alignment], which is set by this property.Àlß‚HÀoÀo‚/// The clip behavior when [AnimatedContainer.decoration] is not null. /// /// Defaults to [Clip.none]. Must be [Clip.none] if [decoration] is null. /// /// Unlike other properties of [AnimatedContainer], changes to this property /// apply immediately and have no animation. /// /// If a clip is to be applied, the [Decoration.getClipPath] method /// for the provided decoration must return a clip path. (This is not /// supported by all decorations; the default implementation of that /// method throws an [UnsupportedError].)Ào.cÀofÀofÀo.Ào/Ào—„ÆÀo©Ào©Ào½&ÀoÚÀoÙÀo—Ào˜Àtd�ÞÀtjÀtjÀtº"ÀtÒÀtÒÀtá!ÀtúÀtúÀuÀuÀuÀu(&Àu9Àu9ÀuS!ÀuhÀuhÀuy Àu’Àu’ÀužÀu¬Àu¬Àu»+ÀuÓÀuÓÀuí‡×ÀuÿÀuÿÀv Àv#Àv"ÀuíÀuîÀ}Ê‚�À}ÞÀ}ÞÀ}äÀ}òÀ}ñÀ}ÊÀ}ËÀ€`„ßÀ€rÀ€rÀ€†'À€£À€¢À€`À€aÀ…F‡/À‰ À‰ ƒ¨/// Animated version of [Padding] which automatically transitions the /// indentation over a given duration whenever the given inset changes. /// /// {@youtube 560 315 https://www.youtube.com/watch?v=PY2m0fhGNz4} /// /// Here's an illustration of what using this widget looks like, using a [curve] /// of [Curves.fastOutSlowIn]. /// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_padding.mp4} /// /// {@tool dartpad} /// The following code implements the [AnimatedPadding] widget, using a [curve] of /// [Curves.easeInOut]. /// /// ** See code in examples/api/lib/widgets/implicit_animations/animated_padding.0.dart ** /// {@end-tool} /// /// See also: /// /// * [AnimatedContainer], which can transition more values at once. /// * [AnimatedAlign], which automatically transitions its child's /// position over a given duration whenever the given /// [AnimatedAlign.alignment] changes.À‰A�À‰›À‰›À‰ªS/// Creates a widget that insets its child by a value that animates /// implicitly.À‰² À‰¹À‰¸À‰ÂÀ‰ÑÀ‰ÐÀ‰Þ À‰äÀ‰ãÀ‰ï À‰öÀ‰õÀŠÀŠÀŠÀŠ ÀŠ&ÀŠ%ÀŠ4ÀŠ:ÀŠPÀŠ;ÀŠBÀŠCÀŠXXÀŠ©ÀŠ©4/// The amount of space by which to inset the child.ÀŠ·}À‹/À‹/`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}À‹;_À‹qÀ‹qÀ‹;À‹<À‹ €ÒÀ‹²À‹²À‹Æ&À‹ãÀ‹âÀ‹ À‹¡ÀŒyƒ�ÀŒÀŒÀŒË!ÀŒäÀŒäÀŒó�6À�À�À�À�)À�(ÀŒóÀŒôÀŽ/€ÒÀŽCÀŽCÀŽIÀŽWÀŽVÀŽ/ÀŽ0À�€þÀ�À�À�-'À�JÀ�IÀ�À�À� ŽÙÀ–{À–{†I/// Animated version of [Align] which automatically transitions the child's /// position over a given duration whenever the given [alignment] changes. /// /// Here's an illustration of what this can look like, using a [curve] of /// [Curves.fastOutSlowIn]. /// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_align.mp4} /// /// For the animation, you can choose a [curve] as well as a [duration] and the /// widget will automatically animate to the new target [alignment]. If you require /// more control over the animation (e.g. if you want to stop it mid-animation), /// consider using an [AlignTransition] instead, which takes a provided /// [Animation] as argument. While that allows you to fine-tune the animation, /// it also requires more development overhead as you have to manually manage /// the lifecycle of the underlying [AnimationController]. /// /// {@tool dartpad} /// The following code implements the [AnimatedAlign] widget, using a [curve] of /// [Curves.fastOutSlowIn]. /// /// ** See code in examples/api/lib/widgets/implicit_animations/animated_align.0.dart ** /// {@end-tool} /// /// See also: /// /// * [AnimatedContainer], which can transition more values at once. /// * [AnimatedPadding], which can animate the padding instead of the /// alignment. /// * [AnimatedSlide], which can animate the translation of child by a given offset relative to its size. /// * [AnimatedPositioned], which, as a child of a [Stack], automatically /// transitions its child's position over a given duration whenever the given /// position changes.À–¯�ŸÀ—À—À—$[/// Creates a widget that positions its child by an alignment that animates /// implicitly.À—, À—3À—2À—<À—KÀ—JÀ—Z À—`À—_À—kÀ—qÀ—pÀ—ƒÀ—‰À—ˆÀ—š À—¡À— À—¬À—¼À—»À—Ê À—ÑÀ—ÐÀ—ßÀ—åÀ˜À—úÀ—òÀ—æÀ—õÀ˜ À—ýÀ˜ À˜À˜ À˜LÀ˜6À˜.À˜!À˜1À˜FÀ˜9À˜IÀ˜TƒXÀ›£À›£ƒ/// How to align the child. /// /// The x and y values of the [Alignment] control the horizontal and vertical /// alignment, respectively. An x value of -1.0 means that the left edge of /// the child is aligned with the left edge of the parent whereas an x value /// of 1.0 means that the right edge of the child is aligned with the right /// edge of the parent. Other values interpolate (and extrapolate) linearly. /// For example, a value of 0.0 means that the center of the child is aligned /// with the center of the parent. /// /// See also: /// /// * [Alignment], which has more details and some convenience constants for /// common positions. /// * [AlignmentDirectional], which has a horizontal coordinate orientation /// that depends on the [TextDirection].À›³}Àœ+Àœ+`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}Àœ7€µÀœàÀœà€‘/// If non-null, sets its height to the child's height multiplied by this factor. /// /// Must be greater than or equal to 0.0, defaults to null.Àœó€²À�šÀ�š€�/// If non-null, sets its width to the child's width multiplied by this factor. /// /// Must be greater than or equal to 0.0, defaults to null.À�¬[À�àÀ�àÀ�¬À�­Àž €ÕÀžÀžÀž3&ÀžPÀžOÀž ÀžÀžé‡rÀžïÀžïÀŸ7"ÀŸOÀŸOÀŸ^!ÀŸmÀŸmÀŸ„ ÀŸ“ÀŸ“ÀŸ«ƒ…ÀŸ½ÀŸ½ÀŸÊÀŸáÀŸàÀŸ«ÀŸ¬À£6�À£JÀ£JÀ£PÀ£^À£]À£6À£7À¤W‚À¤iÀ¤iÀ¤}'À¤šÀ¤™À¤WÀ¤XÀ¦_’>À®À®‡�/// Animated version of [Positioned] which automatically transitions the child's /// position over a given duration whenever the given position changes. /// /// {@youtube 560 315 https://www.youtube.com/watch?v=hC3s2YdtWt8} /// /// Only works if it's the child of a [Stack]. /// /// This widget is a good choice if the _size_ of the child would end up /// changing as a result of this animation. If the size is intended to remain /// the same, with only the _position_ changing over time, then consider /// [SlideTransition] instead. [SlideTransition] only triggers a repaint each /// frame of the animation, whereas [AnimatedPositioned] will trigger a relayout /// as well. /// /// Here's an illustration of what using this widget looks like, using a [curve] /// of [Curves.fastOutSlowIn]. /// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_positioned.mp4} /// /// For the animation, you can choose a [curve] as well as a [duration] and the /// widget will automatically animate to the new target position. If you require /// more control over the animation (e.g. if you want to stop it mid-animation), /// consider using a [PositionedTransition] instead, which takes a provided /// [Animation] as an argument. While that allows you to fine-tune the animation, /// it also requires more development overhead as you have to manually manage /// the lifecycle of the underlying [AnimationController]. /// /// {@tool dartpad} /// The following example transitions an AnimatedPositioned /// between two states. It adjusts the `height`, `width`, and /// [Positioned] properties when tapped. /// /// ** See code in examples/api/lib/widgets/implicit_animations/animated_positioned.0.dart ** /// {@end-tool} /// /// See also: /// /// * [AnimatedPositionedDirectional], which adapts to the ambient /// [Directionality] (the same as this widget, but for animating /// [PositionedDirectional]).À®S‚£À¯�À¯�À¯¢�$/// Creates a widget that animates its position implicitly. /// /// Only two out of the three horizontal values ([left], [right], /// [width]), and only two out of the three vertical values ([top], /// [bottom], [height]), can be set. In each case, at least one of /// the three must be null. À¯ª À¯±À¯°À¯ºÀ¯ÉÀ¯ÈÀ¯Ô À¯ÚÀ¯ÙÀ¯äÀ¯êÀ¯éÀ¯ó À¯ùÀ¯øÀ° À° À° À° À°À°À°' À°-À°,À°9 À°@À°?À°KÀ°[À°ZÀ°i À°pÀ°oÀ°~À°„À°³À°£À°’À°ŠÀ°…À°�À°›À°•À°žÀ°¬À°¦À°¯À°¾À°ÄÀ°ôÀ°ãÀ°ÑÀ°ÉÀ°ÅÀ°ÌÀ°ÛÀ°ÔÀ°ÞÀ°íÀ°æÀ°ðÀ°ü�‡À±HÀ±ZÀ±[À±cÀ±[H/// Creates a widget that animates the rectangle it occupies implicitly.À±k À±rÀ±qÀ±{À±ŠÀ±‰À±•À±¤À±£À±® À±µÀ±´À±ÀÀ±ÐÀ±ÏÀ±Þ À±åÀ±äÀ±øÀ±óÀ±úÀ±þÀ±ÿÀ²À² À²À²À²À²+À²%À²-À²1À²2À²HÀ²AÀ²JÀ²NÀ²OÀ²eÀ²_À²gÀ²|À²uÀ²~À²‰|À³À³`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}À³ YÀ³aÀ³aC/// The offset of the child's left edge from the left of the stack.À³lVÀ³¿À³¿A/// The offset of the child's top edge from the top of the stack.À³É\À´ À´ E/// The offset of the child's right edge from the right of the stack.À´,_À´…À´…G/// The offset of the child's bottom edge from the bottom of the stack.À´’€­Àµ:Àµ:€�/// The child's width. /// /// Only two out of the three horizontal values ([left], [right], [width]) can /// be set. The third must be null.ÀµF€®ÀµîÀµî€�/// The child's height. /// /// Only two out of the three vertical values ([top], [bottom], [height]) can /// be set. The third must be null.ÀµûeÀ¶4À¶4ÀµûÀµüÀ¶f‚4À¶xÀ¶xÀ¶Œ&À¶©À¶¨À¶fÀ¶gÀ¸¡ˆeÀ¸§À¸§À¸ùÀ¹À¹À¹À¹!À¹!À¹*À¹9À¹9À¹DÀ¹SÀ¹SÀ¹_À¹nÀ¹nÀ¹yÀ¹ˆÀ¹ˆÀ¹–ƒ›À¹¨À¹¨À¹µÀ¹ÌÀ¹ËÀ¹–À¹—À½7�rÀ½KÀ½KÀ½QÀ½_À½^À½7À½8À¾¯‚TÀ¾ÁÀ¾ÁÀ¾Õ'À¾òÀ¾ñÀ¾¯À¾°ÀÁ �ßÀÅÐÀÅЄ§/// Animated version of [PositionedDirectional] which automatically transitions /// the child's position over a given duration whenever the given position /// changes. /// /// The ambient [Directionality] is used to determine whether [start] is to the /// left or to the right. /// /// Only works if it's the child of a [Stack]. /// /// This widget is a good choice if the _size_ of the child would end up /// changing as a result of this animation. If the size is intended to remain /// the same, with only the _position_ changing over time, then consider /// [SlideTransition] instead. [SlideTransition] only triggers a repaint each /// frame of the animation, whereas [AnimatedPositionedDirectional] will trigger /// a relayout as well. ([SlideTransition] is also text-direction-aware.) /// /// Here's an illustration of what using this widget looks like, using a [curve] /// of [Curves.fastOutSlowIn]. /// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_positioned_directional.mp4} /// /// See also: /// /// * [AnimatedPositioned], which specifies the widget's position visually (the /// same as this widget, but for animating [Positioned]).ÀÆ‚¤ÀÇIÀÇIÀÇf�/// Creates a widget that animates its position implicitly. /// /// Only two out of the three horizontal values ([start], [end], [width]), and /// only two out of the three vertical values ([top], [bottom], [height]), can /// be set. In each case, at least one of the three must be null. ÀÇn ÀÇuÀÇtÀÇ~ÀÇ�ÀÇŒÀǘ ÀÇžÀÇ�ÀÇ©ÀǯÀÇ®ÀǸÀǾÀǽÀÇÇ ÀÇÍÀÇÌÀÇÙ ÀÇßÀÇÞÀÇê ÀÇðÀÇïÀÇü ÀÈÀÈÀÈÀÈÀÈÀÈ, ÀÈ3ÀÈ2ÀÈAÀÈGÀÈuÀÈeÀÈVÀÈNÀÈHÀÈQÀÈ]ÀÈYÀÈ`ÀÈnÀÈhÀÈqÀÈ€ÀȆÀȶÀÈ¥ÀÈ“ÀÈ‹ÀȇÀÈŽÀÈ�ÀÈ–ÀÈ ÀȯÀȨÀȲÀȾ|ÀÉ5ÀÉ5`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}ÀÉA\ÀɘÀɘE/// The offset of the child's start edge from the start of the stack.ÀɤVÀÉ÷ÀÉ÷A/// The offset of the child's top edge from the top of the stack.ÀÊVÀÊTÀÊTA/// The offset of the child's end edge from the end of the stack.ÀÊ^_ÀÊ·ÀÊ·G/// The offset of the child's bottom edge from the bottom of the stack.ÀÊÄ€¬ÀËkÀËk€Œ/// The child's width. /// /// Only two out of the three horizontal values ([start], [end], [width]) can /// be set. The third must be null.ÀËw€®ÀÌÀÌ€�/// The child's height. /// /// Only two out of the three vertical values ([top], [bottom], [height]) can /// be set. The third must be null.ÀÌ,€‚ÀÌpÀÌpÀÌ,ÀÌ-ÀÌ´‚2ÀÌÆÀÌÆÀÌÚ&ÀÌ÷ÀÌöÀÌ´À̵ÀÎíˆéÀÎóÀÎóÀÏ`ÀÏoÀÏoÀÏzÀωÀωÀÏ’ÀÏ¡ÀÏ¡ÀϪÀϹÀϹÀÏÅÀÏÔÀÏÔÀÏßÀÏîÀÏîÀÏüƒ˜ÀÐÀÐÀÐÀÐ2ÀÐ1ÀÏüÀÏýÀÓš�áÀÓ®ÀÓ®ÀÓ´ÀÓÂÀÓÁÀÓšÀÓ›ÀÕ�‚RÀÕ“ÀÕ“ÀÕ§'ÀÕÄÀÕÃÀÕ�ÀÕ‚À×Ú� ÀÞûÀÞû†ã/// Animated version of [Transform.scale] which automatically transitions the child's /// scale over a given duration whenever the given scale changes. /// /// {@tool snippet} /// /// This code defines a widget that uses [AnimatedScale] to change the size /// of [FlutterLogo] gradually to a new scale whenever the button is pressed. /// /// ```dart /// class LogoScale extends StatefulWidget { /// const LogoScale({super.key}); /// /// @override /// State createState() => LogoScaleState(); /// } /// /// class LogoScaleState extends State { /// double scale = 1.0; /// /// void _changeScale() { /// setState(() => scale = scale == 1.0 ? 3.0 : 1.0); /// } /// /// @override /// Widget build(BuildContext context) { /// return Column( /// mainAxisAlignment: MainAxisAlignment.center, /// children: [ /// ElevatedButton( /// onPressed: _changeScale, /// child: const Text('Scale Logo'), /// ), /// Padding( /// padding: const EdgeInsets.all(50), /// child: AnimatedScale( /// scale: scale, /// duration: const Duration(seconds: 2), /// child: const FlutterLogo(), /// ), /// ), /// ], /// ); /// } /// } /// ``` /// {@end-tool} /// /// See also: /// /// * [AnimatedRotation], for animating the rotation of a child. /// * [AnimatedSize], for animating the resize of a child based on changes /// in layout. /// * [AnimatedSlide], for animating the translation of a child by a given offset relative to its size. /// * [ScaleTransition], an explicitly animated version of this widget, where /// an [Animation] is provided by the caller instead of being built in.Àß/�ÀßqÀßqÀß~8/// Creates a widget that animates its scale implicitly.À߆ Àß�ÀߌÀß– ÀßœÀß›Àß§Àß¶ÀßµÀßÁ!ÀßÇÀ߯ÀßéÀßïÀßîÀà Àà ÀàÀàÀà$Àà#Àà2 Àà9Àà8ÀßÒÀßÛÀßÜÀàK}ÀàÃÀàÃ`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}ÀàÏ+ÀàõÀàõ/// The target scale.Àá�ÀâÀâ€ï/// The alignment of the origin of the coordinate system in which the scale /// takes place, relative to the size of the box. /// /// For example, to set the origin of the scale to bottom middle, you can use /// an alignment of (0.0, 1.0).Àâ €½ÀâÐÀâЀ‘/// The filter quality with which to apply the transform as a bitmap operation. /// /// {@macro flutter.widgets.Transform.optional.FilterQuality}ÀâäaÀãÀãÀâäÀâåÀãK�—Àã]Àã]Àãq&ÀãŽÀã�ÀãKÀãLÀä邾ÀäïÀäïÀå=ÀåLÀåLÀåW&ÀånÀånÀå„€ÓÀå–Àå–Àå£ÀåºÀå¹Àå„Àå…Àæ][ÀæoÀæoÀæ]Àæ^Àæ¾€æÀæÒÀæÒÀæØÀææÀæåÀæ¾Àæ¿Àç«�ÀîÀî†//// Animated version of [Transform.rotate] which automatically transitions the child's /// rotation over a given duration whenever the given rotation changes. /// /// {@tool snippet} /// /// This code defines a widget that uses [AnimatedRotation] to rotate a [FlutterLogo] /// gradually by an eighth of a turn (45 degrees) with each press of the button. /// /// ```dart /// class LogoRotate extends StatefulWidget { /// const LogoRotate({super.key}); /// /// @override /// State createState() => LogoRotateState(); /// } /// /// class LogoRotateState extends State { /// double turns = 0.0; /// /// void _changeRotation() { /// setState(() => turns += 1.0 / 8.0); /// } /// /// @override /// Widget build(BuildContext context) { /// return Column( /// mainAxisAlignment: MainAxisAlignment.center, /// children: [ /// ElevatedButton( /// onPressed: _changeRotation, /// child: const Text('Rotate Logo'), /// ), /// Padding( /// padding: const EdgeInsets.all(50), /// child: AnimatedRotation( /// turns: turns, /// duration: const Duration(seconds: 1), /// child: const FlutterLogo(), /// ), /// ), /// ], /// ); /// } /// } /// ``` /// {@end-tool} /// /// See also: /// /// * [AnimatedScale], for animating the scale of a child. /// * [RotationTransition], an explicitly animated version of this widget, where /// an [Animation] is provided by the caller instead of being built in.ÀîL�Àî‘Àî‘Àî¡;/// Creates a widget that animates its rotation implicitly.Àî© Àî°Àî¯Àî¹ Àî¿Àî¾ÀîÊÀîÙÀîØÀîä!ÀîêÀîéÀï ÀïÀïÀï% Àï,Àï+Àï7ÀïGÀïFÀïU Àï\Àï[ÀîõÀîþÀîÿÀïn}ÀïæÀïæ`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}Àïò€ÚÀðÇÀðÇ€»/// The animation that controls the rotation of the child. /// /// If the current value of the turns animation is v, the child will be /// rotated v * 2 * pi radians before being painted.ÀðÓ�ÀñèÀñè€õ/// The alignment of the origin of the coordinate system in which the rotation /// takes place, relative to the size of the box. /// /// For example, to set the origin of the rotation to bottom middle, you can use /// an alignment of (0.0, 1.0).Àñø€½Àò¨Àò¨€‘/// The filter quality with which to apply the transform as a bitmap operation. /// /// {@macro flutter.widgets.Transform.optional.FilterQuality}Àò¼gÀòùÀòùÀò¼Àò½Àó)�—Àó;Àó;ÀóO&ÀólÀókÀó)Àó*ÀôÇ‚ÇÀôÍÀôÍÀõ!Àõ0Àõ0Àõ;&ÀõRÀõRÀõh€ÓÀõzÀõzÀõ‡ÀõžÀõ�ÀõhÀõiÀöA[ÀöSÀöSÀöAÀöBÀö¢€éÀö¶Àö¶Àö¼ÀöÊÀöÉÀö¢Àö£À÷’‡eÀû“Àû“ƒå/// Widget which automatically transitions the child's /// offset relative to its normal position whenever the given offset changes. /// /// The translation is expressed as an [Offset] scaled to the child's size. For /// example, an [Offset] with a `dx` of 0.25 will result in a horizontal /// translation of one quarter the width of the child. /// /// {@tool dartpad} /// This code defines a widget that uses [AnimatedSlide] to translate a [FlutterLogo] /// up or down and right or left by dragging the X and Y axis sliders. /// /// ** See code in examples/api/lib/widgets/implicit_animations/animated_slide.0.dart ** /// {@end-tool} /// /// See also: /// /// * [AnimatedPositioned], which, as a child of a [Stack], automatically /// transitions its child's position over a given duration whenever the given /// position changes. /// * [AnimatedAlign], which automatically transitions its child's /// position over a given duration whenever the given [AnimatedAlign.alignment] changes.ÀûÇ€ãÀüÀüÀü#E/// Creates a widget that animates its offset translation implicitly.Àü+ Àü2Àü1Àü; ÀüAÀü@ÀüLÀü[ÀüZÀüg ÀünÀümÀüyÀü‰ÀüˆÀü— ÀüžÀü�Àü°}Àý(Àý(`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}Àý4€ŽÀý¼Àý¼t/// The target offset. /// The child will be translated horizontally by `width * dx` and vertically by `height * dy`ÀýÉaÀþÀþÀýÉÀýÊÀþ0€ÄÀþBÀþBÀþV&ÀþsÀþrÀþ0Àþ1Àþû‚cÀÿÀÿÀÿOÀÿ^Àÿ^Àÿj'Àÿ�Àÿ�Àÿ˜€ÖÀÿªÀÿªÀÿ·ÀÿÎÀÿÍÀÿ˜Àÿ™Àt]À†À†ÀtÀuÀ×€„ÀëÀëÀñÀÿÀþÀ×ÀØÀb‘9À àÀ à‹+/// Animated version of [Opacity] which automatically transitions the child's /// opacity over a given duration whenever the given opacity changes. /// /// {@youtube 560 315 https://www.youtube.com/watch?v=QZAvjqOqiLY} /// /// Animating an opacity is relatively expensive because it requires painting /// the child into an intermediate buffer. /// /// Here's an illustration of what using this widget looks like, using a [curve] /// of [Curves.fastOutSlowIn]. /// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_opacity.mp4} /// /// {@tool snippet} /// /// ```dart /// class LogoFade extends StatefulWidget { /// const LogoFade({super.key}); /// /// @override /// State createState() => LogoFadeState(); /// } /// /// class LogoFadeState extends State { /// double opacityLevel = 1.0; /// /// void _changeOpacity() { /// setState(() => opacityLevel = opacityLevel == 0 ? 1.0 : 0.0); /// } /// /// @override /// Widget build(BuildContext context) { /// return Column( /// mainAxisAlignment: MainAxisAlignment.center, /// children: [ /// AnimatedOpacity( /// opacity: opacityLevel, /// duration: const Duration(seconds: 3), /// child: const FlutterLogo(), /// ), /// ElevatedButton( /// onPressed: _changeOpacity, /// child: const Text('Fade Logo'), /// ), /// ], /// ); /// } /// } /// ``` /// {@end-tool} /// /// ## Hit testing /// /// Setting the [opacity] to zero does not prevent hit testing from being /// applied to the descendants of the [AnimatedOpacity] widget. This can be /// confusing for the user, who may not see anything, and may believe the area /// of the interface where the [AnimatedOpacity] is hiding a widget to be /// non-interactive. /// /// With certain widgets, such as [Flow], that compute their positions only when /// they are painted, this can actually lead to bugs (from unexpected geometry /// to exceptions), because those widgets are not painted by the [AnimatedOpacity] /// widget at all when the [opacity] animation reaches zero. /// /// To avoid such problems, it is generally a good idea to use an /// [IgnorePointer] widget when setting the [opacity] to zero. This prevents /// interactions with any children in the subtree when the [child] is animating /// away. /// /// See also: /// /// * [AnimatedCrossFade], for fading between two children. /// * [AnimatedSwitcher], for fading between many children in sequence. /// * [FadeTransition], an explicitly animated version of this widget, where /// an [Animation] is provided by the caller instead of being built in. /// * [SliverAnimatedOpacity], for automatically transitioning a _sliver's_ /// opacity over a given duration whenever the given opacity changes.À �~À ¨À ¨À ·€‚/// Creates a widget that animates its opacity implicitly. /// /// The [opacity] argument must be between zero and one, inclusive.À ¿ À ÆÀ ÅÀ Ï À ÕÀ ÔÀ àÀ ïÀ îÀ ü ÀÀÀÀÀÀ, À3À2À>#ÀDÀC À\ÀkÀqÀ’À�ÀzÀrÀ}ÀŒÀ„À�Àš}ÀÀ`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}À€¡À¸À¸€€/// The target opacity. /// /// An opacity of 1.0 is fully opaque. An opacity of 0.0 is fully transparent /// (i.e., invisible).ÀÆ�§ÀWÀW�m/// Whether the semantic information of the children is always included. /// /// Defaults to false. /// /// When true, regardless of the opacity settings the child semantic /// information is exposed as if the widget were fully visible. This is /// useful in cases where labels may be hidden during animations that /// would otherwise contribute relevant semantics.ÀteÀ°À°ÀtÀuÀ߀¹ÀñÀñÀ&À"À!ÀßÀàÀŸ‚ÁÀ¥À¥À÷ÀÀÀ(À*À*ÀB€ÙÀTÀTÀaÀxÀwÀBÀCÀ!_À3À3À!À"À†€×ÀšÀšÀ À®À­À†À‡Àd�|À4À4‡Ÿ/// Animated version of [SliverOpacity] which automatically transitions the /// sliver child's opacity over a given duration whenever the given opacity /// changes. /// /// Animating an opacity is relatively expensive because it requires painting /// the sliver child into an intermediate buffer. /// /// Here's an illustration of what using this widget looks like, using a [curve] /// of [Curves.fastOutSlowIn]. /// /// {@tool dartpad} /// Creates a [CustomScrollView] with a [SliverFixedExtentList] and a /// [FloatingActionButton]. Pressing the button animates the lists' opacity. /// /// ** See code in examples/api/lib/widgets/implicit_animations/sliver_animated_opacity.0.dart ** /// {@end-tool} /// /// ## Hit testing /// /// Setting the [opacity] to zero does not prevent hit testing from being /// applied to the descendants of the [SliverAnimatedOpacity] widget. This can /// be confusing for the user, who may not see anything, and may believe the /// area of the interface where the [SliverAnimatedOpacity] is hiding a widget /// to be non-interactive. /// /// With certain widgets, such as [Flow], that compute their positions only when /// they are painted, this can actually lead to bugs (from unexpected geometry /// to exceptions), because those widgets are not painted by the /// [SliverAnimatedOpacity] widget at all when the [opacity] animation reaches /// zero. /// /// To avoid such problems, it is generally a good idea to use a /// [SliverIgnorePointer] widget when setting the [opacity] to zero. This /// prevents interactions with any children in the subtree when the [sliver] is /// animating away. /// /// See also: /// /// * [SliverFadeTransition], an explicitly animated version of this widget, where /// an [Animation] is provided by the caller instead of being built in. /// * [AnimatedOpacity], for automatically transitioning a box child's /// opacity over a given duration whenever the given opacity changes.Àp�…ÀÀÀ€‚/// Creates a widget that animates its opacity implicitly. /// /// The [opacity] argument must be between zero and one, inclusive.À À&À%À/ À5À4ÀAÀPÀOÀ] ÀdÀcÀoÀÀ~À� À”À“ÀŸ#À¥À¤ À½ÀÌÀÒÀóÀâÀÛÀÓÀÞÀíÀåÀðÀûEÀ:À:-/// The sliver below this widget in the tree.ÀG€¡ÀáÀက/// The target opacity. /// /// An opacity of 1.0 is fully opaque. An opacity of 0.0 is fully transparent /// (i.e., invisible).Àï�°À!‰À!‰�v/// Whether the semantic information of the children is always included. /// /// Defaults to false. /// /// When true, regardless of the opacity settings the sliver child's semantic /// information is exposed as if the widget were fully visible. This is /// useful in cases where labels may be hidden during animations that /// would otherwise contribute relevant semantics.À!¦xÀ!èÀ!èÀ!¦À!§À"$€¹À"6À"6À"J&À"gÀ"fÀ"$À"%À"ä‚ÕÀ"êÀ"êÀ#HÀ#WÀ#WÀ#d(À#{À#{À#“€ÙÀ#¥À#¥À#²À#ÉÀ#ÈÀ#“À#”À$r_À$„À$„À$rÀ$sÀ$×€ßÀ$ëÀ$ëÀ$ñÀ$ÿÀ$þÀ$×À$ØÀ%½�îÀ*ŒÀ*Œ„´/// Animated version of [DefaultTextStyle] which automatically transitions the /// default text style (the text style to apply to descendant [Text] widgets /// without explicit style) over a given duration whenever the given style /// changes. /// /// The [textAlign], [softWrap], [overflow], [maxLines], [textWidthBasis] /// and [textHeightBehavior] properties are not animated and take effect /// immediately when changed. /// /// Here's an illustration of what using this widget looks like, using a [curve] /// of [Curves.elasticInOut]. /// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_default_text_style.mp4} /// /// For the animation, you can choose a [curve] as well as a [duration] and the /// widget will automatically animate to the new default text style. If you require /// more control over the animation (e.g. if you want to stop it mid-animation), /// consider using a [DefaultTextStyleTransition] instead, which takes a provided /// [Animation] as argument. While that allows you to fine-tune the animation, /// it also requires more development overhead as you have to manually manage /// the lifecycle of the underlying [AnimationController].À*Ë�ÝÀ+À+À+2E/// Creates a widget that animates the default text style implicitly. À+: À+AÀ+@À+JÀ+YÀ+XÀ+dÀ+sÀ+rÀ+~À+„À+ƒÀ+“À+™À+˜À+®!À+´À+³À+Ö À+ÜÀ+ÛÀ+ê+À+ðÀ+ïÀ,À,"À,!À,: À,AÀ,@À,LÀ,\À,[À,j À,qÀ,pÀ+£À+¾À+ÊÀ+ËÀ,À,À,À,À,…À,¦À,—À,�À,†À,’À,£À,šÀ,¥À,®|À-%À-%`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}À-1€‘À-½À-½r/// The target text style. /// /// When this property is changed, the style will be animated over [duration] time.À-É€¥À.eÀ.e€�/// How the text should be aligned horizontally. /// /// This property takes effect immediately when changed, it is not animated.À.u€äÀ/QÀ/Q€Á/// Whether the text should break at soft line breaks. /// /// This property takes effect immediately when changed, it is not animated. /// /// See [DefaultTextStyle.softWrap] for more details.À/`€ À/øÀ/ø{/// How visual overflow should be handled. /// /// This property takes effect immediately when changed, it is not animated.À0�À1À1€ß/// An optional maximum number of lines for the text to span, wrapping if necessary. /// /// This property takes effect immediately when changed, it is not animated. /// /// See [DefaultTextStyle.maxLines] for more details.À1€µÀ1·À1·€ˆ/// The strategy to use when calculating the width of the Text. /// /// See [TextWidthBasis] for possible values and their implications.À1ÌZÀ2À2'/// {@macro dart.ui.textHeightBehavior}À2-xÀ2lÀ2lÀ2-À2.À2«ƒýÀ2½À2½À2Ñ&À2îÀ2íÀ2«À2¬À6¯‚óÀ6µÀ6µÀ7À7#À7#À70€ØÀ7BÀ7BÀ7OÀ7fÀ7eÀ70À71À8�‘À8"À8"À8(À86À85À8À8À9¦Œ�ÀÀ>À>À>À>À>9À>?À>>À>]À>cÀ>bÀ>uÀ>{À>zÀ>�À>ŸÀ>žÀ>ªÀ>°À>¯À>ÉÀ>ØÀ>×À>éÀ>ïÀ>îÀ? À?À?À? À?0À?/À?> À?EÀ?DÀ> À>(À>)À>MÀ>QÀ>RÀ>†À>¾À?À?SÀ?YÀ?jÀ?dÀ?ZÀ?g À?r|À?éÀ?é`/// The widget below this widget in the tree. /// /// {@macro flutter.widgets.ProxyWidget.child}À?õ[À@KÀ@K=/// The type of shape. /// /// This property is not animated.À@WuÀ@ÀÀ@ÀT/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.none].À@Ó€¥ÀAlÀAl{/// The target border radius of the rounded corners for a rectangle shape. /// /// If null, treated as [BorderRadius.zero].ÀA€°ÀB&ÀB&€�/// The target z-coordinate relative to the parent at which to place this /// physical object. /// /// The value will always be non-negative.ÀB65ÀBfÀBf /// The target background color.ÀBrDÀBªÀBª)/// Whether the color should be animated.ÀB½7ÀBéÀBé/// The target shadow color.ÀBûQÀC:ÀC:0/// Whether the shadow color should be animated.ÀCSkÀC�ÀC�ÀCSÀCTÀCÄ‚lÀCÖÀCÖÀCê&ÀDÀDÀCÄÀCÅÀF7†KÀF=ÀF=ÀF• ÀF¨ÀF¨ÀFºÀFÉÀFÉÀFØÀFäÀFäÀFïÀFûÀFûÀGƒÀG ÀG ÀG-ÀGDÀGCÀGÀGÀJ“�ìÀJ§ÀJ§ÀJ­ÀJ»ÀJºÀJ“ÀJ”ÀL†‹•ÀQ–ÀQ–„ð/// Animated version of [FractionallySizedBox] which automatically transitions the /// child's size over a given duration whenever the given [widthFactor] or /// [heightFactor] changes, as well as the position whenever the given [alignment] /// changes. /// /// For the animation, you can choose a [curve] as well as a [duration] and the /// widget will automatically animate to the new target [widthFactor] or /// [heightFactor]. /// /// {@tool dartpad} /// The following example transitions an [AnimatedFractionallySizedBox] /// between two states. It adjusts the [heightFactor], [widthFactor], and /// [alignment] properties when tapped, using a [curve] of [Curves.fastOutSlowIn] /// /// ** See code in examples/api/lib/widgets/implicit_animations/animated_fractionally_sized_box.0.dart ** /// {@end-tool} /// /// See also: /// /// * [AnimatedAlign], which is an implicitly animated version of [Align]. /// * [AnimatedContainer], which can transition more values at once. /// * [AnimatedSlide], which can animate the translation of child by a given offset relative to its size. /// * [AnimatedPositioned], which, as a child of a [Stack], automatically /// transitions its child's position over a given duration whenever the given /// position changes.ÀQÙ‚ÀSÀSÀS$�/// Creates a widget that sizes its child to a fraction of the total available /// space that animates implicitly, and positions its child by an alignment /// that animates implicitly. /// /// If non-null, the [widthFactor] and [heightFactor] arguments must be /// non-negative.ÀS, ÀS3ÀS2ÀS` parameter specifies the type of value that's being animated.·J·J·J·v·�·€·‡ ·Š·‰·–·«·ª€²package:flutter/material.dart€èanimated_cross_fade.dart�animated_size.dart�:animated_switcher.dart�dscroll_view.dart�ˆ sliver.dart�§tween_animation_builder.dart‰…=€ˆ€§€©€Ú€ß� �1�[��ž�Î�Ø�Ú‚ ‚ ‚8‚b‚•‚—‚­‚ǂ݂÷ƒ ƒ,ƒHƒJƒcƒ™„ „*„:„¹„¿„æ„è……!…q…�…’…Ù††=†D†ˆ†¾†ð†ò‡A‡N‡—‡š‡œ‡Í‡Òˆ"ˆ:ˆ?ˆ‰ˆÐˆøˆý‰ ‰‰W‰ ‰ëŠŠWŠmŠ ŠÃŠÊ‹‹h‹º‹ÞŒ ŒŒ]ŒjŒ«Œ®Œ°ŒáŒæ�2�J�O�–�›�ª�¯�ñŽŽJŽpŽwŽ»Žï���n�{�¼�¿�Á�ú�ÿ�O�s�x�¿�Ä�Ó�Ø‘(‘k‘™‘ ‘ä’ ’V’X’§’´“““ “=“B“�“ª“¯“ö”.”U”\” ”Е••Q•^•£•¦•¨•Õ•Ú–"–6–;–‚–®–Ï–Ö——A—k—m—¼—ɘ˜˜˜5˜:˜‚˜°˜µ˜ì˜ñ™8™e™‡™Ž™Ûš*šBšmšoš|š˜š´šÎ››8›u›°›àœœRœŽœæ�&�K�š�àž'ž,ž/ž1žažfž±žÈžÍŸŸŸ_Ÿ�Ÿ³Ÿº  V n › � ì ù¡8¡;¡=¡‡¡˜¡�¡é¢:¢„¢•¢š¢î£>£_£d£Ž£“£á¤"¤q¤Á¥ ¥S¥ž¥ì¦(¦z¦Ì§§?§D§o§t§Ã¨¨a¨f¨°¨ß©,©t©‰©Ø©ôªKª¦««d«µ¬¬¬c¬y¬Ê¬î­;­‰­¶®®®Z®œ®Æ®ê®ú¯¯8¯I¯P¯R¯�¯³¯µ°°°°P°W°¨°Ô°ò°ô±±K±M±Z± ±Ì²²$²'²)²O²T²£²Ø²Ý³-³K³›³�³ò³÷´/´{´·´¼µ µTµŸµ³µ¸¶¶T¶`¶e¶y¶~¶Î¶ä¶é·5·_·¹·»¸¸¸T¸›¸ç¸ì¹9¹†¹Ö¹éºLºzºÅºÓ»»7»t»†»Œ»Ž»Î¼¼5¼7¼E¼R¼h¼€¼½¼Þ¼ý½½½(½@½E½G½U½b½‰½°½Ü½ù¾¾$¾P¾o¾…¾¥¾Ã¾ó¾þ¿¿E¿e¿p¿–¿°¿·¿¼¿¾¿âÀ@(À@-À@/À@=À@JÀ@^À@yÀ@”À@ªÀ@¯À@±À@ÎÀ@öÀA ÀA(ÀADÀArÀA{ÀA�ÀAÊÀBÀB,ÀB>ÀBdÀBoÀBÀB–ÀBŸÀB´ÀB½ÀBßÀBäÀBæÀC5ÀCFÀCMÀCpÀCwÀCÇÀDÀD`ÀD¯ÀD¿ÀDÆÀDýÀEÀE/ÀE6ÀEˆÀEÚÀF,ÀF{ÀFÇÀF×ÀFÞÀG ÀGmÀG¼ÀH ÀHWÀHyÀH€ÀH¢ÀH©ÀHîÀI6ÀI{ÀI’ÀI™ÀI°ÀI·ÀIþÀJFÀJVÀJ]ÀJlÀJ³ÀJÕÀJÜÀJïÀKÀK5ÀKQÀK™ÀKáÀKïÀKúÀLÀLÀLPÀL”ÀL¶ÀLíÀMÀMFÀMgÀM¯ÀMØÀNÀN9ÀN@ÀN†ÀN¤ÀN¯ÀN¸ÀNÃÀNÖÀNäÀOÀOÀOlÀO‡ÀOŽÀOàÀP$ÀP+ÀPSÀPZÀP–ÀPãÀQ3ÀQkÀQrÀQÁÀRÀR`ÀR±ÀSÀSFÀSTÀSqÀStÀSvÀSÈÀSðÀSõÀT>ÀT‚ÀT±ÀT¶ÀTøÀUJÀUaÀU­ÀUÝÀUëÀUøÀVÀV&ÀV\ÀVaÀVcÀV‡ÀVšÀVÞÀVçÀVìÀVïÀVñÀWOÀWTÀW ÀWìÀX4ÀXWÀX\ÀX©ÀXûÀYEÀY�ÀY¬ÀY±ÀYõÀYúÀZÀZ\ÀZ¤ÀZÍÀZÒÀ[0À[AÀ[FÀ[UÀ[ZÀ[ À[ÊÀ\À\dÀ\¶À\ÐÀ]À]rÀ]×À^3À^oÀ^³À^ÊÀ^ÚÀ^ïÀ_À_À_2À_RÀ_fÀ_{À_�À_¯À_ÄÀ_âÀ_óÀ`À`)À`GÀ`YÀ`‘À`ËÀaÀa[ÀakÀašÀaÕÀb8ÀbCÀbœÀb²ÀbàÀc(ÀcrÀc‘Àc“ÀcÂÀcÉÀdÀdaÀd¯ÀdßÀdæÀeÀe0Àe2ÀeaÀehÀeºÀfÀfTÀf[Àf~Àf…Àf–Àf�ÀfèÀgÀg_Àg…Àg¬Àg®ÀgþÀh!ÀhGÀhIÀh|ÀhƒÀhÌÀiÀi&ÀiGÀiIÀiÀiªÀi¬ÀiáÀièÀj4ÀjhÀjoÀj¡ÀjÇÀjÉÀkÀk+Àk-ÀkvÀk“Àk•ÀkýÀlÀlLÀlSÀldÀlkÀl«ÀlÛÀlÝÀm'Àm.Àm{Àm‚ÀmÒÀnÀn ÀnPÀn™ÀnáÀoÀo*Ào,Ào9Ào“Ào•Ào¢ÀoèÀpÀp)ÀpXÀpnÀp‚ÀpœÀp¹ÀpÃÀpËÀq1Àq�ÀqóÀrÀr4ÀrLÀrbÀrÀr™Àr£Àr«ÀsÀs]ÀsrÀs¡ÀsÀÀsÝÀsúÀtÀt ÀtZÀt_ÀtbÀtdÀt¸ÀtßÀuÀu&ÀuQÀuwÀuœÀu¹ÀuéÀuëÀuøÀv.Àv@ÀvRÀvmÀvŽÀvëÀvúÀw#Àw3ÀwEÀw^Àw}ÀwÜÀwëÀxÀx(Àx:ÀxVÀxxÀxÇÀxÖÀxøÀyÀy'ÀyMÀyyÀyÈÀy×ÀyùÀz ÀzÀz<Àz_Àz¶ÀzÅÀzëÀzúÀ{ À{$À{BÀ{¡À{°À{ÚÀ{ìÀ{þÀ|À|:À|ƒÀ|’À|±À|ÌÀ|ÞÀ}À},À}‰À}˜À}ÁÀ}ÆÀ}ÈÀ}ÕÀ}ýÀ~6À~MÀ~€À~¯À~äÀ-ÀdÀ‘ÀÄÀ€ À€3À€OÀ€WÀ€\À€^À€kÀ€²À€ßÀ€õÀ�)À�?À�TÀ�nÀ�‹À�•À��À�³À‚À‚À‚|À‚’À‚ðÀ‚øÀƒÀƒ?ÀƒWÀƒnÀƒˆÀƒ¥Àƒ¯Àƒ·ÀƒÍÀ„)À„1À„†À„œÀ„ÐÀ„ïÀ… À…*À…4À…<À…AÀ…DÀ…FÀ…�À…ÖÀ…ÛÀ†À†$À†vÀ†–À‡À‡À‡À‡pÀ‡‰À‡ŽÀ‡êÀ‡ûÀˆÀˆÀˆÀˆ[Àˆ ÀˆÚÀ‰À‰?À‰†À‰™À‰®À‰¾À‰ÚÀ‰ëÀ‰ýÀŠÀŠ-ÀŠTÀŠVÀŠŽÀгÀеÀŠæÀŠíÀ‹À‹7À‹9À‹FÀ‹œÀ‹žÀ‹«À‹ñÀŒÀŒoÀŒtÀŒwÀŒyÀŒÉÀŒïÀŒñÀŒþÀ�4À�DÀ�VÀ�oÀ�ŽÀ�íÀ�üÀŽ&ÀŽ+ÀŽ-ÀŽ:ÀŽbÀŽwÀŽÚÀŽöÀŽþÀ�À�À�À�YÀ�†À�œÀ�úÀ�À�À� À� À�YÀ�¥À�ªÀ�õÀ‘À‘|À‘�À‘ÒÀ’'À’yÀ’ÂÀ“À“aÀ“�À“¢À“·À” À”&À”+À”…À”–À”›À”ªÀ”¯À”öÀ•>À•QÀ•½À– À–[À–uÀ–­À–üÀ—À—(À—8À—VÀ—gÀ—À—–À—¨À—ÆÀ—ØÀ˜À˜PÀ˜RÀ˜qÀ˜xÀ˜ÉÀ™À™hÀ™·ÀšÀšXÀš~Àš…Àš–Àš�ÀšîÀ› À›ZÀ›‰À›¯À›±À›âÀ›éÀœÀœ3Àœ5ÀœŠÀœ‘ÀœÐÀœïÀœñÀ�DÀ�KÀ�ŠÀ�¨À�ªÀ�·Àž Àž ÀžÀž^ÀžŠÀžßÀžäÀžçÀžéÀŸ5ÀŸ\ÀŸ‚ÀŸ§ÀŸ©ÀŸ¶ÀŸìÀŸþÀ À +À LÀ ©À ¸À áÀ¡ À¡%À¡9À¡^À¡„À¡ÏÀ¡àÀ¢À¢ À¢0À¢KÀ¢_À¢ƒÀ¢¨À¢óÀ£À£&À£-À£2À£4À£AÀ£iÀ£|À£°À£îÀ¤*À¤FÀ¤NÀ¤SÀ¤UÀ¤bÀ¤©À¤ÖÀ¤ìÀ¥MÀ¥UÀ¥kÀ¥ÌÀ¥ÔÀ¥êÀ¦MÀ¦UÀ¦ZÀ¦]À¦_À¦±À¦úÀ¦ÿÀ§CÀ§HÀ§xÀ§}À§ÇÀ¨À¨`À¨¯À©À©À©À©fÀ©†À©õÀ©úÀªKÀª�ÀªïÀ«<À«�À«ÞÀ¬À¬À¬4À¬qÀ¬°À¬ÚÀ¬ßÀ­>À­OÀ­TÀ­cÀ­hÀ­­À­òÀ®À®QÀ®�À®—À®ÜÀ¯#À¯iÀ¯ˆÀ¯¦À¯¶À¯ÐÀ¯àÀ¯ïÀ°À°À°#À°5À°GÀ°eÀ°wÀ°·À°øÀ°úÀ±FÀ±gÀ±wÀ±‘À±ªÀ±¼À±ÚÀ±ìÀ²À²À²:À²XÀ²nÀ²…À²‡À²¸À²¿À²ñÀ³À³ À³QÀ³hÀ³jÀ³¯À³ÅÀ³ÇÀ´À´(À´*À´uÀ´ŽÀ´�À´ªÀ´±ÀµÀµ*ÀµBÀµDÀµ_ÀµfÀµ·ÀµÞÀµ÷ÀµùÀ¶À¶bÀ¶dÀ¶qÀ¶·À¶ãÀ·*À·oÀ·¸À¸À¸LÀ¸—À¸œÀ¸ŸÀ¸¡À¸÷À¹À¹(À¹BÀ¹]À¹wÀ¹’À¹”À¹¡À¹×À¹äÀºCÀºcÀºoÀºÌÀºìÀºúÀ»[À»{À»ŠÀ»íÀ¼ À¼À¼|À¼œÀ¼«À½À½.À½3À½5À½BÀ½jÀ½‚À½«À½ÒÀ½ýÀ¾*À¾UÀ¾‚À¾žÀ¾¦À¾«À¾­À¾ºÀ¿À¿.À¿zÀ¿ÄÀÀÀÀbÀÀ°ÀÁÀÁÀÁÀÁ ÀÁ[ÀÁ§ÀÁµÀÁºÀ ÀÂ&ÀÂ+ÀÂ[ÀÂ`ÀªÀÂùÀÃCÀÃ’ÀÃäÀÄ/ÀÄ4ÀĆÀĦÀÅ!ÀÅ&ÀÅ5ÀÅ:ÀÅŒÀÅÊÀÆÀÆQÀÆXÀƪÀÆüÀÇAÀÇjÀÇzÀÇ”ÀÇ¥ÀÇ´ÀÇÃÀÇÕÀÇæÀÇøÀÈ ÀÈ(ÀÈ:ÀÈyÀȺÀȼÀÈíÀÈôÀÉ&ÀÉ=ÀÉ?ÀɈÀÉ ÀÉ¢ÀÉçÀÉýÀÉÿÀÊDÀÊZÀÊ\ÀʧÀÊÀÀÊÂÀÊÜÀÊãÀË4ÀË[ÀËsÀËuÀË�ÀË—ÀËèÀÌÀÌ(ÀÌ*ÀÌ7ÀÌ‚À̰À̲ÀÌ¿ÀÍÀÍ1ÀÍzÀÍ¿ÀÎÀÎOÀΘÀÎãÀÎèÀÎëÀÎíÀÏÀÏ^ÀÏxÀÏ�ÀϨÀÏÃÀÏÝÀÏøÀÏúÀÐÀÐ=ÀÐKÀЬÀÐÌÀÐØÀÑ5ÀÑUÀÑaÀѾÀÑÞÀÑíÀÒPÀÒpÀÒ~ÀÒßÀÒÿÀÓÀÓqÀÓ‘ÀÓ–ÀÓ˜ÀÓ¥ÀÓÍÀÔÀÔ$ÀÔVÀÔ�ÀÔ¨ÀÔÏÀÔüÀÕ'ÀÕTÀÕpÀÕxÀÕ}ÀÕÀÕŒÀÕÓÀÖÀÖNÀÖ˜ÀÖâÀ×2À×€À×ÐÀ×ÕÀרÀ×ÚÀØ1ÀØtÀØyÀØŽÀØ“ÀØàÀÙ/ÀÙ4ÀÙAÀÙoÀÙ”ÀÙ™ÀÙªÀÙåÀÙìÀÙñÀÚ&ÀÚAÀÚFÀÚcÀÚžÀÚ§ÀÚ¬ÀÚ½ÀÚéÀÛÀÛ9ÀÛXÀÛuÀÛ�ÀÛÍÀÛÝÀÛóÀÜ%ÀÜJÀÜiÀÜ ÀÜÍÀÜßÀÜïÀÜýÀÝ ÀÝÀÝÀÝ"ÀÝ3ÀÝ8ÀÝGÀÝLÀÝ�ÀÝÜÀÝïÀÞYÀÞ©ÀÞõÀß-ÀßiÀß‚Àß’ÀߣÀß½ÀßåÀßþÀàÀà.Àà@ÀàGÀàIÀàzÀà�Àà³ÀàËÀàÍÀàæÀàýÀàÿÀáNÀáƒÀáŠÀáÛÀáþÀâÀâÀâqÀâxÀâ¹ÀâàÀââÀâïÀãGÀãIÀãVÀãœÀãÈÀãýÀäÀäqÀäyÀäßÀääÀäçÀäéÀå;ÀåUÀå€Àå‚Àå�ÀåÅÀåÓÀæ4ÀæTÀæYÀæ[ÀæhÀæ„ÀæµÀæºÀæ¼ÀæÉÀæñÀçÀç-ÀçQÀç}Àç™Àç¡Àç¦Àç©Àç«ÀèÀèLÀèQÀèfÀèkÀèÂÀéÀéÀé&ÀéUÀé{Àé€Àé‘ÀéÎÀéÕÀéÚÀêÀê,Àê1ÀêQÀê~Àê‡ÀêŒÀê�ÀêÉÀêáÀëÀë8ÀëUÀë€Àë±ÀëÁÀë×Àì Àì1ÀìPÀì‡Àì´ÀìÆÀìÖÀìäÀìðÀìùÀíÀí ÀíÀíÀí.Àí3ÀípÀíÃÀîÀîJÀî‰Àî¥ÀîµÀîÆÀîàÀïÀï!Àï3ÀïQÀïcÀïjÀïlÀï�Àï¤ÀïÖÀïîÀïðÀð.Àð5Àð€Àð¸ÀðÏÀðÑÀñ#ÀñXÀñ_Àñ³ÀñÖÀñôÀñöÀòIÀòPÀò‘Àò¸ÀòºÀòÇÀó%Àó'Àó4ÀózÀó¦ÀóÛÀóðÀôOÀôWÀô½ÀôÂÀôÅÀôÇÀõÀõ9ÀõdÀõfÀõsÀõ©Àõ·ÀöÀö8Àö=Àö?ÀöLÀöhÀö™ÀöžÀö Àö­ÀöÕÀöõÀ÷À÷8À÷dÀ÷€À÷ˆÀ÷�À÷�À÷’À÷ÊÀøÀøÀøoÀø¹ÀøñÀøöÀù ÀùbÀùªÀù¯Àú ÀúÀúÀú.Àú3ÀúÀúÑÀúëÀû0Àû�ÀûÅÀüÀü'Àü7ÀüHÀücÀüuÀü“Àü¥Àü¬Àü®ÀüßÀüæÀýÀý0Àý2ÀýLÀý­ÀýÅÀýÇÀýÔÀþ,Àþ.Àþ;Àþ�Àþ­ÀþñÀþöÀþùÀþûÀÿMÀÿhÀÿ”Àÿ–Àÿ£ÀÿÙÀÿèÀKÀkÀpÀrÀÀ›ÀÎÀÓÀÕÀâÀ ÀXÀ]À`ÀbÀ±ÀøÀýÀAÀFÀ•ÀÁÀÆÀÀ8À¤À©À¾ÀÃÀÐÀýÀ!À&À7ÀpÀwÀ|À¯ÀÑÀÖÀõÀ<ÀEÀJÀ[À‡ÀŸÀ×ÀöÀÀ:ÀoÀšÀªÀÇÀñÀ À0À>ÀJÀSÀZÀcÀtÀyÀ�À’ÀÝÀ*ÀzÀÅÀÛÀàÀ 2À ‚À ÖÀ À À \À ªÀ ûÀ À À À À ]À §À öÀ BÀ �À ÚÀ À RÀ YÀ  À »À ËÀ ÜÀ øÀ À(À:ÀdÀ–À˜ÀÉÀÐÀÀÀÀ7À>À�À©ÀÂÀÄÀÀÀ1À8À€ÀËÀÀJÀpÀrÀÀÛÀÝÀêÀ0À\À•ÀšÀ�ÀŸÀõÀÀ>À@ÀMÀƒÀ“ÀøÀÀÀÀ,ÀHÀ}À‚À„À‘À¹ÀÕÀøÀ6ÀRÀZÀ_ÀbÀdÀ±ÀþÀ ÀÀ`À“À˜ÀêÀ ÀÀ$ÀkÀ¹À¾À!À2À7ÀKÀPÀ›ÀëÀ9À‰À¥ÀªÀüÀLÀŽÀÞÀéÀîÀ0À{ÀÌÀáÀæÀõÀúÀOÀ›ÀäÀ.ÀnÀ¬À³ÀúÀÀ+À=ÀYÀkÀ‰À›ÀÅÀ÷ÀùÀ*ÀCÀEÀ`ÀgÀ¸ÀÒÀëÀíÀ 9À @À ZÀ aÀ ²À ýÀ!FÀ!|À!¢À!¤À!±À!úÀ" À""À"/À"uÀ"¡À"ÚÀ"ßÀ"âÀ"äÀ#FÀ#bÀ#�À#‘À#žÀ#ÔÀ#äÀ$IÀ$iÀ$nÀ$pÀ$}À$™À$ÎÀ$ÓÀ$ÕÀ$âÀ% À%,À%OÀ%mÀ%«À%³À%¸À%»À%½À& À&[À&§À&µÀ&ºÀ'À'OÀ'nÀ'sÀ'ÅÀ'äÀ([À(`À(±À)À)XÀ)«À)ûÀ*JÀ*†À*ÉÀ+À+6À+FÀ+`À+zÀ+�À+ªÀ+ÒÀ+æÀ,À,6À,HÀ,fÀ,xÀ,ªÀ,¬À,ÝÀ,äÀ-À--À-/À-MÀ-TÀ-«À-ÅÀ-ÇÀ-ûÀ.À.RÀ.qÀ.sÀ.­À.´À/À/ À/DÀ/\À/^À/ŒÀ/“À/ãÀ0À0À0]À0dÀ0´À0»À0ôÀ1 À1À1QÀ1XÀ1 À1ÈÀ1ÊÀ1õÀ2)À2+À28À2~À2§À2©À2¶À2üÀ3(À3TÀ3®À3ÃÀ3ØÀ3íÀ4À41À4rÀ4‹À4•À4�À4øÀ5DÀ5YÀ5~À5™À5²À5àÀ5êÀ5òÀ6À6:À6YÀ6vÀ6“À6�À6¥À6ªÀ6­À6¯À7À7,À7.À7;À7qÀ7À7äÀ8À8 À8 À8À8AÀ8_À8ŠÀ8®À8ÐÀ8òÀ9À9BÀ9xÀ9”À9œÀ9¡À9¤À9¦À9ÐÀ9ÕÀ: À:À:_À:®À:üÀ;4À;9À;[À;`À;²À;ÒÀÀ>5À>YÀ>qÀ>ŒÀ>¦À>ÅÀ>åÀ? À?À?:À?LÀ?nÀ?pÀ?¡À?¨À?ÚÀ?ñÀ?óÀ@ À@À@:À@SÀ@UÀ@ŒÀ@“À@³À@ÏÀ@ÑÀAÀA&ÀAVÀA{ÀA}ÀAÊÀAâÀAéÀBÀB2ÀB4ÀBXÀBnÀBpÀB�ÀB¹ÀB»ÀBÛÀB÷ÀBùÀC-ÀCOÀCQÀC^ÀCÀÀCÂÀCÏÀDÀDAÀD~ÀDÔÀEÀEEÀE“ÀEÓÀF-ÀF2ÀF5ÀF7ÀF“ÀF¸ÀFÖÀFíÀG ÀG ÀGÀGOÀGdÀGvÀG”ÀGÍÀH ÀH/ÀHSÀHeÀHwÀH’ÀH³ÀHüÀI ÀI+ÀI9ÀI–ÀI³ÀIÇÀIÙÀIöÀJÀJ^ÀJmÀJŠÀJ�ÀJ‘ÀJžÀJÆÀJáÀJýÀK'ÀK`ÀK“ÀKäÀKøÀLXÀLtÀL|ÀL�ÀL„ÀL†ÀLÚÀM&ÀMzÀMˆÀM�ÀMÞÀN(ÀN=ÀNBÀNWÀN ÀNëÀO>ÀOCÀO®ÀO¿ÀOÄÀOÓÀOØÀP%ÀPlÀPØÀQ$ÀQvÀQ�ÀQ×ÀR)ÀRxÀR™ÀR ÀRëÀSÀS(ÀS8ÀS`ÀSqÀS‰ÀS ÀS²ÀSÐÀSâÀTÀTZÀT\ÀT�ÀT”ÀTÆÀTÞÀTàÀU(ÀUGÀUIÀU�ÀU®ÀU°ÀUõÀVÀVÀV*ÀVtÀV¡ÀV£ÀV°ÀVöÀW"ÀWwÀWÅÀXÀXÀXÀXÀXIÀXŽÀXµÀXÛÀYÀYÀYÀYEÀYWÀYiÀY„ÀY¥ÀZÀZÀZ:ÀZbÀZ~ÀZ’ÀZ·ÀZÝÀ[(À[9À[[À[bÀ[‰À[¤À[¸À[ÜÀ\À\LÀ\]À\À\†À\‹À\�À\šÀ\ÂÀ\äÀ]À]VÀ]’À]®À]¶À]»À]½À]ÊÀ^À^>À^TÀ^µÀ^½À^ÓÀ_4À_<À_RÀ_µÀ_½À_ÂÀ_Å%BoxConstraintsTweenDecorationTweenEdgeInsetsTweenEdgeInsetsGeometryTweenBorderRadiusTween BorderTween Matrix4TweenTextStyleTweenImplicitlyAnimatedWidgetImplicitlyAnimatedWidgetStateAnimatedWidgetBaseStateAnimatedContainer_AnimatedContainerStateAnimatedPadding_AnimatedPaddingState AnimatedAlign_AnimatedAlignStateAnimatedPositioned_AnimatedPositionedStateAnimatedPositionedDirectional#_AnimatedPositionedDirectionalState AnimatedScale_AnimatedScaleStateAnimatedRotation_AnimatedRotationState AnimatedSlide_AnimatedSlideStateAnimatedOpacity_AnimatedOpacityStateSliverAnimatedOpacity_SliverAnimatedOpacityStateAnimatedDefaultTextStyle_AnimatedDefaultTextStyleStateAnimatedPhysicalModel_AnimatedPhysicalModelStateAnimatedFractionallySizedBox"_AnimatedFractionallySizedBoxState&flutter.widgets.TweenVisitor.arguments�ûThe `tween` argument should contain the current tween value. This will initially be null when the state is first initialized. The `targetValue` argument should contain the value toward which the state is animating. For instance, if the state is animating its widget's opacity value, then this argument should contain the widget's current opacity value. The `constructor` argument should contain a function that takes a value (the widget's value being animated) and returns a tween beginning at that value.-