rust Çò#rustc 1.98.1 (48a229cea 2026-09-01)ÁûÊÆÍRLñ.åSÛAúwjL-df1bddb45adbe94bÁstable_deref_traitÁu9e§Íו'ÊÂBÅg3è-41871b6e7daf3e61Á±ò‰<å%Z‰>¸64‡ËV`-2d2ab9fb0fe1def5Á yoke_deriveÁbŠnÛV_ æ<è h©-11362969a557d7e0ÁzerofromÁˆÍ€u«÷q‡¤VÿH^b-07ad24c4244ca270Ázerofrom_deriveÁÔ:¦¢ÇÒ”¬”õ«ù˜èè-50f5b0ef1b7b2465ÁŠ«,ÌÓ«Œ«BoxÁÄÓ«ŒžÉòÓ«ŒÏK¡Ó«Œüa$ÃÍ$¬testsÁ, aÍ$•aerasedÁ4œÓ«Œ€€ ErasedArcCartÁlßÓ«Œ·€ ErasedBoxCartÁlîÓ«$&€ ErasedRcCartÁdýÓ«EG€øŒÓ«Œæ€ÉºÓ«Œ—€KéÓ«ŒÄ×p›Ó«Œó×ToOwnedÁ< Ó« û cartable_ptrÁ sentinel_forÁ�SENTINELÁprivateÁ SealedÁCartablePointerLikeÁRawÁinto_rawÁdrop_rawÁCloneableCartablePointerLikeÁ addref_rawÁ'aÁ�Ô�ôþ�Ô�¿!ÿ!¾ ! from_cartableÁ!is_noneÁ&ÿ&õ)ÿ)Ž,ÿ.ÿ0ÿeitherÁ22226C0Á6C1Á6�6ë6Ã;2=º =à =�2Aº Aà kinda_sorta_danglingÁDDDDDDDKindaSortaDanglingÁK�KdangleÁDN�N˜ N into_innerÁDR�RëRÃDV�VÅDY�Yõ macro_implsÁ\\\\\copy_yoke_implÁ\impl_copy_typeÁ\unsafe_complex_yoke_implÁ\dÔd�d'bÁd´\iÔiT1ÁiÍ iT2ÁiÍ i´\pÔp�pÍ pŠp p´v utilsÁxxtransform_mut_yokeableÁzÔz•z‚zŽzÍ yokeÁ€€€€€€€€€€ € €YokeÁŒ•ŒÔŒÿŒyokeableÁŒcartÁ€’•’Ô’ÿ’Ô’ñ€˜•˜ÿ˜Ô˜Ô˜ñ€ž•žÿžÔžÔž•€¤•¤ÿ¤Ô¤Ô€©•©ÿ©Ô©Ô©¤ €¯•¯ÿ¯Ô¯Ô¯–€µ•µÔµÿµattach_to_cartÁ¹‚¹'deÁµtry_attach_to_cartÁ¼�¼‚¼Òµattach_to_cart_badlyÁÀÒµtry_attach_to_cart_badlyÁÂ�ÂҀŕÅÔÅÿÅgetÁÉÔÅ backing_cartÁÅinto_backing_cartÁÅ replace_cartÁÍC2ÁÍimpl FnOnce(C) -> C2ÁÅwith_mutÁÐÔЂÐÍ Åwith_mut_returnÁÔÔÔ‚ÔŽÔÍ Åwrap_cart_in_optionÁ€Ú•ÚÔÚnew_always_ownedÁÚ into_yokeableÁ€ ß•ßÔßÿß new_ownedÁßtry_into_yokeableÁ€ å•åÔåÿå convert_cart_into_option_pointerÁ€ ê•êÔêÿêä€ CloneableCartÁ€ ð�€ òÔò�€€ö•öÔöÿöÔöŽ€ü•üÔüÿü map_projectÁ€Œ€‚€Ô€Ôümap_project_clonedÁ…'thisÁ…Œ…‚…Ô…Ôütry_map_projectÁ‹Œ‹‚‹�‹Ô‹Ôütry_map_project_clonedÁ‘º‘Œ‘‚‘�‘Ô‘Ôü!map_project_with_explicit_captureÁ˜Œ˜�˜Ô˜Ôü(map_project_cloned_with_explicit_captureÁ�º�Œ���Ô�Ôü%try_map_project_with_explicit_captureÁ£Œ£�£�£Ô£Ôü,try_map_project_cloned_with_explicit_captureÁ©º©Œ©�©�©Ô©Ô€°•°Ô°ÿ° map_with_cartÁ´Œ´‚´Ô´Ô°map_with_cart_clonedÁ¹º¹Œ¹‚¹Ô¹Ô°try_map_with_cartÁ¿Œ¿‚¿�¿Ô¿Ô°try_map_with_cart_clonedÁźŌłÅ�ÅÔÅԀ̕ÌÔÌÿÌwrap_cart_in_either_aÁÐþÌwrap_cart_in_either_bÁÒý€€€õ××YokeableÁÙÔÙ´Ù transformÁÙtransform_ownedÁÙmakeÁÙ transform_mutÁß‚ßÍ ×âÔâ�â´â� â® âÅ âÑ é‚éÍ ×ìÔì�ì´ì� ì® ìÅ ìÑ ó‚óÍ  zero_fromÁööööööü•üÿüÔüÔüattach_to_zero_copy_cartÁ� CartableOptionPointerÁ‰ÿ‰innerÁ‰ _cartableÁ �ÿ�ñ2 EitherCartÁ�º �à �ý“ “ó�þ– –ó2™º ™à ™Ž2�º �à 2 º  à  •2¤º ¤à ¤Ý2¨º ¨à ¨ñ\¬Ô¬´¬� ¬® ¬Å ¬Ñ ²‚²Í \µÔµ´µ� µ® µÅ µÑ »‚»Í \¾Ô¾´¾� ¾® ¾Å ¾Ñ Ä‚ÄÍ \ÇÔÇ´Ç� Ç® ÇÅ ÇÑ Í‚ÍÍ \ÐÔдÐ� Ю ÐÅ ÐÑ Ö‚ÖÍ \ÙÔÙ´Ù� Ù® ÙÅ ÙÑ ß‚ßÍ \ âÔâ´â� â® âÅ âÑ è‚èÍ \ ëÔë´ë� ë® ëÅ ëÑ ñ‚ñÍ \ ôÔô´ô� ô® ôÅ ôÑ ú‚úÍ \ ýÔý´ý� ý® ýÅ ýÑ ƒ‚ƒÍ \ †Ô†´†� †® †Å †Ñ Œ‚ŒÍ \�Ô�´�� �® �Å �Ñ •‚•Í \˜Ô˜´˜� ˜® ˜Å ˜Ñ ž‚žÍ \¡Ô¡´¡� ¡® ¡Å ¡Ñ §‚§Í \ªÔª´ª� ª® ªÅ ªÑ °‚°Í d� d® dÅ dÑ ¶‚¶Í i� i® iÅ iÑ ¼‚¼Í p� p® pÅ pÑ Â‚ÂÍ �8�8�8%8(8+8œ8£8£8§8«8«8«8;8U8X8[8¯8¸8Á8Ê8Ó8Ü8å8î8÷8€8‰8’8›8¤8­8—8—8—8�8�8�8£8£8®8®8´8´8Ë8û8 ïÙ  Ô��2�2Ÿg‰‰š#‹¿#ŒÌ#5ÀõÑmµÆmÿ€#§2…§2ï§2ýƧ2ÿ §2…�“”ý•ó–—þ˜óᬡoh(aº à �ÇŸ3÷±Ÿ3Ÿ3ÌŸ3ŸgŸ3Ü"Ÿ3Ÿ3ïŸ3Ü"KKà Mã DóÔæU•ÃÂó�é"Ä4€#Ä4ÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙřǙș­É™Ê™àË™óG*¤�R{9 ‡2ÔÙè ø ÔÙ‡2ŠÔŸgŒŒÑ�õ€‘…€Âer>8OWg•ÿ¤g‚8÷±‚8‚8Ì‚8¯²‚8‚8í‚8ïřǙș­É™Ê™àË™óG*¤�R{9 î4ï�2ï�5…‚8Ù ‡2ÔÙ„!„!…! PhantomDataÁo$z�é -‡2Ô   �‰¨�’Œ&‰YK)‰™�öŒ,‰A�ðÅ™ò õ .‰0‰�� �žŒ¤�¤Œ6�RK=�VK¬ µ¾ÇÐÙâëôý†�˜¡ªdÅ™i pâ ì„!˜Œ©Œ¯Œ ›Ÿg€#… ïýÆÿ �Ç÷±ÌÜ" é"Ù¤gc¯²íDÐ   Ÿ5$1uìKb ®®«°¿ ”3¯f*²Û�î4 ó ô ü‘ ãýäH¦bÃî4ü¹ 7ý¬*ñƒÇ9Qî$ƒùRƒâ[Á°ùRêä4�>T©  Ÿ5¬Ð Ü=Þ=  ü¯éQˆ%ƒmïVb ïVbÅåVb ®®«°¿ ”3¯f*²Û�‡2 üVbñ ü¶ ;ý¥ç0”Æ ‡2š@4å ýØ—;b³‡2mÂç”ýþU‡bŇ2¥ù—bš@TË ÿ@$  ‡2éŠí!ü„!i�5¬!š@D—!_pointerÁ5ˆ$ ü�#k�5Ç#š@D²#²A - °’L ®®«°¿ ”3¯f*²Û�ß2U ŸgÈ®L „!„!…!—9o$z�é -ß2LX…D(ÝI² ÛgÆ (Õ Eé  E³¸VáI âI��ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw�5ĤĤŤErrorÁ Ñâó:½ÖàM §2# €g€gŠ‚gê ûcƒgbufÁûcØ«q¢1È¡j…DK ÀCV…Dï  µDýˆH¥œ³¾óG…D£†H…D<ŠEØ ĤN²¹²Ü=Òà° ÀC€eküŠNa ‰ß2µD êNñN#üãMŽÀîCÅÇÃîCÃÂǽ¹Á°´§2$ûMÀC ¹?µÜ=¹Þ=Á|Þ?°,„PœŒPß ß2DŒPT•PüäPG ‰ß2µD °Q±Q$ üÅOìü€P±ù �‰]ù ìŸ]äîCÄÁPíÃîCéèÇãßÁ°Úý±‰Rb îC¹ ¾]ýÖ|ûbÏîCEã‰bÏîCEõ‰b§2$ñOß2DáOÀCBóGA ‘]óGI ›]±š²š³š~´šµšNeÁ¶š·šMatchÁ¨±vXç]! ð]cartableÁ�¿#Óleft_valÁ� right_valÁ¦¦V�·K Ê[ÀCÀCù ›]]Þ?íIJS/ 6 / Ü=O ] -  ÀCýekmÞ‰b%Þ‰b ÀCý¥$b  îC ê‰buï‰b( ‚QýÞ‰b ü‰b  ÏSÐS%üüRT— îCŸ ÃîC› š Ç• ‘ Á°Œ ² îCü¤S&­ÏîC©ÀÏîC§ $•S™G,‹SÀC¨¹?Ï Ü=Ó Þ=Û ‚QWÀCU‚Q$CâÞ?î ÕTTÛTÀCüòTÄùTT M Ü=m { K  ÀCW]u�M_     ‚Qó   ‚Qñ  í ô }€M_ ŽM_ Ù �UĈW  ; I    ÀC> D üûV%ÀC ŸW„ýW†  ß2‰X"—üïTª ˜X žXŸX(ü´TëüÑTÎi îCÌq ÃîCm l Çg c Á°^ ýÔLA_ú±ÀCÀC"� îCM†M_™ÏîC•¬ÏîC“ îC~  ÃîC    Ç  ü  Á°÷  �5ÆT §2L¼TÀCÜÈÀCÇÀCè¹? Ü=Þ='‹‚Qª‚Qo¹?J Þ=N ií I‚ÞVéÞ?\ Þ?b ³YT¹YÀCüÐYÄ×Y ÈÏÈÜ=è ö Æ ÀC–e k‚   ‚  ‚Qs ˜  ‚Qq  m t € ~ á îY”ß[œ ß2í["1üÍY° ü[T \ÀCü†\S ‰ß2 µD Ø\ Þ\ß\+ ü�YÒü¯Y°ÄîC³ÌÃîCÈÇǾÁ°¹[ú±ÀCÀCõ îCXïÏîCë ÏîCé §2$ Y™G,–YÀCv�5:jÀCiÀC=¹?1Ü=5Þ==¡‚QÀ‚Q…aí Û-ô\ÙÞ?b( Ñ # Ë þí3 (× †í3?G À ýç3 (# †ç3?G �ç3í3 Õ  õ �ç3í339A Ö œ9?FŸ3S Ÿ3^Ï6f ç3ûç3 í3Yí3a•__self_0Á5ób�À¯a ûaZ H Ø  %+<KXi͇’úÏ6± À   ýç3  & ýç3ååž_^ ù±ç3ç3 -óž_ 5úž_42> §Ï6^  Ë   þí3  & þí3® ù±í3í3 ª ¦Ö à   á ! ' /7 = E#£39@GNý¶žU_¿í3í3¿ç3ç3Ì�ªc—ªcŸÏ6§Ï6¯¶Ï6¾Ï6ÆÏ6νc½c$Ïc~Ïc†õüî  __self_discrÁ. __arg1_discrÁFób˜ __arg1_0Á¬ ób  Šj ‡àg˜¶fž å § ã �5ªc!*4( ç # Ë þí3 & , 8 …DtÏ çgŠã E—r¤ À ýç3 &,8…DóN§m^ Eo  ë  % +3 ì «u{‚ ”F�ªc—¤GŸÏ6§½c…D ½cÏc …D¨ Ïc³çœõóbZóbåÿo…Dú§m*äo…D‰§m8$§T¡$ Ûþí3Láí Þ"í3 á<ã ¼ýç3LÂ8 Þ"ç3 Â<Ä Ê  é û;ü敌ºŒÙ �ùªc,ïÏ6$º½cÁÏc#—ߘ5rÅq&�rá Äœµá}|͇5}…Ñ~ ƒ®î4ýñ41} ï­î4 ¡5}ýÌ}-| ý­î4 ø}|üóL Kî4 ¾ÅPü¾‡ý—}h|ýî4Íý¹4o}Æî4Ùýˆ_~ìî4åÄ4$äî44Öý­ý­ MaybeUninitÁÿ­uninitÁ瀮�çÙW£Ÿì·œî4aï­ï­ ManuallyDropÁñ­�¶„Ÿ~ Á$î4žƒ®ƒ®„® MaybeDanglingÁ†®óå @æè_fòÙùÅî4àã óS4­0 8„œ ýî46[ ³é Kî4çæàPïÄ4®î4­þu¾î4ªã Ç(4ÑàÞ ƒ®Ä4Ü ï­Ä4Ùý¼ú#|R Éî4míú|…Ó¾|%Ó¾|ƒ®ƒ®„®«v†®óå @æè_fòÙùÅÄ4Ä4þuåÓ¾| î4 î¾|ýºÙ%‹  €û| áâQ üØŠüÍ•TÆÄ4¼ÚRìÄ44ý˜U9}ÏÄ4lºýì8~íÄ4EÃU}ýÏøÂ|„î4”Èý½½¸|�î4Eòú|ýçû³œªî45ûú|ý‚Çå‹„î4Uˆýœî4 úÄ4$ñï­ï­áuñ­�¶„Ÿ~ Á$Ä4Dêz$�5 º{î þuîfmanualÁƒd²zLýš™#|R²zmÍ™|TQþuº{ }Ë™| Ù™|¥UüÀåý¿—«|†î4ŒŒ¡�î4EÒ™| î4Ó Ä4,É�5غ{Á¹~!w²zý¯»#|R²z�æ»|uºË|%ºË|þuźË| î4 ÑË|½à»| ö»|æXüñõý̹»|‡î4ŒÍýžÊº|‚î4eë»| î44Œ Ä4Lþ�5ìâ�Ö þuÕ#~²zħ þuÿâ�úm®º‹ Ťº‹R Õî47$ »º‹ Î à [ü®²‚î4d³ ý•ÀÔŒ�î4|À ý¬µ”‹Óî4�ÎÁŒ�5Àê‚L¶�5ü§ (â�…ƒÞ‚ñ/›’„ó ý‹¯øÊA �5hᯆ(× 3ë°ø¦E�5`Â�5 ¹ R�55ͱø†G�5 ¬�5 •thisÁR�5:8ó  R Ž#‚ �5óBJù„²øèœ�5�ˈ`üÈŠɈ�œ!Q½ˆÇ ý‹¸øÊAÞ=háÞ=(× / Ýë¹ø¦EŸ5`Ÿ5 ¹ / ¿Íºø†GŸ5 ¬Ÿ5 •õ†18ó  R Ž#È Ÿ5ó@Hù„»øèœ�5�ÀŒ`üÈŠ¾Œ›œ!Q´ŒÅ ý‹ÁøÊA ¯5há�Ž(× 3 ÝëÂø¦E¯5`¯5 ¹ / ¿ÍÃø†G¯5 ¬¯5 •õ†18ó  R Ž#È ¯5ó@Hù„Äøèœ�5�¹�`üÈŠ·�›œ!Q­�Å ý‹ÊøÊA ¿5hቒ(× 3 ÝëËø¦E¿5`¿5 ¹ / ¿ÍÌø†G¿5 ¬¿5 •õ†18ó  R Ž#È ¿5ó@Hù„Íøèœ�5�²”`üÈŠ°”›œ!Q¦”Å ý‹ÓøÊA Ï5há‚–(× 3 ÝëÔø¦EÏ5`ÂÏ5 ¹ / ¿ÍÕø†GÏ5 ¬Ï5 •õ†18ó  R Ž#È Ï5ó@Hù„Öøèœ�5�«˜`üÈŠ©˜›œ!QŸ˜Å ý‹ÜøÊA ß5háû™(× 3 ÝëÝø¦Eß5`Âß5 ¹ / ¿ÍÞø†Gß5 ¬ß5 •õ†18ó  R Ž#È ß5ó@Hù„ßøèœ�5�¤œ`üÈŠ¢œ›œ!Q˜œÅ ý‹åøÊA ï5háô�(× 3 Ýëæø¦Eï5`Âï5 ¹ / ¿Íçø†Gï5 ¬ï5 •õ†18ó  R Ž#È ï5ó@Hù„èøèœ�5�� `üÈŠ› ›œ!Q‘ Å ý‹îøÊA ÿ5háí¡(× 3 Ýëïø¦Eÿ5`Âÿ5 ¹ / ¿Íðø†Gÿ5 ¬ÿ5 •õ†18ó  R Ž#È ÿ5ó@Hù„ñøèœ�5�–¤`üÈŠ”¤›œ!QФÅ ý‹÷øÊA �6háæ¥(× 3 Ýëøø¦E�6`Â�6 ¹ / ¿Íùø†G�6 ¬�6 •õ†18ó  R Ž#È �6ó@Hù„úøèœ�5��¨`üÈŠ�¨›œ!Qƒ¨Å !ý!‹€ø!ÊA Ÿ6h!áß©(!× 3 !Ý!ë�ø!¦EŸ6`!Ÿ6 !¹ / !¿!Í‚ø!†GŸ6 !¬Ÿ6 !•õ†18!ó  R Ž#È Ÿ6!ó@H!ù!„ƒø!èœ�5!�ˆ¬`!üÈ!І¬›œ!Qü«Å #ý#‹‰ø#ÊA ¯6h#áØ­(#× 3 #Ý#ëŠø#¦E¯6`#¯6 #¹ / #¿#Í‹ø#†G¯6 #¬¯6 #•õ†18#ó  R Ž#È ¯6#ó@H#ù#„Œø#èœ�5#��°`#üÈ#Šÿ¯›œ!Qõ¯Å %ý%‹’ø%ÊA ¿6h%áѱ(%× 3 %Ý%ë“ø%¦E¿6`%¿6 %¹ / %¿%Í”ø%†G¿6 %¬¿6 %•õ†18%ó  R Ž#È ¿6%ó@H%ù%„•ø%èœ�5%�ú³`%üÈ%Šø³›œ!Qî³Å 'ý'‹›ø'ÊA Ï6h'áʵ('× 3 'Ý'ëœø'¦EÏ6`'ÂÏ6 '¹ / '¿'Í�ø'†GÏ6 '¬Ï6 '•õ†18'ó  R Ž#È Ï6'ó@H'ù'„žø'èœ�5'�ó·`'üÈ'Šñ·›œ!Qç·Å )ý)‹¤ø)ÊA h)áù()× 2 )Ý)ë¥ø)¦E`) )¹ - )¿)ͦø)†G )¬ )•õ†/8)ó  R Ž#È )ó?G)ù)„§ø)èœ�5)�ç»`)üÈ)Šå»šœ!QÛ»Ä +ý+‹­ø+ÊA h+á¶½(+× 2 +Ý+ë®ø+¦E`+ +¹ - +¿+ͯø+†G +¬ +•õ†/8+ó  R Ž#È +ó?G+ù+„°ø+èœ�5+�Ú¿`+üÈ+ŠØ¿šœ!QοÄø,Ñ,˜,Ò ,Ò" řǙș­É™Ê™àË™óG*¤�R{9 Û‡2ø,Ï.,ˆ ,‰³ø,±Ø ¨Á€,Ë ý6@,¾§Áá ý6àH°,Þ(,ßMÉœ§Á,ûð#,ä´ø,“Ñø,¿›ø,�Mý˜@œ€ý6¨Á0,õW'Æý6¸,•V'ìý68(‡#„¨Áp,¾¨Á`,¯ý6 ,¦§Á,ÃßÂóí !¼ý6,ãà,ü(,üø,ü+ßÂ,§%,¶µø,îÈø,òÄø,µ�ýøj•٨ÁÈ,µÙý6ˆ,Ò‘(ƨÁ¸,½‘(ì¨Át)Ã$„ý6p,œý6 ,”¨Á ,ýßÂä§Á”í ,öÑý˜p •§¨Áï5§ý6ï5 ¸[É/‡T]¨Á,µ ø,Ë- ”ÎDÎüÍ& ¨ÁüÇ3 ü$‚ R Ž#‚ ¨Á ‚AI …©¯,‚¶ø,ÀÂüè zý6—É�5ìü¶RýØ>Œç¨Á¨Á4ô�5,ç ý6`,Ô—É,âŸÉÐÈ" ý6B�É<œ>³‘É3—É ‡ø1Ñ,˜1Ò 1Ò" ÛÔ7ÛÙ7ø1Ï.1ˆ 1‰¹ø1±Ø äË€1Ë Ò7@1¾ã˪ Ò7©H°1Þ(1ßãË1ûò(1äºø1“Ñø1¿›ø1�M€Ò7äË01õU,ÆÒ7¸1•T,ìÒ76-…(„äËp1¾äË`1¯Ò7 1¦ãË1ÃäÌìí !¸Ò71ãà1ü(1üø1ü+äÌ1§*1¶»ø1îÈø1òÄø1µ�þÙäËÈ1µÙÒ7ˆ1Ò‹-Æä˸1½‹-ìäËn.½)„Ò7p1œÒ7 1”äË 1ýäÌàãËÿ”í 1öÌù§äËï5 §Ò7ï5ÿÇÉ4‡T]äË1µ ø1Ë- ôóò äËðîíô R Ž#‚ äËî.71‚¼ø1ÀÂîzÒ7…Ó�5ãëéçäËäËå�51ç Ò7`1Ô…Ó1â�ÓéÀÒ Ò7&‹Óì<œ>©ÿÒ…Óäø6Ñ,˜6Ò 6Ò" íÁŠø6Ï.6ˆ 6‰¿ø6±Ø ÇÕ€6Ë ì7@6¾ÆÕ™ ì7˜H°6Þ(6ß× ÆÕ6ûÄ-6äÀø6“Ñø6¿›ø6�MÔ €ì7ÇÕ06õ'1Æì7¸6•&1ìì72W-„ÇÕp6¾ÇÕ`6¯ì7 6¦ÆÕ6öÖìí !¸ì76ãà6ü(6üø6ü+¶Ö6§è.6¶Áø6îÈø6òÄø6µ�Ð ÙÇÕÈ6µå Ùì7ˆ6Ò]2ÆÇÕ¸6½]2ìÇÕ@3�.„ì7p6œì7 6”ÇÕ 6ý¶ÖàÆÕÿ”í 6öÌË §ÇÕï5Ü §ì7ï5ÿÇÉ9‡T]ÇÕ6µ ø6Ë- Æ Å Ä  ÇÕ À ¿ Æ  Ö R Ž#…Ó ÇÕ¾ þ  ¿ ¡§6‚Âø6À¾ zì7…Ó�5á» ¹ çÇÕÇÕµ �56ç ì7`6Ô…Ó6âÝܹ ’ÜÖ  ì7ö Ûܼ <œ>©ÑÜç …Ó´ = < ;  Û•E C B I  Y R Ž#—É ŠßA � Š B ˆz)   çŠßŠß Ž ¸ ’ßDš—É ¯àß ‰ß-  ’ßN Þß õ<œ?¯ ºà ÔßN —É üè%qüè%A´è%R ×g è%R E4÷%¤ê%FTž&Ì�r Ñ1R ɼ8 ì1 ¨&œÅ&  Tàt Â8!  …DßR ´dîR E4½& _ü·&" Ø& üè%‡R »dADç& ô& õ& »r …DŽRºã˜R ET’&ZìŒ&3 V5S5KKà Mã DóÔæU•ÃÂó¼8ý­ý­Šuÿ­Ÿu瀮�çÙW£Ÿì·œ¼85  ¼8|5p3  m3 R ܼ8 l�r\«r—ü™%Üü×qeɼ8Â8,£&®3U¼8w·3†¼8²3S5�¼8²3üµt;˼8Â8tÊ&”FŒÌ% ‚8, %¤G §% ¨d¨d DebugStructÁ«dñ�d¬dÇ �d­d has_fieldsÁ�d»1âî¦9èϰžè°žè° è¹…Dn Û¼8ƒ…DD Â8O ¼8“�5b5¶æM5 éå¢7íœñ‡ýá<¨é…DòºãUÅé…D»ºãn„äPåæ Ùâ×5Tó($ô5RÙâ 6 †)‡)SüÛ(&R ¥gªéd ÿ(*=6Ž8‹8»åéåQ8¶æM8A6>6çRåæÊÉ�üŒ({Çɼ8Â8,ø(s6U¼8<|6†¼8w68�¼8w6”FŒ¿(‰è,“(¤G š(¨énÐé“�5b7¶æM7ìé 9@œD½¶ësåæßÙâ­7T¹*úÊ7RÙâà7\Ç*. þ7RÙâ 8ü7M:J:»åéå:¶æ :8ý7¦R忉ˆ¿ §2 R ù±ªéªéÆ2Ï2§2­8 þ: û: »åéåÁ:  ¶æ½: ±8  ®8 WRåæ :9 ×*Ø*£ üŒ*LPɼ8Â8,¾*ü8U¼8Å9†¼89¡:�¼89žÉ¼8Â8,Í*J9U¼8S9†¼8N9ï:�¼8N94¿ªéªé̹* $ª*‰è,’*‰è,™*¨é‹¨é`Ðé��5^:¶æI:ìéœ<Ðé²�5�:¶æl:ìé¿<mî pSåæøÙâÆ:åæ ÙâÔ: ð§2Tž-( ø:RÙâ; Æ-Ç-]\µ-u  E;RÙâ [;C;Ð<Ú<»åéå+=¶æ?=G;D;í RåæÐÏ  üž-#R ±²ªéªéÑÄ©-ö; Ð< Ú< »åéå+=  ¶æ?= ú;  ÷;   Råæ ƒ‚® üÑ,v€É¼8Â8,£-,<U¼8õ 5<†¼80<Ñ=�¼80<Îɼ8Â8,»-z<U¼8C ƒ<†¼8~<ÿ=�¼8~< řǙș­É™Ê™àË™óG*¤�R{9 �²‚²ƒ²LessÁ„²…²†²‡²ˆ²‰²GreaterÁв%ÑÓ¡yûÜø,‰è,à,‰è,ç,¨é¨éÓÐéI �5>¶æ>ìéÐ<Ðél �5;>¶æ&>ìéÐ<mî pÝéöšåæ¹ Ùâ‡>åæÇ Ùâ•>Tý.â ²>RÙâÈ> �/ž/ \Œ//  ü>RÙâ ü>ý>Ð<Ú<»åéå+=¶æ?=?þ>§ RåæŠ ‰ À  Üý.R îªéË„ˆ/? Ð< Ú< »åéå+=  ¶æ?= R?  c? TRåæ 7 6 ´ üÀ.^4 ɼ8Â8,‚/?U¼8©ˆ?†¼8›?ÿ=�¼8®?‚ ɼ8Â8,’/?U¼8÷ˆ?†¼8›?ÿ=�¼8®? ùùœß.‰è,Ç.‰è,Î.¨ém¨é)ÐéY�5ü>¶æ?ìéÐ<Ðé|�5ü>¶æ?ìéÐ<mî p9¢þðåæÉÙâü>åæ×Ùâü>d×V æV R|æVdèV$èVR Þ"Â8-<íV óVU b RxR Ž#—É Ý"Â8È¥® ôV õVüœWäüÑY  ¬ÚYR Þ¼8dâY &o9 w9 €9‰9 ƒ®¼8 ¤9 ï­¼8À9É9 ý­¼8 æ9 ï9 K¼8 : ÿY $ŽZ  üÿVž Œ¼8Â8 œZ  ¢Z£Zü¡R‚ar ¹6üÓVÐ":P¼8�+:ý¼8o9?:Ƽ8w9T:ì¼8€9‚8$ÌRÂ8$ºR—É ÃRªéé—ÉêêƒËìƒÌÅéÍ»å¼8Â8XJéåo9ï­ï­áuñ­�¶„Ÿ~ Á$¼8w9ƒ®ƒ®„®«v†®óå @æè_fòÙùż8€9…ãœæ deserializedÁÞ°ŽƒºàƒÉÈ„òÂ8ô—É* €<Ú^|Ú^ Ú^R0dÜ^$Ü^RŽƒ( <á^ ç^~ ‹R¡R Ž#…ÓêƒµÂ Ë è^ç%ηUÈ· Ro9 w9 €9‰9 ƒ®¼8 ¤9 ï­¼8À9É9  ý­¼8æ9 ï9 K¼8:  ÷a $†bü÷^ž Œ¼8Â8  ”b üô^¢ Àœ‚8� •b  ›bœbüä\¸|� ”¸ €ÑŽ5­¸  Àœ¸Ä¬©^—¯fÑŽÕš¸ ÊüÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òwö�ÑŽªé ³¸ U<é^=é^  [ª�„‹E¿»  u¹» RÏ6#  Ú»   €ÑŽ•à» Àœ‚8ÑŽ ñ» À ê^ ä· ¯ªéÅê· Êüª�ªé �¸•@„Ú^ mªé�– ü”_ä üÉa  ¬ÒaRÈ„ dÚa ¼ÇüÇ^ÕºÁÈ‘ý�·Ä×`ªéÑŽRýá·!ý�¸$ý캗Ü`‚8ÑŽÑŽ‰åÖ»  ýÑé$” ÉÑŽmä» ":P¼8ó+: ý¼8o9 ?: Ƽ8w9 T:ì¼8€9ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw‚8ÑŽ|–]Â8$„]…Ó �]ÊüÍüÎümÏüóÐüÑü[Òüó}µŒOƒDê^ª�ªéÄÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwªéÑŽ…Óêƒ)ìƒüÅéýª�èªé³‚8™»å™¼8—Â8Æ¥Ï6-á·ªéIÑŽ%ª� Ï65Ö» ÑŽì  éåo9 èˆw9 ¡‰€9…†œŠýˆdË^ Æ ª Žx ÜŽƒðû‹-È„ZÂ8"Â8(ªé/…Ó~ìædR ¹¼8Â8 îƒÛ¼8Bÿ$ûd �eO‰eÀüÍc¼‚8$×dÂ8$òcÄ› ƒd…œE¸›¶üôg!R ¼¼8Â8ÑŽÉ›ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwӛюBÿ$�h “h“›hÂü¾fÝÆ–|ÚgÂ8$êfŒ� ûf…œFüœû1ü>RÙâü>M¼r?Ð<Ú<»åéå+=¶æ?=R?c?»Råæž�É“?U¼8øˆ?†¼8›?ÿ=�¼8®?¨éüóq‰èDæqÐé>�5ü>¶æ?ìéÐ<.åæwÙâü>CÂ8ðtË ÅéÓt‰è,Ét 9LÐ�Â8 Þ�»åß�Ìü¢�=Â8 Ä�‚8$»� /»åb Dø�l•Ž »å€9 ‰9 ƒ®»å¤9 ï­»å À9 ¢Ž$±Žd¸ŽLºŽ Â8" 1R Ž#ÞÂ8 ¸ŽX` ÃŽ üŸ’"D¸’   íž;} �ž;}    :1  »å º;} I=  Á;} À’ üÎŽ� Œ¼8Ô Ý’ ã’ ä’Í ü��Çüô�ðü­Ž·?:Æ»åüƒŽ T:ì»å€9ý¨9¢}Ç»å%Ê1€ï­ï­áuñ­�¶„Ÿ~ Á$»å»å]°;}>ª»å5¼;}6>„»åJ> ŒŒÑ�õ€‘…€Âer>8OWg¼8¨¦\Þ�‚8$¼�é¤ Â�Чí»åí¨¦‘螺Â8�»å.Ч-ƒ®ƒ®„®«v†®óå @æè_fòÙùÅ»å€9ã¥` Чb¨œªõ™…7ûã¤B¨¦0é¤7Â8=ô–¨ @RÙâ @ ´¨»¨+@5@?@»åéåS@ ¼8g@q@ƒ@‘R ß¼8…Ól–¨ ²¨„¤¨Ðü‰§²Ÿ@X¼8è¨@‡¼8»@À@‚¼8Ó@�5³§ ‚8d §…Ó ®§�59 ¼8D�5 @ö«+@ éå5@FœH°¥¬‹…Ó º¨Ùâ @ @RÙâ @ 5@?@»åéåS@ö«g@ü»­5 g3f3e3 ªéc3a3`3 g3 w3R Ž#…Ó ªé_3 Ÿ3¨3`3 ¡§ö­Ôü†¬ðŸ@X¼8tÞ­¨@‡¼8»@À@‚¼8Ó@˜3z¼8…ÓŽ™3—3çªéªé“3 ›± ¾¬§­d§¬…Ó µ¬�5 @ö«+@ã­5@þ¯°4³¯Í4ö«ì4ü¯²4UœWþ…Ó õ­Ùâ @ò¯í4…Óº3¼ž°R ͼ8Â8řǙș­É™Ê™àË™óG*¤�R{9 Â8 Ê™Â8$ž°RÓ³$°°”£°½°ÙüܮጌÑ�õ€‘…€Âer>8OWg¼8‹³”€¯‚8$÷® nÿ² ü¡¹!o9w9€9‰9 ƒ®¼8¤9 ï­¼8À9É9 ý­¼8æ9ï9 K¼8:üÙ·Š Œ¼8�5R�5 â¹é¹Ýü¢·Ç":P¼8ô+:ý¼8o9?:Ƽ8w9T:ì¼8€9ŒŒÑ�õ€‘…€Âer>8OWg¼8�5$Ê·¼8Dº·»åˆéåo9èˆw9¡‰€9õ1ÛlÖ¼ »åX<€9‰9 ƒ®»å¤9 ï­»åÀ9¢<RÙâ¢< Æ<Ð<Ú<ש»åéå+=¶æ?=I= \=f= ï¼ö¼Þ ü»»»€=Q¼8d伉=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï=í»åà=ç=„¼8ú=ÿ=�¼8>>ª¼8.>6> „¼8J> ¼8 ٻͷ$л»å×ЧX<ש€9�5¢<¶æÆ<ìéÐ<AÙâ¢<üŠÇ!o9w9€9‰9 ƒ®¼8¤9 ï­¼8À9É9 ý­¼8æ9ï9 K¼8:$¿Ç  Å™Â8ü›Æ³ Œ¼8‹³ ÍÇ ÔÇãüåÅï":P¼8+:ý¼8o9?:Ƽ8w9T:ì¼8€9£´$ŒÆ¼8DüÅ»ål‹³Þéåo9èˆw9¡‰€9õ9¨²D¢Ç Î Ö¼ŠÇ P¼87ù ªÇqx Å™Â8p Œ¼8‹³lskcãs£´%¼8#»å�¼8Ü‹³õG·LîÊ‹³|èÊ*Ô³Ël³Ë »åX<€9‰9 ƒ®»å¤9 ï­»åÀ9¢<RÙâ¢<$•Ë L‘Ë Àœ¼8£´ ™Ë ßË Æ< Ð< Ú< ש»åéå+=  ¶æ?= I=  \= f= ÌËô°Ë Àœ¼8£´ ÍË ÞË‹³ä üŸÉÀ€=Q¼8dÁˉ=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï=í»åà=ç=„¼8ú=ÿ=�¼8>>ª¼8.>6> „¼8J> ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¼8£´|ÁÉ£´$¸ÉÏ6<†Ë£´9¼8Ë»åËЧX<ש€9�5¢<¶æÆ<ìéÐ<\‹‹³³‹³ºÙâ¢<L–Ú‹³|�Ú*l÷Ý »åìœÞà#à# à# B B RÜ=B B   ®®«°¿ ”3¯f*²Û�Â8¾ à# à# Q$ ‰Â8R„!„!…!—9o$z�é -Â8u$üöÜÒ Œ¼8‰‰š#‹¿#ŒÌ#5ÀõÑmµÆmÂ8 ÇÞ $³Ú ‹³àÂ8l‚Ü »åü§Ü* % *%R Â8B% L%ÙÞ ßÜü³Ù¦S% ‰Â8 RÖËw% ü¼Ú¤ Œ¼8œÌlrx€é}ü®Ú²�$#Â8§Ø˜Ëà#áØËóùÇ Á°#‘%$Â8Nš%¤%°% ؘËÉ%á ØËó ù Ç   Á°# &  ˜Ë&&ϘË-&&ϘËB& ŒŒÑ�õ€‘…€Âer>8OWg¼8œÌüäÙ!£´$ÛÙÏ6T®ÚÂ8�»åuœÌd»å9œÌ(êÊà#¹?>Ü=BÞ=BêÊ %l…õe»å"»åŠÞ?dÖÍ*% Ê[êÊêÊG'Þ?dœÜá]']']' BBRÜ=B B  êʾ]' ]'Î' Ø' Ø' œÌêÊó'  ˜Ë( ( ó'  èÔ)( =( =( M(úÔ�âl�â »åX<  €9 ‰9  ƒ®»å¤9 ï­»åÀ9 ¢<RÙâ¢<$¾â Lºâ Àœ¼8¨Ñ Ââ Ìâ ÒâÓâ Æ<Ð<Ú< ש»åéå+=¶æ?=I=\=f=  šâôþá Àœ¼8¨Ñ ›â¯¬œÌîü�á¶g(%Â8LæáؘË]'áØËóùÇ Á°#& ˜ËÂ(&ϘË-&&ϘËB&€=Q¼8d�â‰=  ?: Æ»å¡= T: ì»å€9 ¹= Ï»åÊ= Ï= í»åà= ç= „¼8ú= ÿ=�¼8>>ª¼8.>6>„¼8J>ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¼8¨Ñ|¿á¨Ñ$¶áf¼8e»åe¨ÑíêÊ]'¹?>Ü=BÞ=BèÔÎ'êÊØ'èÔ(ЧX< ש€9 �5¢<¶æÆ<ìéÐ<•[œÌ,œÌ3»å:Þ?dÙâ¢<$¾õTÅõ¶=ü>RÙâ ü> ×õüþõôÄË÷lÔ÷RÈ„$Ü÷ o9 w9 €9‰9  ƒ®¼8¤9 ï­¼8À9É9 ý­¼8 æ9 ï9 K¼8 : ñ÷Œ†øL†ø Â8%R †Â83<�ø –øüáõÁ Œ¼8Â8 ¡ø  §ø¨ø&üãôÅf>”ÅõR †ªéæ<Ðõ? Ð< Ú< »åéå+=  ¶æ?= R? c? ÷?RåæÚ=Ù=û ¾üºõîß=ɼ8Â8,Êõ?U¼8U@ˆ?†¼8›?ÿ=�¼8®?":P¼8©+:ý¼8o9?:Ƽ8w9T:ì¼8€9‚8$öô‰è,ìôªéB¨éB»å¼8Â8SÅéSÐéA�5ü>¶æ?ìéÐ<éåo9èˆw9¡‰€9~õ†Ã ÉáÈ„ˆ¨àÔ»åcåæ—AÙâü>  ‚” †” Rü†”<üˆ”,Ôˆ”lˆ” »åX< €9‰9 ƒ®»å¤9 ï­»åÀ9¢<RÙâ¢< ³”§ R„!„!…!—9o$z�é -¯†ä RúR Ž#…ÓªéÙçD!+ Á” üé”Ä ¬‰— T’—R ÞŒ š— +o9 w9 €9‰9 ƒ®�é ¤9 ï­�éÀ9É9  ý­�éæ9 ï9 K�é:  ¬— LÁ—   Â8üÌ”‰ Œ�éÂ8  Ô—   Ú—Û—üƒ’Øev HÂ8 Æ<Ð< Ú<  ש»åéå+= ¶æ?= I= \=f= ¡”(R ݼ88Œ£”€Þüþ“Ý€=Q¼8d–”‰=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï=í»åà=ç=„¼8ú=ÿ=�¼8>>ª¼8.>6> „¼8J> ":P�éõ+: ý�éo9 ?: Æ�éw9 T:ì�é€9ŒŒÑ�õ€‘…€Âer>8OWg�éÂ8T«’‚8$œ’…Ó ¢’Û�é…Ó®èûªéú¼8ø»åøKKà Mã DóÔæU•ÃÂó�é�éÂ83/ЧX<ש€9�5¢<¶æÆ<ìéÐ< ý­ý­Šuÿ­Ÿu瀮�çÙW£Ÿì·œ�éo9 ï­ï­áuñ­�¶„Ÿ~ Á$�éw9 ƒ®ƒ®„®«v†®óå @æè_fòÙùÅ�é€9�œ�¦¤óÝì|¤è�‰é8…ÓjÂ80Ùâ¢<  ôœ øœ RÔøœTúœÔH ü>RÙâ  ü> ‘�  ’�ü¹�ĬٟTâŸR ÞŒ êŸ*o9w9€9‰9  ƒ®þô¤9 ï­þôÀ9É9 ý­þôæ9ï9 Kþô: üŸŒ‘  L‘    Â8%R¨à . <›  ¡  üœ�‘ ŒþôÂ8 ¬    ² ³ &ü¿šô¯À ÀI  RÙç& R=R Ž#‚¨éÙçŠgq?Ð<Ú<»åéå+=¶æ?=R? c?ŒKRåæ oIoI… üðœÃvIɼ8Â8,ÿœ?U¼8ìKˆ?†¼8›?ÿ=�¼8®?":Pþô+:ýþôo9?:Æþôw9T:ìþô€9ŒŒÑ�õ€‘…€Âer>8OWgþôÂ8Tüš‰è\æšÔø óšÛþôDÔøDÚø$¨é$KKà Mã DóÔæU•ÃÂóþôþôÂ8CÅéCJÐéLM�5ü>¶æ?ìéÐ<ý­ý­Šuÿ­Ÿu瀮�çÙW£Ÿì·œþôo9ï­ï­áuñ­�¶„Ÿ~ Á$þôw9ƒ®ƒ®„®«v†®óå @æè_fòÙùÅþô€9|œ¦¼»Îøžøô@¨à~·üÔøƒåæƒNÙâü> ø>ø°=üø°< ø° R3üú°,Ôú°lú°  »åX<€9‰9  ƒ®»å ¤9 ï­»åÀ9¢< RÙâ ¢< ¥±Ö RÙçíRR¤è & ³± Lù:ö: Ro9w9€9‰9 ƒ®�é¤9 ï­�éÀ9É9 ý­�éæ9ï9 K�é: ¢´L·´ Â8ü±‰ Œ�éÂ8  Ê´  ü¿±� Àœ�ï� Ë´  Ñ´Ò´üØ®ú€ ‘ JÂ8 Æ< Ð< Ú< ש»åéå+= ¶æ?= I=\= f= “± RÝ쌕±•;œ;€Ò„“;š; Àœö�Ò„~; ÊüÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òwö�Ò„úï{;‚;;>´±?´±  [¥‡ls{; x;RÏ6˜;v;}; €Ò„t; Àœ�ïÒ„r;óúµ µ±‚Â8 n;u;¯úïl; Êü¥‡úïi;h-üø°= múï‰g üß±Ä ¬ÿ³Tˆ´R‰é �´ !‹8üð°â¦­´‘€=Q¼8dˆ±‰=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï= í»åà= ç=„¼8ú=ÿ= �¼8> > ª¼8.> 6>„¼8J><×`úïÒ„×<<<Ü`�ïÒ„Ò„ < <ÉÒ„<":P�é“+:ý�éo9?:Æ�éw9T:ì�é€9 ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw�ïÒ„¬‡¯‚8$ø®…Ó þ®ÊüÍüÎümÏüóÐüÑü[Òüó}µŒOƒDê^¥‡úï;ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwúïÒ„Œ…Ó‹®èžªén¼8l»ål¥‡€úï_�ﯹðJ�éHÂ8âÈЧX<ש€9�5¢< ¶æÆ< ìéÐ< Ï6@<úï†?Ò„bA¥‡JAÏ6=<Ò„&@Y@°ño9÷ñw9±ò€9·œº¦ ô° Æ i ŽK !Ýì‘ ¤èÑ ‰é0Â8Yúï`…ÓÀÂ8mÙâ¢<Ø@�ºÔ�º �º R2T’ºñXü>RÙâ ü> ©º ;D 8D  Ro9w9€9‰9 ƒ®þô ¤9 ï­þôÀ9É9 ý­þôæ9ï9 Kþô: ˜½ Œ­½ L­½ Â8%R¨à. <·½ ½½ü¸º‘ ŒþôÂ8  Ƚ   üµº• Àœ«û� ɽ  ϽнW üº·–ÁÒïYO RÙçgR~RÎøˆ— ¡?Ð< Ú< »åéå+= ¶æ?= R?c?ª[Råæ�Y  �YTE [E €Ì—RE YE  Àœö�Ì—=E  ÊüÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òwö�Ì—‰ü:E AE ê@ªºAªº [äš":E 7E RÏ6WE 5E ¶æ?ìéÐ< Ï6ˆE ‰üÎH Ì—ªJ äš’J Ï6…E Ì—nI ¡I ®ýo9õýw9¯þ€9¦œ©¦ Œº Æ òŽ× ßÎø øô°¨àÓ·üf‰ü/ÔøÀåæÝaÙâü> Ô RüçÂ,ÔçÂlç »åX< €9‰9 ƒ®»å¤9 ï­»åÀ9¢<RÙâ¢< ’Ã<¡Ã RüØÂt×?RÙç\¶Ã, Ëà üóÃÄ ¬“Æ TœÆR‰é ¤Æ !o9 w9 €9‰9 ƒ®�é ¤9 ï­�éÀ9É9  ý­�éæ9 ï9 K�é:  ¶Æ LËÆ   Â8üÖÉ Œ�éÂ8  ÞÆ   äÆåÆÂ8üŽÀ×9I  Æ<Ð< Ú<  ש»åéå+= ¶æ?= I= \=f= €ÃèRÝìñŒ‚ØÁüЕ€=Q¼8dõ‰=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï=í»åà=ç=„¼8ú=ÿ=�¼8>>ª¼8.>6> „¼8J> ":P�éâ+: ý�éo9 ?: Æ�éw9 T:ì�é€9�ïTŒÂ‚8$ÆÀ�<ÔÀÓ›’¯„!„!…!—9o$z�é - �5Û�éBÿ èÀúïŪ鱼8¯»å¯’¯.¹ðÌ�éÊÂ8ÃЧX<ש€9�5¢<¶æÆ<ìéÐ< °ño9 ÷ñw9 ±ò€9captureÁ œÃ¦Š"Ýì�Ÿ¯À‰éqÂ8l’¯sÙâ¢<  ®Ì RT´Ìâg ü>RÙâ  ü> ÔÌ ÕÌüüÌĬœÏT¥ÏR‰é ­Ï!o9w9€9‰9  ƒ®�é¤9 ï­�éÀ9É9 ý­�éæ9ï9 K�é: ¿ÏŒÔÏ LÔÏ   Â8%R¨à . <ÞÏ äÏ üßÌ‘ Œ�éÂ8 ïÏ   õÏöÏ&ü²ÉÄ5E ½h <ÀÌ Rü²Ì#.@RÙç\ÉÌ-?Ð<Ú<»åéå+=¶æ?=R? c?}jRåæ `h`h� üªÌÌghɼ8Â8,¹Ì?U¼8Ýjˆ?†¼8›?ÿ=�¼8®?":P�éý+:ý�éo9?:Æ�éw9T:ì�é€9�ïTÌˉè\øÉ’¯<�Ê Ó›’¯ª¯Ù¯Bÿ ¡Êúïà¨éÌ’¯á¹ðž�éœÂ8ÙÅéÙfÐéák�5ü>¶æ?ìéÐ<°ño9÷ñw9±ò€9¸™°»œª¦Œ¸½¹d‰é4¨à{¹ð’¯åælÙâü> ÇÕRøBËÕuüËÕtüÚÕ,ÔÚÕlÚÕ »åX<€9‰9  ƒ®»å¤9 ï­»åÀ9¢< RÙâ ¢< …Ö<”Ö  R ÒÓ ;RÙç\©Ö ú ¾Ö  ÙXÖX Ro9w9€9‰9 ƒ®�é¤9 ï­�éÀ9É9 ý­�éæ9ï9 K�é: ­ÙLÂÙ Â8üÍÖ‰ Œ�éÂ8  ÕÙ  üÊÖ� Àœ�ïÒ„ ÖÙ  ÜÙÝÙÂ8üäÒù;K Æ< Ð< Ú< ש»åéå+= ¶æ?= I=\= f= óÕRÝì ŒõÕqYxY€Ò„oYvY Àœö�Ò„ZY Êü¥‡úïY Y±B¿ÖC¿Ö  [¥‡âéY YRÏ6!YÿXY €Ò„ýX Àœ�ïÒ„ûXipµ ÀÖ-Â8 ÷XþX¯úïõX Êü¥‡úïòXÞ-üËÕu múï‰ üêÖÄ ¬ŠÙT“ÙR‰é ›Ù !£ÏüÃÕš¦­´‘€=Q¼8dèÕ‰=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï= í»åà= ç=„¼8ú=ÿ= �¼8> > ª¼8.> 6>„¼8J>¦Y×`úïÒ„M¡Y�Y™YÜ`�ïÒ„Ò„x•Y’YÉÒ„�Y":P�é“+:ý�éo9?:Æ�éw9T:ì�é€9 ÌŽ¬ôÔ‚8$£Ó’¯<±ÓÓ›’¯ª¯ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÙ¯Ò„Bÿ ÅÓ¿�{™�yªéx¼8v»åv’¯õ¥‡îúïÍ�ïÆ¹ð¸�é¶Â8ùˆЧX<ש€9�5¢< ¶æÆ< ìéÐ< Ï67Yúï}\Ò„Y^¥‡A^Ï64YÒ„]P]°ño9÷ñw9±ò€9x™°|œ¦± Æ ä ŽÆ 3Ýì±õɉé«Â8Â8…ú¯“Ùâ¢< òßRøDöß$üöß#TøßÃpü>RÙâ ü> ˜àL#a  a  Ro9w9€9‰9 ƒ®�é ¤9 ï­�éÀ9É9 ý­�éæ9ï9 K�é: ‡ã Œœã Lœã Â8%R¨à. <¦ã ¬ãü§à‘ Œ�éÂ8  ·ã   ü¤à• Àœ�ïÒ„ ¸ã  ¾ã¿ãU üÙÜæ7GÌq<„à RBD=RÙç\�à l?Ð< Ú< »åéå+= ¶æ?= R?c?ÃpRåæór  ýr;b Bb €Ò„9b @b  Àœö�Ò„$b  Êü¥‡úïÎa Õa cD™àE™à [¥‡”›Îa Ëa RÏ6ëa Éa Ða €Ò„Ça Àœ�ïÒ„Åa "µ šà { ¾a Åa ¯úï¼a  Êü¥‡úï¹a �*üöß$ mú[ üÄàÄ ¬äâ TíâR‰é õâ  !©üîßÑ©°·—sɼ8Â8,ýß?U¼8Ãpˆ?†¼8›?ÿ=�¼8®? b×`úïÒ„šb  b  þaÜ`�ïÒ„Ò„Åúa  ÷aÉÒ„òa ":P�é++:ý�éo9?:Æ�éw9T:ì�é€9ÌŽ¬…߉è\¦Ý’¯<»Ý¹’¯ª¯ƒÊBÿ ÏÝ¿�v™�t¨és’¯o¥‡&úï�ïF¹ðí�éëÂ8±Åé±ÐéÃp�5ü>¶æ?ìéÐ< Ï69a úïd Ò„[f ¥‡Cf Ï66a Ò„e Re °ño9÷ñw9±ò€9™°œ ¦› Æ Ž ·ÛÚ¥‰é٨੹ð<úï’¯åæÃpÙâü>  Óÿ ×ÿ Rü×ÿeüæÿ,Ôæÿlæÿ »åX<€9‰9 ƒ®»å¤9 ï­»åÀ9¢<RÙâ ¢< ‘€RŒ € L €  Â8$RŽƒ - <ª€ °€  R   1RHR Ž#…Óªé샓pz »€  ¼€ üã€Ä ¬ƒƒ TŒƒR‰é ”ƒ  !o9 w9 €9‰9 ƒ®�é ¤9 ï­�éÀ9É9  ý­�éæ9 ï9 K�é:  ¦ƒ L»ƒ   Â8üÆ€‰ Œ�éÂ8  ΃   ÔƒÕƒü¦ý¯d u ‡ ˜ kÂ8 Æ<Ð< Ú< ש»åéå+= ¶æ?= I= \=f= ÿÿ™RÝì¢ Œ�€´úüÏÿ†€=Q¼8dôÿ‰=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï=í»åà=ç=„¼8ú=ÿ=�¼8>>ª¼8.>6> „¼8J> ":P�é+: ý�éo9 ?: Æ�éw9 T:ì�é€9�ïTÐý‚8$Áý…Ó Çýúï>…Ó>�áªé¼8»å샆Å醹ðµ�é³Â8ðëòЧX<ש€9�5¢<¶æÆ<ìéÐ< °ño9 ÷ñw9 ±ò€9͜ϦÝì玃=÷àÿ‰éRªé�…Ó”Â8[Ùâ¢<  �‹ ‘‹ Rü‘‹ T“‹Ãpü>RÙâ ü> ¯‹A Q RgR Ž#Ôø¨é샱�– °‹  ±‹ üØ‹Ä ¬ø� T�ŽRøô ‰Ž  o9w9€9‰9  ƒ®þô ¤9 ï­þôÀ9É9 ý­þôæ9ï9 Kþô: ›Ž Œ°Ž L°Ž   Â8%R¨à . <ºŽ ÀŽ ü»‹‘ ŒþôÂ8  ËŽ   ÑŽÒŽ& üªˆ¨«¼ ÌqŒŸ‹LŸ‹ Â8%RŽƒ.<©‹?Ð<Ú<»åéå+=¶æ?=R?c?ÃpRåæór ýr¹ üü‰‹Ésɼ8Â8,˜‹?U¼8Ãpˆ?†¼8›?ÿ=�¼8®?":Pþôè+:ýþôo9?:Æþôw9T:ìþô€9«ûT鈉è\ÓˆÔø àˆ‰ü;Ôø;þë¨é샿Åé¿·ü†þô„Â8ÂÅéÂÅÐéÃp�5ü>¶æ?ìéÐ<®ýo9õýw9¯þ€9µœ·¦ô“ŽƒhôëÝøô¨à]·üðÔø^åæÃpÙâü>øFñ—füñ—e ñ— R3ü€˜,Ô€˜l€˜  »åX<€9‰9  ƒ®»å ¤9 ï­»åÀ9¢< RÙâ ¢< «˜RŒº˜ Lº˜  Â8$RŽƒ -  <Ę ʘ :RO  `RwR÷à€� š Õ˜ À)v&vRo9 w9!€9"‰9" ƒ®�é¤9! ï­�é"À9"É9 ý­�é!æ9!ï9 K�é : Ä›LÙ› Â8ü䘉 Œ�éÂ8 ì› üá˜� Àœ�ïÒ„ í› ó›ô›ü£•Ñ~ � ¡ ² mÂ8 Æ< Ð< Ú< ש»åéå+= ¶æ?= I=\= f= ™˜ ¤RÝì­ Œ›˜ævív€Ò„ävëv Àœö�Ò„Ïv Êü¥‡úïyv€v}FÖ˜GÖ˜  [¥‡®µyv vvRÏ6–vtv{v €Ò„rv Àœ�ïÒ„pv5<µ ט  XÂ8 rvyv¯úïpv Êü¥‡úïmv°3üñ—f múï� •Aü�™Ä¬¡›Tª›R‰é ²› !¿üé—‹²¹À—€=Q¼8dŽ˜‰=?:Æ»å¡=T:ì»å€9¹=Ï»åÊ=Ï= í»åà= ç=„¼8ú=ÿ= �¼8> > ª¼8.> 6>„¼8J>'w×`úïÒ„%"wwwÜ`�ïÒ„Ò„PwwÉÒ„w":P�é“+:ý�éo9?:Æ�éw9T:ì�é€9#ÌŽ¬Ô•‚8$Å•…Ó Ë•¿�å™�ã…Óâ�áõªéż8ûåÃìƒ.Åé.¥‡§úï€�魯ðe�écÂ8×½ÄЧX<ש€9�5¢< ¶æÆ< ìéÐ< Ï6lvúï²yÒ„Ž{¥‡v{Ï6ivÒ„Rz…z°ño9÷ñw9±ò€9,œ/¦ í— Æ — Žs  Ýì ŽƒW÷àH ‰éYÂ8^úïeªéÃ…ÓÊÂ8yÙâ¢<øHÜ£!üÜ£  Ü£ R3TÞ£Ãpü>RÙâ ü> ú£ p €R–Rôëž­ ¶ û£ ÕË~ È~  Ro9w9€9‰9 ƒ®þô¤9 ï­þôÀ9É9 ý­þôæ9ï9 Kþô: ꦌÿ¦Lÿ¦ Â8%R¨à.<‰§ �§üФ‘ ŒþôÂ8  š§  ü‡¤• Àœ«ûÌ— ›§  ¡§¢§U üؠʿРÌqŒê£Lê£  Â8%RŽƒ . <ô£?Ð< Ú< »åéå+= ¶æ?= R?c?ÃpRåæór  ýrÒ Ù €Ì—Ð ×  Àœö�Ì—»  Êü䚉üe l ÛHü£Iü£  [äš e  b RÏ6‚ ` g  €Ì—^ Àœ«ûÌ—\ “šµ ý£ p [ b ¯‰üY  Êü䚉üV  0üÜ£! m‰üŒ’˜V ü§¤Ä ¬Ç¦TЦRøô ئ Åüԣδ»Âœsɼ8Â8,ã£?U¼8Ãpˆ?†¼8›?ÿ=�¼8®?­×`‰üÌ—¨  ¤   Ü`«ûÌ—Ì—Hœ  ™ÉÌ—” ":Pþô*+:ýþôo9?:Æþôw9T:ìþô€9 ¤¡¬ž¡‰è\ˆ¡Ôø •¡˜¢Þò¢ÜÔøÛþëî¨é¾ìƒ^Åé^äš1‰ü «û@·üìþôêÂ8«Åé«“ÐéÃp�5ü>¶æ?ìéÐ< Ï6Û~ ‰ü!‚ Ì—ýƒ äšåƒ Ï6Ø~ Ì—Á‚ ô‚ ®ýo9õýw9¯þ€9œ¦ Ø£ Æ  Žù ¤ Žƒyôë"øôÒ¨à�·ü0‰üûÔøŠåæÃpÙâü>üŽá R ͼ8Â8�“”ý•ó–—þ˜óᬡoh(aÂ8þ ”Â8õ™$ŽáRû™l áÜ“á¶áÐüêßÌŒŒÑ�õ€‘…€Âer>8OWg¼8ª™Ì“à‚8$Šà nž™*ü‰å R ͼ8Â8�“”ý•ó–—þ˜óᬡoh(aýÂ8 —ªœÂ8$‰åR³œl›åÜŽå±åÒüåãÌŒŒÑ�õ€‘…€Âer>8OWg¼8â›ÌŽä‚8$…ä nÖ›*Ö† ŒÈ†Ô�5ц'()Áç» ŒÙ»Õ�5â»'()Á݉ ŒÏ‰Ö�5؉'()Á$™X£Xæü”W� ÿ@L®W‹ D¡W 1$¹YÃYçü¶X�ÿ@,ÒXÿ@$ÉX -¤”[®[èüÖYØÿ@$õYÿ@$åY” .üØ^.$’_ R Ž#—É ÿ@ ’_>F •_œ_éüÁ[ÛüÇ^Uü²\ê�5è[º¢dÕ[—É ã[º¢·¸¢®%œ(¯ Ë^u®¢å$´e¾eðüÿd? ‰:„™e¨¤DŒe 0�fñüÄe=‰:dàe‰:$×e R‰:2Æfòü‡f?‰:$­f‰:$–f” R‰:3<šh R Ž#—É ‰: šh>F  h§hóüÌfÛ�5óf³¦dàf—É îf±¦“œ M§¦½ü— MR ¹¼8Â8‚¼8Â8Ÿ6ɛӛUÿ�5$´ Ré§üº )Xê �üÜ Ž‚8$ˆ Â8$ü … .ݧ¨ü¾ %R  ªéîƒ á *ã ‚ªªé½ é§Àìƒ » ™ Þ’©€ ¾ �ç3í3”-Ÿ38ç3?F É �ç3í3—-Ÿ38í3?F                              2D\x€×öûýDÏÙ‡ýPƒçlðï…Ñ$ÿŒ†ZeroFromÁDÕ ˆí¬3ˆü²¬ü™jg This crate provides [`Yoke`][Yoke], which allows one to "yoke" (attach) a zero-copy deserializedÁü„‡„ object (say, a [`Cow<'a, str>`](alloc::borrow::Cow)) to the source it was deserialized from, (say, an [`Rc<[u8]>`](alloc::rc::Rc)),ÁüŒif known in this crate as a "cart", producing a type that looks like `Yoke, Rc<[u8]>>`Áüö*' and can be moved around with impunity.Á¡�ü¥fc Succinctly, this allows one to "erase" static lifetimes and turn them into dynamic ones, similarlyÁüŒTQ to how `dyn` allows one to "erase" static types and turn them into dynamic ones.Áá�üåXU Most of the time the yokeable `Y` type will be some kind of zero-copy deserializableÁü¾ UR abstraction, potentially with an owned variant (like [`Cow`](alloc::borrow::Cow),Áü” ‚ [`ZeroVec`](https://docs.rs/zerovec), or an aggregate containing such types), and the cart `C` will be some smart pointer likeÁü— Ž‹ [`Box`](alloc::boxed::Box), [`Rc`](alloc::rc::Rc), or [`Arc`](std::sync::Arc), potentially wrapped in an [`Option`](Option).Á¦ �üª da The key behind this crate is [`Yoke::get()`], where calling [`.get()`][Yoke::get] on a type likeÁü� a^ `Yoke, _>` will get you a short-lived `&'a Cow<'a, str>`, restricted to theÁüñ pm lifetime of the borrow used during [`.get()`](Yoke::get). This is entirely safe since the `Cow` borrows fromÁüâro the cart type `C`, which cannot be interfered with as long as the `Yoke` is borrowed by [`.get()`](Yoke::get).ÁüÕif [`.get()`](Yoke::get) protects access by essentially reifying the erased lifetime to a safe local oneÁœ¿ when necessary.ÁÓ�ü×74 See the documentation of [`Yoke`] for more details.Á2D\x€×öûÍýÎÙ‡ýßPƒçÎï…ÑÍŒ†í¬Å ˆí¬Ø3ˆFIL¤ÔüË85 Types for optional pointers with niche optimization.Á„�üˆNK The main type is [`CartableOptionPointer`], which is like `Option` butÁü×MJ with a niche so that the resulting `Yoke` has a niche. The following fourÁü¥74 types can be stored in the `CartableOptionPointer`:ÁÝ�\á 1. `&T`Á|í 2. `Box`Átý 3. `Rc`Á|Œ 4. `Arc`Áœ�ü OL These four types implement the sealed unsafe trait [`CartablePointerLike`].ÁüðKH In addition, all except `Box` impl [`CloneableCartablePointerLike`],Áü¼@= which allows [`CartableOptionPointer`] to implement `Clone`.ÁdÜ ‰çl‰ï…—9\Û„!—9…!«<÷® StableDerefÁ\˜É4�  ¤‚€ÌÍo”ìOü„8ü‘ "d” �>Bÿ�  þÆî4 ¡  î4  ¤º DÁ  Ÿ5ƒ \Ù<Ý „ë4õ  ÿÆœë ûÅûÅ|†ü�:ü˜85 An object fully representable by a non-null pointer.ÁÑ�dÕ # SafetyÁâ�¼æ Implementer safety:Áþ�ü‚`] 1. `into_raw` transfers ownership of the values referenced by [`StableDeref`] to the caller,Áüã(% if there is ownership to transferÁüŒWT 2. `drop_raw` returns ownership back to the impl, if there is ownership to transferÁä�üè_\ Note: if `into_raw` returns the sentinel pointer, memory leaks may occur, but this will notÁüÈ  lead to undefined behaviour.Áé�üíXU Note: the pointer `NonNull` may or may not be aligned and it should neverÁüÆVS be dereferenced. Rust allows unaligned pointers; see [`std::ptr::read_unaligned`].Áœ®ûÅü�؃Æ\à ƒÆ4ÑûÅ9áÌ.ðÌ%ûÅKáÌ@ðÌ7þƃÆLº»ÍDºüÞDA The raw type used for [`Self::into_raw`] and [`Self::drop_raw`].Át§4­¿ü�(üÉ.+ Converts this pointer-like into a pointer.Átü4‚D’ƒÆ®®«°¿ ”3¯f*²Û�ÃÍBÿ ƒÆ$›üÃ0ü½74 Drops any memory associated with this pointer-like.Áù�d�ŽÆ’�”š Caller safety:Á±�ü¹EB 1. The pointer MUST have been returned by this impl's `into_raw`.Áüƒ(% 2. The pointer MUST NOT be dangling.Át°4¶DÍÞÏ�5ÿ ƒÆ¿ <Öü÷Bü÷?< An object that implements [`CartablePointerLike`] that alsoÁü·EB supports cloning without changing the address of referenced data.Áý�d�ŽÆŽ�¼’¯Æª�ü®KH 1. `addref_raw` must create a new owner such that an additional call toÁüú41 `drop_raw` does not create a dangling pointerÁü¯GD 2. `addref_raw` must not change the address of any referenced data.ÁäˆûÅü÷éƒÆœ¦ûÅ*‚×ûÅ6‚×+ü¬2ìÀ Clones this pointer-like.Áâ�dêŽÆû�”ƒ¡Ðš�ü¢EÉÐüì(˜Ñt™4ŸT¶ÞÏ�5ÿ ƒÆ¿ <ÁäâÔ�þƇ2 ë�2ç üÞ0Ô�ÊÙ î�2ê"$D• š ‡2ü¶ D¹ �2š@Bÿ Ô‡2R ü„!(DŽ!š@�5ÿ Ô‡2²A¨ üÏ"9Ô�ÊÙ ß"�2  Û"ü�#*T§#š@�5ÿ Ô‡2²Aþ üÌLBÿ""þÆß2 ÑLß2œúL§2#$%äãM$ñM§2Bÿ!! #ß2üÅO0lÓOß2§2Bÿ!! $ß2ÜMY&ìüRü·QC@ Returns whether this instance is `None`. From the return value:ÁÿQ�ü‡R'$ - If `true`, the instance is `None`Áü³R63 - If `false`, the instance is a valid `SelectedRc`Á<ƒSÈ È§2Bÿ! ‹S! %ß2$ŒSüÔSKÿ''¡Ý ÙS±Ýœ‹T§2(�#(”´T$·TÉ É§2�5Bÿ& ¼T& (ß2$ÁTü£XUÿ**¡Ý ¨Xß2äÛX§2+†+ ¼�Y,�YÊ Ê§2§2Bÿ) –Y) +ß2$—Yüä]sÿ--¡Ý ð]§âä«^ïß2lÊ^§2 ü�_Tÿ//¡Ý ©_ýÆß2$×_±ÝœÞ_§2!ü¶`Tÿ11¡Ý Â`ÿ ß2$ð`±Ýœ÷`§2 têüË&# Types to enable polymorphic carts.Á4ò�çlþï23…s,�Ü"24óÂ\¼25¤÷=„’-ü¨ üÓwº 7à 8�9879Ý"ç3�sT”Ý"í3�sT¯ÿÆ�s4ÃÜ"ç3ŒŽþÆç3ØÜ"í3Œ©þÆí3ÜŸ3:;Ý"Þ";57#% à\Ñ4Ö66�s¬æ,éÒ ÒŸ3 Ò�sBÿ6 ï6 ;ç3í3�s$ðTŠü»®º >à ?�@@>? ÅæT³׿TÎéæ4âç3\ƒí3\˜ù挭ˆçǘçŒÈ§çËŸ3 Ïü«lº Bà CBCˆç·§ç»ïç3lòïí3l‰Ÿ3-/24Ĥ¤¨KáudÛï­DFŠu\éý­DGs,‡Ü"DIDerefMutÁDŽé"DJLÏVXFHLû;=$&ü³ 0”Å �LLöÄ Ø î4<Û Ä4óÔæU•ÃÂóM[(*´è4èDKKþuüƒ&�OOöÄ ˆÂì<‹Ä4PQü¾*Òî4Ä4BÿNN Pî4ã x:üØ#TæÄ4î4BÿNN Qî4b>üæ0�SSöÄ ëÂì<îÄ4TUÝ"Þ"U \�4¢RRî4¬À,ÃÓ ÓÄ4 Óî4BÿR ÉR Uî4$Êü©3�WWöÄ ®Âì<±Ä4Xê"Xüñ!LôÔ ÔÄ4 Ôî4BÿV þV Xî4$ƒüê/�ZZöÄ ïÂì<òÄ4[�#[”®$±Õ ÕÄ4�5BÿY ¶Y [î4$»|¾\ÂýD×Ù\]‡ýP\]ƒáudñï­\_í ÿ¸\`|ÐT$åŒì2 "܆t“ ¢ Œ ¨ ©*« ® ‰3+ ¸ ¹ À8þ4º8 Ê8� LÍ Ö Ü ×8$Ø(Þ á8$â'æ8´4è ï Š8$ý+ ” • œ8þ4–8 ¦8® |© ¸ ½8$¹(¿8$Â'Æ8´4È Ï ê8$Ý+ ô õ ü8þ4ö8"4†8 �8Å $� ” §8õ†$•& ™8$›'Ÿ8´4¡(©8$¬ ± Ì8õ†$¿+ Ö × Þ8þ4Ø8 è8Ñ lë ø8‚ ù ú û Ž ü:Ôý8€8$„$ ˆ8œ Š& ‹8‚ �8$,˜8‚ ª& «:7<­ µ8 · º:Í » ½8ˆ4¿ Å Ú Æ:Í Ç8Ê8$Î'Ò8´4Ô$ Û å ƒ8œ ó ô ù8$õ% ŠÜŽt› ª ½  ° ·, ±8‚²& ´8‚µ*¹ ¼ º  8"4Æ8$Í Ñ:ÔÒ Ô8ýDÖ Þ:Ôß á8 ã, ç8‚è ë ´  8!$ù8´4þ … 8$‡ % ‹ 8ò t™  §  ¨  © % ª % » üõ %Ä‚ › Š ¡ ¢*¤ § ‡,8 ±8� L´ ½ Æ ¾:Ô¿8$Â(È Ë:ÔÌ8$Ï'Ó8´4Õ Ü ˆ8"4Æ Í þ Ï Ð Ñ ü 8$Ò8× Ú8,Û8$á8æ é8,ê8$ð'ô8´4ö8 “8® |– ¥ ª8$¦(¬8$¯'³8´4µ ¼ ã8"4¦ ­ Ù8¿8í Ã& Æ È8,É8$Ï'Ó8´4Õ Ü Þ ó ß8$à8å è8,é8$ï ô8castÁ$õ ù ú% û8�8 ‘ “8áud•'¡8˜ £ ¦ «8$§% ¬8í ¾'Á8readÁ$Ã Ç Ë8í È8"4î8 õ8Å $ø ü �8”$ý& �8$ƒ'‡8´4‰(‘8$” ™ µ8 debug_assertÁd§ ³ ´ ã8à<µ'¼ ¾8$¿'Ã8´4Å Ë Ì ÍÏ8à<Ò'Ù Û8$Ü à á â% ä8ò8í ö ú ü8”$ý8‚ …8,†8$Œ'�8´4’8™ œ8,�8$£% §8µ8 ¹ »8áud½'É8˜ Ë Î Ó8”$Ï% Ô8"4“ š «8í œ'Ÿ8Ä�$¡ ¥ ©8í ¦8 À8Ñ là Ð8‚ Ñ Ò Ó æ Ô:ÔÕ8Ø8$Ü$ à8œ â& ã8‚ å8$,ð8‚ ‚& ƒ:7<… �8 � ’:Í “ •8ˆ4— � ² ž:Í Ÿ8¢8$¦'ª8´4¬$ ³ ½ �8,Ë'Ð8¾ ,Ò'×8Î ´Ù ï ÷8$ð$ ô8œ ö% ˆü˜MÔe�fefÊÙ ¨‡2<«gÙ‡2g¤µý6h³´µ¶ÛÜÝÞß¶µ³´¤df¹\ì4ñddřǙș­É™Ê™àË™óG*¤�R{9 Û‡2ÔüÕuÔjè kø mkmjþÆÔ7åþÆÙ7‰Ô7<élÙÔ7l¤óÙ7<�nÙÙ7n¤—Ò7o¹º»¼ÛÜÝÞß»¹¼ºá™›÷œž›\Ñ4ÖiiÛÔ7ÔÛÙ7ÔüÉZÔq�rŠttqrÊÙ ÙŠï5tü•‹<ÜsÙ‡2s¤æì7v¿ÀÁÂÛÜÝÞß¿ÂÀÁÕprêu ‚ï5\ª4¯ppጊLÏ,ÓzýDÖÙxy‡ýPxyƒ|Ï-üèø´ö Ô’ß—É¿àBÿÔ{•|‚}Ž~}{|~þÆ’ß ‘þÆ—É ”þÆ¿à —Ù’ßÔdÇ—É<Ÿ‹#—É Û’ßÔü©&�#—Éœ“¿à οà<Ø zÔ’ß—É¿àõÒoœÜo�ÊÌÆÈÂÄ­DÚ$ÞŒïÔÕÖš#¬å‰€‚Úœü€ƒð#T¥�€„à ”­K€…¾ ,Ìx€†ýDÞÙ€‡‡ýP€‡ƒ—9\ú„!€ˆ—9…!€ˆáud–ï­€‰s,³Ü"€ŠóÂ\Ò€‹œÏñóÌ–åü�/×dÅÉ|×»Ì쑼‹m„¨^ü¾OüÅ+üï;8 A Cow-like borrowed object "yoked" to its backing data.Á«�ü¯GD This allows things like zero copy deserialized data to carry aroundÁü÷QN shared references to their backing buffer, by "erasing" their static lifetimeÁüÉ2/ and turning it into a dynamically managed one.Áü�ü€C@ `Y` (the [`Yokeable`]) is the object containing the references,ÁüÄFC and will typically be of the form `Foo<'static>`. The `'static` isÁü‹ RO not the actual lifetime of the data, rather it is a convenient way to mark theÁüÞ (% erased lifetime and make it dynamic.Á‡ �ü‹ ZW `C` is the "cart", which `Y` may contain references to. After the yoke is constructed,Áüæ YV the cart serves little purpose except to guarantee that `Y`'s references remain validÁüÀ da for as long as the yoke remains in memory (by calling the destructor at the appropriate moment).Á¥ �ü© `] The primary constructor for [`Yoke`] is [`Yoke::attach_to_cart()`]. Several variants of thatÁüŠ YV constructor are provided to serve numerous types of call sites and `Yoke` signatures.Áä �üè c` The key behind this type is [`Yoke::get()`], where calling [`.get()`][Yoke::get] on a type likeÁüÌa¡·ü®c` lifetime of the borrow used during `.get()`. This is entirely safe since the `Cow` borrows fromÁü’a^ the cart type `C`, which cannot be interfered with as long as the `Yoke` is borrowed by `.getÁüôa^ ()`. `.get()` protects access by essentially reifying the erased lifetime to a safe local oneÁœÖôºê�üîli Furthermore, there are various [`.map_project()`][Yoke::map_project] methods that allow turning a `Yoke`ÁüÛc` into another `Yoke` containing a different type that may contain elements of the original yokedÁü¿A> value. See the [`Yoke::map_project()`] docs for more details.Á��ü…\Y In general, `C` is a concrete type, but it is also possible for it to be a trait object.Áâ�læ # ExampleÁô�üøQN For example, we can use this to store zero-copy deserialized data in a cache:ÁÊ�\Î ```rustÁ¬Ú # use yoke::Yoke;Á´ð # use std::rc::Rc;Á܇ # use std::borrow::Cow;Áü£74 # fn load_from_cache(_filename: &str) -> Rc<[u8]> {ÁüÛ! # // dummy implementationÁüýKH # Rc::new([0x5, 0, 0, 0, 0, 0, 0, 0, 0x68, 0x65, 0x6c, 0x6c, 0x6f])Á<É # }ÁÑ�üÕIF fn load_object(filename: &str) -> Yoke, Rc<[u8]>> {ÁüŸ52 let rc: Rc<[u8]> = load_from_cache(filename);ÁüÕOL Yoke::, Rc<[u8]>>::attach_to_cart(rc, |data: &[u8]| {Áü¥52 // essentially forcing a #[serde(borrow)]ÁüÛ>; Cow::Borrowed(bincode::deserialize(data).unwrap())ÁTš })Á,¥ }Á«�ü¯/, let yoke = load_object("filename.bincode");Áüß'$ assert_eq!(&**yoke.get(), "hello");Áü‡52 assert!(matches!(yoke.get(), &Cow::Borrowed(_)));Á<½ ```Á$Е�ÿ���þƼ8 ÕþÆÂ8 îŽÙ¼8Ž¤Ø‚8Âer>8OWg�‘LNÜOQüñDñ€ŒŒ»å<ñ"$ñ"€ŒŒÂ8üÿ#“•“ÿ•“•’° „$¢° �$”Ù¼8”¤‡$ŸgÂ8„ $–ŸgÛ¼8–„�%‚8— g—km‹$vxà$ü™%Dœ%åæç å‚8 æ€g€gŠ‚gê ûcƒgÅFûcØ«q¢1È¡ç”FBÿ’  %’ —¼8Â8$¡%œ˜süù&Œ•™ÿšš™’° þ&¢° �'›Ù¼8›¤³'œ¤gÛ¼8œ”ò'‚8�¥g�\^ac·'Ñ'üŒ(D�(èéê è‚8 é€g€gŠ‚gê ûcƒgÅFûcØ«q¢1È¡ê”FBÿ˜ “(˜ �¼8Â8$”(œCvü‹)z•Ÿÿ Ÿ ’° �)¢° “)¡Ù¼8¡¤¼)¢÷±Û¼8¢�¸Lû)‚8£ù±£bdgiÀ)Ú)üŒ*"�*ëì ë‚8 ì‚8Bÿž ’*ž £¼8Â8$“*î 6yüÜ*l•¥ÿ¦¦¥’° á*¢° ä*§Ù¼8§¤†+¨ÌÛ¼8¨Å+‚8QSVXŠ+¤+üÎ+|•ªÿ««ª’° Ó+¢° Ö+¬Ù¼8¬¤€,­¯²Û¼8­ã»T¿,‚8®±²®bdgi„,ž,üÑ,B\Ô,íî í‚8 î‚8´ùBÿ© à,© ®¼8Â8$á,î ð|üË-n•°ÿ±±°’° Ð-¢° Ó-²Ù¼8²¤ö-³íÛ¼8³µ.‚8´î´\^acú-”.üÀ.2Ã.ïð ï‚8 ð‚8ùùBÿ¯ Ç.¯ ´¼8Â8$È.î €üŸ<9 may borrow only from the argument passed to the closure.Áð>�üø>RO See also [`Yoke::try_attach_to_cart()`] to return a `Result` from the closure.ÁÏ?�ü×?UR Call sites for this function may not compile pre-1.61; if this still happens, useÁü±@41 [`Yoke::attach_to_cart_badly()`] and file a bug.Áê@�tò@ # ExamplesÁ…A�<�AÜ®¬™AÖ§´³Aô§ÜÎA“¨üîA7¸¨üªB!ù¨üÐBK¤©< Cø©¬C�ü´CI•ªü‚D5èªü¼DO§«ü�E5€¬üÊE>¿¬T�F†­,œF™­¦F�ü®FB? let yoke: Yoke, _> = load_object("filename.bincode");ÁüõF'í­ü¡G5ž®<ÛGÜ®çG�üïG;8 Write the number of consumed bytes to a local variable:Á¯H�<·HÜ®¬ÃHÖ§´ÝHô§ÜøH“¨ü˜I7¸¨üÔI!ù¨üúI?< # Rc::new([0x5, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0, 0, 0])Á<¾Jø©ÊJ�œÒJ fn load_object(Á¼êJ filename: &str,Áü†K52 ) -> (Yoke, Rc<[u8]>>, usize) {ÁüÀK5èªüúK$! let mut bytes_remaining = 0;Áü£L30 let bytes_remaining = &mut bytes_remaining;ÁüÛLGD let yoke = Yoke::, Rc<[u8]>>::attach_to_cart(Á|§M rc,ÁÜ»M |data: &[u8]| {ÁüÛMEB let mut d = postcard::Deserializer::from_bytes(data);Áü¥NEB let output = serde::Deserialize::deserialize(&mut d);ÁüïN?< *bytes_remaining = d.finalize().unwrap().len();Áü³O.+ Cow::Borrowed(output.unwrap())ÁtæO },ÁTùO );ÁüˆP  (yoke, *bytes_remaining)Á,­P™­·P�ü¿PC@ let (yoke, bytes_remaining) = load_object("filename.postcard");Áü‡Q'í­ü³Q5ž®üíQ# assert_eq!(bytes_remaining, 3);Á<•RÜ®t¨RÂ8—É‚8Bÿµ‚ººµÊ’ ·R»‹#—É »îƒüÒUJ»�#—ɧÒÛ¼8»ä€V¸À<¼V ¹¼8Â8—É…‚ƒœŒƒ|~ÖUüä\Ôü©ZRO Construct a [`Yoke`] by yokeing an object to a cart. If an error occurs in theÁü€[@= deserializer function, the error is passed up to the caller.ÁÅ[�üÍ[UòÂü§\85 [`Yoke::try_attach_to_cart_badly()`] and file a bug.Á”ë\Â8…ÓÆ–Bÿµ�½‚¾¾½µþÆÑŽ þ\þÆ…Ó �]¿‹#…Ó ¿îƒü»]U¿�#…Ó±ÖÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ¼8¿ÑŽüé]'¸À<°^ ¼¼8Â8ÑŽ…Ó…%‹œ/‹åçáã¿]üÍcŽü¢b# Use [`Yoke::attach_to_cart()`].ÁÊb�üÒbda This was needed because the pre-1.61 compiler couldn't always handle the [`FnOnce`] trait bound.Ál»c¤ÔcÂ8Á ÁîƒÛ¼8ÁBÿ‚8Bÿµµ À¼8Â8…ª�œ´�Šdü¾f«ü�e'$ Use [`Yoke::try_attach_to_cart()`].Á»e�üÃedÚ×l¬fÄÅfÂ8Ä ÄîƒÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ¼8ÄÑŽBÿÆ–Bÿµ�ÃõÿÕ Þf ¼8Â8ÑŽ…²Žœ¼Ž!#‚güŸh+•ÆÿÈÆÈ’° ¤h¢° ½hÇÙ¼8Ǥ§h‚8ÉËÌÍÐÔÙAC«hLNü×q;üÑh1. Obtain a valid reference to the yokeable dataÁ‡i�ü�iMJ This essentially transforms the lifetime of the internal yokeable data toÁlái be valid.ÁüóiJG For example, if you're working with a `Yoke, C>`, thisÁüÂj# will return an `&'a Cow<'a, T>`Áêj�lòj¹¦„k�\Œk§¬œkÖ§´¶kô§ÜÑk“¨üñk7¸¨ü­l!ù¨üÓlK¤©<£mø©,¯m #Áü¹mKH # fn load_object(filename: &str) -> Yoke, Rc<[u8]>> {Áü‰n74 # let rc: Rc<[u8]> = load_from_cache(filename);ÁüÅnQN # Yoke::, Rc<[u8]>>::attach_to_cart(rc, |data: &[u8]| {Áü›o@= # Cow::Borrowed(bincode::deserialize(data).unwrap())Ádào # })Á<ñoø©ýo�ü…pC@ // load_object() defined in the example at the top of this pageÁüÍpB¡Æü”q$! assert_eq!(yoke.get(), "hello");Á<½qÜ®ÞqÊ Ê‚8 ÊÛ¼8ÊBÿÅâqŠɼ8Â8$êqüµt üÂr(% Get a reference to the backing cart.Áïr�ü÷rXU This can be useful when building caches, etc. However, if you plan to store the cartÁüÔs\Y separately from the yoke, read the note of caution below in [`Yoke::into_backing_cart`].Ád¼tñ ñ‚8 ñÂ8BÿÅ ÉtŠ˼8Â8$Êtü¢�#üöt@= Get the backing cart by value, dropping the yokeable object.Á»u�üÃu]Z **Caution:** Calling this method could cause information saved in the yokeable object butÁü¥v[X not the cart to be lost. Use this method only if the yokeable object cannot contain itsÁ¤…w own information.Ážw�l¦w¹¦¸w�üÀwYV Good example: the yokeable object is only a reference, so no information can be lost.Ážx�<¦xÜ®œ²x use yoke::Yoke;ÁÊx�üÒx&# let local_data = "foo".to_owned();ÁüýxKH let yoke = Yoke::<&'static str, Box>::attach_to_zero_copy_cart(ÁìÍy Box::new(local_data),Á4ïy );Áüúy# assert_eq!(*yoke.get(), "foo");Á¢z�Īz // Get back the cartÁüÇz(% let cart = yoke.into_backing_cart();Áôôz assert_eq!(&*cart, "foo");Á<—{Ü®£{�ü«{@= Bad example: information specified in `.with_mut()` is lost.Áð{�<ø{ܮ̄| use std::borrow::Cow;Áœ¢|Ðìº|�üÂ|&ùì”í| let mut yoke =Áü„}IF Yoke::, Box>::attach_to_zero_copy_cart(ÁüÒ}! Box::new(local_data),ÁTø}ÛÎü‡~" assert_eq!(yoke.get(), "foo");Á®~�ü¶~  // Override data in the cartÁÌÛ~ yoke.with_mut(|cow| {Áüù~# let mut_str = cow.to_mut();ÁÄ¡ mut_str.clear();Áü¾  mut_str.push_str("bar");Á<ã });Áüï" assert_eq!(yoke.get(), "bar");Á–€�Äž€ëîü»€(�ïüè€)& assert_eq!(&*cart, "foo"); // WHOOPS!Á<–�Ü®Œ©�‚8Â8BÿÅŠ̼8Â8‘ü��Lüå�74 Unsafe function for replacing the cart with anotherÁ¡‚�ü©‚<9 This can be used for type-erasing the cart, for example.Áê‚�dò‚ŽÆƒƒ�ü‹ƒTQ - References from the yokeable `Y` should still be valid for the lifetime of theÁìäƒ returned cart type `C`.Á†„�üŽ„^[ For the purpose of determining this, `Yoke` guarantees that references from the YokeableÁüñ„b_ `Y` into the cart `C` will never be references into its stack data, only heap data protectedÁüØ…eb by `StableDeref`. This does not necessarily mean that `C` implements `StableDeref`, rather thatÁü†eb any data referenced by `Y` must be accessed through a `StableDeref` impl on something `C` owns.Á¬‡�ü´‡gd Concretely, this means that if `C = Option>`, `Y` may contain references to the `T` but notÁ¤ ˆ anything else.Áü¹ˆ[X - Lifetimes inside C must not be lengthened, even if they are themselves contravariant.Áü™‰XU I.e., if C contains an `fn(&'a u8)`, it cannot be replaced with `fn(&'static u8)`,Áüö‰)& even though that is typically safe.Á¤Š�ü¬Š$! Note: `f` *is* allowed to panic.ÁÕŠ�üÝŠ^[ Typically, this means implementing `f` as something which _wraps_ the inner cart type `C`.ÁüÀ‹XU `Yoke` only really cares about destructors for its carts so it's fine to erase otherÁü�ŒZW information about the cart, as long as the backing data will still be destroyed at theÁtüŒ same time.Ád«�‚8餼¨ÿÅÔÎÞÏÎÏÅþƨ¦¸�þÆé¤¤Å�‹#é¤ï¤|Ê��#é¤ï¤¨¦×� ͼ8Â8¨¦é¤”œ”eg`bü‰§~üê’(% Mutate the stored [`Yokeable`] data.Á—“�üŸ“YV If the callback needs to return `'static` data, then [`Yoke::with_mut_return`] can beÁüý“VS used until the next breaking release of `yoke`, at which time the callback to thisÁüØ”74 function will be able to return any `'static` data.Á”•�üœ•EB See [`Yokeable::transform_mut()`] for why this operation is safe.Áæ•�l¦€–�üˆ–B? This can be used to partially mutate the stored data, providedÁüÏ–)& no _new_ borrowed data is introduced.Áý–�\…—§ü•—! # use yoke::{Yoke, Yokeable};Á´»—ô§ÜÖ—“¨œö— # use std::mem;ÁüŽ˜7¸¨üʘ!ù¨üð˜K¤©<À™ø©,Ì™ýàüÖ™FC # fn load_object(filename: &str) -> Yoke, Rc<[u8]>> {Áü¡š7ááüÝšLI # Yoke::, Rc<[u8]>>::attach_to_cart(rc, |data: &[u8]| {Áü®›RO # // A real implementation would properly deserialize `Bar` as a wholeÁœ…œ # Bar {Áü�œNK # numbers: Cow::Borrowed(bincode::deserialize(data).unwrap()),ÁüðœMJ # string: Cow::Borrowed(bincode::deserialize(data).unwrap()),ÁüÂ�$! # owned: Vec::new(),Á|ë� # }Ádÿ�Æã<�žø©œž�¼¤ž #[derive(Yokeable)]Á¤Àž struct Bar<'a> {ÁüÙž numbers: Cow<'a, [u8]>,Áìýž string: Cow<'a, str>,Á¼ŸŸ owned: Vec,Á,»Ÿ™­ÅŸ�üÍŸ96 // `load_object()` deserializes an object from a fileÁü‹ @= let mut bar: Yoke = load_object("filename.bincode");ÁüР*' assert_eq!(bar.get().string, "hello");Áüÿ :7 assert!(matches!(bar.get().string, Cow::Borrowed(_)));Áü¾¡EB assert_eq!(&*bar.get().numbers, &[0x68, 0x65, 0x6c, 0x6c, 0x6f]);Áüˆ¢;8 assert!(matches!(bar.get().numbers, Cow::Borrowed(_)));ÁüÈ¢'$ assert_eq!(&*bar.get().owned, &[]);Áô¢�Äü¢ bar.with_mut(|bar| {Áü™£/, bar.string.to_mut().push_str(" world");ÁüÍ£63 bar.owned.extend_from_slice(&[1, 4, 1, 5, 9]);Á<ˆ¤Ìô”¤�üœ¤0- assert_eq!(bar.get().string, "hello world");ÁüѤ74 assert!(matches!(bar.get().string, Cow::Owned(_)));Áü�¥41 assert_eq!(&*bar.get().owned, &[1, 4, 1, 5, 9]);ÁüÆ¥(% // Unchanged and still Cow::BorrowedÁüó¥E˜“ü½¦;è“<ý¦Ü®D�§ Ô‚8…Ó�5BÿÅÔÑ‚ÒÑÒÅ�Ö �§…Ó<ɧÓ‹#…Ó ÓÛ¼8ÔüÓ§3Ó�#…Ó´š�5üÛ§+ м8Â8Ô…Ó$¨§œ8–™§Ž�×§ü†¬¦üÁ¨XU Mutate the stored [`Yokeable`] data, and return `'static` data (possibly just `()`).Áž©�ü¦©TQ See [`Yokeable::transform_mut()`] for why this operation is safe, noting that noÁtÿ© `'static`.Á’ª�¼šª ### Will be removedÁü¶ª\Y This method will be removed on the next breaking release of `yoke`, when the callback ofÁü—«ZW [`Yoke::with_mut`] will gain the ability to return any `R: 'static` and supersede thisÁ\ö« method.Á|�¬Ô™…Ó›±BÿÅÔÕ‚ÖŽ×Ö×ÕÅ�Ö ¡¬þÆ›± ¤¬˜š<լ؋#…Ó Ø¿šü߬8Ø�#…ÓË ›± –­›±<¤­ Ô¼8Â8Ô…Ó›±$¯¬œa˜�¬ ¢›�ã¬üÜ®6üü­MJ Helper function allowing one to wrap the cart type `C` in an `Option`.Áœã®‚8£´BÿÅÅ Ù¼8Â8î™üÁ°)•ÛÛ’° ưÜÙ¼8ܤɰͷÝÞ-/Ͱü¢·,üñ°?< Construct a new [`Yoke`] from static data. There will be noÁüµ±@= references to `cart` here since [`Yokeable`]s are `'static`,Áüú±2/ this is good for e.g. constructing fully ownedÁü±²)& [`Yoke`]s with no internal borrowing.Áß²�üç²IF This is similar to [`Yoke::new_owned()`] but it does not allow you toÁüµ³A> mix the [`Yoke`] with borrowed data. This is primarily usefulÁüû³,) for using [`Yoke`] in generic scenarios.Á¬´�l´´¹¦Æ´�\δ§¬Þ´Ö§Üø´“¨˜µ�ü µ41 let owned: Cow = "hello".to_owned().into();ÁüÙµA> // this yoke can be intermingled with actually-borrowed YokesÁüŸ¶A> let yoke: Yoke, ()> = Yoke::new_always_owned(owned);Áå¶�üí¶$Ðä<–·Ü®„©·¼8Í·BÿÚÚ Ý¼8õ—›ü»»üï¹.+ Obtain the yokeable out of a `Yoke`Á¢º�üªº74 For most `Yoke` types this would be unsafe but it'sÁüæº=: fine for `Yoke` since there are no actual internalÁt¨» referencesÁl»Í·¼8BÿÚÚ Þ¼8­�ü“¾3•àÿââà’° ˜¾¢° ±¾áÙ¼8ᤛ¾£´ãä68Ÿ¾ACüåÅ+ü;?ó¢ü‘¿@½£üÖ¿2ˆ¤ü�À)Ť»À�üÃÀIF This can be paired with [`Yoke:: wrap_cart_in_option()`] to mix ownedÁ´‘Á and borrowed data.Á¬Á�ü´ÁXU If you do not wish to pair this with borrowed data, [`Yoke::new_always_owned()`] canÁü‘Â74 be used to get a [`Yoke`] API on always-owned data.ÁÍÂ�lÕ¹¦çÂ�\溺ÿÂ֧ܙÓ¨´¹Ãô§ÔÃ�üÜÃ4¼§ü•ÄAû§üÛÄHE let yoke: Yoke, Option>> = Yoke::new_owned(owned);Á¨Å�ü°Å$Ðä<ÙÅÜ®Lòż8£´Bÿßß ã¼8Â8õpŸüŸÉ1üÚÇB? Obtain the yokeable out of a `Yoke>` if possible.Á¡È�ü©ÈHE If the cart is `None`, this returns `Ok`, but if the cart is `Some`,ÁüöÈ$! this returns `self` as an error.ÁŒ¦É£´ÎÇBÿßß ä¼8Â8¯£üãËH•æÿèèæ’° èË¢° �ÌçÙ¼8ç¤ëËÂ8œ„Ì£´éBDïËMOü³ÙRü²ÌJG Converts a `Yoke>` to `Yoke>`Áü�Í96 for better niche optimization when stored as a field.Á¿Í�tÇÍšÄÚÍ�<âÍÜ®ÌîÍáðœŒÎÐì¤Î�ü¬Î-* let yoke: Yoke, Box>> =ÁüÞÎDA Yoke::attach_to_cart(vec![10, 20, 30].into(), |c| c.into());Á§Ï�ü¯Ï1. let yoke_option = yoke.wrap_cart_in_option();ÁüåÏMJ let yoke_option_pointer = yoke_option.convert_cart_into_option_pointer();Á<·ÐÜ®ÃÐ�üËÐ# The niche improves stack sizes:ÁóÐ�<ûÐÜ®œ‡ÑÐìüŸÑ2/ use yoke::cartable_ptr::CartableOptionPointer;Á¤ÖÑ use std::rc::Rc;ÁïÑ�ü÷Ñ" // The data struct is 6 words:ÁüžÒ # #[derive(yoke::Yokeable)]ÁüÂÒ # struct MyDataStruct<'a> {ÁüæÒ+( # _s: (usize, usize, usize, usize),Á´–Ó # _p: &'a str,Á<±Óø©ü½Ó(% const W: usize = size_of::();ÁüêÓ1. assert_eq!(W * 6, size_of::());Á Ô�ü¨ÔOL // An enum containing the data struct with an `Option` cart is 8 words:ÁÄüÔ enum StaticOrYoke1 {Áü™Õ/, Static(&'static MyDataStruct<'static>),ÁüÍÕ>; Yoke(Yoke, Option>>),Á,�Ö™­üšÖ2/ assert_eq!(W * 8, size_of::());ÁÑÖ�üÙÖWT // When using `CartableOptionPointer``, we need only 7 words for the same behavior:Áĵ× enum StaticOrYoke2 {ÁüÒ×/’Àü†ØMJ Yoke(Yoke, CartableOptionPointer>>),Á,ØØ™­üâØ2/ assert_eq!(W * 7, size_of::());Á<™ÙÜ®üºÙ £´¨ÑBÿåå é¼8Â8u¨üÝÞW•ëÿííë’° âÞ¢° ûÞìÙ¼8ì¤åÞó¶œþÞ¨Ñî<>éÞGIü�á1ü»ßQN Obtain the yokeable out of a `Yoke>` if possible.Á‘à�ü™àHÙ³üæà$¬´Œ¤á¨ÑµÛBÿêê î¼8Â8–­üúé%ü×âDA This trait marks cart types that do not change source on cloningÁœã�ü ãMJ This is conceptually similar to [`stable_deref_trait::CloneStableDeref`],ÁüîãOL however [`stable_deref_trait::CloneStableDeref`] is not (and should not) beÁü¾äZW implemented on [`Option`] (since it's not [`Deref`]). [`CloneableCart`] essentially isÁü™åUR "if there _is_ data to borrow from here, cloning the cart gives you an additionalÁìïå handle to the same data".Á�æ�d‘æŽÆüžæˆ… This trait is safe to implement on `StableDeref` types which, once `Clone`d, point to the same underlying data and retain ownership.Á§ç�ü«çŽ‹ This trait can also be implemented on aggregates of such types like `Option` and `(T: CloneableCart, U: CloneableCart)`.Áºè�ü¾èЇ Essentially, all data that could be referenced by a Yokeable (i.e. data that is referenced via a [`StableDeref`]) must retain the sameÁüÉé0- pointer and ownership semantics once cloned.Ál‹êïïûÅüúé(…ƒÆ,šêïûÅ-¬Ñ!ûÅ9¬Ñ-üéì9�ññöÄ õìïî4løì‰9ü»î2Ôó�ôôóÿƇ24Îî�2Çî Ëîü™ï �5üâózü¾ïgd Clone requires that the cart type `C` derefs to the same address after it is cloned. This works forÁ¼¦ð Rc, Arc, and &'a T.Á¾ð�üÂð`] For other cart types, clone `.backing_cart()` and re-use `.attach_to_cart()`; however, doingÁü£ñ63 so may lose mutations performed via `.with_mut()`.ÁÚñ�üÞñ_\ Cloning a `Yoke` is often a cheap operation requiring no heap allocations, in much the sameÁü¾òa^ way that cloning an `Rc` is a cheap operation. However, if the `yokeable` contains owned dataÁü óA> (e.g., from `.with_mut()`), that data will need to be cloned.Á•÷ÿùù÷’° çó¢° €ôøÙ¼8ø¤êóïÂ8lƒôú…Û¼8ú,Öô‚8û†ûprîó{}µô¼ãô,æôò ò‚8‚8Bÿö ìôö û¼8Â8$íôüøþ+•ýÿÿýÿ’° ýþ¢° –ÿþÙ¼8þ¤€ÿ‚8€…‹‘˜�£©GI„ÿRTüƒ’ìüªÿWT Allows one to "project" a yoke to perform a transformation on the data, potentiallyÁü†€ZW looking at a subfield, and producing a new yoke. This will move cart, and the providedÁüå€RO transformation is only allowed to use data known to be borrowed from the cart.Á¼��üÄ�\Y If producing the new [`Yokeable`] `P` requires access to the cart in addition to the oldÁü¥‚_\ `Y`, then [`Yoke::map_with_cart`] can be used if the cart satisfies additional constraints.Á‰ƒ�ü‘ƒUR The callback takes an additional `PhantomData<&()>` parameter to anchor lifetimesÁüëƒQN (see [#86702](https://github.com/rust-lang/rust/issues/86702)) This parameterÁüÁ„+( should just be ignored in the callback.Áñ„�üù„PM This can be used, for example, to transform data from one format to another:ÁÎ…�<Ö…Ü®´â…ô§¬ý…Ö§,—†ýàü¡†PM fn slice(y: Yoke<&'static str, Rc<[u8]>>) -> Yoke<&'static [u8], Rc<[u8]>> {Áüö†1. y.map_project(move |yk, _| yk.as_bytes())Á,¬‡™­<¶‡Ü®‡�üʇ96 This can also be used to create a yoke for a subfieldÁˆˆ�<�ˆÜ®üœˆ!‰œÂˆ‰Š´Úˆô§,õˆýàüÿˆ*' // also safely implements Yokeable<'a>Á¤®‰ã�Ôlj string_1: &'a str,ÁÔæ‰ string_2: &'a str,Á,…Š™­�Š�ä—Š fn map_project_string_1(Áü¸Š*' bar: Yoke, Rc<[u8]>>,ÁüçŠ'$ ) -> Yoke<&'static str, Rc<[u8]>> {Áü“‹.+ bar.map_project(|bar, _| bar.string_1)Á,Æ‹™­Ћ�,Ø‹ýàüâ‹52 # unsafe impl<'a> Yokeable<'a> for Bar<'static> {ÁüœŒ  # type Output = Bar<'a>;ÁüÁŒ1. # fn transform(&'a self) -> &'a Bar<'a> {Á”÷Œ # selfÁ\Ž� # }Á,ž�ýàü¨�/, # fn transform_owned(self) -> Bar<'a> {ÁüÜ�<9 # // covariant lifetime cast, can be done safelyÁ”�Žªé\´ŽÆé,ÄŽýàüÎŽ1. # unsafe fn make(from: Bar<'a>) -> Self {Áü„�-* # unsafe { mem::transmute(from) }Á\¶�Æé,Æ�ýàüÐ�1. # fn transform_mut(&'a mut self, f: F)Á|†� # whereÁüš�85 # F: 'static + FnOnce(&'a mut Self::Output),Á\×� # {Áüç�0- # unsafe { f(mem::transmute(self)) }Á\œ‘Æé<¬‘ø©<¸‘Ü®\Š’‚8…Ó�ïBÿüŒ�‚‚�‚üþÆ�é –’�Ö ™’ƒÙ�郤˒„‹#…ÓÛ¼8„„!„!…!—9o$z�é - „�5üì’‚„�#…ÓÌðÛ�é„ÜÓ“ €¼8Â8�é…Óh·œs·ÜÞàâÏ’ð’ü¿š¢üá—FC This is similar to [`Yoke::map_project`], however it does not moveÁü¬˜RO [`Self`] and instead clones the cart (only if the cart is a [`CloneableCart`])Áƒ™�ü‹™a^ This is a bit more efficient than cloning the [`Yoke`] and then calling [`Yoke::map_project`]Áüñ™IF because then it will not clone fields that are going to be discarded.Á”Æš º‚8Ôø«ûBÿüº†Œ‡‚ˆˆ†‡üþÆþô àšþÆÔø 㚉Ùþô‰¤œ›óØl½›Š‹#Ôø ºÛ¼8Š„!„!…!—9o$z�é - Š�5ü×›‰Š�#ÔøÜöÛþôŠÜÅœ …¼8Â8ºþôÔø$íšœ‚½,Ùš ›Û›üØ®‰ü¹ TQ This is similar to [`Yoke::map_project`], however it can also bubble up an errorÁ´’¡ from the callback.Á­¡�<µ¡Ü®´Á¡ô§¬Ü¡Ö§üö¡&# # use std::str::{self, Utf8Error};Á,¡¢ýàl«¢ fn slice(Áü½¢)& y: Yoke<&'static [u8], Rc<[u8]>>,Áüë¢:7 ) -> Result>, Utf8Error> {Áüª£@= y.try_map_project(move |bytes, _| str::from_utf8(bytes))Á,­<ù£Ü®…¤�ü�¤9×ãˤ�<Ӥܮüߤ!‰œ…¥‰Š´�¥ô§ü¸¥&…ù,ã¥ýàüí¥*ï䤜¦ã�Ôµ¦ bytes_1: &'a [u8],ÁÔÔ¦Õå,󦙭ý¦�ä…§”æü¦§*»æüÕ§:�úü”¨A> bar.try_map_project(|bar, _| str::from_utf8(bar.bytes_1))Á,Ú¨™­ä¨�,ì¨ýàüö¨5„èü°© ÄèüÕ©1ï蔋ªªé\¢ªÆé,²ªýàü¼ª/êéüðª<¤ê”±«ªé\È«Æé,Ø«ýàüâ«1•ëü˜¬-Ñë\ʬÆé,Ú¬ýàüä¬1¥ì|š­àìü®­8úì\ë­¼íüû­0Òí\°®Æé<À®ø©<̮ܮ|ß®‚8…ÓÌŽBÿüŒŒ‚��ŽŒ�Žü‚ð ï®�Ö ò®þÆÒ„ õ®�Ù�é�¤²¯�‹#…ÓÛ¼8�„!„!…!—9o$z�é - ��5üÓ¯���#…Ó¿ƒÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ�é�Ò„üº°& ‹¼8Â8�é…ÓÒ„-Çœ8ÇFILOIL¶¯ׯüº·¿üØ´JG This is similar to [`Yoke::try_map_project`], however it does not moveÁü§µRöñþµ�ü†¶aàòüì¶IÌó´Á·µõÔø¤¡Bÿüº’Œ“‚”�•”’•“ü€ö ß·’ö â·þÆÌ— å·–Ùþô–¤©¸óØlʸ—‹#Ôø ºÛ¼8—„!„!…!—9o$z�é - —�5ü且—�#Ôø؈ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛþô—Ì—üÒ¹& ‘¼8Â8ºþôÔøÌ—$ï·œ‘Ð,Ø·ehknhk­¸è¸üŽÀ³üÕ½PM This is similar to [`Yoke::map_project`], but it works around older versionsÁüª¾NK of Rust not being able to use `FnOnce` by using an explicit capture input.Áüý¾B? See [#1061](https://github.com/unicode-org/icu4x/issues/1061).ÁÄ¿�üÌ¿=: See the docs of [`Yoke::map_project`] for how this works.Áü•À!‚8’¯œÛ¼8œ’¯„!„!…!—9o$z�é - œ�5Û�éœBÿ�ïBÿüŒ™�š™šü‚ð ·ÀþÆ’¯ ºÀ›Ù�雤¬Â ˜¼8Â8�é’¯ ×™°×œm×^`Y[°ÂïÀü²ÉéüëÆWT This is similar to [`Yoke::map_project_cloned`], but it works around older versionsÁüÇÇN�‹üšÈBæ‹áÈ�üéÈDA See the docs of [`Yoke::map_project_cloned`] for how this works.Áü¹É(ž ž‚8’¯¢ žÛ¼8¢’¯„!„!…!—9o$z�é - ¢�5Û�é¢Bÿ�ïBÿüŒŸ�  Ÿ,âÉü‚ð éÉÃ� ìÉ¡Ù�顤ìËóØl�Ì �¼8Â8�é’¯$ÿÉ™°6ÜœTÜnpdfhjð˨ÊüäÒÐüüÏTQ This is similar to [`Yoke::try_map_project`], but it works around older versionsÁüÕÐN�‹ü¨ÑBæ‹ïÑ�ü÷ÑA> See the docs of [`Yoke::try_map_project`] for how this works.ÁüëÒ%‚8’¯¨Û¼8¨’¯„!„!…!—9o$z�é - ¨�5ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ�é¨Ò„BÿÌŽBÿüŒ¤�¥�¦¤¥¦ü‚ð ‘ÓÃ� ”Óþ‚ —Ó§Ù�駤ŸÕ £¼8Â8�é’¯Ò„cä™°näœÜäbdfhjl£ÕÌÓüÙ܆üãÙ[X This is similar to [`Yoke::try_map_project_cloned`], but it works around older versionsÁüÃÚN�‹ü–ÛBæ‹ÝÛ�üåÛHE See the docs of [`Yoke::try_map_project_cloned`] for how this works.ÁüàÜ,ª ª‚8’¯¯ ªÛ¼8¯’¯„!„!…!—9o$z�é - ¯�5ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ�é¯Ò„BÿÌŽBÿüŒ«�¬�­¬«­,�Ýü‚ð ”ÝÃ� —Ýþ‚ šÝ®Ù�鮤°ßóØlÑß ©¼8Â8�é’¯Ò„$­Ý™°eâœQâ{}qsuwy{´ßÖÝüÃãa•±ÿ³±³’° È㢰 áã²Ù¼8²¤ËãªÀ\äã¸À<œä‚8´¹¿ÅMOÏãXZü¦ýšü«ä\Y Allows one to produce a new yoke from both the cart and the old yoke. This will move theÁüŒå_\ cart, and the provided transformation is only allowed to use data known to be borrowed fromÁlðå the cart.Á‚æ�üŠæ\Y If access to the old [`Yokeable`] `Y` is sufficient to produce the new [`Yokeable`] `P`,ÁüëæXU then [`Yoke::map_project`] should be preferred, as `map_with_cart` places additionalÁäÈç constraints on the cart.Áéç�üñç_\ This can be used, for example, to transform data between two formats, one of which containsÁtÕè more data:Áèè�<ðèÜ®üüè!‰œ¢é‰Š´ºéô§,Õéýàüßé\Y // Both structs have `first_line`, which won't need to be recomputed in `map_with_cart`.ÁüÀê0- // They also safely implement `Yokeable<'a>`Á¤õê struct Foo<'a> {ÁüŽë$! first_line: Option<&'a str>,Á,·ë™­¤Áëã�üÚë$·§üƒì# last_line: Option<&'a str>,Á,«ì™­µì�”½ì fn foo_to_bar(ÁüÔì)& foo: Yoke, Rc>,Áü‚í&# ) -> Yoke, Rc> {Áü­í'$ foo.map_with_cart(|foo, cart| {ÁŒÙí Bar {Áüïí+( first_line: foo.first_line,ÁüŸî41 last_line: cart.lines().next_back(),ÁlØî }ÁTê,ùî™­ƒï�”‹ï fn bar_to_foo(Áü¢ï)& bar: Yoke, Rc>,ÁüÐï&# ) -> Yoke, Rc> {Áüûï" bar.map_project(|bar, _| {ÁŒ¢ð Foo {Áü¸ð+( first_line: bar.first_line,Álèðœ«Túð†­,‰ñ™­“ñ�,›ñýàü¥ñ52 # unsafe impl<'a> Yokeable<'a> for Foo<'static> {Áüßñ  # type Output = Foo<'a>;Áü„ò1. # fn transform(&'a self) -> &'a Foo<'a> {Á”ºòªé\ÑòÆé,áòýàüëò/, # fn transform_owned(self) -> Foo<'a> {ÁüŸó<¤ê”àóªé\÷óÆé,‡ôýàü‘ô1. # unsafe fn make(from: Foo<'a>) -> Self {ÁüÇô-Ñë\ùôÆé,‰õýàü“õ1¥ì|ÉõàìüÝõ8úì\šö¼íüªö0Òí\ßöÆé<ïöø©,ûöýàü…÷5„èü¿÷ Äèüä÷1ï蔚øªé\±øÆé,ÁøýàüËø/êéüÿø<¤ê”Àùªé\×ùÆé,çùýàüñù1•ëü§ú-Ñë\ÙúÆé,éúýàüóú1¥ì|©ûàìü½û8úì\úû¼íüŠü0Òí\¿üÆé<Ïüø©<ÛüÜ®l­ý‚8…Ó�ïBÿ°Œµ‚¶µ¶°‚ð »ý�Ö ¾ý·Ù�é·¤ðý¸‹#…ÓÛ¼8¸ ¸îƒü‘þ‡¸�#…Ó—·Û�é¸Üýþ¸À<¸ÿ ´¼8Â8�é…ÓöçœòçÀÂÄÆôý•þüªˆÐüÛƒYV This is similar to [`Yoke::map_with_cart`], but it does not move [`Self`] and insteadÁü¹„>; clones the cart (only if the cart is a [`CloneableCart`]).Áü„�ü„…KH This is a bit more efficient than cloning the [`Yoke`] and then callingÁüÔ…\Y [`Yoke::map_with_cart`] because it will not clone fields that are going to be discarded.Áµ†�ü½†\¤¢üž‡[X then [`Yoke::map_project_cloned`] should be preferred, as `map_with_cart_cloned` placesÁüþ‡'$ additional constraints on the cart.Á¤±ˆµõÔø«ûBÿ°ººŒ»‚¼º»¼°€ö ͈’ö Ј½Ùþô½¤‰‰¾‹#Ôø ºÛ¼8¾ ¾îƒüª‰Ž¾�#Ôøš¾Ûþô¾Ü�ŠóØlÅŠ¸À<òŠ ¹¼8Â8ºþôÔø$Úˆœ1æ,ƈßáãå�‰®‰ü£•·üØŽRO This is similar to [`Yoke::map_with_cart`], but it can also bubble up an errorÁ´¯�­øÊ��üÒ�\¤¢ü³�UR then [`Yoke::try_map_project`] should be preferred, as `try_map_with_cart` placesÁü�‘'Í»¹‘�<Á‘Ü®´Í‘ô§¬è‘Ö§ü‚’&…ù,­’ýàä·’ // Implements `Yokeable`ÁüØ’+( type P<'a> = (&'a str, Option<&'a u8>);Áˆ“�l�“Ãùü¢“)ÛùüГ85 ) -> Result, Rc<[u8]>>, Utf8Error> {Áü�”0- y.try_map_with_cart(move |bytes, cart| {Áü”74 Ok((str::from_utf8(bytes)?, bytes.first()))ÁTþ”†­,�•™­<—•Ü®Œª•‚8…ÓÌŽBÿ°ŒÀ‚Á�ÂÂÀÁ°‚𠼕�Ö ¿•þ‚ •ÃÙ�éäÿ•Ä‹#…ÓÛ¼8Ä Äîƒü –’Ä�#…ÓÕÆÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ�éÄÒ„üŒ—&¸À<Ò— ¿¼8Â8�é…ÓÒ„Á᜽á!$'*-0ƒ–¤–üØ íüú›]Z This is similar to [`Yoke::try_map_with_cart`], but it does not move [`Self`] and insteadÁüÜœ>¸¸Ÿ��ü§�K޹ü÷�`] [`Yoke::try_map_with_cart`] because it will not clone fields that are going to be discarded.ÁÜž�üäž[X If access to the old [`Yokeable`] `Y` is sufficient to producethe new [`Yokeable`] `P`,ÁüÄŸ\Y then [`Yoke::try_map_project_cloned`] should be preferred, as `try_map_with_cart_cloned`Áü¥ .+ places additional constraints on the cart.ÁÄß µõÔø¤¡Bÿ°ºÆŒÇ‚È�ÉÆÈÉǰ€ö ÿ ’ö ‚¡Žˆ …¡ÊÙþôʤɡóØlê¡Ë‹#Ôø ºÛ¼8Ë Ëîƒü„¢™Ë�#ÔøËÎÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛþôËÌ—ü÷¢&¸À<½£ ż8Â8ºþôÔøÌ—$�¡œ;Ý,ø @CFILOÍ¡ˆ¢üŽÝ+•ÍÿÏÏÍ’° “Ý¢° ¬ÝÎÙ¼8Τ–Ý‚8ÐÒ57šÝ@BüêßBüÀÝPM Helper function allowing one to wrap the cart type `C` in an [`EitherCart`].Á•Þ�ü�ÞJG This function wraps the cart into the `A` variant. To wrap it into theÁüìÞ74 `B` variant, use [`Self::wrap_cart_in_either_b()`].Á¨ß�ü°ß'$ For an example, see [`EitherCart`].Á¬ñß‚8ΚBÿÌþÑÑÌþÆõ™ ‡à м8Â8õ™ÝüåãBü»áP�Ñ�â�ü˜âJG This function wraps the cart into the `B` variant. To wrap it into theÁüçâ74 `A` variant, use [`Self::wrap_cart_in_either_a()`].Á£ã�ü«ã'œÓ¬ìã‚8†�BÿÌýÓÓÌþƪœ ‚ä Ò¼8Â8ªœ$Ý\Ȇ Ά€�5\Ù» ß»€�5\ω Õ‰€�5däDèÙ—9\¼„!ר—9…!×ØÌ®+ü¬&üÊ_\ The `Yokeable<'a>` trait is implemented on the `'static` version of any zero-copy type; forÁüªHE example, `Cow<'static, T>` implements `Yokeable<'a>` (for all `'a`).Áó�|÷ One can useÁü‡_\ `Yokeable::Output` on this trait to obtain the "lifetime'd" value of the `Cow<'static, T>`,ÁüçFC e.g. ` as Yokeable<'a>'>::Output` is `Cow<'a, T>`.Á®�ü²OL A [`Yokeable`] type is essentially one with a covariant lifetime parameter,Áü‚RO matched to the parameter in the trait definition. The trait allows one to castÁüÕ1. the covariant lifetime to and from `'static`.Á‡�ü‹a^ **Most of the time, if you need to implement [`Yokeable`], you should be able to use the safeÁüíC@ [`#[derive(Yokeable)]`](yoke_derive::Yokeable) custom derive.**Á±�üµRO While Rust does not yet have GAT syntax, for the purpose of this documentationÁüˆ OL we shall refer to "`Self` with a lifetime `'a`" with the syntax `Self<'a>`.ÁüØ GD Self<'static> is a stand-in for the HKT Self<'_>: lifetime -> type.Á  �ü¤ qn With this terminology, [`Yokeable`] exposes ways to cast between `Self<'static>` and `Self<'a>` generically.Áü– ]Z This is useful for turning covariant lifetimes to _dynamic_ lifetimes, where `'static` isÁüô *' used as a way to "erase" the lifetime.ÁŸ �d£ ŽÆ° �ü´ b_ This trait is safe to implement on types with a _covariant_ lifetime parameter, i.e. one whereÁü— \Y [`Self::transform()`]'s body can simply be `{ self }`. This will occur when the lifetimeÁüô da parameter is used within references, but not in the arguments of function pointers or in mutableÁüÙ;8 positions (either in `&mut` or via interior mutability)Á•�ü™[X This trait must be implemented on the `'static` version of such a type, e.g. one shouldÁüõA> implement `Yokeable<'a>` (for all `'a`) on `Cow<'static, T>`.Á·�ü»LI This trait is also safe to implement on types that do not borrow memory.Áˆ�üŒQN There are further constraints on implementation safety on individual methods.ÁÞ�äâ # Implementation exampleÁÿ�üƒWT Implementing this trait manually is unsafe. Where possible, you should use the safeÁüÛ_\ [`#[derive(Yokeable)]`](yoke_derive::Yokeable) custom derive instead. We include an exampleÁü»OL in case you have your own zero-copy abstractions you wish to make yokeable.Á‹�\�§Ì› # use yoke::Yokeable;Áܵ“¨ÔÑ # use std::{mem, ptr};Á¤ìã�ü�‚�ì¡«�¼¿Ò�,×™­Ý�üá30 unsafe impl<'a> Yokeable<'a> for Bar<'static> {Áô• type Output = Bar<'a>;Áü´/, fn transform(&'a self) -> &'a Bar<'a> {Áüä:7 // covariant lifetime cast, can be done safelyÁ„Ÿ selfÁL° }Áº�ü¾-* fn transform_owned(self) -> Bar<'a> {Áüì:‰ï„§ÌïL¸åïÂ�üÆ/, unsafe fn make(from: Bar<'a>) -> Self {ÁüöA> unsafe { mem::transmute::(from) }ÁL¸åïÂ�üÆ/, fn transform_mut(&'a mut self, f: F)Álö whereÁü„63 F: 'static + FnOnce(&'a mut Self::Output),ÁL» {ÁüÅNK unsafe { f(mem::transmute::<&mut Self, &mut Self::Output>(self)) }ÁL”åï,ž™­<¤Ü®D½ÙÔÚÙÚûÅü¬¾1ƒÆ<ËÙûÅ'Öõ ûÅ3Öõ,ÛÜÝÞßÛÜÝÞßþÆÛƒÆÔ„±¨öÔ¾ ö¿öÞÜßÝÆ|±üÙSP This type MUST be `Self` with the `'static` replaced with `'a`, i.e. `Self<'a>`Á4¶ÙÙü”+üÇPM This method must cast `self` between `&'a Self<'static>` and `&'a Self<'a>`.Áœ�ܤ # Implementation safetyÁÄ�üÌRO If the invariants of [`Yokeable`] are being satisfied, the body of this methodÁü£XU should simply be `{ self }`, though it's acceptable to include additional assertionsÁ|€ if desired.ÁL— ÔƒÆ Ô¨öBÿÙ٠܃ÆÔ$¥üŠ")üÅHE This method must cast `self` between `Self<'static>` and `Self<'a>`.Á’ �Üš Ý÷º �ü RŽøü™!Xêø|ö!Ëù|�"ƒÆ¨öBÿÙ٠݃ÆÔ$�"ü§%+ü¹"?< This method can be used to cast away `Self<'a>`'s lifetime.Áý"�d…#ŽÆ–#�üž#VS The returned value must be destroyed before the data `from` was borrowing from is.Áù#�Ü�$Ý÷¡$�ü©$RO A safe implementation of this method must be equivalent to a transmute betweenÁü€%" `Self<'a>` and `Self<'static>`Á$±%¨öƒÆÿÙÙ ÞƒÆÔ”$¶%ü©K¿üØ%XU This method must cast `self` between `&'a mut Self<'static>` and `&'a mut Self<'a>`,Á¼µ& and pass it to `f`.ÁÑ&�ÜÙ&Ý÷ù&�ü�'_\ A safe implementation of this method must be equivalent to a pointer cast/transmute betweenÁüå'@= `&mut Self<'a>` and `&mut Self<'static>` being passed to `f`Áª(�¼²( # Why is this safe?ÁÎ(�üÖ(PM Typically covariant lifetimes become invariant when hidden behind an `&mut`,Áü«)LI which is why the implementation of this method cannot just be `f(self)`.Áüü)gd The reason behind this is that while _reading_ a covariant lifetime that has been cast to a shorterÁüè*XU one is always safe (this is roughly the definition of a covariant lifetime), writingÁüÅ+]Z may not necessarily be safe since you could write a smaller reference to it. For example,Áü§,c` the following code is unsound because it manages to stuff a `'a` lifetime into a `Cow<'static>`Á�-�ô—- ```rust,compile_fail,E0521Áܺ-“¨ÌÚ-Ëì„ø- struct Foo {Á¤�. str: String,Áü¦. cow: Cow<'static, str>,Á,Ê.™­Ô.�üÜ.&# fn unsound<'a>(foo: &'a mut Foo) {Áü‡/ let a: &str = &foo.str;Áü«/=: foo.cow.transform_mut(|cow| *cow = Cow::Borrowed(a));Á,í/™­<÷/Ü®ƒ0�ü‹0da However, this code will not compile because [`Yokeable::transform_mut()`] requires `F: 'static`.Áüô0`] This enforces that while `F` may mutate `Self<'a>`, it can only mutate it in a way that doesÁüÙ1fc not insert additional references. For example, `F` may call `to_owned()` on a `Cow` and mutate it,ÁüÄ2^[ but it cannot insert a new _borrowed_ reference because it has nowhere to borrow _from_ --Áü§3jg `f` does not contain any borrowed references, and while we give it `Self<'a>` (which contains borrowedÁü–42/ data), that borrowed data is known to be validÁÍ4�üÕ4ZW Note that the `for<'b>` is also necessary, otherwise the following code would compile:Á´5�ô¼5í‡Üß5“¨Ìÿ5Ëìœ�6‰Š,µ6ýàü¿6*ïä¤î6ã�„‡7 num: u8,ÁÌœ7 cow: Cow<'a, u8>,Á,º7™­Ä7�üÌ7/, fn unsound<'a>(bar: &'a mut Bar<'static>) {Áü€8HE bar.transform_mut(move |bar| bar.cow = Cow::Borrowed(&bar.num));Á,Í8™­,×8ýàüá85„èü›9 ÄèüÀ91ïè”ö9ªé\�:Æé,�:ýàü§:/êéüÛ:<¤ê”œ;ªé\³;Æé,Ã;ýàüÍ;1•ëüƒ<30 # let ret = mem::transmute_copy(&from);Áü»<  # mem::forget(from);ÁŒà< # retÁ\ö<Æé,†=ýàü�=1¥ì|Æ=àìüÚ=8úì\—>¼íü§>0Òí\Ü>Æé<ì>ø©<ø>Ü®„?�üŒ?YV which is unsound because `bar` could be moved later, and we do not want to be able toÁüê?! self-insert references to it.Á�@�ü˜@`] The `for<'b>` enforces this by stopping the author of the closure from matching up the inputÁüý@IF `&'b Self::Output` lifetime with `'a` and borrowing directly from it.ÁËA�üÓA`] Thus the only types of mutations allowed are ones that move around already-borrowed data, orÁì¸B introduce new owned data:ÁÚB�\âB§ÜòB“¨Ì’CËì„°C®ˆ¤ÅCLjüÞCåˆ,‚D™­ŒD�ì”D fn sound(foo: &mut Foo) {Áü¶DA> foo.cow.transform_mut(move |cow| cow.to_mut().push('a'));Á,üD™­<†EÜ®’E�üšEKH More formally, a reference to an object that `f` assigns to a referenceÁüêE'$ in Self<'a> could be obtained from:Áü–FQN - a local variable: the compiler rejects the assignment because 'a certainlyÁüìF%" outlives local variables in f.Áü–GMJ - a field in its argument: because of the for<'b> bound, the call to `f`ÁüèGPM must be valid for a particular 'b that is strictly shorter than 'a. Thus,Áü½H+( the compiler rejects the assignment.ÁüíHEB - a reference field in Self<'a>: this does not extend the set ofÁü·IEB non-static lifetimes reachable from Self<'a>, so this is fine.Áü�JPM - one of f's captures: since F: 'static, the resulting reference must referÁ¼ÖJ to 'static data.ÁüòJ2/ - a static or `thread_local` variable: ditto.Ál¬K ԃƗÉ�5BÿÙ‚ààÙÊ’ ºK‚“<¹Lá‹#—É á¨öüÃL$á�#—Éü¤�5äËL ߃ÆÔ—É$ÅKœ ËKprÇLü¦V@Ôã�äãäÜÒ4ÃV•‹<¹Vö9åæçèéÛÜÝÞßéçæè²V ¶V\íV4òVââ�2ü”W#L—W Ôö9 Ô�2Bÿââ æÔ‡2$¥Wü¶X!|¹Xö9�2Bÿââ çÔ‡2©üÖY#$àY�2ö9ÿââ èÔ‡2”—üÁ[llÄ[ Ôö9—É�5Bÿâ‚êêâÊ’ Ò[‚“<þ[ë‹#—É ëÛö9Ôüˆ\$ë�#—Éâ©�5ä�\ éÔ‡2—É$Ý[œ•|~Œ\ü‘dDÔí�îîíÜÒ4¤d•‹<­d‰:ïðñòóÛÜÝÞßòðóñ�d ¡d\Üd4ádìì‰:üÿd*L‚e Ô‰: ÔÛ‰:ÔBÿìì ðÔ‡2$�eüÄe(|Çe‰:¤¬Bÿìì ñÔ‡2ü‡f*$‘f¤¬‰:ÿìì òÔ‡2”üÌf¿lÏf Ô‰:—É�5Bÿì‚ôôìÊ’ Ýf‚“<Ügõ‹#—É õ¤¬üæg$õ�#—Éå®�5äîg óÔ‡2—É$èfœ%oqêgl�Ó÷¤øäòL“Ñ$ÖŒö÷†ýDçÙöø‡ýPöøƒs,�Ü"öùóÂ\ öúí¬D¹ öûˆí¬3öûˆ\Ϥ|à‘„öhüŒY|²JüÄÄ•ýÿþþý’° É¢° ÌÿÙ¼8ÿ¤ç€ Û¼8€€îƒü¦"ªÀ\ÑÜ"Â8,߸À<€‚8�€‚…‡ë…üÜ 0ü�\Y Construct a [`Yoke`]`` from a cart implementing `StableDeref` by zero-copy cloningÁüð=: the cart to `Y` and then yokeing that object to the cart.Á²�üºYV The type `Y` must implement [`ZeroFrom`]``. This trait is auto-implementedÁü˜\Y on many common types and can be custom implemented or derived in order to make it easierÁÔù to construct a `Yoke`.Á˜�l ¹¦²�¬º Attach to a cart:ÁÔ�<ÜÜ®Ìèáðœ†Ðìž�ü¦KH let yoke = Yoke::, String>::attach_to_zero_copy_cart(ÁÔö "demo".to_owned(),Á4• £î  �ü¨ # assert_eq!("demo", yoke.get());Á<Ð Ü®Äã Â8‚8Bÿüü �¼8Â8…cº ��‚�‚�‚‚�駬ÂÓÉ”¥ÔŸz\â`dVZÌŽDŸ”ËÓ÷¤°äªcüåI#ü­GEB A type with similar semantics as `Option>` but with a niche.ÁóG�ü÷GJG This type cannot be publicly constructed. To use this in a `Yoke`, seeÁüÂH/, [`Yoke::convert_cart_into_option_pointer`].ÁòH�üöH]Z [`Yoke::convert_cart_into_option_pointer`]: crate::Yoke::convert_cart_into_option_pointerÁ¬ðIÿŠŠ¡Ý †J±Ýœ–J§25ÀõÑmµÆm‹Œ()+´’L,’L‰‰ÀCÌ®LL®L‰‰µDü!ÿŽŽ¡ÝŒŸgß2†J±ÝšŸgîCü!§2� g�ÀÂü!ü!ÅÆÇ Å§2 Æ€g€gŠ‚gê ûcƒgÅFûcØ«q¢1ȡǔFBÿ�ÝI� �ß2ü!œü!ÜœüÊRO A cart that can be one type or the other. Enables ergonomic polymorphic carts.Á��ü¡TQ `EitherCart` enables yokes originating from different data sources and thereforeÁüöUR having different cart types to be merged into the same yoke type, but still beingÁüÌ85 able to recover the original cart type if necessary.Á…�ü‰OL All relevant Cart traits are implemented for `EitherCart`, and carts can beÁüÙ&# safely wrapped in an `EitherCart`.Á€�ü„EB Also see [`Yoke::erase_box_cart()`](crate::Yoke::erase_box_cart).ÁÊ�tΚÄÝ�<áÜ®¤é‰¼üþ! use yoke::either::EitherCart;Áœ Ðì´�ü¸)& let y1: Yoke<&'static str, Rc> =ÁüâOL Yoke::attach_to_zero_copy_cart("reference counted hello world".into());Á²�ü¶^[ let y2: Yoke<&'static str, &str> = Yoke::attach_to_zero_copy_cart("borrowed hello world");Á• �ü™ MJ type CombinedYoke<'a> = Yoke<&'static str, EitherCart, &'a str>>;Áç �üë QN // Both yokes can be combined into a single yoke type despite different cartsÁü½ 63 let y3: CombinedYoke = y1.wrap_cart_in_either_a();Áüô 63 let y4: CombinedYoke = y2.wrap_cart_in_either_b();Á« �ü¯ ;8 assert_eq!(*y3.get(), "reference counted hello world");Áüë 2/ assert_eq!(*y4.get(), "borrowed hello world");Áž �ü¢ QN // The resulting yoke is cloneable if both cart types implement CloneableCartÁÄô  let y5 = y4.clone();Áü� 2/ assert_eq!(*y5.get(), "borrowed hello world");Á<À Ü®T¥º ‘à ’’‘ˆç°§ç´Ÿ3ᬡoh(a“”–—”•ç3Ÿ3Bÿ—˜í3Ÿ3BÿJLOQms�� ”ç3í3‘•ç3Ÿ3Bÿ��•ÏÀ��ç3Ž”�� —ç3í3²¶í3Ÿ3Bÿ��ŠÐË��í3Ò/ º šà ›š›ˆç§ç~…ç3 °…í3 ´Ÿ3œ†œ·º¾ÁÒ/Ò/Ë ËŸ3Ÿ3Bÿ™ Ñ ™ œç3í3Ò/®1!º žà ŸžŸˆç^§ç]÷±ç3ç3 °÷±í3í3 ´Ÿ3“–š�®1!º ¡à ¢¡¢ˆçâ§çá�Óy•ÓkŸ3£ù±£ ®1®1ÌÍ ÌŸ3 ÍŸ3Bÿ  Ø   £ç3í3®1î ®1e5"º ¥à ¦¥¦ˆçŧçÄÌç3 °Ìí3 ´Ÿ3§Î§ýe5e5e5e5ΠΟ3�5Bÿ¤ ã ¤ §ç3í3e5¨5#º ©à ªª©ˆçÁ§çÀŸgç3 °Ÿgí3 ´Ÿ3« g«ùü¨5¨5ÏÐÑ ÏŸ3 Ѐg€gŠ‚gê ûcƒgÅFûcØ«q¢1ȡєFBÿ¨ ç ¨ «ç3í3¨5œ¨5øÆ$Ô­­�5®¯°±²ÛÜÝÞß±¯°²ÒXù0þ¬¬�5øÊ$HÍÖ Ö�5 ÖÛ�5ÔBÿ¬×¬ ¯Ô Øø¦(x©�5–ÛBÿ¬¬ °ÔCø†* �–Û�5ÿ¬¬ ±Ôõ†jCøèthë Ô�5È�5Bÿ¬‚³³¬þÆÈùÈ8­´‹#È ´–Ûø·$´�#ÈãÝ�5à¿ ²ÔÈ „œ,Dsu»øÆ$Ô¶¶Ÿ5·¸¹º»ÛÜÝÞ߸º»¹ÒXù0þµµŸ5øÊ$HÍ× ×Ÿ5 ×ÛŸ5ÔBÿµ×µ ¸Ô Øø¦(x©Ÿ5úßBÿµµ ¹Ô Eø†* �úߟ5ÿµµ ºÔõ†jEøèthë ÔŸ5È�5Bÿµ‚¼¼µµÝùÇÝ8­½‹#È ½úßø·$½�#È»â�5à¿ »ÔÈ „œ!Fpr»øÆ$Ô¿¿¯5ÀÁÂÃÄÛÜÝÞßÃÁÄÂÒXù0þ¾¾¯5øÊ$HÍØ د5 ØÛ¯5ÔBÿ¾×¾ ÁÔ Øø¦(x©¯5ÒäBÿ¾¾ ÂÔGø†* �Òä¯5ÿ¾¾ ÃÔõ†cGøèthë Ô¯5È�5Bÿ¾‚ÅžµÝùÇÝ8­Æ‹#È ÆÒäø·$Æ�#È“ç�5à¿ ÄÔÈ „œHpr»øÆ$ÔÈÈ¿5ÉÊËÌÍÛÜÝÞßÌÊÍËÒXù0þÇÇ¿5øÊ$HÍÙ Ù¿5 ÙÛ¿5ÔBÿÇ×Ç ÊÔ Øø¦(x©¿5ªéBÿÇÇ ËÔûHø†* �ªé¿5ÿÇÇ ÌÔõ†\Iøèthë Ô¿5È�5BÿÇ‚ÎÎǵÝùÇÝ8­Ï‹#È Ïªéø·$Ï�#Èëë�5à¿ ÍÔÈ „œJpr»øÆ$ ÔÑÑÏ5ÒÓÔÕÖÛÜÝÞßÔÓÕÖÒXù0þÐÐÏ5øÊ$HÍÚ ÚÏ5 ÚÛÏ5ÔBÿÐ×Ð ÓÔ Øø¦(x©Ï5‚îBÿÐÐ ÔÔôJø†* �‚îÏ5ÿÐÐ ÕÔõ†UKøèthë ÔÏ5È�5BÿЂ××еÝùÇÝ8­Ø‹#È Ø‚îø·$Ø�#ÈÃð�5à¿ ÖÔÈ „œ Lpr»øÆ$ ÔÚÚß5ÛÜÝÞßÛÜÝÞßßÝÜÞÒXù0þÙÙß5øÊ$HÍÛ Ûß5 ÛÛß5ÔBÿÙ×Ù ÜÔ Øø¦(x©ß5ÚòBÿÙÙ ÝÔíLø†* �Úòß5ÿÙÙ ÞÔõ†NMøèthë Ôß5È�5BÿÙ‚ààÙµÝùÇÝ8­á‹#È áÚòø·$á�#È›õ�5à¿ ßÔÈ „œNpr»øÆ$ Ôããï5äåæçèÛÜÝÞßèæçåÒXù0þââï5øÊ$HÍÜ Üï5 ÜÛï5ÔBÿâ×â åÔ Øø¦(x©ï5²÷Bÿââ æÔæNø†* �²÷ï5ÿââ çÔõ†GOøèthë Ôï5È�5Bÿâ‚ééâµÝùÇÝ8­ê‹#È ê²÷ø·$ê�#Èóù�5à¿ èÔÈ „œþOpr»øÆ$ Ôììÿ5íîïðñÛÜÝÞßñïðîÒXù0þëëÿ5øÊ$HÍÝ Ýÿ5 ÝÛÿ5ÔBÿë×ë îÔ Øø¦(x©ÿ5ŠüBÿëë ïÔßPø†* �Šüÿ5ÿëë ðÔõ†@Qøèthë Ôÿ5È�5Bÿë‚òòëµÝùÇÝ8­ó‹#È óŠüø·$ó�#ÈËþ�5à¿ ñÔÈ „œ÷Qpr»øÆ$ Ôõõ�6ö÷øùúÛÜÝÞß÷úøùÒXù0þôô�6øÊ$HÍÞ Þ�6 ÞÛ�6ÔBÿô×ô ÷Ô Øø¦(x©�6†Bÿôô øÔØRø†* �†�6ÿôô ùÔõ†9Søèthë Ô�6È�5Bÿô‚ûûôµÝùÇÝ8­ü‹#È ü†ø·$ü�#È£ƒ �5à¿ úÔÈ „œðSpr»ø Æ$ÔþþŸ6ÿ€�‚ƒÛÜÝÞß‚€ƒ� ÒX ù0 þýýŸ6ø!Ê$H!Íß ßŸ6 ßÛŸ6ÔBÿý!×ý €Ô !Øø!¦(x!©Ÿ6º… Bÿýý �ÔÑTø!†* !�º… Ÿ6ÿýý ‚Ôõ†2Uø!èth!ë ÔŸ6È�5Bÿý‚„„ýµÝ!ùÇÝ8!­…‹#È …º… ø!·$…�#Èû‡ �5à!¿ ƒÔÈ !„œéUpr!»ø"Æ$Ô‡‡¯6ˆ‰Š‹ŒÛÜÝÞß‹‰ŒŠ"ÒX"ù0"þ††¯6ø#Ê$H#Íà à¯6 àÛ¯6ÔBÿ†#׆ ‰Ô #Øø#¦(x#©¯6’Š Bÿ†† ŠÔÊVø#†* #�’Š ¯6ÿ†† ‹Ôõ†+Wø#èth#ë Ô¯6È�5Bÿ†‚��†µÝ#ùÇÝ8#­Ž‹#È Ž’Š ø#·$Ž�#ÈÓŒ �5à#¿ ŒÔÈ #„œâWpr#»ø$Æ$Ô��¿6‘’“”•ÛÜÝÞß”’“•$ÒX$ù0$þ��¿6ø%Ê$H%Íá á¿6 áÛ¿6ÔBÿ�%×� ’Ô %Øø%¦(x%©¿6êŽ Bÿ�� “ÔÃXø%†* %�êŽ ¿6ÿ�� ”Ôõ†$Yø%èth%ë Ô¿6È�5Bÿ�‚––�µÝ%ùÇÝ8%­—‹#È —êŽ ø%·$—�#È«‘ �5à%¿ •ÔÈ %„œÛYpr%»ø&Æ$Ô™™Ï6š›œ�žÛÜÝÞßž�›œ&ÒX&ù0&þ˜˜Ï6ø'Ê$H'Íâ âÏ6 âÛÏ6ÔBÿ˜'ט ›Ô 'Øø'¦(x'©Ï6“ Bÿ˜˜ œÔ¼Zø'†* '�“ Ï6ÿ˜˜ �Ôõ†[ø'èth'ë ÔÏ6È�5Bÿ˜‚ŸŸ˜µÝ'ùÇÝ8'­ ‹#È  “ ø'·$ �#ȃ– �5à'¿ žÔÈ '„œÔ[pr'»ø(Æ$Ô¢¢£¤¥¦§ÛÜÝÞߥ§¦¤(ÒX(ù0(þ¡¡ø)Ê$H)Íã ã ãÛÔBÿ¡)ס ¤Ô )Øø)¦(x)©—˜ Bÿ¡¡ ¥Ô²\ø)†* )�—˜ ÿ¡¡ ¦Ôõ†]ø)èth)ë ÔÈ�5Bÿ¡‚¨¨¡µÝ)ùÇÝ8)­©‹#È ©—˜ ø)·$©�#ÈÔš �5à)¿ §ÔÈ )„œÇ]pr)»ø*Æ$Ô««¬­®¯°ÛÜÝÞß®°¯­*ÒX*ù0*þªªø+Ê$H+Íä ä äÛÔBÿª+ת ­Ô +Øø+¦(x+©èœ Bÿªª ®Ô¥^ø+†* +�èœ ÿªª ¯Ôõ†_ø+èth+ë ÔÈ�5Bÿª‚±±ªµÝ+ùÇÝ8+­²‹#È ²èœ ø+·$²�#È¥Ÿ �5à+¿ °ÔÈ +„œº_pr+»ø,±*H,´ Ôý6 ÔÛý6ÔBÿdd ³Ô‡2 ,Âø,“(x,–ý6½  Bÿdd ´Ô‡2ãaø,î* ,ø½  ý6ÿdd µÔ‡2”cø,Àth,à Ôý6—É�5Bÿd‚··dÊ’,Ñ‚“8,…¸‹#—É ¸½  ø,�$¸�#—Éü¢ �5à,— ¶Ô‡2—É ,ÜœÐdsu,“ø1±*H1´ ÔÒ7 ÔÛÒ7ÔBÿii ¹ÔÔ7Ù7 1Âø1“(x1–Ò7˜¤ Bÿii ºÔÔ7Ù7áfø1î* 1ø˜¤ Ò7ÿii »ÔÔ7Ù7”hø1Àth1à ÔÒ7…Ó�5Bÿi‚½½i�Ö1јš81…¾‹#…Ó ¾˜¤ ø1�$¾�#…Ó㦠�5à1— ¼ÔÔ7Ù7…Ó 1Üœ´ivx1“ø6±*H6´ Ôì7 ÔÛì7ÔBÿpp ¿Ô‡2Š 6Âø6“(x6–ì7‚¨ Bÿpp ÀÔ‡2гkø6î* 6ø‚¨ ì7ÿpp ÁÔ‡2Š”êlø6Àth6à Ôì7…Ó�5Bÿp‚ÃÃp�Ö6јš86…Ä‹#…Ó Ä‚¨ ø6�$Ä�#…ÓÖª �5à6— ÂÔ‡2Š…Ó 6Üœ„ny{6“„5RŠ5Rü!R‚%Rñ$RZ$RÁ,Rg+Rm+Rp*RA)RG)R¨5RÄ!R$RˆR÷R(R!&RÏ#R}!R+RÙR‡R5RãR‘R?RíR› RM RRqüR ª%RÄ%RûR �(R·(RúR  *R:øR î,R ÷R Õ.RâRÁ©R!NµÅÚßåêü°ÌüKhttps://docs.rs/zerovecÁBoxÁalloc::boxed::BoxÁ Cow<'a, str>Á‰alloc::borrow::CowÁ alloc::borrowÁpstd::sync::ArcÁ std::syncÁ OptionÁ°ZeroVecÁþ¬ š­ .get()Á YokeÁ»­ Ñ­ ‰ÑArcÁþ­ ‘® ° alloc::rcÁ²® þ¬ Yoke::getÁÊ® Õ® »­ RcÁú® þ­ Ѱř alloc::rc::RcÁ–¯ ²® °¯ Ê® Õ® alloc::boxedÁÑŒЯ ú® «Rc<[u8]>Áö¯ –¯ Yoke::get()Á°¯ ¥­ ¦° Я «è­ Ò° ö¯ pŸ® ë° š­ ¥­ ¦° ‰Ñ­ è­ «Ò° p‘® Ÿ® ë° -œstd::ptr::read_unalignedÁstd::ptrÁSelf::into_rawÁSelf::drop_rawÁ&Yoke::convert_cart_into_option_pointerÁ-crate::Yoke::convert_cart_into_option_pointerÁ‰ÚÑ crate::YokeÁš#󜄲 ¡² ®² Á² Ô² ‰ÿ² ÚÑij š#‰œó„² ¡² ®² Á² Ô² ÿ² Ú‰Ñij Œóš#ij ÑYoke::erase_box_cart()Ácrate::Yoke::erase_box_cartÁÑij ¯µ ʵ ij ŒÑ¯µ ʵ “ë° .map_project()ÁYoke::try_map_with_cartÁSelf::wrap_cart_in_either_b()ÁYoke::into_backing_cartÁYoke::with_mut_returnÁYoke::new_always_owned()Á_Yoke::attach_to_cart()ÁóÂYoke::attach_to_cartÁYoke::try_map_project_clonedÁĶ à¶ Yoke::try_attach_to_cart_badlyÁ‚· Yoke:: wrap_cart_in_optionÁѸ· _Ù· Yoke::map_project_clonedÁ—¸ Ķ sĸ í¸ ÑçÙ· 0https://github.com/unicode-org/icu4x/issues/1061Á¥¹ —¸ s Yoke::try_attach_to_cart_badly()Áĸ Yoke:: wrap_cart_in_option()ÁýPí¸ ÑŒç#1061Áî¹ ¥¹ sÜ"Yoke::attach_to_cart_badlyÁ³º Yoke::new_ownedÁÞº ýçïYoke::try_map_projectÁž» î¹ ½» ³º â» Þº ýÙ.https://github.com/rust-lang/rust/issues/86702Á‹¼ ž» Yoke::attach_to_cart_badly()Á½» Yoke::new_owned()Áâ» #86702ÁÓ¼ ‹¼ Self::wrap_cart_in_either_aÁYoke::try_attach_to_cartÁ’½ °Yoke::with_mutÁ¹½ ˆYoke::map_with_cartÁÕ½ Ê® Ó¼ ð#ì½ Œ¾ ’½ Yokeable::transform_mutÁ´¾ ¹½ ˆ°$stable_deref_trait::CloneStableDerefÁ°¯ Ê® Yoke::map_project()ÁÒ¾ Õ½ ð#Self::wrap_cart_in_either_a()ÁYoke::try_attach_to_cart()Áì½ Œ¾ °Å™“¿ ß´¾ ˆ‹#Å¿ Ò¾ °¯ Ê® Yoke::map_projectÁú¿ Self::wrap_cart_in_either_bÁð#�£À ÅÀ Yokeable::transform_mut()Á“¿ Yoke::new_always_ownedÁë° Å¿ °¯ ±¶ ú¿ ®Á ÊÁ £À ÅÀ ž· „ ¨Â ë° þ· ±¶ ®Á óÂà¶ ÊÁ ‚· ž· „ ¸· _¨Â óÂþ· Self::transformÁ#[derive(Yokeable)]Á„ Ãyoke_derive::YokeableÁPSelf::transform()Á“¿ ýðà „Ä ¯Ä „ ÃýÙÎÄ ðà “¿ „ „Ä ¯Ä ÎÄ Ãý“¿ ßí¬ í¬3ÑÑŒí¬ÑÙï ŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ï ŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ïÜ"ŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ÙÜ"ïŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ÙŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯² CartableOptionPointerinner _cartable BAYokecartyokeable’Ê •Ê ±Ê ½Ê ÍÊ ÕÊ ÝÊ èÊ óÊ ‚Ë ¸Tç¸9Æä¬gHûô£;nØ6Ù.\šMûõ}ßȳµJ­f÷Z5ýZ®g§j²#Âë†Qù¦§'·Qt€üÀʆÛ0=Û— ”mûšuýJAôø6𘙱~`.óÜu¹£þeaºeD ³‹UêH$ÉcÜ]&ÆÆ�a�ŠR=BWPþÀcPÄìš[ ö/cEùj–\>©A sì öC“©" ŒE¹‹D–È“§šš‚ä-ü¯®�ð�Ò™ýbLä"=qáf‰vüðÝ`Á»k×4C2ŽÿaÖµÙ§˜O£'?$‘r˜ßÀ(°=hg2ôS¤yJ¹0­›ôf¨ ¥ÿžùŠš;µýý懧ybm•g¿ÌÁë x#×j³VÒ@þ³âHÙX…Õ'ÞÌ�öJ|Ñ“¿ÐzÉ’éÓ¤—tYoÊÜn.g‘2äÉvÈÇ<>æYsøÄ»… ®bê,Ì­¼ƒ}lâÝç¿édûóh·Ùæ6òDŠ5+M_åâjÇ\ñ –³Ä½ýaÍ–3‘Iü�Ìò¤¼†ª@ÿ’€øçÿüßÞG™j€{‚¼HŸÂ�"cì·^ G�ûâù×â—¸NÊ´=Ú×’elD¤óç³c�«nóm½Fp+í¸�Vr4·‡Æ©±@˜Õóa–Uùq”*~–…aÂ; crË'9'©™Æë3 ²çàž ~|ÌÜ$¥1Q²È Kuš ;‚±^äª� ²ìA¸¨ "‡ntÞ…ñý± ‚‚'çÙd©™¢EM¶®âöVë�]ôTbXß�8p×2ÆËÖ0+èpíkQõ›ÜÇÅa'2«ñe…áñGu”|ñ5&îË¢“pÛR¢P#ô-xÇv¤Ý«*”Éc C±V ]M9Þj?Û€û䉭øGrdVp«Y’‰.u�ˉÒSÎKüf¦Ã@£Ù•=Ÿþ~oà†úðPEÿlfÚâqÍr´�:šôWsžÕµçmœ mö eô´p×�`Ÿ$âÆŠhy°(“FOE~Ž‹:ˆ±Í.7=ôYV“‘ã#ÆÁ™#±ÐG [nÓâÛª7·w Šœ´‘â~­sÝmb,i�MóäРי܀Ñ�êÁS éÛD3arnæ8jÐÓö€6n¤ñ4ü„¡!Ì¢øÓ£Šàü˜ùjÞ!°!Rõ TXûðJÔFÚ`ÙƒšÊKF$ŒØ×P@á5Ãoš°šîSºÿ�zd²C'93P|�V*©?VdH÷ò2’wϸ]+é„'Úxy{b!¿�ÖO^+æ=k¦ÝIÛß*Q/&– ì<Ç0$âYtlJr%6–óp*xdÇéJ0O òÃdc–¾å./I˜Æ�7ì�^“r<2uï–ˆáiæ } û*~Yü>£¦5; ȤÊØy{ŽŸìûßzã_¢û§ö]²:ë²½Éú;ÇJk¢¼s/¤:EYác^…�¿%bGP¨¨jšg¼‹ü¨`§»›ä�¥Ï«b™¤Vë\ýŽ'fýß5lš_•ÙY*ÇD´ät¡ÝÑŸ0�B$[r-Åð”K=[ûγ5a ¤�s¦Zþ`4ù! M÷, ›,è…^³¶üÿ&ƒM›R§m2y8 *�Tˆè‚àúFOÁÎLY ö@ÿžN­ÒE*ƱíGúµ�ò’v¹»UíLšæ>_¢°Ä>^ïy Ú—Îþ÷Î%å<÷zxX'úb}Í�V¤;ʧJÕè¯n )¯¤Òçn8jº_tHãð³éÀQ{šÜaÛŒJI ýwBhË;®`e:âíV×ï}â‰sp£2t®Äâ7ïbE¸€ä,ˆbã¿S‹þÊš©!íB2éøÿËj�ØÃƒý³ý+8Žgq{“y š2Y ´œ), áX£ö¸(ÄúÎÌv"(oÎ…9æÐþ‚E}v{÷##pÊ\†¸'Lá ƒWKÍÝÜO3.’r„³N#¡ÓmŸ�À`mSIå/M}™ÊÙNÊÙ½÷ƒ¾�‡™ú {r„ô꽇ú ê$i¡êGÑc§¸S€Ü‡rôÌÓ"á†xÃH‘Úyù‚[vÈŒþKâyJà)IWúŒu »i…)ÐÊòÑ™¬èᲸé\Uµ�?Ÿ�“Øj½R¨†!qoÎа‚ô »Ybb¦e¡æûk«wnÐ+jžÝGõ3kªbÞ‘OP‘¥±BÃ(ô¦p6­¬Rd\�z\ž—«Z¢I#ÿ…©ÿƒ&¡§hc47úÁã*Åüƒý"�Ë=g¹Ÿƒ¨_Ééê ïRc¿@€ÙªÀ`Ód10$¯Ž¹ÙSŒß S- —+ž<ü*s±õ‰¼EŒùiñ!‹ú�ÍÍ Ö$ ©Ó4ÒÕw÷·döš19Cß.",éUFÞ VÒvlKkF3=�Ul ÿ².œ›\¹8å¨ì¹÷ð-Pú涘’¨À`<*w�ƒ]GÑ$tûËÉ]^<ôl$: ÜÕbv4UÀ9°'PNãÝo¾/”ÇGƒc›%¿ÿ@WÝ“(ž@ݾ]´¥¬.�‘·Çw��ìC?·Í�ä­­àC9Aòm¹IƒC´3v—cðøá¦×ª±ðsÓ’5t1I¥‡�2>î+}YãÈèJõê†IiaO5µÖLRÂ~±¾Ñ”ªŸ;}E´–ÿàád? %à®ê0`pôÑE iéʧ[ÎЯèV_À4žzœëB†zÆ @-“)ÛŒÐ)ˆ…‚ʯ:¯£©¢/õVí1šˆ4NfOªË9ÁL<|�¯òB©«PaIwO`Ã' +ø‚éщ/ÊB¦ÞÇçeù1ô£„zn“K—UŠy¥hg&­^ä�¬¤„ò^r×ÀÛy·:å~a”ß’7¦^=Šö'@â!f�‡ˆžÕx›mûy-C ÊlK2 …UÄvŸ)ëØÇ•-² ­¤í¸ª3®öˆ‡FEÚo-¤Èúl«GY ÿ­×:ùsw�¡ô6TLIo´ÌÄÅ›RÊ,\Ÿk!ó¼|6ª˜¤Á}—®ª¶°—óGMü-�éµ4=ƒÛ®Ä8ôRj\˜[`oØÂl[iÕ¥{õH n°˜ò@CtŸD¹YœÓ9ï<°�\AV«€®õÖZE"RdÚ|rå2MÎ�JðÜþüÌO'¾A'èÁPà< ojÓn‡�/sÇtoyî]o¹d�ã)µé n ÝÀ’B¤+†9bu¢‹µÔäkÚUÚ8ë“‘hÖF-ÑÛìƒ`XÅÞúìjÍÏoí[Ü„ë£ö4'îÍdê¶=³ˆ ‹„}O›ÇGå�9SJeåཔx®·+׊O%_)WÀêã·ÞI¥;ÑözÇG�R¤F-®%W¨ÖTè;º¦»KÆ.N0+Zkê@׊TàWWÊýPã™ë³ÇóNf¿›n .ù’˜ ».@ 9«vVÎ}w� ÍdÇvÆ>åq�èôg‰P6¯3o]ù)m¨,|PÈ 0( 7Üé*…�áÌW-‹ºAâU©lNÛìOm Dc¤ô7Au€1¢f:‡dµ"N]Ír�j+èß“ð×buÝߨ=ƒúÝ›ÏBçFøÄ†øãÙCö«»�e20rÂçµüû±cȵĨ{&¼z¡#ˆNÿÊH§*$obHN†U=¤¢Ç³lU‹þ=T¯µ„°3ÂYþµi™Ú™wÑDƒ®8 ©µXsY!#KÊ:Mùàs{âCè‘£Åñˆk¶/%u»p�©¼QQ›Åw—×A&õÐ2�Çn‰ñt‰l-üúσÿÙ³u¼Ie4Îp¹�Z§?Û«BäÚqÅû„�!šê¿Ü$·õþÖù~»ïu0Þ˜)ÐÚö �¦¾ÖÎôú¯lÄ c6}—à]bD+‘�.æúÜ”¨DË)´Jˆ25»«ìKG-î¬ct¾oýB$O®V�X3O Ît[÷ˆ.Ùt@^+»,z@W¹; 㿸v @Üv&ýèRZ-M /¡½×ZÄÑbò µò®8ÃÁöÑ÷Æ„“<ëçŸ =uZ�ô6ô5¡ö/wW!ûg6á5ªs–Cƒk¶5¿î×yú*eæ( ÅqŠ«ÉTpf:Ö©–S�’ zKÔr &SxXò'¬Gd8ñ<~7‘H%1Šø%±÷TÜP´šAÈNãä‰!»Ác‹PŠì/øRš¸0„ Ã.’×ÔØuëaG’¿DBú±*²1²…wQíj=é?†@yBRÕF4Õ­172ÅoU8u3¡GN2Ý]Ï1‚¬RÆÓü­ôn\Ú¥å¸�Õ¾8kì³Ð‹ÆÎ’8@�B‘ c“–â4jÌ-)Åšð¢sjz>—‰œ¶çrzðÉXW Ï,›†¸¬u1àÐÉò©´„E��¯_’—tÇ!“Í`Ž;|�2Ó®Â_p„UêIæKÇQu¸Z6acùÖä­�V¯ÞÍT?Ç�ÉÉs3qÿëJãDlþB.ÏÖÊè Þ!é+“à‚ rôÓ ÐÒL‹ëÓÀ‰7Ùµ*BÒÔð8Þ™l¹¹åŸ˜?A†Á|aœ¨ÆõC?o°‰—Θ‰¶×•,¢Êi�¸š” ŠÞK¸%p/dÕRß¾1žQ Ç»Gêvß;mܲ&Ä!Õíöæ-òg¨Ò%lÿcõ «­‹É¡¨0RápÖÔÈe|üÍuŸ!±vh¿\éÓÂùæöBh ñëªô}œÿöñÌÏ8åÔ&ÚCP}i¶¥c6ÀrJŒø¸4ݺJªïÃD ä¤ÿŠq1Âsr1ò45ÂG4ª.À©™IØã¸'û¤§œ‚"¡›ÕÝÜýÙæxií5�n`w�n¥?‡ëÈï�ß¡*³P „t½ƒÕêòlž•k’‚Ê 'o3xÌoHµ7q%åܹwvQÀ>›_ÍâØ+š‹y†õç›ÚÒì'�Åÿ^Cû4Ìãæ1“@ÀÀ=òÃÏp¦6ÅÏJ½ÁE9=¿ÄkûÝ‹pÁ[r T2úÚOšü]ºy.Ñ%üfËÑ”ËåZ �·d•�A:Ÿ†1 Œ$¼¼^÷p±!z"¥9 39-‹íà[U 7¿ãÞ¿,²6ée=3¯ù£š�ÆR‚rh~=;Qzá+÷¸+Ù0zЧáóñ8L­<éOt2ñWüxSò@Á7R‰+Ö%¹¨¡ZŽäÊ“i½'0‘ÏÝ=�ë—ñàwòá=°è™—&ºíÀÄG%BüÀÍq.”«oÆÂtw Ô¼ãLp”tØÙÕi#ˆtyO‘yìYëa³áËØ;§”�ß¹pm9¥7MI`H¸=[*¥|wåõ|©ŒÞ9½ž÷‡Ûë—q³4cÜï~FjK'Ñ,$;®Ã�áÌÔz€><{Uù9´nMx¬¬Üht@œ‰=]7ã§zà o·O/=ETF[å»ÝòßáÕGø—ŸhI'} S±SM7p6¼^øÈ[à_RÎOÂ}çE™ZÄ4ñ'¡ðjN9ô‡Ï›Ë-˘øuKUO«ÏpynÖ Li¶®”° £a„Ü]Vôw)&Œƒt¬˜[ìõ6Hhl’ÿvÌä^:Ì–Æ…!-•;�Œ+=W’ø°œý¿º»ô*Ãq�G¼€+/îc9€UãÉ챂/$­VO©a¬>'Jf�µ~èáÏ>³àq��)š×ØéœiÓÎÂUr‹ßîÜ9%W‰}Šoÿ+è' dÜÒŸ…·P7|é?'*|+€8‘¯œÝñØÄ%* ïðB ™ˆ.q!Ω“�µˆ.n 8º4Ò¤/¤ Œdçé}Âs_¬hÔ�r^­¢-,Ö€)'/“¶‚; �a�‘g‘ø”&–¯–s™šš/.›q¢£Ò£m¨µ¨ © ©c¬¬]A­™¸Ã;»wÂ&ÅÊÇʰ̂Ï#^ÐÈ Ûjßñ ãüç„è?êŠë¡ë¸ëÎëì Lìøúmû5ý# þîsÿgì_ªöÙ^xß+yN#)1B�«¯·¿Ç㛵Î1ã$'^'u'Ó'é'p(È(L)À)/*¶*++²+j,Ã,ß,U-ž-é-Î.'/C/¹/0M0&11›12Z2¥2~3×3ó3i4²4ý4Ö5/6K6Á6 7U7.8‡8£89b9­9†:ß:û:q;º;<Þ<7=S=É=>]>6?�?«?!@j@µ@ŽAçAByBÂB CæC?D[DÑDEeE>F—F³F)GrG½G–HïH I�IÊIJîJFKaKÕKLgL?M—M²M&NnN¸N�OøOCP�PjQÖQ%RuRTSÃSThTØ!Z"©"3&9+=2(5Õ8HÈIf¨ÖëŠúi¶&©"6&:+[, , -@.0¶0]1©1ô183~45â586ý6¼7_8;E‘F•GåWÒX>Z®[Ô\�]©^Ä_snF‘�–›Õ¢f¨¡¨î¨©*¬­îÏVè”úŸÙ„Æ&Ø&C(*)’)‰*…+ƒ,ç.?1—3ï5G8Ÿ:÷<O?§AÿCWF¯HKWM                   +++                                                                     ))                                      ×!×!5"X"e"Á%Ö&W'ö(â*ü+Ñ,ý,D-Ù-p.©.´/K0é0<2y3¤3&5¡5ú5g6«6"7M7ð7’8Ó8D9¶<ä=�EøFñGHdHÆIhWX.X!Y�Zþ[Ñ]ø^bhAj^l5m˜rt{�MŒJ�Ò�Ê”ù•?™hš?¢ £ ¨|¬D·-ºžÀÖÆÀÈË®Í˜Ú Þ=âæÛé'ë�ë¦ë½ëÔë'úYûñüíý¶ÿ§ðwÂb�÷C‘gDŸ¹Hk&'<'`'{'±'Õ'‡(×)ê*É+È,ø,n-·-.,/\/Ò/0f0„1´1*2s2¾2Ü3 4‚4Ë4546d6Ú6#7n7Œ8¼829{9Æ9ä:;Š;Ó;<<=l=â=+>v>”?Ä?:@ƒ@Î@ìAB’BÛB&CDDtDêD3E~EœFÌFBG‹GÖGôH$IšIãI.JKKzKîK6L€LœMËM?N‡NÑN©OP\P¨PƒQïQ>RŽRmSÜS.T�Tš_eh¡!§!­!³!º! ""N"["ª"±"a&ã&¬')@+#,\,b,o,¶,¼,É,à,'-o-©-¯-¼-.G.T.Œ.Î.ê/"0/0‚0À0Í0 1^1k1ª1·1õ12{2�2‡2Ž2H3U3b3q3ˆ3í3ñ34Œ4™4¨4555~5‚5†5Š5Ž5’5–5å5ò5 6=6J6Ž6Ï6 7717Ž7Æ7Ó718i8v8É8(9.92989<9®<Û=åDnEtE�E‡EñEÄFÊF×FÝFêFðF'GÈGÎGÛGáGéGH@HFH‰I�IœI©I¶I¼IÑJÕJÛJßJåJìJòJøJþJK KKéWöWüW X&XAXÞXëXñXþXY¼YJZWZdZjZpZ([»[È[Õ[Û[á[S\Õ\â\ï\õ\û\Ž]›]¨]®]´](^µ^Â^Ï^Õ^Û^O_Ñ_Þ_ä_ñ_ii!ipk}kŠk�k½lÃlnnn‰n–nœn©nñrõr`t-{.‚;‚H‚� �-�4�3�:�G�T�[�ý�M‘Z‘a‘ò” –ˆ–•–œ–©–m™”š›››)›k¢Ù¢æ¢í¢ú¢Ì£g¨¢¨¯¨ï¨ö¨©©6¬C¬J¬W¬^¬¼¬5­B­I­V­j¸w¸„¸‹¸’¸‰»�»Ÿ»®»µ»¼»5ÂDÂSÂbÂiÂpÂÝÄäÄóÄÅÅÅśǨǵǼÇÃÇåÉéÉöÉÊ ÊÊtÌ�̢̛̩̎ÌCÏGÏTÏaÏnÏuÏ|ÏûÏÐÐЙۦ۳ۺÛÁÛ4ß;ßHßUß\ßc߯ã¾ãÍãÜãããêã´ç»çÊçÙçèçïçöç]èjèqè~è,ê9êxë…ëœë³ëÊëììîúôúhû0ýþèÿO\bÓÙèZ¥ñÁÎÔEKZsÚ&s7DJ %+Ýê÷ý>Œ§«³»ÃÞŠ—±Ë!.ßâ&ï&ü& 'Z'q'•'Ï'æ'O(^(m(Å(+):)I)Ÿ)®)½),*•*¤*³*(+‘+ +¯+d,·,¾,Ù,O-˜-ã-´.Á.È./"/=/³/ü/G0 11 1s1z1•1 2T2Ÿ2d3q3x3Ë3Ò3í3c4¬4÷4¼5É5Ð5#6*6E6»67O78!8(8{8‚8�89\9§9l:y:€:Ó:Ú:õ:k;´;ÿ;Ä<Ñ<Ø<+=2=M=Ã= >W>?)?0?ƒ?Š?¥?@d@¯@tA�AˆAÛAâAýAsB¼BCÌCÙCàC3D:DUDËDE_E$F1F8F‹F’F­F#GlG·G|H‰H�HãHêHI{IÄIJÔJáJèJ:KAK[KÏKLaL%M2M9M‹M’M¬M NhN²NvOƒOŠOòO=P‰PPQ]QdQÐQRoR:SGSNS½STbT0U=UDUJUPUVU]UdUkUqUwU}UƒU‰U�U•UœU£UªU±U·U½UÃUÉUÏUÕUÛUáUçUíUóUùUÿUV VVVV%V,V3V9V@VFVMVSVZV`Vb!¥!«!±!¸!¿!""T"a"®"½%Ò&?'Þ(Þ*ä+`,d,º,¾,Í,å,,-­-±-Á-I.X.‘.œ/$030Â0Ñ0`1¬1÷1822…2Œ2J3W3f3u3Œ3�4Ž4�455"5„5ˆ5�5”5�5ç5ö5?6O6“67757È7Ø7k8z8Ï8,969:9@9²<à=rEvE…E‹EÈFÌFÛFßFîFôFÌGÐGßGãGíG HDHLH�I‘IžI«IºIÂIØJÝJãJêJðJöJüJKKKdWëWúWþWX*XàXïXóXY YLZYZhZnZuZ½[Ê[Ù[ß[æ[×\ä\ó\ù\�]�]¬]²]¹]·^Ä^Ó^Ù^à^Ó_â_æ_Jhii)jrkkŽkFlÁlmnn‹nšnžn€rórtêzf�0‚=‚4Œ�"�2�1�8�<�I�Y�¹�O‘_‘±”à•Š–š–ž–&™Oš ›››%¢Û¢ë¢ï¢‡£¨¤¨ô¨û¨8¬H¬L¬\¬c¬7­G­K­+·l¸y¸‰¸�¸ºŽ»“»¢»³»º»…À8ÂGÂVÂgÂnÂÃâÄçÄöÄÅÅÅ|Æ�ǪǺÇÁǦÈçÉëÉøÉÊÊîÊṽÌ�̧̠̔ÍEÏIÏVÏcÏsÏzÏýÏ ÐÐÚ›Û¨Û¸Û¿ÛóÝ9ß=ßJßZßaß$â²ãÁãÐãáãèãæ¹ç¾çÍçÜçíçôç_èoèsèÂé.êëzëŠë¡ë¸ëÐëì#úòúUûÙüÕýžÿ�Q`×Ýì_ªöÃÒIO^xß+y9Hc#)ßìûú£¯·¿Ú@Œ›µ#1g&ä&ñ&'$'^'w'™'Ó'R(a(p(.)=)¢)±)À)˜*§*Ó*”+£+²+¼,Ã,ß,U-ž-é-¶.Æ. /'/C/¹/0M011x11›12Z2¥2f3v3Ð3×3ó3i4²4ý4¾5Î5(6/6K6Á6 7U78&8€8‡8£89b9­9n:~:Ø:ß:û:q;º;<Æ<Ö<0=7=S=É=>]>?.?ˆ?�?«?!@j@µ@vA†AàAçAByBÂB CÎCÞC8D?D[DÑDEeE&F6F�F—F³F)GrG½G~HŽHèHïH I�IÊIJÖJæJ?KFKaKÕKLgL'M7M�M—M²M&NnN¸NxOˆO�OøOCP�PRQbQjQÖQ%RuR2‡2ë2n3“3æ3K4–4ß4C5Æ5ë5>6£6î677›78C8–8û8F9�9ó9v:›:î:S;ž;ç;K<Î<ó<F=«=ö=?>£>&?K?ž?@N@—@û@~A£AöA[B¦BïBSCÖCûCND³DþDGE«E.FSF¦F GVGŸGH†H«HþHcI®I÷I[JÞJKUK·KLIL¬L/MTM¦MNRNšNýN€OØO%PpPÕPZQ³QRSR¼RDS�SñSCT¯T:Uà!"7"f"Â%×&‘')ã*,),f,v,À,Ò,-O-v-³-ä- .K.y.´.Ì/ñ/&0d0‰0Ä01'1b1r1®1¾1ù1•2L3Y3h3z3É3ù3ƒ4�4Ÿ4¯455¤5é5ü56A6r6¶6Ö67#7p7•7Ê7888m8«8ìDxE�EøEÎFáFùF.GÒGòG~H“I I­IkWíWXX1XIXâXõX‘YÄYNZ[ZýZ/[¿[Ì[(\Z\Ù\æ\]’]Ÿ]ý]/^¹^Æ^$_V_Õ_è_qhiRjtk�k–lÂmnn�n nÍr�K�Þ�‘Q‘Õ”–(–Œ– –K™ušœš › ›L¢s¢Ý¢ñ¢­£ ¨o¨¦¨·¨ý¨©œ«:¬N¬–¬Ĭ9­M­U·n¸{¸Fº–»¥»°À;ÂJÂYÂ3ÃêÄùÄŠǟǬÇPÉíÉúÉÓËxÌ…Ì’Ì’ÎKÏXÏeÏ„ÏÿÏЩÚ�ÛªÛÞ?ßLßOâµãÄãÓã/æÁçÐçßçþçaèuèèé0ê4ë|ë’ë©ëÀë(úZû ýúýÃÿ¾Sißñ7‚Í$ÅÛQc·O§;3áîVFŽ¡»Ò%·n&æ&ó&'G'a'|'¼'Ö'í'U(d(¡(Ì(1)@)P)¥)´)*3*›*ª*+/+—+¦+9,l,É,)-y-Â-.¸.Ð.-/�/Ý/&0{01(1…1å152~2Ó2h3€3Ý3=4�4Ö4+5À5Ø556•6å6.7ƒ7808�8í8=9†9Û9p:ˆ:å:E;•;Þ;3<È<à<==�=í=6>‹> ?8?•?õ?E@Ž@ã@xA�AíAMB�BæB;CÐCèCED¥DõD>E“E(F@F�FýFMG–GëG€H˜HõHUI¥IîICJØJðJLK©KøK@L”L)MAM�MúMIN‘NåNzOÐOPhP¾PTQ«QüQKR¥R>S•SéS;T˜T4U"?"�' ),Y,ž,Þ,-[-ž-ð->.….À.Ü/0t0´01[1§1ò163†3Ù3|4ÿ4Ë5666€6Â6û6/7€7º7#8]8»89EœE�FG“GçGþGeIÎW#X?XÐX£Yþ>M?£?@S@œ@VA¥AûA`B«BôB®CýCSD¸DELEFUF«FG[G¤G^H­HIhI³IüI¶JKZK¼KLNLMVM«M NWNŸNXOÜO)PtP/Q·QRWRS¡SõSGT UÙ!X'÷(ý+þ,E-Ú-r.«.µ/L0ê0¥3£5i6­6N7ñ7“8fHiW"YŽZÿ[Ò]ù^chBjbl9m™rt{€�NŒK�Ó�Ë”ú•@™iš@¢¡£}¬E·.ºŸÀ ׯÁÈ Ë¯Í™Ú Þ>âæÜé(ëòüîý·ÿ¨xÑøD’EIl&='²'ˆ(Ø)ë*Ê+ù,o-¸-.]/Ó/0g0µ1+2t2¿2 4ƒ4Ì45e6Û6$7o7½839|9Ç9;‹;Ô;<m=ã=,>w>Å?;@„@Ï@B“BÜB'CuDëD4EEÍFCGŒG×G%I›IäI/J{KïK7L�LÌM@NˆNÒNªOP]P©P„QðQ?R�RnSÝS/T‚TÚ!Y'ø(þ+-G-Ü-s.¬.¶/M0ë0¨3j6®6O7ò7”8jH$Y�Z\Ô]û^fhFjdly>Æ?<@…@Ñ@B”BÝB)CvDìD5E�EÎFDG�GÙG&IœIåI1J|KðK8LƒLÍMAN‰NÔN¬OP_P¬P‡QóQBR“RqSàS2T†TÃ!!"C'â(è+é,0-Å-\.•. /70Õ0�3S6—697Ü7~8PH YyZê[½]ä^Nh-jJl!m„rtïzk�9Œ6�¾�¶”å•+™Tš+¢Œ£h¬0·ºŠÀ ÂƬÈôÊšÍ„ÚøÝ)âæÇéëÝüÙý¢ÿ“ c®ú|ã/}þB4('�'s(Ã)Ö*µ+ä,Z-£-î-H/¾/0R0 12_2ª2ø3n4·45P6Æ67Z7¨89g9²9;v;¿; <X=Î=>b>°?&@o@º@B~BÇBC`DÖDEjE¸F.GwGÂGI†IÏIJfKÚK"LlL·M+NsN½N•OýOHP”PoQÛQ*RzRYSÈSTmT}�™çñû¢¬µ¿öøMg}ÊÔâìúS]gq„¢u€Ž˜ *:JZjzŠšªºÊÚé"Œ"þ%+n,È,»-S..0Ì0j1¶12T3a3p3‹4˜4§455ñ5I67Ò7u8€EÖFéFÚG›I¨IµIõWXêXýXVZcZÇ[Ô[á\î\š]§]Á^Î^Ý_ð_i|k‰kn•n¨n:‚G‚,�F�S�Y‘”–¨–›(›å¢ù¢<¨®¨©B¬V¬A­U­v¸ƒ¸ž»­»CÂRÂaÂòÄÅŧǴÇõÉÊ€Ì�ÌšÌSÏ`ÏmÏÐÐ¥Û²ÛGßTß½ãÌãÛãÉçØçççiè}è8ê„ë`ú[çÍYCéö–-î&û&](l(9)H)­)¼)£*²*Ÿ+®+À.1p3È5 8x:Ð<(?€AØC0FˆHàJ1M‚O\QFS @0AçnNpÝt³váy›}«€Ä„'�ê�òŽK�¬�.‘•®–혚ߛ žÎ 8¤7©e®k²Q¹W¿gɱÒ}ØSÝkæoîÎôú¡ C \½yzÚ.ƒK!!Ð/¬1O5¦5~BãB;C˜CjDËD,E�E_FÄF%GˆGXH½HI�IQJ¶JKzKJL¯LMsMCN¨N OlO@.A|BLpÛt±vßy™}©€Â„%�è�ðŽI�ª�,‘•¬–똚ݛ ž¾Ÿ6¤5©c®i²O¹U¿eɯÒ{ØQÝiæmîÌôúŸ A y»wxØ,�Iþ‹Ü#ª1M5¤5è7áB9C–ChDÉD*E�E]FÂF#G†GVH»HIIOJ´JKxKHL­LMqMAN¦NOjO:PŸPQcQ3R˜RùR\S,T‘TòTUU%VŠVëVNWXƒXäXGYZ|ZÝZ@[\t\Ó\4]^g^Æ^'_ö_a*b˜c2ef(gŒhjÙjúk^månq| Ò !%Z'[)Ï,Ï/l9U<÷>@/A}BMpÜt²vàyš}ª€Ã„&�é�ñŽJ�«�-‘•­–옚ޛ žÍ 7¤6©d®j²P¹V¿fɰÒ|ØRÝjænîÍôú  B zÅ[¼xyÙ-‚JÿŒÝ#à4«1N5¥5é7âB:C—CiDÊD+EŽE^FÃF$G‡GWH¼HI€IPJµJKyKIL®LMrMBN§NOkO;P PQdQ4R™RúR]S-T’TóTVU&V‹VìVOWX„XåXHYZ}ZÞZA[\u\Ô\5]^h^Ç^(_÷_a+b™c3ef)g�hjÚjûk_mæn~6Y™U'Ê'½SÁ W "¥'),!-h-ý-Œ.Ç.ã/{01æ3‡6É6‡7*8Â8{I®Y[E\^A_ibk¯lömêrYt'{!‚ �$�÷�ë”–f™Žše¢Æ£´¬]¸z»(ÂÎĆÇÎÉ_Ì,ÏŒÛ%ߢã¥ç&êrë)ýþàÿ@Sžé²Ók(6Ò¿(*"+W,G-’-Û-¥.«/ö/?0ý02N2—2U3[4¦4ï4­5³6þ6G78 9V9Ÿ9]:c;®;÷;µ<»=>O> ?@^@§@eAkB¶BÿB½CÃDEWEFGfG¯GmHsI¾IJÅJÇKLYLMNbNªNgOêO7P‚PAQÈQRhR+SµS T[T!Uã5ˆD"�"ÿ%+=¨aúÕ!R"_"»%Ü*',t,t- .ï/‡0%1p1¼162“2÷3­4 5›56Ô6“768Í8êDöE,G HÀIbWGXÂY-[X\]-^T_n‘&–ššq¢¨m¨µ¨ ©š«¬‚ÏüçÎë!úgÙa1>Ðe&'u'ë'Ê(N)1*-+j,Î.&1~3Ö5.8†:Þ<6?ŽAæC>F–HîJ?MÚ5ÝW|³&Í5ÐWo¦&Ýàçëþ !(7ERVpz‰˜»ÌÐÙàäëòù  $+2FTX_fjqx|ƒ‡Ž’™¦ª®²¶¿ÈÏÖÝáåìóúþ '+/37;?X_lpw~�“𡍬³º¾ÅÌÞâæêî7;BIRY]dmt}„‹�–�¤«¯¶ºÆÊçîõü $).38=BGLX`hp€Œ‘™¡©±¹¾ÆÎÖÞæëóû  (08=EMU]ejrz‚Š’—Ÿ§¯ÅÍØòú & . N V ^ c k s { † Ž ¢ » Ï Ù õ    4 < D L T o t | „ œ ± ¶ ¾ Æ Î ß ø ý   = B J R Z b w | „ ‰ ‘ ™ ž £ « ³ » Ã Ë Ð Ø à è û    5 B J R Z b y � ‰ ‘ ™ ¡ ¿ Ç Ï × ß ç ï  ( 0 8 h p x € ˆ � ½ Å Í Õ Ý å !)19AINV^f{ƒ‹“›·¿ÇÏ×ßø @HPX`hpu}…�ª²Ï×Þåìóø)@Laiqv~†Ž–ž¦®¶¾ÃËÓÛãëóû  %*/49AIQYy~‚†ŠŽ’–²ºÇØÜäìý "*/7;CKSW_gks{ƒ‡�—Ÿ£«³»¿ÇÏ×ßçï÷ÿ #+3;CGOW_gow‡‹“›£«³»ÃËÏ×ßçï÷ÿ#+3;CKSW_gow‡�—›£«³»ÃËÓÛßçï÷ÿ#+3;CKS[cgow‡�—Ÿ§«³»ÃËÓÛãëï÷ÿ'/3;CKS[cksw‡�—Ÿ§¯·¾ÅÌÓÛãêñøÿ$+3;BIPV\bipw~…Œ“™Ÿ¥«²¹ÀÇÎÕÜãêñøÿ ")07>ELSZahoÝ5àW¾&Ð&9&X&Y&;+£,§,«,¡-C.D.E.0·0:3?3:6;6ÿ67½7`8DEšFžGÔX@Z°[ƒ]«^Ì_Í_Î_Ï_�n‚nƒn„n…n†n‡nJ‘K‘…–†–›×¢,¬,­-­.­/­0­1­2­3­öÏ÷ÏøÏùÏZè[èžúÙúÚúÛúÜú©®³¸½ %*/ÛE(”)‹*‡+�,’,—,œ,¡,ñ.ö.û.//I1N1S1X1]1¡3¦3«3°3µ3ù5þ566 6Q8V8[8`8e8©:®:³:¸:½:== ===Y?^?c?h?m?±A¶A»AÀAÅA DDDDDaFfFkFpFuF¹H¾HÃHÈHÍHKKKK$KaMfMkMpMuMIENESEXEŸF¤F©F®F£G¨G­G²GF9¸<æ=568:>?@@BJJLNNN¶¸º¼¼¿ÂÅÈÈÈÈÈÉËÍÏÏÑÓÕÖØÙÛÞáäçëïó÷úý  <DFFHPPRTVVXZ\\^`bbdfhhjlnnprttvxzz|~€€‚„††ˆŠŒŒŽ�’’”–˜˜šœžž ¢¤¤¦¨ªª«¬®®¯°²²³´|VýXžZ([îaÜb !cs#cÝ!cD#d°d©"Z&<+[,¯,¥-F.0¼0]1©1ô1D3~45<6 7Â7e8]E³F·GÙXEZ¶[Ô\‰]°^Ð_ˆnL‘‡–›Ø¢f¨¡¨î¨©1¬4­úÏ\èÝúÂ4ÜJ(*)š)�*Œ+¦, /b1º36j8Â:=r?ÊA"DzFÒH)KzM )E,"/ƒ>2 D !%=(C+I .<1 B-5 H$'A*G28-0@ F#7;Á&?RRò ˆ™ ü†‡a\¸Tç¸9Æä¬0Q­íÏ×F ™àRúûè¸Tç¸9Æä¬ˆ>@YXv<‡ œÕ üްb\¸Tç¸9Æä¬äIÒÁñG«uò ˆ*™ Œa\¸Tç¸9Æä¬,Íœgv—$crate::assert_neÁáåc]µŸ]panic_internalsÁŽ‹¸Tç¸9Æä¬:|\>­QÐð‡ œÛ ®b\¸Tç¸9Æä¬GàÅ Â s·$crate::assertÁ6É2‡T]�±ù]core_intrinsicsÁý¯ƒgeneric_assert_internalsÁ±œ¸Tç¸9Æä¬jõ�þ¬…•ôò ˆ™ «a\¸Tç¸9Æä¬€~‹ œÒ‡ ¬á yb\¸Tç¸9Æä¬1ò&Aj™!œÏÄRúûè¸Tç¸9Æä¬s峪† ldò ˆ™ /a\¸Tç¸9Æä¬ßG £ûI©’ëRúûè¸Tç¸9Æä¬3Ã|ÀFï ‡ œÀ *b\¸Tç¸9Æä¬pß»6=Ò^Õò ˆ(™ ³a\¸Tç¸9Æä¬Ç,&iŒêv‡ ´Ã �b\¸Tç¸9Æä¬0é¸Å1BÐò ˆ™  a\¸Tç¸9Æä¬#¿3——Ø=‡ ´É Øb\¸Tç¸9Æä¬êž<°cs‘T é^Rúûè¸Tç¸9Æä¬×æ&øböEò ˆ™ �a\¸Tç¸9Æä¬Ò‘›J‹R¦ ¿ÖRúûè¸Tç¸9Æä¬­ü¢Ò3ièÉüÈ &…ÿ‚]´œ¸Tç¸9Æä¬5˜¤A‡ÔÛò ˆ&™ a\¸Tç¸9Æä¬¦¦ñÀZÚñq,ÝI}©Ø ú°fmt_helpers_for_deriveÁ¢g¡g¸Tç¸9Æä¬GcéIž„ ü£Rúûè¸Tç¸9Æä¬ÏVÔ*IþJ‡ ¬¬ eb\¸Tç¸9Æä¬;¢]|¡Lq,ç §ú°þ¶¢g¡g¸Tç¸9Æä¬‚Rì˜ÝŒÌ&‡ ¬² Äb\¸Tç¸9Æä¬ç3›§>³Ÿi‰Rúûè¸Tç¸9Æä¬ß)ö2'iµò ˆ™ za\¸Tç¸9Æä¬zä¡€‡uã5œ ÜÞüõ – c\¸Tç¸9Æä¬åHŒ`±jÁ8XâRúûè¸Tç¸9Æä¬©¾Â'ížR3ò ˆ$™ a\¸Tç¸9Æä¬É8/xô…ò¼Rúûè¸Tç¸9Æä¬n4é¯å‡ ¤– ýb\¸Tç¸9Æä¬H�i�3Nƒ…ذ3É-‡T]Cú°ý¯ƒ“±±œ¸Tç¸9Æä¬Ÿâ®=Á&ê~ã eöi_ú°derive_eq_internalsÁ¢ŒÏ¾¸Tç¸9Æä¬¥š©( ’¼‡ ¤œ ·b\¸Tç¸9Æä¬¶Ce÷‡ëóïذ9É7‡T]ýú°ý¯ƒ“±±œ¸Tç¸9Æä¬¬¡67E.@ò ˆ™ €a\¸Tç¸9Æä¬šøEOÖ Ðñœ Ü¡c\¸Tç¸9Æä¬·ü¿Å*�. ªºRúûè¸Tç¸9Æä¬ihëYT%½ÃÉ„ÔI´œ¸Tç¸9Æä¬†ÁƒˆÛ�ò ˆ"™ 3a\¸Tç¸9Æä¬X•²¤á0Õ7 Ö˜Rúûè¸Tç¸9Æä¬ä sïàfƒR‡ ¤€ 0b\¸Tç¸9Æä¬q pS[†¶LØ �ÀO_ú°¢Ë¾¸Tç¸9Æä¬Y¯P�Õ°ƒ‡ ¤† ’b\¸Tç¸9Æä¬Êü„2gº­cò ˆ™  a\¸Tç¸9Æä¬Œ†Ræ­�Nœ Ü£¡c\¸Tç¸9Æä¬Ÿ½:ÍÆ>‹ÎRúûè¸Tç¸9Æä¬7¤ïšÍ¤8RRÜ ¸Tç¸9Æä¬«XÁò™W¢„ò ˆ ™ Æ a\¸Tç¸9Æä¬ÏQ�µUî ŸÓÿRúûè¸Tç¸9Æä¬ž;«ufí-‡ ¤ê Á b\¸Tç¸9Æä¬ÔÜ7¦¼Äe,Ñ }”V¯ú°derive_clone_copy_internalsÁð‰â¸Tç¸9Æä¬¢T|Z¥+°˜‡ ¤ð A b\¸Tç¸9Æä¬Úœ––Ú–¶–––j–)–î–û–¾ %Ÿƒ¢ ›§™}—>¡­Ÿz�â›þ™+˜¾¡ 4žAœUšö˜¢f ËžÅœf›Ö—i¡ØŸå� œ)šʘé¡: Ÿž™œ®šN™—å RŸ �:›Ò™«—¢¥�ø¢U˜+£_žlœ€š!™@¢‘ öžóœÚšz™N—¡~ŸL�³›—Õ BŸ²¢*›™›—Y¡ÈŸ•�ý›šE˜Ù¡* Ož\œpš™0¢� æžãœ£›˜®¡ÿŸ$ž1œEšæ˜¢V »žµœÊšj™>—¡nŸ<�V›î™Æ—è¢Õ�£º˜N£�ž‰œžš>™_¢® Ÿ�ùš—™m—.¡�Ÿj�Ò›°hODHT s·Þ¡›ÕÝÜýÙ¿ÿ@Wîf¿›n .J·+׊O%AÏ©Vö Ç›ªZþ`4ù!•“i½'0‘Ï$­RŽì"ýlÇ•-² ­�ã'ÍÐÃàr; 㿸v Yͬ̓­¼ƒ}lâÝ,�Tˆè‚àšbGP¨¨j‹¤¼†ª@ÿ3BÃ(ô¦pК¸0„ Ã.Èl’ÿvÌä^Iƒ&¡§hc4Ô2äÉvÈÇ<)£¦5; Ȥʄ4ü„¡!Ì¢øl‚²c H–ÝcÞK¸%p/dî)¶ò@&x³¡fÊ\†¸'Lá·PÈ 0( 7ÜQ¨DË)´Jˆxý³ý+8Žg°¹÷ð-PúææoÊÜn.g‘(¢¼s/¤:E‰«hkî/ôÇÈ çeù1ô£„Nk�,1 õÅ´1šˆ4Nfw�¡ô6TLI!7Í07�B®‡¹YœÓ9ï,ôl$: ÜÕêGå�9SJ?ÇçZq©A sì¬Üht@œ‰=8°˜ò@CtŸD+ÿëJãDlþBã·O/=ETF[:BRÕF4Õ­Í‹UêH$Éc TXûðJÔFÚo Ô¼ãLp”t*óGMü-�&û›³©M˜0±¡PaIwO`Ã'$ŒØ×P@á5qC'93P|�Vt6­¬Rd\�Ñ9´nMx¬7bv4UÀ9°ëçE™ZÄ4ñ@8ôRj\˜[(Vë�]ôTbI7p6¼^øÈ>ÑÛìƒ`XÅ:ŸÂ�"cì·6”ÇGƒc›%íþeaºeD ³ Âs_¬hÔ�r_âmLªm$W ö€6n¤ñkG [nÓd¨†!qoÎÐÊÓü­ôn\ÚÑøGrdVpU>æYsøÄ»*ÚâqÍr´�:[÷ˆ.Ùt@^+}–óp*xdÇé}Ä>^ïy Ú— _À4žzœëB—‰œ¶ç×w)&Œƒt¬Gšg¼‹ü¨`ŒÛŒÐ)ˆØ:Lê�ÈZ'”ÿËj�ØÃƒ¯‘Iü�Ìò2Çw��ìCñ+èß“ð×XÛ0=Û— ”m?o°‰—ΘëÈ Kuš ;‚CÃoš°šrÌ-)Åšð¢sÖ¡ÓmŸ�À`mº- —+ž<ü*ÜÝ“(ž@ݾï=uZ�ô6ôº-M /¡ƒÓ£Šàü˜ùjmáf‰vüðÝ`’€øçÿüßÞ4·Qt€üÀʆE´–ÿàádüJðÜþüÌO'0@Üv&ýèRZ€ŽÿaÖµÙ§t2ñWüxSò!sÓ’5t1öq{“y š2±ynÖ LiDæöBh ñëªøÕíöæ-ògò"Ú�.…ÿÀ³¾A'èÁPà1…áñGu”Niæ } û‚*Åüƒý"�Ö”�ß¹pm.:Ì–Æ…!-JÕRß¾1žïüÍuŸ!±vhöØÙÕi#ˆt+Îþ÷Î%å<¡ˆk¶/%u»piH¸=[*¥|w0à]bD+‘�.v]´¥¬.�‘·ð–¾å./I˜ÆSIå/M}™»¯£©¢/õVíÚ|rå2MÎ�/æxií5�n`ëÓÀ‰7Ùµ*çm2y8 *™œ›\¹8å¨ìå9¥7MI`/ÞI¥;ÑözCh~=;Qz8L­<éO „Ü]VôF†zÆ @-“)c¤ô7Au€1U8@�B‘ ÔûÔAF=î w�ƒ]GÑ$tèûšuýJAôø ‰Á= JjÆ�'¡ðjN9ôAÛìOm DTæKÇQu¸ZßI'} S±SM=‹ºAâU©lNSN†U=¤aˆÒµUa¬q•îÜ9%W‰}ŠU­f÷Z5ýZ¹®ëD[zZ�åâjÇ\ñ –0Ჸé\Uµ�ÈûËÉ]^<éûßzã_¢û†”ËåZ �·³Ä½ýaÍ–31 ö/cEùj*©?VdH÷u]o¹d�4u »i…)ÐÆ,\Ÿk!ó¼#mœ mö ]172ÅoU8uÎÆ>åq�èôN»ô*Ãq�G¼M©µXsY!#fÇn‰ñt‰l-l™ˆ.q!Ω[é„'Úxy{bwœ´‘â~­sÝf±^äª� ²ìD õ¯‚ukú¢é+“à‚ rôåÚqÅû„�!pYác^…�¿%Š?x¦†ÝaõŒÂ_p„UêIÞ¡¦(‰‰Á»“ 39-‹íà[§»›ä�¥Ï«�mb,i�MóägÞ‘OP‘¥±Ï—tÇ!“Í`ŽÜª.À©™IØãW’ø°œý¿ºLšôWsžÕµç\UÄvŸ)ëØpôÑE iéþD´ät¡ÝÑŸ‘ÄÑbò µò®·âCè‘£ÅñÂhxÇv¤Ý«*Q|ÌÜ$¥1Q²B³5a ¤�s¦”Ë'9'©™Æë@$­VO©a¬>P ÅqŠ«ÉTp¿„E��¯_’Û:ˆ±Í.aÜŠ(ð±}³Ã°Ošü]ºy.Ñs±õ‰¼EŒù݈_ùB½I¦Ò²¾nÉ¼áøºpÅÏJ½ÁE9=&ÒÕyÈeh¨¥«­‹É¡¨0ô¬†v‚Èa-q%üfËчϛË-˘B ƒWKÍÝÜO¸üÀÍq.(ÊòÑ™¬èÇ´ì*²Ñ½ìch)š×ØéœiS¦Ã@£Ù•=ŸXš_•ÙY*Ç�¬ò«_ØéÝ!g`.óÜu¹£ =k¦ÝIÛyÀQ{šÜaÛŒ§Ï>³àq��R^î“]á-%ʦ×ï}â‰spª?·Í�ä­­ò.çöÓåÉí±}YãÈèJõø +ø‚éщ/ ã)µé n 5g¿ÌÁë x"_)WÀêã·BÉw:ùí‰ÔLŠe—Láï}0’¯àC9Aòm¹Ió¿ÄkûÝ‹pÏC«üý¡DotÞ…ñý± FüúσÿÙ³umýbLä"=qÞ!°!Rõ n«Y’‰.u�VvQÀ>›_ 꽇ú ê$i¿ß*Q/&z˜[ìõ6HhH�3P–U¬„A¸¨ "‡nE¢EM¶®âöHGõ3kªbÎ|�¯òB©«úÝ›ÏBçFZ6𘙱~ wnÐ+jžÝÍÜ]&ÆÆ�akQõ›ÜL#×j³VÒ@#ÊÙNÊÙ½¼�X3O Ît[|Ï8åÔ&ÚCPúq”*~–>‰¶×•,¢Êì^­¢-,Ö€)`“�µˆ.n 8\¤ÿŠq1ÂsrþI¥‡�2>î+÷¼Ie4Îp¹n1ò45ÂG4ÿarnæ8jÐÓj¸Tç¸9Æä¬V ]M9Þj?SžùŠš;µý ;®`e:âíV©Gd8ñ<~7‘ÃBÒÔð8Þ™lèíj=é?†@yÌ+Zkê@׊G<°�\AV«€-©!íB2éø®Í’>ÊB¦ÞÇŒE¹‹D–È“(“FOE~Ž‹`®õÖZE"Rd.aG’¿DBú±Êd•�A:Ÿ†éL¼BþÄÕeâYtlJr%6|vÈŒþKâyÄ3¡GN2Ý]Ï!¿�ÖO^+æxqVpùS¦š&…Á[r T2úÚÔäkÚUÚ88€><{Uù6TàWWÊýPHSxXò'¬Â7=ôYV“‘b¹¨¡ZŽäÊ#0�B$[r-Å’6Ù.\šMû@˜Õóa–Uù=… ®bê,Ì+lÄ c6}—uö«»�e20r\yú*eæ(¾(°=hg2ôSy¥hg&­^ë“‘hÖF-9òlž•k’‚ʧ*$obH`-î¬ct¾oz+†9bu¢‹µ7ÄúÎÌv"(o´JI ýwBh˨ 9«vVÎLý懧ybm•!x›mûy-CG™j€{‚¼H5 {r„ô¾ÈµÄ¨{&¼z^÷p±!z"¥9'ÞÌ�öJ|%š.�ö½Ù«wÑDƒ®8 eä�¬¤„ò^r¢I#ÿ…©ÿÓþ~oà†úðYr4·‡Æ©±<¸S€Ü‡rôÌÁhHäüж@)ibã¿S‹þÊš­åõ|©ŒÞ9½1îSºÿ�zd²sÝÀ’B¤6”£6’Ηaž<2uï–ˆá�c“–â4jÕYþµi™Ú™d`ÙƒšÊKFpY ´œ),² ö@ÿžN­ÒœÈï�ß¡*³P áX£ö¸(³ÇG�R¤F-DC”ú£¦•<¨›ôf¨ ¥ÿ öC“©" f:Ö©–S�Àç³c�«nóm:Á|aœ¨ÆõCê? %à®ê0`ýJÕè¯n )¤d10$¯Ž¹ÙÚg‰P6¯3oOA:°W²V”gœ…^³¶ü—÷TÜP´šAÈÅ­�V¯ÞÍTáß;mܲ&Ä!ñ×ÀÛy·:å~UãÉ챂/O'Jf�µ~èáQù’˜ ».@KW v>½×Z¶ Â?§Àbg‰úFOÁÎLY›ÖLRÂ~±ú£2t®Äâ7﫺¦»KÆ.N0F½Éú;ÇJkˆì³Ð‹ÆÎ’Ó1àÐÉò©´Úóæ;Êþz£ù£š�ÆR‚rµ"N]Ír�jWÑ“¿ÐzÉ&Î…9æÐþ‚Eµ0Þ˜)ÐÚö sÓ ÐÒL‹æ’ zKÔr &Á¥å¸�Õ¾8kÒ ÿ­×:ùs ?Ÿ�“Øj½RɈü”Ø~u—æúÜ”w+*I·Þz)D š19Cß."á3 ²çàž ~AU 7¿ãÞ¿,¯¤Òçn8j¥'îÍdê¶=³=æ`xê"ödp-?íVK©nÉéê ïRc¿Ø³4cÜï~Fj3å»Ýòßá;H%1Šø%±Äë†Qù¦§'‘Úyù‚[Ã^ G�ûâù×76acùÖäàx#|ù¢èökô}œÿöñÌù°‚ô »YbËa”ß’7¦^7úÁãÕPEÿlfZ…aÂ; cr?”Éc C±R M÷, ›,è–�Ul ÿ².äSŒß SÛ< ojÓn‡2¶®”° £aEº4Ò¤/]=Šö'@â¿\éÓÂù÷õ}ßȳµJ'fýß5l� ÷nvsù¬ÿ&ƒM›R§˜òDŠ5+M_/ÃÞxˆG÷–Nãä‰!»ÁÆ}v{÷##p¶ýB$O®V{ÿøÛ*k !˜K'Ñ,$;44Ìãæ1“@ÀÇÅa'2«ñeM ÊlK2 …;|�2Ó®ÝCƒk¶5¿î×½§ö]²:벇¢f:‡dV– ì<Ç0${²6ée=3¯'/“¶_¢°Ÿê†IiaO5µù¡êGÑc§Àç¿édûó-}i¶¥c6Àû¤ Œdçé}^$âÆŠhy°_v_^jGu‹�²Û³kûmt­`oØÂl[iÕ)Xß�8p×2ÆJÓÎÂUr‹ßT�/sÇtoyî3’×ÔØuëɃC´3v—cðô5¡ö/wW!û»yO‘yìY,Ñ@Azg%½™é?'*|+€8Xˆ ‹„}O›Ç>þÖù~»ïur÷ƒ¾�‡™ú½éµ4=ƒÛ®Ä'3.’r„³N#¹*²1²…wQË@Á7R‰+Ö%"Øy{ŽŸì…VŸ�OÔÁ§eåཔx®@‘r˜ßÀã#ÆÁ™#±Ðc¹¹åŸ˜?A†éÍâØ+š‹y† cœ€VœÿÊ¢ˆz\ž—«ZÒË=g¹Ÿƒ¨_×gHûô£;nؘO£'?$’éÓ¤—tY'}Í�V¤;ʧ£|6ª˜¤Á$ Ö$ ©Ó4Ò߾єªŸ;}û¤í¸ª3®ög6á5ªs–¼®g§j²#Âã™ë³ÇóNIÅ\/*² _Tµî×à8³ŽÃmâÛª7·w Šeá+÷¸+Ù0¤yJ¹0­�ò’v¹»UížQ Ç»Gêvð „t½ƒÕê&ºíÀÄG%B'o´ÌÄÅ›RÊ"?Ç�ÉÉs3qâ…‚ʯ:ÞúìjÍÏoí;ˉÒSÎKüfW[à_RÎOÂ}?ʧ[ÎЯèVÿ7�ÿÏ[Bjeô´p×�`Ÿ^buÝߨ=ƒYˆ‡FEÚo-�Z§?Û«BäoÀ™3ÏÛ—g(�'PNãÝo¾/쟈0ßߺzЧáóñÃwqžåoëôŸh·Ùæ6.b¦e¡æûk«Ìoÿ+è' dVêÁS éÛD3i[Ü„ë£ö4<Æ„“<ëçŸ ¹E*ƱíGúµ�|ñ5&îË¢“Oc‹PŠì/øRǯ®�ð�Ò™Pë0WðÇéX�J0O òÃdc~Ý=�ë—ñà%€+/îc9€NøÄ†øãÙC[wbåù3Ç÷‘iñ!‹ú�ÍÍÞÂçµüû±c]¨Ò%lÿcõ ól ÿÿMg~Vpÿÿÿfnÿp5ÿ ÿÿÿÿ8/e|nÿÿ2PpnDÿ3ÿsH"dBbÿ3ÿ$Wÿwj%ÿÿruv"!-Vÿ1ÿmÿ:@X+FVÿXÿÿÿÿxÿ-1dÿÿÿYÿÿ9ÿÿÿÿ+x?h8]ÿÿtK!-\$7ÿÿ~cai$j:sV0DÿAy!ÿkÿÿÿ6LÿA96_zcE4ÿÿÿ>ÿix,#ÿÿKÿÿÿÿÿK{]>ÿÿ/ÿÿÿ V-r;ÿÿmSÿ;WÿGÿ>ÿ jL@zi,ÿ=tD;ÿÿvÿG8+ÿxÿÿÿ7@{ÿ=ÿÿ 50oC2-Syÿÿÿ4Uÿÿ3ÿÿÿÿÿÿÿ`p}H6ÿOÿ4ÿ:ÿ8ÿÿÿ;ÿÿ[cLvHÿÿ0ÿv0=zÿÿÿÿ:ÿÿ|cÿÿz"ÿ-ÿ&ÿ'8Eÿ--KH}[ÿ5{ ÿÿÿhÿ^ÿÿ:ÿz^Tÿÿ1ÿÿÿÿÿnÿÿv}zz$ÿ]ÿ-ÿÿÿUrÿGÿÿÿÿÿqÿÿ]ÿsltOWaYSÿÿu8ÿÿÿIÿaÿÿÿÿÿÿÿhÿ|i]ÿÿÿÿÿÿÿÿT L' ÿÿt1ÿÿÿÿÿ4OcQmFÿ@e8ÿV ÿÿzP<[&ÿIÿÿ$ÿÿÿÿÿÿÿÿ8"ÿ:ÿ8ÿÿÿÿH/ÿÿ4ÿÿ4V7{1U#ÿ?ÿÿÿÿn0n ^-ÿÿÿÿ(ÿÿÿKÿeÿÿ9ÿ\ÿÿiV~+H6l9xXfÿM^ÿÿÿYÿ0ÿÿp5ÿL#ÿÿiÿÿ(ÿÿÿF6!ÿ0l73~d*?pÿ ÿ-ÿÿ3, ÿwÿ5IZ=9ÿ5ÿÿ "E5ÿ9)ÿÿÿ" ?ÿÿÿÿÿ5ÿÿY?ÿTÿ_5ÿpÿÿÿÿÿX-k{ÿf1/ÿ ÿÿÿ3ÿÿ9tC0ÿq|ÿÿ%6ÿÿS/{ÿÿ`ÿ8+ÿÿÿÿÿÿÿÿÿÿ`2BWkÿÿÿÿY24ÿÿÿ yaÿ[FÿEÿÿ$8;ÿÿÿCÿ1ÿÿgÿÿ XÿZÿ y`>ÿXÿa:jÿÿÿcÿÿwx}ÿ,^ÿcÿ:ÿ}ÿb(ÿÿÿÿÿÿÿÿ`ÿÿÿWÿÿÿhCCQÿ-/ÿÿÿl,S`ÿi>{Kÿÿÿÿÿa'*aÿEVv;ÿuÿÿÿÿÿÿ!eÿÿÿ8ÿÿv3>+!ÿÿÿÿÿOAÿrÿ ÿxÿÿÿzU2ÿZI)L,1p@ÿÿÿ!{fÿ1ÿÿl ÿÿMg~VpÿÿÿP/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/lib.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁP/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/lib.rsÁ L“nÜΖ»çz¿"Ò\ßßBEœÁËyËyÙEE/?J@,4; 5<9-J@ / J(]Ya_> O>R=Q'+,DE7.NF1 9FF) 3dG9 3 2I6R ( 7'$$0 -6T4C 7\4R 7 Y!\I)B`)5 ZVM)8!+ ENP[V ‰�‹1).2/3O=PE6($ha7`bBE05'/^F*% ']!!*$!!$:$!!'$.\_WadZV0U  U6 > & / !/,3  :%6 4A 62 6=5 87 !)!*N/Ya=' KWfNL !0!*,/Ya='% Y + .?E > &+ / !/?F  :%6 4A 62 6=5 I !)!5O/Ya=' OWfN^ !0!5-/Ya='% USGB4)!* !: /Ya=' \SGIB0!* !5/Ya='% YSGF';)!5 !: /Ya=' `SGM'I0!5 !6/Ya='% 9#ada]!d & a5) )( .+,09 .+'0  :%6 4A 62 6=5 :%6 4A 62 6=5 89 !)&*': /Ya=' ^CPaa`,N !0&*'2/Ya='% WaZ, + !0.=5< K !)&5': /Ya=' bCPe`a3` !0&5'3/Ya='% C<ILPJM3I06(FDNTD7-57 :Q<R=ILPJM3J16)HDPTF7.77 L%&^Z_`_Y=^>S#Y]C%"&#aca]M ZS)i3h7"+a@;6!2 0= 24! 29 1 ,Z *+"-OJ*+"-QJ %-'.OQ"-'.QT"_aD ".;"a_b"2VZg&# "2?#C$NH0& c\$7*'G+'O*'*C44 A&( /#"#//&&‡­ƒ»þÈìÒæÖßÚ�5(èdÚ¡à1ýìØ™U/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/yokeable.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁU/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/yokeable.rsÁ OÀ�ÍzÄ•ëŒo §ž€ö£ªhªhæEf3Q[fl)1. *G.US^43Z=16(ZA12F zJ\, jmH6 -ÌëLù$JO,7¸X/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/macro_impls.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁX/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/macro_impls.rsÁ ¯YÒò!u”ÃöñOnhÁýýyE"X¿.‰ƒZSîE `%±io÷ÉéV/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/zero_from.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁV/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/zero_from.rsÁ XÕ²mt-·ù*!òç'/í í ,E