Files
boc/rust-service/target/debug/deps/libserde_json-a6dc59362cefbf6a.rmeta
T

4015 lines
1021 KiB
Plaintext
Raw Normal View History

rust
ó#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0Á
serde_coreÁòœÄr{&²½jªos'¨-df2f163e2c5abf6bÁzmijÁAGuÍs
A
Ñ?ðyAMD-6218bbc0fd99da4eÁitoaÁrLpèòÐ
ݽ‚AéGT'-7ba5a7b63f68a66bÁìT“ºþÉ P÷Ãø[‘©!b-f1bab0003c529b13Á'lexicalÁ<»float_roundtripÁÜi'ù$¿»Ž Ü—'NumberDeserializerÁ”½»arbitrary_precisionÁüˆ'if_checking_recursion_limitÁÜÊå»unbounded_depthÁÜŸåäöŒ»preserve_orderÁÔßäíµ»Ç
ÔŽäIndexMapÁDá»Ç
Ô¶äMapImplÁ<¹»Ç
Ô—äVacantEntryImplÁ|»Ç
Ôî”äOccupiedEntryImplÁŒð–»Ç
ÔΖäIterImplÁDÆ÷»Ç
Ô¤÷ä IterMutImplÁ\£ý»Ç
Ôýä IntoIterImplÁdè‚»Ç
ÔÆ‚äKeysImplÁD¤†»Ç
Ô‚†ä
ValuesImplÁT剻Ç
ÔÉä
ValuesMutImplÁl·»Ç
Ô•äIntoValuesImplÁtŠ‘»Ç
Ôèinvalid_numberÁt®§»Ú ü‰§NumberStrEmitterÁ„”õ»Ú üëôserÁón»À|ÜnŒÛn NumberFromStringÁ„Õ»Ú ü 
NumberValueEmitterÁ”ë˜»Ú ü˜
t«™»Ú ü†™èimpÁÁ»À|–Œ•û<Úo»Ž ܸo ErrorCodeÁLp»Ú ü<ToOwnedÁ<¶»Ú üß»Ú üÅToStringÁDƒ»Ú  "„IntoDeserializerÁ„æ»Ú ü´ MapAccessÁLø»Ú !#„TOKENÁ,™»Ú üæŸ »Ú üê NumberKeyÁL€r»Ú ü×qñ„Ãy»Ú ü–ytÞ€»Ú ü¹€¼ ”£¡»Ú üï NumberFieldDeserializerÁ¼ß¦»Ú ü¶¦í¤ÀserdeÁ __privateÁ 
  
triÁmacrosÁ!jsonÁ!
json_internalÁ!json_internal_vecÁ!json_unexpectedÁ!json_expect_expr_commaÁdeÁ'''''''''' '
' ' '
'''''''''''' DeserializerÁA£AreadÁAscratchÁAremaining_depthÁ'F'deÁF£Fæ 'J£J from_readerÁ'M'aÁM
from_sliceÁ'P±Pþ'overflowÁ' ParserNumberÁTF64ÁU
UˆTU64ÁX
XˆTI64Á[
[ˆ'^visitÁ_ø_§^ invalid_typeÁ'cøc£cþcêg¥cpeekÁc peek_or_nullÁceat_charÁc next_charÁcnext_char_or_nullÁcerrorÁc
peek_errorÁcparse_whitespaceÁcpeek_invalid_typeÁcdeserialize_numberÁr'anyÁr§cdo_deserialize_i128ÁuÐu§cdo_deserialize_u128ÁxÐx§cscan_integer128Ác fix_positionÁ| c parse_identÁc
parse_integerÁc parse_numberÁc
parse_decimalÁcparse_exponentÁcf64_from_partsÁcparse_long_integerÁcparse_decimal_overflowÁcparse_exponent_overflowÁcparse_any_signed_numberÁcparse_any_numberÁcparse_object_colonÁcend_seqÁcend_mapÁc ignore_valueÁcignore_integerÁcignore_decimalÁcignore_exponentÁcdeserialize_raw_valueÁ§'þ'POW10Á '·'ø 'check_recursionÁ'šøš£šErrorÁšdeserialize_anyÁž§šdeserialize_boolÁ §šdeserialize_charÁ¢§šdeserialize_strÁ¤§šdeserialize_stringÁ¦§šdeserialize_bytesÁ¨§šdeserialize_byte_bufÁª§šdeserialize_optionÁ¬§šdeserialize_unitÁ®§šdeserialize_unit_structÁ°§šdeserialize_newtype_structÁ²§šdeserialize_seqÁ´§šdeserialize_tupleÁ§šdeserialize_tuple_structÁ¸§šdeserialize_mapÁº§šdeserialize_structÁ¼§šdeserialize_enumÁ¾§šdeserialize_identifierÁÀ§šdeserialize_ignored_anyÁ§' SeqAccessÁıģľÄfirstÁ'ɱɣɿ ' ÍøÍ±Í£ÍèÍnext_element_seedÁÒ¥Òhas_next_elementÁÔøÔ±Ô£'¯Ø±Ø£Ø¾Ø«%'
Ý±Ý£Ýæ ' áøá±á£áèá
next_key_seedÁæœæ has_next_keyÁèøè±è£ánext_value_seedÁì§'
VariantAccessÁî±î£î¾' ò±ò£òæ '
öøö±ö£öèöVariantÁö variant_seedÁü§'þøþ±þ£þèþ unit_variantÁþnewtype_variant_seedÁ¥þ
tuple_variantÁ§þ׈§'UnitVariantAccessÁбУо'ޱޣ޿ 'ø±£è„)“)˜§'šøš±š£šèšÓ)šç) ¥š‹*¢§š×¤§'MapKeyÁ¦±¦£¦¾'deserialize_numeric_keyÁ'«ø«±«£'¯ø¯±¯£¯è¯õ´§¯§¯Ú!¸§¯Ã"º§¯–$¼§¯•!¾§¯¶!À§'StreamDeserializerÁÂøÂ£Â¥Â¾Âž
ÂfailedÁ»
Â'ËøË£Ë¥Ëæ Ë byte_offsetÁËpeek_end_of_valueÁ'ÒøÒ£Ò¥ÒÒó × 'ÙøÙ£Ù¥'
from_traitÁÝøÝ£Ý¥'á£á¥'ºä±ä¥'þç±ç¥ëêêêêêêêêêê ê
ê ê ê
êêêèûerrÁêÍý¥êÿšÿÿclassifyÁÿis_ioÁÿ is_syntaxÁÿis_dataÁÿis_eofÁÿ
io_error_kindÁêˆ÷ê ErrorImplÁŠcodeÁŠšŠêŽMessageÁ
ˆŽIoÁ
ˆŽEofWhileParsingListÁ
ŽEofWhileParsingObjectÁ
ŽEofWhileParsingStringÁ
ŽEofWhileParsingValueÁ
Ž
ExpectedColonÁ
ŽExpectedListCommaOrEndÁŸ
ŽExpectedObjectCommaOrEndÁ¡
ŽExpectedSomeIdentÁ£
ŽExpectedSomeValueÁ¥
ŽExpectedDoubleQuoteÁ§
Ž
InvalidEscapeÁ©
Ž
InvalidNumberÁ«
ŽNumberOutOfRangeÁ­
ŽInvalidUnicodeCodePointÁ¯
Ž"ControlCharacterWhileParsingStringÁ±
ŽKeyMustBeAStringÁ³
ŽExpectedNumericKeyÁµ
ŽFloatKeyMustBeFiniteÁ·
ŽLoneLeadingSurrogateInHexEscapeÁ¹
Ž
TrailingCommaÁ»
ŽTrailingCharactersÁ½
ŽUnexpectedEndOfHexEscapeÁ¿
ŽRecursionLimitExceededÁÁ
êÃsyntaxÁÃioÁÃÈÆêÈ×êÊsourceÁêÌ×êÎ×êÐ×êÒcustomÁÓ¥ÒÜÒ
invalid_valueÁê ×Ç:Ø¥êJsonUnexpectedÁÚ
Ú±Úˆê
Þ±Þ×ê
make_errorÁêparse_line_colÁêstarts_with_digitÁØääääääääää ä
ä ä ä
äääMapÁõœõ§õØä ùœù§äüæ ü
with_capacityÁüclearÁügetÁ¢ü contains_keyÁ¢üget_mutÁ¢ü
get_key_valueÁ¢üinsertÁüremoveÁ¢ü remove_entryÁ¢üappendÁüentryÁޤŽüüis_emptyÁüùüúükeysÁü¼ü
values_mutÁü into_valuesÁüretainÁü sort_keysÁäœ>䞃žä¡ä䤧¥ä§¢§°§Öä«¢«×ä®×ä ° serializeÁ±¤±ä
´ø´ deserializeÁVisitorÁ¸
ºøºValueÁº expectingÁº
visit_unitÁ¾º visit_mapÁÀ§ä ÂùÃ¥ä ÅextendÁÆ¥ädelegate_iteratorÁä
ÉøÉ«Éinto_deserializerÁäÍøÍ«ÍÆCäEntryÁѱÑVacantÁÓ
ÓˆÑOccupiedÁÖ
Öˆä VacantEntryÁÙ±ÙvacantÁä
OccupiedEntryÁܱÜoccupiedÁä´ ß±äÜ á±äã±ãkeyÁã or_insertÁãor_insert_withÁçã
and_modifyÁéäë±ëÌEë´>äï±ïÌEïÑ=ï€>ïinto_mutÁï´>ïÂ>ïØ>äø±øøIntoIterÁøêä ý±äÿ±ÿÿŸGÿêä§ ±äŸGêäË äð ±ä
±ä´
±äÚ
Ò 
  

SerializerÁ¥¨¥¥writerÁ¥ formatterÁª¨ªæ ­±­¨­prettyÁ±¨±±with_formatterÁ±
into_innerÁ±¨«è SerializeSeqÁSerializeTupleÁSerializeTupleStructÁSerializeTupleVariantÁ SerializeMapÁSerializeStructÁSerializeStructVariantÁserialize_boolÁ serialize_i8Á
serialize_i16Á
serialize_i32Á
serialize_i64Áserialize_i128Á serialize_u8Á
serialize_u16Á
serialize_u32Á
serialize_u64Áserialize_u128Á
serialize_f32Á
serialize_f64Áserialize_charÁÐ 
serialize_strÁserialize_bytesÁserialize_unitÁserialize_unit_structÁserialize_unit_variantÁserialize_newtype_structÁ×¥serialize_newtype_variantÁÙ¥serialize_noneÁserialize_someÁÜ¥
serialize_seqÁserialize_tupleÁserialize_tuple_structÁserialize_tuple_variantÁ
serialize_mapÁserialize_structÁserialize_struct_variantÁ collect_strÁå¥ååAdapterÁè'serÁè¨èèÜIèêIèëåïÝRï¨ïïñCompoundÁô±ô¨ôôç<øÒøºôRawValueÁûÒý±ý¨ýý«ýèýserialize_elementÁƒ¥ýþ±¨«è»TŒ¥þ±¨«èserialize_fieldÁ¥þ˜±˜¨˜˜«˜è˜ÖUž¥˜þ¡±¡¨¡¡«¡è¡
serialize_keyÁ§¥¡serialize_valueÁ©¥¡þ ¬±¬¨¬¬«¬è¬ÖU²¥¬þ
µ±µ¨µµ«µèµÖU»¥µþMapKeySerializerÁ¾±¾¨¾¾Òinvalid_raw_valueÁkey_must_be_a_stringÁfloat_key_must_be_finiteÁ Æ±Æ¨ÆÆ«ÆèÆöNÆÕOÆóOÎ¥ÆKƱKÆÇKÆãKÆ€LÆ”LÆ«LÆÉLÆßLÆóLƈMÆMƲMÆÈMÆÜMÆñMƆNÆ›NƱNÆÆNÆÛNä Æ‹OÆ¢OƸOÆ›P饯ÄPÆÚPì¥ÆøPÆQƤQÆÂQÆáQÆöQÆŽRÆ®Rõ¥RawValueStrEmitterÁ÷
÷±÷¨÷÷ˆ ý±ý¨ýý«ýèýKý±KýÇKýãKý€Lý”Lý«LýÉLýßLýóLýˆMýMý²MýÈMýÜMýñMý†Ný›Ný±NýÆNýÛNýöNý‹OýÄPýÚP¥ý¢Oý¸OýÕOýóO ¥ý›P¢¥ýøPýQý¤QýÂQýáQýöQýŽRý®R«¥
CharEscapeÁ­QuoteÁ®
­ReverseSolidusÁ°
­SolidusÁ²
­ BackspaceÁ´
­FormFeedÁ
­LineFeedÁ¸
­CarriageReturnÁº
­TabÁ¼
­ AsciiControlÁ¾
¾ˆˆÁ
write_nullÁ¨Á
write_boolÁĨÁwrite_i8ÁƨÁ write_i16ÁȨÁ write_i32ÁʨÁ write_i64Ą́Á
write_i128ÁΨÁwrite_u8ÁШÁ write_u16ÁÒ¨Á write_u32ÁÔ¨Á write_u64ÁÖ¨Á
write_u128ÁبÁ write_f32ÁÚ¨Á write_f64ÁܨÁwrite_number_strÁÞ¨Á begin_stringÁà¨Á
end_stringÁâ¨Áwrite_string_fragmentÁä¨Áwrite_char_escapeÁæ¨ææ
HEX_DIGITSÁé Áwrite_byte_arrayÁë¨Á begin_arrayÁí¨Á end_arrayÁï¨Ábegin_array_valueÁñ¨Áend_array_valueÁó¨Á begin_objectÁõ¨Á
end_objectÁ÷¨Ábegin_object_keyÁù¨Áend_object_keyÁû¨Ábegin_object_valueÁý¨Áend_object_valueÁÿ¨Áwrite_raw_fragmentÁ¨
±æ  with_indentÁˆ±ˆ>±§f¨Âf¨Ûf¨üf¨›g¨·g¨Ñg¨h¨±h¨format_escaped_strÁŸ¨Ÿformat_escaped_str_contentsÁ¢¨¢BBÁTTÁNNÁFFÁRRÁQUÁBSÁUUÁ__ÁESCAPEÁ®  to_writerÁ°¨°¥to_writer_prettyÁ³¨³¥¥
to_vec_prettyÁ¸¥º¥to_string_prettyÁ¼¥indentÁ¾¨»ÀÀÀÀÀÀÀÀÀÀ À
À À À
ÀÀÀÀÀÀÔ×ÀÖ××WriterFormatterÁرØ'bÁØinnerÁ×ܱÜönÜwriteÁÜflushÁ×io_errorÁ× × À parse_indexÁÀåÑ=æšå€>èšå is_objectÁå as_objectÁå
as_object_mutÁåis_arrayÁåas_arrayÁå as_array_mutÁå is_stringÁåas_strÁå is_numberÁå as_numberÁåis_i64Áåis_u64Áåis_f64Áåas_i64Áåas_u64Áåas_f64Áå
is_booleanÁåas_boolÁåis_nullÁåas_nullÁå þ þ å pointer_mutÁ  åtakeÁåsort_all_objectsÁÀˆ >ÀŠ > DEFAULTÁÀ¾            
     
                  ­ ø­ ÛA¯ ¯  ValueVisitorÁ±
¯ ³ ø³ —B³ ¤B³ 
visit_boolÁ· ³  visit_i64Á¹ ³ 
visit_i128Á» ³  visit_u64Á½ ³ 
visit_u128Á¿ ³  visit_f64ÁÁ ³  visit_strÁÃ ³  visit_stringÁÅ ³ 
visit_noneÁÇ ³ 
visit_someÁÉ ³ µBË ³  visit_seqÁÍ §³ ÏBÏ § Ñ Ñ þ Ô Ô þ ·  visit_arrayÁØ øØ § Û øÛ èÛ õÞ §Û –$à §Û Ü$â § ä øä èä õç §ä Ú!é §ä –$ë §ä Ã"í §ä ï §ä ´ ñ §ä Ô ó §ä ó õ §ä •!÷ §ä ¶!ù §ä ü!û §ä œ"ý §ä í"ÿ §ä Œ#
§ä ­#ƒ
§ä Õ#
§ä ô#
§ä ¶$
§ä Ü$
§ EnumDeserializerÁ
variantÁ
» 
ø
è
„)
“)
§
 
ø
«
ÆC 
ø
«
ÆC VariantDeserializerÁŸ
» ¡
ø¡
è¡
Ó)¡
ç)¥
¥¡
*§
§¡
ש
§ SeqDeserializerÁ«
ù  ­
æ  
¯
ø¯
è¯
ø%²
¥¯
 size_hintÁ MapDeserializerÁµ
ùµ
»  ¸
æ   º
øº
èº
°'½
¥º
ù'¿
¥º
»~ deserialize_value_ref_numberÁ visit_array_refÁÃ
øÃ
§ 
Æ
øÆ
èÆ
õÉ
§Æ
$Ë
§Æ
Ü$Í
§ Ï
øÏ
èÏ
õÒ
§Ï
Ú!Ô
§Ï
$Ö
§Ï
Ã"Ø
§Ï
Ú
§Ï
´ Ü
§Ï
Ô Þ
§Ï
ó à
§Ï
•!â
§Ï
¶!ä
§Ï
ü!æ
§Ï
œ"è
§Ï
í"ê
§Ï
Œ#ì
§Ï
­#î
§Ï
Õ#ð
§Ï
ô#ò
§Ï
¶$ô
§Ï
Ü$ö
§ EnumRefDeserializerÁø
øø
÷{ø
» ü
øü
èü
„)ü
“) §  VariantRefDeserializerÁƒ øƒ »  ø è Ó) ç)Š ¥ ‹*Œ § ׎ § SeqRefDeserializerÁ ø ù  ø æ   ø è ø% ¥ »~ MapRefDeserializerÁœ øœ ùœ »   ø  æ  £ ø£ è£ °'¦ ¥£ ù'¨ ¥£ »~ MapKeyDeserializerÁ« ø« ÌE À, ¯ ø¯ è¯ õ² §¯ ´ §¯ Ú! §¯ Ã"¸ §¯ $º § 
KeyClassifierÁ¼
 KeyClassÁ¾ ç<¿
¿ ˆ¾ öSÂ
 Ä øÄ —BÄ ÛAÇ  É øÉ —BÉ ¤BÉ àvÍ É ùvÏ  Ñ ÜÒ Ñ 
unexpectedÁ BorrowedCowStrDeserializerÁÕ øÕ » Ø øØ æ  Û øÛ èÛ õÞ §Û –$à § â øâ èâ „)â “)æ ¥ UnitOnlyÁè
 ê øê èê Ó)ê ç)î ¥ê ‹*ð §ê ×ò §À÷ô ô ô ô ô ô ô ô ô  from_integerÁô þ ÷ô  ÷ô  ÷ô  ÷ô  ÷ô ˆ ±ˆ ÷ô  ÷ô  ÷ô  ¥ ÷ô   ¥ Ÿ  ÷ ô 
˜ ¥˜ ÷ô   ¥ ù šô  Ÿ œŸ §Ÿ ù¢ š¢ ô 
¥ ÷ô § ¥§ ÷ÀÖª ª ª ª ª ª ª ª ª IndexÁ³ 
index_intoÁ´ 'vÁ³ index_into_mutÁ ³ index_or_insertÁ¸ ª º » º  ½ º ¿¿ ¿ ª  à   Å  ¿Ç ª É Ê É  Ì É ¿Î ª Ð ¥Ð Ò Ð  Ô Ð ¿Ö ª privateÁØ SealedÁØ Ø Ø Ø Ý ¥ª óß
ß ±ß ˆª ã ±ã ת æ šæ °æ Öé NULLÁª ë šë ×À
partial_eqÁî î î eq_i64Áî eq_u64Áî eq_f32Áî eq_f64Áî eq_boolÁî eq_strÁî ÷ î ù î û î ý î ÿ î 
î partialeq_numericÁÀÒ









 


 
 







°A˜
¤˜

ºI


«
è
K
±K
ÇK
ãK
€L
”L
«L
ÉL
ßL
óL
ˆM
M
²M
ÈM
ÜM
ñM
†N
N
±N
ÆN
ÛN
öN
O

¢O
¸O
ÕO
óO»
¥
P½
¥
ÄP
ÚPÀ
¥
øP
Q
¤Q
ÂQ
áQ
öQ
ŽR
®RÉ
¥
 SerializeVecÁË
Á
ãKÍ
Ð Í
Á
€LÐ
ç<Ñ
ØÑ
next_keyÁÐ
öSÔ
 out_valueÁ
«LÖ
Ð Ö
Ø
Ù
«Ù
èÙ
»TÜ
¥Ù
þ
ß
«ß
èß
»Tâ
¥ß
þ
å
«å
èå
ÖUè
¥å
þ
ë
«ë
èë
ÖUî
¥ë
þ
ñ
«ñ
èñ
ïVô
¥ñ
ŒWö
¥ñ
þ
½Xù

ŽY
ªY
ý
«ý
èý
Ký
±Ký
ÇKý
ãKý
€Lý
”Lý
«Lý
ÕOý
óOˆ¥ý
ÉLý
ßLý
óLý
ˆMý
Mý
²Mý
ÈMý
ÜMý
ñMý
†Ný
Ný
±Ný
ÆNý
ÛNý
öNý
Oý
¢Oý
¸Oý
Pœ¥ý
ÄPý
ÚPŸ¥ý
øPý
Qý
¤Qý
ÂQý
áQý
öQý
ŽRý
®R¨¥
ª«ªèªÖU­¥ªþ
 °«°è°ÖU³¥°þ
RawValueEmitterÁ

õX

¹«¹è¹K¹±K¹ÇK¹ãK¹€L¹”L¹«L¹ÉL¹ßL¹óL¹ˆM¹M¹ÈM¹ÜM¹ñM¹†N¹±N¹ÆN¹ÛN¹öN¹‹O¹ÄP¹ÚPÒ¥¹¢O¹¸O¹ÕO¹óO×¥¹›PÙ¥¹øP¹Q¹¤Q¹ÂQ¹áQ¹öQ¹ŽR¹®Râ¥Àto_valueÁä¥À
from_valueÁæ¥á9èèèèèèèèèùòòLineColIteratorÁôšôùôšôcolÁô
start_of_lineÁòúšúæ úšúÀ£ú’/òšó numberÁ 
  
˜§œžºqžÈqžÖqžäqžòqž€ržfrom_f64Ážas_i128Ážas_u128Áž from_i128Áž from_u128Ážas_f32Ážfrom_f32Á¬×®×°°A±¤³ø³ÛAµµ
NumberVisitorÁ·
µ¹ø¹—B¹¤B¹áu½¹úu¿¿ ¹”v¹­vÄÄ ¹ÇvÇÇ õ·ÌøÌè ÏøÏè
Ò÷impl_from_unsignedÁimpl_from_signedÁ Ö¼‰ÅØØØØØØØØØØ Ø
Ø Ø Ø
ØØReadÁèøèó èèdiscardÁèpositionÁè
peek_positionÁè/è parse_strÁð'sÁè
parse_str_rawÁò«è
ignore_strÁèdecode_hex_escapeÁèbegin_raw_bufferingÁèend_raw_bufferingÁ÷§èshould_early_return_if_failedÁè
set_failedÁØPositionÁûšûØÊþönþ'cÁþ¥þBorrowedÁ
ˆþCopiedÁ
ˆØˆönˆƒ­ˆ¥ˆåˆ´ØIoReadÁŽ£ŽùŽchÁŽ
raw_bufferÁØ SliceReadÁ±žÖraw_buffering_start_indexÁØStrReadÁ˜±˜delegateÁ˜dataÁØØ‘œç‘Øž£žæ Ø¡£Ø£££parse_str_bytesÁ¥«¥¥¥Ø©ø©£©ó ©©Àª©Ϫ©ߪ©’/©üª²«©—«´«´ ©µ«©Ç«©à«©û«º§©œ¬©Á¬Ø¾±¾æ ¾position_of_indexÁ¾skip_to_escapeÁÂChunkÁÂSTEPÁ ONE_BYTESÁ¾skip_to_escape_slowÁ¾ó¯Ç«Ç¥ÇÇ'fÁØÌ±ØÎ±Îó ÎÎÀªÎϪÎߪÎ’/ÎüªÖ«Î—«Ø«Ø ε«ÎÇ«Îà«Îû«Þ§Îœ¬ÎÁ¬Øâ±âæ Ø 屨
ç±çó ççÀªçϪçߪç’/çüªï«ï ç—«ò«çµ«çÇ«çà«çû«÷§çœ¬çÁ¬Ø ûøû£Ø þøþ£þó þþÀªþϪþߪþ’/þüª«þ—««þµ«þÇ«þà«þû«Ž§þœ¬þÁ¬ØFusedÁØ
±Ø±Ø is_escapeÁØ next_or_eofÁ˜ø˜£Ø peek_or_eofÁø£Øëžøž£ž¥ØŠq¢ø¢«¢£¢ Ø parse_escapeÁ§ø§£Øparse_unicode_escapeÁªøª£Øpush_wtf8_codepointÁØ
ignore_escapeÁ®ø®£Ødecode_hex_val_slowÁØbuild_hex_tableÁ² ² ØHEX0Áµ ØHEX1Á· Ødecode_four_hex_digitsÁ@ºººººººººº º
º º º
ºººººººººººöSÓÔºÕ
from_borrowedÁÕ
from_ownedÁÕ
into_ownedÁºÙƒºÛOwnedÁÛto_ownedÁºÞ>ºà׺â׺äà’äTRUEÁäFALSEÁä from_stringÁäfrom_string_uncheckedÁäÑ=ºë÷º to_raw_valueÁí¥ºÍºð°Añ¤º óøó±óÛAööReferenceVisitorÁø
öúøú—Bú¤BúÏBþ§º
øÛA BoxedVisitorÁ
ø—B¤BÏBЧºRawKeyÁŒ
º ŽøŽÛA FieldVisitorÁ
ø—B¤Bàv˜ºReferenceFromStringÁš
º œøœ—BœÛAŸº
¡ø¡—B¡¤B¡visit_borrowed_strÁ¥ºBoxedFromStringÁ§
º©ø©—B©ÛA¬º®ø®—B®¤B®àv²®ùv´ºRawKeyDeserializerÁ
º¸ø¸è¸õ»§ºOwnedRawDeserializerÁ½ raw_valueÁº¿ø¿è¿°'œ¿ù'ħºBorrowedRawDeserializerÁÆøÆƒÄºÉøÉèɰ'ÌœÉù'ΧºÐøÐ«ÐÆCºÔøÔèÔõ×§ÔÙ§Ôdeserialize_i8ÁÛ§Ôdeserialize_i16ÁݧÔdeserialize_i32Áß§Ôdeserialize_i64Áá§Ôdeserialize_i128Áã§Ôdeserialize_u8Áå§Ôdeserialize_u16Áç§Ôdeserialize_u32Áé§Ôdeserialize_u64Áë§Ôdeserialize_u128Áí§Ôdeserialize_f32Áï§Ôdeserialize_f64Áñ§Ô´ ó§ÔÔ õ§Ôó ÷§Ô•!ù§Ô¶!û§ÔÚ!ý§Ôü!ÿ§Ôœ"§ÔÃ"ƒ§Ôí"§ÔŒ#§Ô­#§ÔÕ#§Ôô#§Ô–$§Ô¶$§ÔÜ$§š€Æ§šžÆ§š½Æ§šÜƧš›Ç§š¹ÇŸ§šØÇ¡§š÷Ç£§š¶È¥§šÕȧ§šûÆ©§š–È«§«·­§¯€Æ¯§¯žÆ±§¯½Æ³§¯ÜƵ§¯ûÆ·§¯›Ç¹§¯¹Ç»§¯ØÇ½§¯÷Ç¿§¯–ÈÁ§¯¶Èç¯ÕÈŧ¯´ ǧ¯Ô ɧ¯ó ˧¯ü!ͧ¯œ"ϧ¯í"ѧ¯Œ#Ó§¯­#Õ§¯Õ#×§¯ô#Ù§¯¶$Û§¯Ü$ݧêCategoryÁ߯3à
ßSyntaxÁâ
ßDataÁä
ßEofÁæ
ê ê ê
êƒêêíêïÖêñ×äIterÁó±óùäö±öƒäù±ù×äü±üüó ü»~ä± next_backÁä±ä±äIterMutÁ±ù䌱Œ×ä±ó »~ä±øÑä±äš±äŸGœùä ž×ä!  ó  »~ä"¤øÑä#¦ä$äKeysÁ©±©ùä%¬±¬ƒä&¯±¯×ä'²±²²ó ²»~ä(·±·øÑä)º±ºä*½±äValuesÁ¿±¿ùä+±ƒä,űÅ×ä-ȱÈÈó È»~ä.Í±ÍøÑä/бÐä0Ó±ä ValuesMutÁÕ±Õùä1رØ×ä2Û±ÛÛó Û»~ä3à±àøÑä4ã±ãä5æ±ä
IntoValuesÁèùä6ê×ä7ììó ì»~ä8ðøÑä9òä:StateÁõEmptyÁö
õFirstÁø
õRestÁú
üÖÿCompactFormatterÁ
ƒƒ×>PrettyFormatterÁ±current_indentÁ has_valueÁÁmŽ±Žƒ±×À—BNullÁ
X
ˆNumberÁš
šˆß
ˆM 
 ˆObjectÁ£
£ˆÀ¦ƒÀ¨ÖÀÀ«À ­§®ùÛ °§Û €Æ²§Û žÆ´§Û ½Æ§Û ÜÆ¸§Û ûƺ§Û ›Ç¼§Û ¹Ç¾§Û ØÇÀ§Û ÷ÇÂ§Û –ÈÄ§Û ¶ÈÆ§Û ÕÈÈ§Û ´ Ê§Û Ô Ì§Û ó Î§Û •!Ð§Û ¶!Ò§Û Ú!Ô§Û ü!Ö§Û œ"Ø§Û Ã"Ú§Û í"Ü§Û Œ#Þ§Û ­#à§Û Õ#â§Û ô#ä§Û ¶$æ§ä €Æè§ä žÆê§ä ½Æì§ä ÜÆî§ä ûÆð§ä ›Çò§ä ¹Çô§ä ØÇö§ä ÷Çø§ä –Èú§ä ¶Èü§ä ÕÈþ§Æ
§Æ
€Æ§Æ
žÆ§Æ
½Æ§Æ
ÜÆˆ§Æ
ûÆŠ§Æ
›ÇŒ§Æ
¹ÇާÆ
ØÇ§Æ
÷ǧÆ
–ȧÆ
¶È§Æ
ÕȘ§Æ
´ š§Æ
Ô œ§Æ
ó ž§Æ
•! §Æ
¶!¢§Æ
Ú!¤§Æ
ü!¦§Æ
œ"¨§Æ
Ã"ª§Æ
í"¬§Æ
Œ#®§Æ
­#°§Æ
Õ#²§Æ
ô#´§Æ
¶$§Ï
€Æ¸§Ï
žÆº§Ï
½Æ¼§Ï
ÜÆ¾§Ï
ûÆÀ§Ï
›Ç§Ï
¹ÇħÏ
ØÇƧÏ
÷ÇȧÏ
–ÈʧÏ
¶Ȩ̀Ï
ÕÈΧ¯ €ÆÐ§¯ žÆÒ§¯ ½ÆÔ§¯ ÜÆÖ§¯ ›Çا¯ ¹ÇÚ§¯ ØÇܧ¯ ÷ÇÞ§¯ ¶È৯ ÕÈ⧯ ûÆä§¯ –Èæ§¯ ´ 觯 Ô ê§¯ ó 짯 •! ¶!𧯠ü!ò§¯ œ"ô§¯ í"ö§¯ Œ#ø§¯ ­#ú§¯ Õ#ü§¯ ô#þ§¯ ¶$§¯ Ü$§Û §Û €Æ§Û žÆˆ§Û ½ÆŠ§Û ÜÆŒ§Û ûÆŽ§Û ›Ç§Û ¹Ç§Û ØÇ§Û ÷Ç§Û –Ș§Û ¶Èš§Û ÕÈœ§Û ´ ž§Û Ô  §Û ó ¢§Û •!¤§Û ¶!¦§Û Ú!¨§Û ü!ª§Û œ"¬§Û Ã"®§Û í"°§Û Œ#²§Û ­#´§Û Õ#§Û ô#¸§Û ¶$º§Û Ü$¼§ô ¾÷ô À÷ô Â÷ô Ä÷ô Æ÷ô È÷ô Ê÷ô Ì÷ô Î÷ô Ð÷î Òî Ôî Ö±Öî  Ù±Ùî 
Üî  Þî  à±àî 
ã±ãî æî èî ê±êî í±íî ðî òî ô±ôî ÷±÷î úî üî þ±þî ±î î î ˆ±ˆî ±î Žî î  ±î !±î "˜î #šî $œ±œî %Ÿ±Ÿî &¢î '¤î (¦±¦î )©±©î *¬î +®î ,°±°î -³±³î .î /¸î 0º±ºî 1½±½î 2Àî 3Âî 4ıÄî 5DZÇî 6Êî 7Ìî 8αÎî 9ѱўÛÔ¹ Öƒ
ÙÛÖݧÞùŸàPosIntÁá
áˆàNegIntÁä
äˆàç
çˆìƒÌõî§Ì€Æð§ÌžÆò§Ì½Æô§ÌÜÆö§ÌûÆø§Ì›Çú§Ì¹Çü§ÌØÇþ§Ì÷ǧ̖ȧ̶ȧÌÕȧ̈§Ì´ ЧÌÔ Œ§Ìó Ž§Ì•!§Ì¶!§ÌÚ!§Ìü!§Ìœ"˜§ÌÃ"š§Ìí"œ§ÌŒ#ž§Ì­# §ÌÕ#¢§Ìô#¤§Ì–$¦§Ì¶$¨§ÌÜ$ª§Ïõ¬§Ï€Æ®§ÏžÆ°§Ï½Æ²§ÏÜÆ´§ÏûƧϛǸ§Ï¹Çº§ÏØÇ¼§Ï÷Ǿ§Ï–ÈÀ§Ï¶È§ÏÕÈÄ§ÏÆ§Ï´ ȧÏÔ Ê§Ïó ̧ϕ!Χ϶!ЧÏÚ!Ò§Ïü!Ô§Ïœ"Ö§ÏÃ"اÏí"Ú§ÏŒ#ܧϭ#Þ§ÏÕ#à§Ïô#â§Ï–$ä§Ï¶$æ§ÏÜ$è§ê÷ì÷î÷ð÷ò÷ô÷ö÷ø÷ú÷ü÷é ¸ÿ§¸›Ç§¸¹Çƒ§¸ØÇ§¸÷ǧ¸–ȧ¸€Æ§¸žÆ§¸½Æ§¸ÜƧ¸ûƧ¸¶È§¸Õȧ¸´ §¸Ô §¸ó §¸í"Ÿ§¸•!¡§¸¶!£§¸Õ#¥§¸ô#§§¸Ú!©§¸ü!«§¸Ã"­§¸Ü$¯§¸œ"±§¸­#³§¸Œ#µ§¸–$·§¸¶$¹§b
f
i
j
k
l
m
n
o
p
q
q
r
u
x
{
{
|
~
~




ƒ




ˆ

Š

Œ

Ž



š
²
¾
Ò
Ô
æ
è
ì
Ð
Ñ
×



ƒ




É
É
É
Ë
Í
Í
Í
Ï
Ï
Ï
Ñ
Ñ
Ñ
Õ
Õ
Ö
Ö
à
à
à
â
ã
ÿ








ˆ






Ž











Ÿ
 
 
¢
¢
¥
¥
§
ª
ª
«
­
­
¯
¯
¯
±
½
½
½
Æ
å
é
í
ñ
ò
ó
õ
Ò
Ó
×
Ù
Ü
å
ó
ó
ƒ
ƒ
Œ
Œ


ž
ž
§
§
©
©
²
²
»
»
Ì
Î
æ
é
ì
õ
˜


 
¢
«
Â
Â
Ä
Ä
Æ
Æ
È
È
Ê
Ê
Ì
Ì
Î
Î
Ð
Ð
Ò
Ò
Ô
Ô
Ö
Ö
Ø
Ø
Ú
Ú
Ü
Ü
Þ
Þ
Þ
à
à
â
â
ä
ä
ä
æ
æ
ë
ë
ë
í
í
ï
ï
ñ
ñ
ó
ó
õ
õ
÷
÷
ù
ù
û
û
ý
ý
ÿ
ÿ





















Ÿ
Ÿ
Ÿ
¢
¢
¢
°
³

¸
º
¼
¾
¾
Õ
Õ
Õ
×
×
×
ß
ß
à
ä
æ
è
ê
ë
ì
í
î
ï
ð
ñ
ò
ó
ô
õ
ö
÷
ø
ù
ú
û
ü
ý
þ
þ




Š



Ã
Ó
Ö
²
´
½
¿
Á


¦
¨
ª
Ì
Ì
Ì
Í
Ò
Ò
Ô
à


˜
š
´

¸
»
½
¿
Ã
Å
Ç
Ê
Ì
Î
Ð
Ò
Ô
Ö
Ý
å
å
å
é
í
ñ
ò
ó
ô
õ
ö
ö
ø
ø
ù
ú
ú
ú
ü
ü
ý
þ
þ




˜
µ

»
½
À
É
Ü
Ü
â
â
è
è
î
î
ô
ô
ö
ö
ˆ
˜

œ
Ÿ
¨
­
­
³
³
Ï
Ð
Ò
×
Ù
â
ý
þ
ÿ
ƒ


œ
œ
Ÿ
 
¡
¢
£
¤
¦
§
ª
­
­
­
¯
¯
¯
±
¼
¼
¼
Ï
×
ê
ë
ì
í
î
ï
ô
õ
ö
÷
ú
ú

¬
­
®
¯
°
±
·
¸
¹
º
½
½
Á
Â
Æ
Ð
Ñ
Ò
Ó
Ô
Õ
Û
Ü
Ý
Þ
á
á
é
ê
ë
ì
í
î
ô
õ
ö
÷
ú
ú
û
þ


ƒ




Œ

Ž


˜

ž
¢
§
§
ª
ª
­
®
Ö
Ú
Ý
á
á
á
ã
ã
ã
ê
í
ñ
ý
ý
ý






˜
¤
¤
¤
±
±
±
²
Â
Ä
Ì
Î
ë
î
î
ð
ò
ò
ò
ø
û
û
û
ÿ

ƒ

Ž
Ž
Ž




Ÿ
Ÿ
Ÿ
¢
£
¥
§
®
±
±
±
µ

¹
¼
Ä
Ç
Ç
Ç
Ë
Ì
Ï
Ò
Ú
Ú
Ú
Þ
ß
â
å
ë
ë
ë
î
ï
ñ
ó
ý










§
©
¬
¬
®
®
Ó
Ó
Õ
Õ
Ø
Ø
Û
Û
Ý
Ý
ß
ß
â
â
å
å
ç
ç
é
é
ì
ì
ï
ï
ñ
ñ
ó
ó
ö
ö
ù
ù
û
û
ý
ý


ƒ
ƒ




Š
Š














ž
ž
¡
¡
£
£
¥
¥
¨
¨
«
«
­
­
¯
¯
²
²
µ
µ
·
·
¹
¹
¼
¼
¿
¿
Á
Á
Ã
Ã
Æ
Æ
É
É
Ë
Ë
Í
Í
Ð
Ð
Ó
Ó
×
Ú
Ú
Ü
Þ
Þ
í
Á³ Ù èïyÔÔžÛÕ¹åé0 ‹óæ; 8AA«CÅ'DÐ'EÞ'õÉ!u"£øé<ÄÄ%Ǿ'È«%'—Ó tÈ z±ü¢øñ<ØØ¯Û¾'Ü«%'<A^ä»±ü¢øƒ=îî—(ñ¾'5H¹Ô±ü¢ø‹=®¤øƒ=ŠŠ·*¾'äŠôèIîBt±ü¢ø‹=ƒ¥øæ;¦¦›,©¾'%hÕU¦|M|±ü¢øùMÂÂŽ.ƾ'Çž
'ÈÐ.'É»
'Ê'à§à!šÈø£¥òPœ¦Š ßàáÆ3âã‰ÐäåœÐæç­Ð€ÓÇ$Ö~žsÛ™§Ø™§Ðì™§µß™§™§™§¿c™§éßßèà ¬
ÑøÿËO ŸûûèüØ1ꋞΟ!\ï„ÄcŽª3ˆÆ3ˆÝ3˜ý3šŸ4œÁ4žâ4Ÿ ü4¡¢Ÿ5£¤Ä5 ¥¦â5
§¨€6 ©ª 6 «¬º6
­®Ô6¯°ñ6±²•7³´Ä7µá7·¸€8¹º¡8»¼Í8½¾ç8¿À†9Á«9˜éq¿ÛÜܾï¨Äcï¨ÄcŠŠõ2†3ꌚêêö¨aR9›î¿cï¨;館Aï¨ÄcÚÚÛ;݈ê ÿ;rÓI±³õõç<øØäþ•©øZÎäúHúHßûHÁ‘4Ý­f‰úM÷ùÚ˜XˆšžÛœˆžßŸˆ ¡M¢ˆ£¤âÛ¥ˆ)Dô@­Ë¶‚ت®µßª®ª®ª®šeª®Ù¢ª® 8¢³"ª®ç°¿cª®¯Aª®Ù;ª®øª<¸¸¹öA Sê,þÄõøÃLª®Ø®†¯ÐLª®ç±à ª®øï¨à  øª®øï¨ÇL ±ª®Øóó€ÑõùäM|x¹9’û±¿cɲùMɲŒMɲÃMɲòPɲÇL ±ª®¿c«Òùäùm~I<ÌäÁ±ùMγŒMγÃMγòPγÇLª®¿cœœŸGùäŸ!‚oftùMÁ´ŒMÁ´ÃMÁ´òPÁ´Ø©©–Ô«ùäHôïE²¸±¿c¢µùM¢µŒM¢µÃM¢µòP¢µØ¿¿¹ÕÁùäÇŠ¼z0ÃJ±¿c•¶ùM•¶ŒM•¶ÃM•¶òP•¶¿cÕÕÞÖ×ùä@‰ïÇ6€ÜűùMˆ·ŒMˆ·ÃMˆ·òPˆ·¿cèèñ×éùä]¤wX žÙùMð·ŒMð·ÃMð·òPð·²A ±¥¥ºI¨ÜI©êIž¸Êþ¨êbèèÎRìÜIíêIîëòÞo8¶ÄåÝR’¹˜¹õö÷âØøùôØúû†Ù€éë,š¾÷Ð캵ߺºèAôøç<ùÒúºûöSüÒö½ ‹@yX±’¹˜¹îAíºôAíºúAíº€Bíº‹Bíº’Bíº²A¾¾½XÂÒf—+áÎJõ±’¹˜¹²A÷÷øÌ\üˆ ÒïÙ3Gc±’¹˜¹Ø¶Ù è Í<v6J¿c—½³—½Á—½ØùÙ˜ÚŒ®ÚÁmVŽŠƒ°/+̱¿cæ½³æ½Áæ½Ø†¯†¯Ð솯µß†¯†¯še†¯¿c†¯Äc†¯Ÿ!ØØ×nÛ€oÀ´t±ön³†¯³ 8†¯Ù;†¯øª<± ± ² u *ïRsŸþøïy†¯ïyª®æ;ª®øæ;†¯øƒ=

ß{Ž
÷{ 
» PIqí³¶øà †¯øï¨à  ø†¯øï¨‹=Ÿ
Ÿ
ú| 
» E÷ž”
*Wøé<«
«
ê}¬
ù Ãø@
Ó„øñ<µ
µ
Ì~
ù ·
» ÚgW’¹þ}Vøæ;›²øæ;åÁøƒ=ø
ø
’ƒú
÷{ û
» % ŒÞ:5z¼øø‹=ƒ ƒ ÷ƒ » ¼n0µ.nÔøøé<  ò„ ù 1TÞÛ½øøñ<œ œ Þ…ž ù Ÿ » òî/¦§ë!âøøæ;« « ↭ ÌE x[ÝbpqÇøøá;¼ ¼ ½ ù‡ „\­$Æøª<ÂÆøæ;Õ Õ Ή× » ³
bxp"­wøøƒ=‡Çø‹=è è é ÷Š è¦Y<:Úøé†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯é†¯Ø®é†¯ 8醯»¾¿•­ÀˆÁÂñ¼Ãˆ¢ÓÛ?'°UF±é†¯ƒ¢é†¯ª®é†¯ªBªBö­BbufÁ÷<®B÷<9)
-ÜnL¥çEçEèEGlobalÁ ¿±‡§í#醯¡ËŸé†¯ 8
¥ÃL†¯¡ËÃL†¯œ§é†¯é†¯Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z١˳ ³ ³ Ø®³  8ùË٠٠٠خ٠®ÍÄcß ß à óâ ˆª  Ý~Vq¦ß>±Ù¢†¯š³"†¯¬Îµß†¯µß†¯Öɵ߆¯µßÖɆ¯µß†¯Ø®µßØ®†¯µß†¯µß†¯µß ±†¯µß ±†¯µß†¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϵ߆¯µß†¯µßÃϵßÙϯA†¯²A

œ
ºI ¬Î„AÄÊêëèAË
Ë
̘Ì
Á
)øí„œQH¶îAòÕôAòÕúAÍ
Í
ãKÎ
Ð 
Ï
Á
Ç)š¬vÄ€BÐ
Ñ
ç<Ò
ØÓ
˜™Ô
öSÕ
°™n¦D¶û:²Aù
ù
ú
½X ¬€Œb⸠‹BÿÖ’BÖ
Ö
«L×
Ð 
Ø
Ø
¯ëP ®êù˲A·¦Ÿ âôW Uâ•ùMôô‘£öùò÷šòøÀ£òùË£òL ªÝãi¬Î؃¢Ð샢µßƒ¢ƒ¢ƒ¢šeƒ¢Š àáâÆöãˆäåáöæˆçèéˆùDŠ«Û/·Û•ÚØ•ڵߕڕڕښe•ÚÄcƒ¢¿cƒ¢¯Aƒ¢Ù;ƒ¢øª<··¸­§ €­lßð’øæ;ƒ¢øæ; 8ƒ¢øéƒ¢TUVÿWˆXYZˆ[\©]ˆVú_<Ú>ÒZ郢郢郢郢郢郢郢郢郢郢é!þƒ•­ˆ²­ˆ¹÷F-ÔÌíönƒ­§ŽŽû­ùØ™®Ø£®Ø ñî}ݣ莎û­ùØ™®Ø£®Ø ñî}Ýû¦øµ®žØÖØÞ®Øgƒk:Ùq±èØà±˜˜ÿ®š–¯Ø¦¯ØÄñÕÖ´7ϱè¾á± 8ü¢è™âøØà¾áØžBoxÁ¡ˆˆ¢ˆl }.xÏÓÓöSÔÔºQãÜ—}'”§Ë²’ã³Ñâ¿c’ãÄc’ãéžßᡈˆ¢ˆl }.xϧËÑâ¯A’ãÙ; ±’ãøª<øøùþ¾  BìzÝéÌøÙ;Ñâøª<å¿ ä‘­½1Â;øÙ;ŒŒ«À ›Ôòo+lŽøª<ÛÀ K$v”ÒNî§øá;šš¡Á ¥ä4k®·âöøª<Ëæøá;§§¨¥Â qÔ˜7:­`øª<çøæ;·£Ã î¥|Ðx* Ëøñ<½½çþƒÄÅàݾ;£Uøñ<ÆÆÉÄȃÄâ±É­.òzøøà  ø’ãøï¨æ;ƒéøÔÑ Ô õš
¯¦Û õä Æ

Ï

¯ « Û Õ ÌÔÏ
¸Ô
Íį
«
 áØº
µ
£ œ ¿½ÉÆöîŠ

ü
ø
â Õ þ¡
Ÿ
ƒ ê è ÒÂü󠜲©È¿ÛÕìèôÙÂ󚨜½©Ó¿æÕôèèßêàéßëàêßžõöó¬©Â¿ƒŽ¦ÖÔìàÙìßþõªØÔíß¡õÿõ«÷ ù û ý 
ÿ 
úHÒÔÖ
Ù
ÜÞà
ã
æèê
í
ðòô
÷
úüþ

ˆ

Ž

˜šœ
Ÿ
¢¤¦
©
¬®°
³
¸º
½
ÀÂÄ
Ç
ÊÌÎ
Ñ
ÙÔ˜àïߣõüõ¨ÛÔšàñßÐû®õù󌞜¯©Å¿ØÕêèÔ®Ôàӈ߾ÀÂÄÆÈÊÌÎÐþ     ˆ     ˜ ¥ § ÒÔêÔìÔîÔðÔòÔôÔöÔøÔúÔüÔëÈŽÌûΊÞÚÖã ß ¬ÔâÓÊûÒû×ûœõˆˆ Š 
Þ¤õ­ÝÔà§õæ «õë °õ
°ÔðÓ´õ­ ³Ôó
ŽŒº¸³ ± É ¼ ¹·úø¡š®§Âõ Ÿ ÅõÉõÍ


Ð
ø
ÿ
õ󤜷©Í¿àÕðè󦜺©Ð¿ãÕòè
ƾý÷

ý
ù
¹ïèýôÙ
Ë
ôß
Ë
ôå
Ë
˜ôë
Í
¡ôñ
Ð
¬ôªÐ
µô°Ö
ƒÜØÄ ¼ œš©§º  É úHÐ 
Ú Û Ü úHÝ 
ˆþ¡ŽÌå˜û
©ŽÎç˜þ
˜ÛÓïyåæ; é<Jñ<ƒ=#=#ùM #òP?Š 8ÛØ ÐìMµß@ì¿c*é$iÄcü¾8;¬A³še(Ù¢³"¯AÙ;ª< (ÃL?ÐLà ÇLŒMÃM1²A1êb(èAîAôAúA€B‹B’BÁŸ!á;³ Ù é!è²5309Á16Ább'b'Átb't'Ánb'n'Áfb'f'Árb'r'Á"b'"'Á\b'\\'Áub'u'Á256Á\»Û ü¤Û#Œ †¯,³Û( Value::NullÁtrueÁ¼Âl
 ¬Âl 
À$ü®l, Ä,ºl %„ül ‰m ÿ3 Tül ÈÒO ÈÒZÿüãl* Å,ôl +kÈÒwÈÒfalseÁfalseÁüÃÀ  ùü¢ü—ÀM $¼À &Jùü¢ R::should_early_return_if_failedÁ\êú  0 $ôû Û¼Tþú þú   
 $„û 09 
 !0
\“û  A|§û  T§û  §û 


$­û A9 
!A \Áû  a|Õû TÕû Õû  $Ûû a9 !a
f¨CPF`!91ó
 ‡û  „ùú Û¼ ˆû  ¬  °û 
Î ´û 
ë  "
    µû  ¬¢û Û¼ ¶û   » Þû Ýâû 
ú "
 ãû ¬Ðû Û¼ äû  ü ±üœúå Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙTÅú ¹ú ¢©U\*®­¬ÌŠ¾ÌŠÐKJIÌŠ[ÌŠm¹¦ LÂü DÎü  Ïü 4àü  éü  üðü´ 
Döü öü  ûü @  ýü ü•ýw ì›ý  D¯ý 
¯ý    
  ¶ý  =
Dœ›ý 
±
Q b ·ý 
o  ü•ý#  ÿý  ÿÿ
Ìý 
 
ÛdÔý Õý  
 ßý ,äý  ¬Ôý # 7 èý  
ý  L‰ý % / ü‰ýƒ  ‹þ  Œþ   <–þ  œþ & (
Lüÿü¥ 
£þ ø
 ¦ø„ðü´ 
?E £þ ,©þ  ¯þ  °þ ²üƒü­ ü¾üò üÜüÔ üÇý" T­ü ,œü ½“òÔkÎ͹‰LÇý ñÛÚ·ªNAÙNV]shiftÁÃtableÁä™®Á¹{
?256Á256Á256Á256Áü”'

  ’ã0 º
 Â
Ã
ÖüÕn
Þ–

Þ–ƒ©—Ô@ü™%
4±%
©—!7
>¼™%

ÖJ[_ ·%
üõ$D
åÞ–Œ…%
Þ–©©—¨©—°>üš&
4²&
©—!7
>¼š&
«˜HY] ¸&
üö%D
æÞ–Œ†&
Þ–§©—¦©—®>ü'
<µ'
©—!7
>¼'
«˜HY] ¼'
üø&F
çÞ–Œ‰'
Þ–§©—¦©—®>©— "$serde_json::private::RawValue"Áƒ TV#ÖÜ/6= TY#ÖÜ/6=Ÿ T\#ÖÜ/6=<Í> Ž%¤©1÷ã9@©? Ž%¤©1Á¨9@Ìít ÚÛ'ÚÚÛ;݈ê ÿ;rÓIcš;œ;;Xž;ˆŸ; ;UnsignedÁ¡;ˆ¢;£;SignedÁ¤;ˆ¥;¦;§;ˆ¨;©;bª;ˆ«;¬;Þ­;ˆ®;¯;BytesÁ°;ˆ±;²;UnitÁ³;´;¬µ;¶;
NewtypeStructÁ ·;¸;SeqÁ
¹;º;ç< »;¼;| ½;¾; UnitVariantÁ
¿;À;NewtypeVariantÁÁ;Â; TupleVariantÁÃ;Ä;
StructVariantÁÅ;Æ;¯Ç;ˆÖzN÷P Þ=E4«‘ ÑÔ(ÑÓÔ‘DÕˆÖ׬D؈Œîë«‚#íyzÙÙÉDÛäDä$¢R(ÇäOîµDã‘ Ñ×(†¥4ÜÜòDÞEä4ž>dBÉåhoüä—C ÷’¹˜¹$ø1÷÷øÌ\üˆ ÒïÙ3Gc’¹˜¹u ظdÁÆ ­¿&­ ®¯š`°±¬`²³Ç`´µÛ`·ñ`¸¹†aº»›a¼½¶a¾¿ÆaÀˆC¿u^
(Ýäë ˜%†¯17> %†¯1ƒ¢9@ ž%†¯1Ø®9@ ¡%†¯1ªBªBö­B÷É÷<®B÷<9)
-ÜnL†¯§Ëx4á$ ¤%†¯1ª®9@¾ž ¾ À &¾ ¿ À ç<Á ˆ  à öSòvƒ_pØ®x|Û" ß à 'ß ß à óâ ˆª  Ý~Vq¦ß>c †¯nu àâ%•Ú18? àå%•Ú18? àè%•Ú18?DÚ" þ§ ƒ-þƒ•­ˆ²­ˆ¹÷F-ÔÌí§ §4ï" þ§ -“²9é²AH!'êäÀèòغí¤,©dÀÖd½,÷d\ìf áºTœg ä
þD¨g ç «d²gA Ž.”ÀgÂ
è,ûgûÍ4‚hýL¯h º¡m„ºh ¼4Ìh ôllÔh ¸›lLÏi °¼l„Úi ³ºITìi¥·¢TŸj 柢D«j äç<µjõÏžÛ4ºjÔЗB,ÂjÔ
"ß
#óŒíN
$|íO
%¡´¼P
&ü p
# Serde JSONÁúüNK JSON is a ubiquitous open-standard format that uses human-readable text toÁüd85 transmit data objects consisting of key-value pairs.Áú ```jsonÁ,­ܳ "name": "John Doe",Á”Ï "age": 43,Á¤â "address": {Áü÷*' "street": "10 Downing Street",Áä¢ "city": "London"ÁT¿ },ÁœÊ "phones": [ÁÔÞ "+44 1234567",ÁÌù "+44 2345678"ÁL“, ```Á«úü¯LI There are three common ways that you might find yourself needing to workÁÜü with JSON data in Rust.Á˜úüœOL - **As text data.** An unprocessed string of JSON data that you receive onÁüìIF an HTTP endpoint, read from a file, or prepare to send to a remoteÁ server.ÁüÅKH - **As an untyped or loosely typed representation.** Maybe you want toÁü‘KH check that some JSON data is valid before passing it on, but withoutÁüÝNK knowing the structure of what it contains. Or you want to do very basicÁü¬<9 manipulations like insert a key in a particular spot.ÁüéOL - **As a strongly typed Rust data structure.** When you expect all or mostÁü¹MJ of your data to conform to a particular structure and want to get realÁü‡ EB work done without JSON's loosey-goosey nature tripping you up.ÁÍ úüÑ IF Serde JSON provides efficient, flexible, safe ways of converting dataÁü›
*' between each of these representations.ÁÆ
úüÊ
&# # Operating on untyped JSON valuesÁñ
úüõ
JG Any valid JSON data can be manipulated in the following recursive enumÁüÀ HE representation. This data structure is [`serde_json::Value`][value].Á ú< »ü• $! # use serde_json::{Number, Map};Á ÌÀ  # #[allow(dead_code)]Á„Ú 
enum Value {Á 
Null,Áœù  Bool(bool),Á¼
 Number(Number),Á¼¥
 String(String),ÁÔ½
 Array(Vec<Value>),矯
# Object(Map<String, Value>),Á
ÿº<‚»ŠúüŽIF A string of JSON data can be parsed into a `serde_json::Value` by theÁüØMJ [`serde_json::from_str`][from_str] function. There is also [`from_slice`]Áü¦NK for parsing from a byte slice `&[u8]` and [`from_reader`] for parsing fromÁüõ/, any `io::Read` like a File or a TCP stream.Á¥ú»ü±$! use serde_json::{Result, Value};ÁÖúüÚ(% fn untyped_example() -> Result<()> {ÁüƒJG // Some JSON input data as a &str. Maybe this comes from the user.Á´Î let data = r#"Á
üó# "name": "John Doe",ÁÔ— "age": 43,Áܲ "phones": [ÁüÎ" "+44 1234567",Áüñ! "+44 2345678"ÁŒ“„¥
}"#;Áúüº;8 // Parse the string of data into serde_json::Value.Áüö30 let v: Value = serde_json::from_str(data)?;Áªúü®EB // Access parts of the data by indexing with square brackets.ÁüôOL println!("Please call {} at the number {}", v["name"], v["phones"][0]);ÁÄú Ok(())Á,×ÿºÆŒã # fn main() {Áüõ%" # untyped_example().unwrap();Á< # }Á»«úü¯MJ The result of square bracket indexing like `v["name"]` is a borrow of theÁüýOL data at that index, so the type is `&Value`. A JSON map can be indexed withÁüÍLI string keys, while a JSON array can be indexed with integer keys. If theÁüšNK type of the data is not right for the type with which it is being indexed,ÁüéNK or if a map does not contain the key being indexed, or if the index into aÁü¸C@ vector is out of bounds, the returned element is `Value::Null`.Áüúü€MJ When a `Value` is printed, it is printed as a JSON string. So in the codeÁüÎKH above, the output looks like `Please call "John Doe" at the number "+44ÁüšKH 1234567"`. The quotation marks appear because `v["name"]` is a `&Value`ÁüæIF containing a JSON string and its JSON representation is `"John Doe"`.Áü°OL Printing as a plain string without quotation marks involves converting fromÁü€KH a JSON string to a Rust string with [`as_str()`] or avoiding the use ofÁüÌ2/ `Value` as described in the following section.Áÿúüƒ&# [`as_str()`]: crate::Value::as_strÁªúü®LI The `Value` representation is sufficient for very basic tasks but can beÁüûIF tedious to work with for anything more significant. Error handling isÁüÅLI verbose to implement correctly, for example imagine trying to detect theÁü’ PM presence of unrecognized fields in the input data. The compiler is powerlessÁüã PM to help you when you make a mistake, for example imagine typoing `v["name"]`Áü´!JG as `v["nmae"]` in one of the dozens of places it is used in your code.Áÿ!úüƒ"41 # Parsing JSON as strongly typed data structuresÁ¸"úü¼"PM Serde provides a powerful way of mapping JSON data into Rust data structuresÁÔ# largely automatically.Á¨#ú<¬#»ü´#(% use serde::{Deserialize, Serialize};ÁÜÝ# use serde_json::Result;Áù#úüý#%" #[derive(Serialize, Deserialize)]Áœ£$ struct Person {Á¬·$ name: String,Á„Í$
age: u8,ÁäÞ$ phones: Vec<String>,Á,û$ÿº%úü…%&# fn typed_example() -> Result<()> {Áü¬%JóË´÷%ÆÌlŽ&åÌüœ&#üÌÔÀ&¨ÍÜÛ&ËÍü÷&"ðÍüš'!œÎŒ¼'ÆÎ„Î'àÎß'úüã'MJ // Parse the string of data into a Person object. This is exactly theÁü±(NK // same function as the one that produced serde_json::Value above, butÁü€)74 // now we are asking it for a Person as output.Áü¸)41 let p: Person = serde_json::from_str(data)?;Áí)úüñ)B? // Do things just like with any other Rust data structure.Áü´*IF println!("Please call {} at the number {}", p.name, p.phones[0]);Áþ*út‚+ÇÑ,‘+ÿº,—+ÆŒ+øÑü¯+# # typed_example().unwrap();Á<Ó+ÁÒ<Û+»ã+úüç+PM This is the same `serde_json::from_str` function as before, but this time weÁü¸,HE assign the return value to a variable of type `Person` so Serde willÁü-PM automatically interpret the input data as a `Person` and produce informativeÁüÒ-PM error messages if the layo
\Å7 });ÁÑ7úüÕ7>; println!("first phone number: {}", john["phones"][0]);Á”8úü˜874 // Convert to a string of JSON and print it outÁüÐ8)& println!("{}", john.to_string());Á,ú8ÿº<€9»ˆ9úüŒ9KH The `Value::to_string()` function converts a `serde_json::Value` into aÁÔØ9 `String` of JSON text.Áó9úü÷9PM One neat thing about the `json!` macro is that variables and expressions canÁüÈ:NK be interpolated directly into the JSON value as you are building it. SerdeÁü—;NK will check at compile time that the value you are interpolating is able toÁÜæ; be represented as JSON.Á<ú<†<»ÜŽ< # use serde_json::json;Á,ª<Æü°<$! # fn random_phone() -> u16 { 0 }Á,Õ<ÆüÛ< let full_name = "John Doe";ÁÜû< let age_last_year = 42;Á—=úü›=0- // The type of `john` is `serde_json::Value`Á´Ì= let john = json!({ÁÔã= "name": full_name,Áüþ=! "age": age_last_year + 1,Áœ >Œºü´>-* format!("+44 {}", random_phone())ÁLâ>íº<ì> });Á<ô>»ü>úü€?LI This is amazingly convenient, but we have the problem we had before withÁüÍ?OL `Value`: the IDE and Rust compiler cannot help us if we get it wrong. SerdeÁü@LI JSON provides a better way of serializing strongly-typed data structuresÁœê@ into JSON text.Áþ@úü‚A2/ # Creating JSON by serializing data structuresÁµAúü¹A96 A data structure can be converted to a JSON string byÁüóA74 [`serde_json::to_string`][to_string]. There is alsoÁü«BFC [`serde_json::to_vec`][to_vec] which serializes to a `Vec<u8>` andÁüòBLI [`serde_json::to_writer`][to_writer] which serializes to any `io::Write`Áü¿C# such as a File or a TCP stream.ÁãCú<çC»üïC(óáܘD¤â´Dúü¸D%Õâ¤ÞD struct Address {Á¼óD street: String,Á¬‹E city: String,Á,¡Eÿº§Eúü«E)& fn print_an_address() -> Result<()> {ÁüÕE // Some data structure.ÁüõE let address = Address {Áü•F30 street: "10 Downing Street".to_owned(),ÁüÉF&# city: "London".to_owned(),ÁTðF };ÁûFúüÿF)& // Serialize it to a JSON string.Áü©G1. let j = serde_json::to_string(&address)?;ÁÛGúüßG=: // Print, write to a file, or send to an HTTP server.ÁÔH println!("{}", j);Á¸Hút¼HÇÑ,ËHÿº,ÑHÆŒ×HøÑüéH&# # print_an_address().unwrap();Á<IÁÒ<˜I» Iúü¤IMJ Any type that implements Serde's `Serialize` trait can be serialized thisÁüòIMJ way. This includes built-in Rust standard library types like `Vec<T>` andÁüÀJC@ `HashMap<K, V>`, as well as any structs or enums annotated withÁÜ„K `#[derive(Serialize)]`.Á Kú¤¤K # No-std supportÁ¹Kúü½KLI As long as there is a memory allocator, it is possible to use serde_jsonÁüŠLLI without the rest of the Rust standard library. Disable the default "std"Áü×L+( feature and enable the "alloc" feature:ÁƒMú\‡M ```tomlÁ”“M [dependencies]Áü¦MTQ serde_json = { version = "1.0", default-features = false, features = ["alloc"] }Á<ûM»ƒNúü‡NHE For JSON support in Serde without a memory allocator, please see theÁôÐN [`serde-json-core`] crate.ÁïNúüóN  [value]: crate::value::ValueÁü”O# [from_str]: crate::de::from_strÁü¸O'$ [from_slice]: crate::de::from_sliceÁüàO)& [from_reader]: crate::de::from_readerÁüŠP&# [to_string]: crate::ser::to_stringÁü±P  [to_vec]: crate::ser::to_vecÁüÒP&# [to_writer]: crate::ser::to_writerÁÄùP [macro]: crate::jsonÁü’QSP [`serde-json-core`]: https://github.com/rust-embedded-communi
þ+3 ç «*3A Ž.)3Â
è(3ûÍ'3ý&3 º¡m%3 ¼$3 ôl#3 ¸l"3 °¼l!3 ³ºI 3¥·¢3 柢3 äç<3õÏžÛ3ÔЗB3Ô3"ß3#ó3$3%¡3&ð4ó4ö4”œdí4„Édâ4üÜd Ø4ŒÁe4¸eLÉeÁûe÷<ÁTôe!´áf5Lg5555ù4ü4ï4ò4dìgè4ë4Ý4à4T¢hÖ4Ù4Ë4Î4À4Ã4µ4¸4TÂi®4±4£4¦4˜44dj4“4„4‡4y4|4i4l4Z4]4„âkïk ók ¹m ùk ‡l, úk8° ûk& ük8$ýk, l ƒl …l$ „l- †l*‰l Œl ¶m8,l, œl8° l Ÿl °m8í$­l'±l8 4³l'¹l8Í4»l'Ál8«Ãl Ål Él8¹Æl*Ël8¹Îl$ Ñl8í$ßl'ãl8 4ål'ël8Í4íl'ól8õl øl ül8Ø1ùl*þl84m8í$ˆm'Œm8 4Žm'”m8Í4m'œm8žm ¡m ¥m8Ø1¢m$ ¦m% ·mTÉm4ÍmŒ—
ü8
5 Construct a `serde_json::Value` from a JSON literal.Á9
ú<=
ȆE
Ÿþ,a
Ƽg
 let value = json!({Á¤
 "code": 200,ÁÄ”
 "success": true,Á¤­
 "payload": {ÁÌÂ
 "features": [ÁÄÜ
 "serde",Á´õ
 "json"Á
],Áä›
 "homepage": nullÁL¸

Ü
»Ò
úüÖP
M Variables or expressions can be interpolated into the JSON literal. Any typeÁü§M
J interpolated into an array element or object value must implement Serde'sÁüõJ
G `Serialize` trait, while any type interpolated into an object key mustÁüÀF
C implement `Into<String>`. If the `Serialize` implementation of theÁü‡M
J interpolated type decides to fail, or if the interpolated type contains aÁüÕ;
8 map with non-string keys, the `json!` macro will panic.Á
ú<•
Ȇ
Ÿþ
Æœ¿
 let code = 200;ÁüÓ)
& let features = vec!["serde", "json"];Áý
ú¼
Á£¬™
 "code": code,Áü¯
 "success": code == 200,Á¤Ï
ž¤üä$
! features[0]: features[1]ÁL‰
Ù¥<“
Ü<
ȣ
úü§?
< Trailing commas are allowed inside both arrays and objects.Áç
ú
»Üó
Ÿþ,
Ƽ•
 let value = json!([ÁŒ­
 "notice",Át¿
"the",ÁœÎ
 "trailing",Á¤â
 "comma -->",Á
 ]);Á<ÿ
»(|‡
n< ©
¿
 ú
, û
 ü
, ý
8Ô
&
8¯ƒ

*
 Œ
¼
,
8,—
'œ
8ß
 «
 ¬
, ­
 ®
´
, ¯
8Ô
 µ
% ½
Ô£
(|„

^= ¾
¼M
 ±
Ë
 ²
8Ç
 ¹
Ê
, º
 »
È
, ¼
8elemsÁ
& Â
8
$ Ç

É
*Í
 Ð
ƒ
, Ú
8
'à
8É
'ë
8Áí
 ð
 ñ
ý
, ò
 ó
û
, ô
8ʱ
$ ú

ü
% 
 ¯
É
 °
8Ç
 ·
È
, ¸
 ¹
Å
, º
8ʱ
& À
8
$ Æ

Ç
*Ë
 Î

, Ø
8
'Þ
8É
'é
8Áë
 î
 ï
û
, ð
 ñ
ø
, ò
8ʱ
$ ù

ú
% 
 ¨
Ô
 ©
8Ç
 °
Á
, ±
 ²
¿
, ³
8ʱ,´
& ¹
8
$ ¾

À
8

, È
 É
Ò
, Ê
8restÁ
& Ï
8¯Ð

Ó
*Ö
 Ù
»
, ã
8
'é
8ß
 ø
 ù
µ
 ú
8Ç
 
ª
 , 
 ƒ

, 
8ʱ,…
$ Š

Œ
, Ž
8,
'
8ßl
 £
 ¤
©
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¸¶

«
% ³
 Û

 Ü
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¸¶

Â
% Ê
 
¼
  Š
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
$ ¸

¹
$ ¼
, ¾
 ¿
È
, À
8¸¶
& Å
8¯Æ

É
*Ì
 Ï
, Ù
8
'ß
8ß
 î
 ï
Ž
 ð
8Ç
 ÷
ƒ
, ø
 ù
, ú
8ʱ
$

,

Œ
,
8¸¶$ˆ

%
 Ï
…!

 Ð
8Ç
 ×
è
, Ø
 Ù
å
, Ú
8ʱ
& à
8
$ æ

ç
, ê
8¼‰
& õ
8¯ö
, ù
 ú
ƒ!
, û
8¸¶
& €!
8¯!

„!
*‡!
 Š!
¾!
, ”!
8,•!
'š!
8|œ!
 «!
 ¬!
¸!
, ­!
8¼‰T®!
% ¿!
 Æ%
å%
  Ç%
8½4È%
, Ï%
8½4Ð%
& Ö%
8¼,×%
 Ý%
Þ%
 à%
á%
 ã%
ä%
*ç%
 ê%
ë%
% ì%
 ¯&
ð&
  °&
8½4±&
, ¸&
8½4¹&
& ¿&
8¼,À&
 Æ&
Ò&
, Ç&
 È&
Ð&
, É&
8ÌEÊ&
& Í&
8¯Î&
 Ñ&
 Ô&
à&
, Õ&
8»,Ö&
& Û&
8$Ü&
$ â&
, ä&
 å&
î&
, æ&
8¸¶$ç&
& ë&
8¯ì&

ï&
*ò&
 õ&
(
8ÿ&
8 ƒ'
…'
, ‡'
8½4ˆ'
 Ž'
8´>4'
 •'
¯'
 '
Ÿ'
, —'
 ˜'
'
, ™'
8ÌEš'
 ž'
  '
8intoÁ$¡'
 ¥'
¦'
$ §'
, ©'
8»,ª'
% °'
, º'
8,»'
'À'
8ßlÂ'
 Ï'
 Ð'
û'
 Ñ'
8½4Ò'
, Ù'
8½4Ú'
 á'
â'
 ä'
î'
, å'
 æ'
ì'
, ç'
8¸¶$è'

í'
 ð'
ú'
, ñ'
 ò'
ø'
, ó'
8¸¶$ô'

ù'
% ü'
% ƒ(
 ½(
)
 ¾(
8½4¿(
, Æ(
8½4Ç(
& Í(
8¼,Î(
 Ô(
à(
, Õ(
 Ö(
Þ(
, ×(
8ÌEØ(
& Û(
8¯Ü(
 ß(
 â(
î(
, ã(
8»,ä(
& é(
8$ê(
, ð(
8¼‰Tñ(
& û(
8¯ü(
, ÿ(
 €)
‰)
, )
8¸¶$)
& †)
8¯‡)

Š)
*)
 )
Å)
, š)
8,)
' )
8|¢)
 ±)
 ²)
¾)
, ³)
8¼‰T´)
% ¿)
% Æ)
 *
´*
 ƒ*
8½4„*
, *
8½4Œ*
& *
8¼,“*
 ™*
¥*
, š*
 *
£*
, œ*
8ÌE*
&  *
8¯¡*
 ¤*
 §*
³*
, ¨*
8»,©*
& ®*
8$¯*
*¶*
 ¹*
ú*
 8Ã*
8 Ç*
É*
, Ë*
8½4Ì*
 Ò*
8´>4Ó*
 Ù*
ó*
 Ú*
ã*
, Û*
 Ü*
á*
, Ý*
8ÌEÞ*
 â*
 ä*
8¢Ú$å*
 é*
ê*
$ ë*
, í*
8»,î*
% ô*
% û*
 Ÿ+
â+
   +
8½4¡+
, ¨+
8½4©+
& ¯+
8¼,°+
 ¶+
Â+
, ·+
 ¸+
À+
, ¹+
8ÌEº+
& ½+
8¯¾+
 Á+
 Ä+
Ø+
& Å+
8
$Ç+
, Ì+
 Í+
Ö+
, Î+
8¸¶$Ï+
& Ó+
8¯Ô+

×+
, Ú+
8æ$Û+
& ß+
8¯à+
*ä+
 ç+
Ò,
, ñ+
8,ò+
'÷+
8ßlù+
 †,
 ‡,
Ë,
  ˆ,
8½4‰,
, ,
8½4,
 ˜,
¡,
, ™,
 š,
Ÿ,
, ,
8ÌEœ,
  ,
 £,
À,
, ¤,
8,¥,
'ª,
8ßl¬,
 ¹,
 º,
¿,
8
$»,
, Â,
 Ã,
É,
, Ä,
8¸¶$Å,

Ê,
% Ì,
% Ó,
 ÷,
º-
  ø,
8½4ù,
, €-
8½4-
& ‡-
8¼,ˆ-
 Ž-
š-
, -
 -
˜-
, -
8ÌE-
& •-
8¯-
 ™-
 œ-
°-
& -
8 $Ÿ-
, ¤-
 ¥-
®-
, ¦-
8¸¶$§-
& «-
8¯¬-

¯-
, ²-
8æ$³-
& ·-
8¯¸-
*¼-
 ¿-
ª.
, É-
8,Ê-
'Ï-
8ßlÑ-
 Þ-
 ß-
£.
  à-
8½4á-
, è-
8½4é-
 ð-
ù-
, ñ-
 ò-
÷-
, ó-
8ÌEô-
 ø-
 û-
˜.
, ü-
8,ý-
'.
8ßl„.
 .
 .
—.
8 $“.
, š.
 .
¡.
, œ.
8¸¶$.

¢.
% ¤.
% «.
 Ð.
”/
  Ñ.
8½4Ò.
, Ù.
8½4Ú.
& à.
8¼,á.
 ç.
ó.
, è.
 é.
ñ.
, ê.
8ÌEë.
& î.
8¯ï.
 ò.
 õ.
Š/
& ö.
8 ,ø.
, þ.
 ÿ.
ˆ/
, €/
8¸¶$/
& …/
8¯†/

‰/
, Œ/
8æ$/
& /
8¯/
*/
 ™/
…0
, £/
8,¤/
'©/
8ßl«/
 ¸/
 ¹/
þ/
  º/
8½4»/
, Â/
8½4Ã/
 Ê/
Ó/
, Ë/
 Ì/
Ñ/
, Í/
8ÌEÎ/
 Ò/
 Õ/
ó/
, Ö/
8,×/
'Ü/
8ßlÞ/
 ë/
 ì/
ò/
8 ,í/
, õ/
 ö/
ü/
, ÷/
8¸¶$ø/

ý/
% ÿ/
% †0
 ¬0
ú0
  ­0
8½4®0
, µ0
8½4¶0
& ¼0
8¼,½0
 Ã0
Ï0
, Ä0
 Å0
Í0
, Æ0
8ÌEÇ0
& Ê0
8¯Ë0
 Î0
 Ñ0
ð0
& Ò0
 Ô0
â0
, Õ0
 Ö0
à0
, ×0
8Ç,Ø0
& Ý0
8¯Þ0

á0
, ä0
 å0
î0
, æ0
8¸¶$ç0
& ë0
8¯ì0

ï0
, ò0
8æ$ó0
& ÷0
8¯ø0
*ü0
 ÿ0
ò1
, ‰1
8,Š1
'1
8ßl1
 ž1
 Ÿ1
ë1
   1
8½4¡1
, ¨1
8½4©1
 °1
¹1
, ±1
 ²1
·1
, ³1
8ÌE´1
 ¸1
 »1
à1
, ¼1
8,½1
'Â1
8ßlÄ1
 Ñ1
 Ò1
ß1
 Ó1
Þ1
, Ô1
 Õ1
Ü1
, Ö1
8Ç,×1

Ý1
, â1
 ã1
é1
, ä1
8¸¶$å1

ê1
% ì1
% ó1
 2
â2
  —2
8½4˜2
, Ÿ2
8½4 2
& ¦2
8¼,§2
 ­2
¹2
, ®2
 ¯2
·2
, °2
8ÌE±2
& ´2
8¯µ2
 ¸2
 »2
Ø2
& ¼2
 ¾2
Ê2
, ¿2
 À2
È2
, Á2
8ØÂ2
& Å2
8¯Æ2

É2
, Ì2
 Í2
Ö2
, Î2
8¸¶$Ï2
& Ó2
8¯Ô2

×2
, Ú2
8æ$Û2
& ß2
8¯à2
*ä2
 ç2
Ø3
, ñ2
8,ò2
'÷2
8ßlù2
 †3
 ‡3
Ñ3
  ˆ3
8½4‰3
, 3
8½43
 ˜3
¡3
, ™3
 š3
Ÿ3
, 3
8ÌEœ3
  3
 £3
Æ3
, ¤3
8,¥3
'ª3
8ßl¬3
 ¹3
 º3
Å3
 »3
Ä3
, ¼3
 ½3
Â3
, ¾3
8ؿ3

Ã3
, È3
 É3
Ï3
, Ê3
8¸¶$Ë3

Ð3
% Ò3
% Ù3
 4
â4
  —4
8½4˜4
, Ÿ4
8½4 4
& ¦4
8¼,§4
 ­4
¹4
, ®4
 ¯4
·4
, °4
8ÌE±4
& ´4
8¯µ4
 ¸4
 »4
Ø4
 & ¼4
, ¾4
8»,¿4
& Ä4
8$Å4
$ Ê4
, Ì4
 Í4
Ö4
, Î4
8¸¶$Ï4
& Ó4
8¯Ô4

×4
, Ú4
8æ$Û4
& ß4
8¯à4
*ä4
 ç4
Ö5
, ñ4
8,ò4
'÷4
8ßlù4
 †5
 ‡5
Ï5

 ˆ5
8½4‰5
, 5
8½45
 ˜5
¡5
, ™5
 š5
Ÿ5
, 5
8ÌEœ5
  5
 £5
Â5
, ¤5
8,¥5
'ª5
8ßl¬5
 ¹5
 º5
Á5
, »5
8»,¼5
$ Ä5
, Æ5
 Ç5
Í5
, È5
8¸¶$É5

Î5
% Ð5
% ×5
 ™6
Ö6
  š6
8½46
, ¢6
8½4£6
& ©6
8¼,ª6
 °6
¼6
, ±6
 ²6
º6
, ³6
8ÌE´6
& ·6
8¯¸6
 »6
 ¾6
Ì6
& ¿6
, Á6
8»,Â6
& Ç6
8$È6
, Î6
8æ$Ï6
& Ó6
8¯Ô6
*Ø6
 Û6
¾7
, å6
8,æ6
'ë6
8ßlí6
 ú6
 û6
·7
 ü6
8½4ý6
, „7
8½4…7
 Œ7
•7
, 7
 Ž7
“7
, 7
8ÌE7
 ”7
 —7
¶7
, ˜7
8,™7
'ž7
8ßl 7
 ­7
 ®7
µ7
, ¯7
8»,°7
% ¸7
% ¿7
 8
À8
  8
8½48
, ˜8
8½4™8
& Ÿ8
8¼, 8
 ¦8
²8
, §8
 ¨8
°8
, ©8
8ÌEª8
& ­8
8¯®8
 ±8
 ´8
¶8
& µ8
, ¸8
8æ$¹8
& ½8
8¯¾8
*Â8
 Å8
9
, ÿ8
8,€9
'…9
8ßl‡9
 ”9
 •9
9
% —9
% ž9
 ÿ9
¯:
  €:
8½4:
, ˆ:
8½4‰:
& :
8¼,:
 :
¢:
, —:
 ˜:
 :
, ™:
8ÌEš:
& :
8¯ž:
 ¡:
 ¤:
¥:
, §:
8æ$¨:
& ¬:
8¯­:
*±:
 ´:
Œ;
, î:
8,ï:
'ô:
8ßlö:
 ƒ;
 „;
…;
% †;
% ;
 Ð;
“<
  Ñ;
8½4Ò;
, Ù;
8½4Ú;
& à;
8¼,á;
 ç;
è;
 ê;
ù;
& ë;
, í;
 î;
÷;
, ï;
8¸¶$ð;
& ô;
8¯õ;

ø;
 û;
<
, ü;
8colonÁ,ý;
& <
8¯ƒ<
, †<
 ‡<
<
, ˆ<
8æ$‰<
& <
8¯Ž<

<
*•<
 ˜<
Œ=
, æ<
8,ç<
'ì<
8|î<
 ý<
 þ<
…=
, ÿ<
8“Š,€=
% †=
% =
 Û=
©>
  Ü=
8½4Ý=
, ä=
8½4å=
& ë=
8¼,ì=
 ò=
þ=
, ó=
 ô=
ü=
, õ=
8ÌEö=
& ù=
8¯ú=

ý=
 €>
>
$ >
, ƒ>
 „>
>
, …>
8¸¶$†>
& Š>
8¯>

Ž>
 >
¨>
, >
8commaÁ,“>
& ˜>
8¯™>
, œ>
 >
¦>
, ž>
8æ$Ÿ>
& £>
8¯¤>

§>
*«>
 ®>
¢?
, ü>
8,ý>
'?
8|„?
 “?
 ”?
?
, •?
8×,?
% œ?
% £?
 ¹@
ø@
  º@
8½4»@
, Â@
8½4Ã@
& É@
8¼,Ê@
 Ð@
Ñ@
 Ó@
î@
 Ô@
Þ@
, Õ@
8ÌEÖ@
& Ù@
8$Ú@
& à@
, â@
 ã@
ì@
, ä@
8¸¶$å@
& é@
8¯ê@

í@
, ð@
8æ$ñ@
& õ@
8¯ö@
*ú@
 ý@
×A
, ‡A
8,ˆA
'A
8ßlA
 œA
 A
ÐA
 žA
8½4ŸA
, ¦A
8½4§A
 ®A
³A
, ¯A
8ÌE°A
 µA
ÁA
& ¶A
, ¸A
 ¹A
¿A
, ºA
8¸¶$»A

ÀA
 ÃA
ÏA
& ÄA
, ÆA
 ÇA
ÍA
, ÈA
8¸¶$ÉA

ÎA
% ÑA
% ØA
 ˜B
ÜB
  ™B
8½4šB
, ¡B
8½4¢B
& ¨B
8¼,©B
 ¯B
»B
, °B
 ±B
¹B
, ²B
8ÌE³B
& ¶B
8¯·B

ºB
 ½B
ÒB
& ¾B
, ÀB
 ÁB
ÐB
, ÂB
8¼‰TÃB
& ÍB
8¯ÎB
 ÑB
, ÔB
8æ$ÕB
& ÙB
8¯ÚB
*ÞB
 áB
¡C
, ëB
8,ìB
'ñB
8¡´óB
 ‰C
 ŠC
šC
, C
 ŒC
˜C
, C
8¼‰TŽC
 ™C
% C
% ¢C
 ÔC
—D
  ÕC
8½4ÖC
, ÝC
8½4ÞC
& äC
8¼,åC
 ëC
÷C
, ìC
 íC
õC
, îC
8ÌEïC
& òC
8¯óC

öC
 ùC
D
, úC
8¯ûC
& ýC
8¯þC
, D
 D
D
, ƒD
8¸¶$„D
& ˆD
8¯‰D

ŒD
, D
8æ$D
& ”D
8¯•D
*™D
 œD
úD
, ¦D
8,§D
'¬D
8ßl®D
 »D
 ¼D
óD
 ½D
8½4¾D
, ÅD
8½4ÆD
 ÍD
ÚD
, ÎD
 ÏD
ÔD
, ÐD
8ÌEÑD

ÕD
, ×D
8¯ØD
 ÜD
æD
, ÝD
 ÞD
äD
, ßD
8¸¶$àD

åD
 èD
òD
, éD
 êD
ðD
, ëD
8¸¶$ìD

ñD
% ôD
% ûD
 ýF
G
8
$þF
*„G
 ‡G
©G
, G
8,G
'—G
8—B,™G
'žG
8ùÚ$ G
% ªG
 ±G
¶G
8 $²G
*¸G
 »G
ãG
, ÅG
8,ÆG
'ËG
8—B,ÍG
'ÒG
8X$ÔG
 ØG
ÝG
8 $ÙG
% äG
 ëG
ñG
8 ,ìG
*óG
 öG
ŸH
, €H
8,H
'†H
8—B,ˆH
'H
8X$H
 “H
™H
8 ,”H
%  H
 §H
ªH
 ¨H
©H
*¬H
 ¯H
íH
, ¹H
8,ºH
'¿H
8—B,ÁH
'ÆH
8M,ÈH
 ÍH
çH
, ÎH
8,ÏH
'ÔH
8ÉLÖH
'ßH
8ÁáH
 äH
 åH
æH
% îH
 õH
„I
 öH
ƒI
, øH
 ùH
€I
, úH
8¯ûH
& ýH
8¯þH
 I
*†I
 ‰I
×I
, “I
8,”I
'™I
8—B,I
' I
8M,¢I
 §I
ÑI
, ¨I
8,©I
'®I
8ßl°I
 ½I
 ¾I
ÐI
 ¿I
8Ç,ÀI
 ÆI
ÇI
, ÉI
 ÊI
ÎI
, ËI
8¯ÌI
 ÏI
% ØI
 ßI
âI
 àI
áI
*äI
 çI
ŸJ
, ñI
8,òI
'÷I
8—B,ùI
'þI
8âÛ4€J
 †J
™J
, ‡J
8,ˆJ
'J
8ç<J
'J
8æ ”J
 —J
˜J
%  J
 §J
¶J
 ¨J
µJ
, ªJ
 «J
²J
, ¬J
8¯­J
& ¯J
8¯°J
 ³J
*¸J
 »J
ûK
, ÅJ
8,ÆJ
'ËJ
8—B,ÍJ
'ÒJ
8âÛ4ÔJ
 ÚJ
õK
 ÛJ
ôK
8éJ
8íJ
8½4ñJ
øJ
, úJ
8,ûJ
'€K
8ç<K
'…K
8æ ‡K
 ŠK
K
% ŒK
, šK
8,K
' K
8ßl¢K
 ¯K
 °K
ÖK
 ±K
8½4²K
8½4¹K
 ÀK
ÁK
 ÃK
ËK
, ÄK
 ÅK
ÉK
, ÆK
8¯ÇK
 ÊK
 ÍK
ÕK
, ÎK
 ÏK
ÓK
, ÐK
8¯ÑK
 ÔK
% ×K
8½4åK
% üK
 ÷L
ƒM
, øL
8¹
,ùL
& þL
8$ÿL
*…M
 ˆM
¹M
, M
8,“M
'˜M
8Ÿ¢DšM
 ¢M
ªM
 £M
, ¤M
8¹
,¥M
 «M
8¢4¬M
 ²M
³M
% ºM
ôàN
(|ÁN
4×N
y ÿN
¾O
 …O
•O
, †O
 ‡O
“O
, ˆO
8contentÁ<‰O
& O
8¯O

”O
*—O
 šO
»O
8Á¤O
 §O
 ¨O
µO
, ©O
 ªO
³O
, «O
8í©<¬O

´O
% ¼O
äàO
(|ÁO
4×O
rz ýO
P
 ƒP
„P
*†P
 ‰P
ŠP
% P
ü¯P#
(|P
4¦P
Àz ÓP
÷P
 ÙP
îP
, ÚP
8° ÛP
& ÜP
8$ÝP
$ âP
, äP
 åP
ìP
, æP
8¯çP
& éP
8¯êP

íP
*ðP
 óP
ôP
% õP
TÖmü30 Deserialize JSON data to a Rust data structure.ÁÞmAT•ÄØîŠ¦ÂÝáäçè,Hû')LOŽ'*Í4Zý'+žÛÔ',ÅØ'.÷'/Êþ'0ßúH'1öŒªB'2
FusedIteratorÁlÕòP'3 PhantomDataÁ\ö'4ʯ '4 4¾['5FromStrÁ<¤ïy'6¾c'8ExpectedÁDÃ×;'9
UnexpectedÁTÍš;':forward_to_deserialize_anyÁÔå';œªè=µ®>ÿ®˜?û­Ž@d9èëÜßÐÓ¬ŸÇ»®±¡¤¬å˜|€ŒÌÉsÌè\d‡<”™)¸

óõüÞ!Ï\ÚÁóµ¥§œÓ›Ôòü¹85 A structure that deserializes JSON into Rust values.Á£BBÍìñß ŠAA«CÅ'DÐ'EÞ'õÉ!u"ñßõÉ!u"CDE]_<“$“'AAñß„ < 'AAªBªBö­B÷É÷<®B÷<9)
-ÜnL§Ëœ¶'AAüÝ:øG£HHGÍìû¦ çèû¦ø|‡ AA«CÅ'DÐ'EÞ'õÉ!u"û¦IâdfÜß
üž HE Create a JSON deserializer from one of the possible serde_json inputÁ sources.Áü úü„
PM When reading from a source against which short reads are not efficient, suchÁüÙ
OL as a [`File`], you will want to apply your own buffering because serde_jsonÁü­ :7 will not buffer the input. See [`std::io::BufReader`].Áì úüô HE Typically it is more convenient to use one of these methods instead:ÁÁ úôÉ  - Deserializer::from_strÁüì  - Deserializer::from_sliceÁü‘
! - Deserializer::from_readerÁ·
úÜ¿
 [`File`]: std::fs::FileÁæ
û¦¦·FF
Iøû¦Å
üÅC»À¼­£KKÚ´ Êà ñßAA«CÅ'DÐ'EÞ'õÉ!u"¨ßLXZü»%ü30 Creates a JSON deserializer from an `io::Read`.ÁÇúüÏJG Reader-based deserializers do not support deserializing borrowed typesÁüžKH like `&str`, since the `std::io::Read` trait has no non-copying methodsÁüîHE -- everything it does involves copying bytes out of the data source.Á\Âñß¾JJ
LñßreaderÁ4Îü¡*±NNAA«CÅ'DÐ'EÞ'õÉ!u"ØàO¦ü†*üÒ/, Creates a JSON deserializer from a `&[u8]`.ÁT ±
‰ÂMM
O±bytesÁ,˜üó(±QQAA«CÅ'DÐ'EÞ'õÉ!u"¾áRøüÕ#ü¢.+ Creates a JSON deserializer from a `&str`.ÁDÜ ±ùÃPP
R±¾ 嬵 Ë Ý Ñ ó, Ò8¬ Ó& Ô8¼
Û710ÁÝ à, â8­ ã& ä8¼$ ê, ì8® í& î8*õ ø Ú8,‚, ˆ8®   Ô 8® *, ž8¬ Ÿ¡8® ¤ ¦7—Ũ« ® É
, ¯8¬ ° ²8® ´ 7—Ÿ», ¾8­ ¿ Á8® à Å7—ÅÇ$ Ê% ÛäàÖÜVú_<Ú>ÒZUVXY[\VWÖÜYZÖÜ\]ÖÜtyTT
VŽ–‘–ÖÜTTÊTT”–TT
Y©–¬–ÖÜTTõÊTTª–¯–TT
\Ä–Ç–ÖÜTTÛË£TTŒìÖÜ_bü„],‡'ÖÜ¡ÌÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¡Ìø¬<ï¨^ø`§aa`^Íì¡Ì ª<¡Ìø„Ð
_ø¡Ì$•visitorÁ<DFü×2'»ÖÜ »×;»ï¨^ ò^
bexpÁíüÖ!'ød£ede€· à!‘·Lã!¦·fgijklmnopqrux{|~ƒˆŠŒŽÛ!moüï##ü„"^[ The `Deserializer::end` method should be called after a value has been fully deserialized.Áüç"]Z This allows the `Deserializer` to validate that the input stream is at the end or that itÁüÉ#! only has trailing whitespace.Áö#¼ ¼¦·Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ï¨c ú#c
føû¦$ÿ#ü‰&eüÀ%DA Turn a JSON deserializer into an iterator over values of type T.ÁL&¦·œ¦c¥hhcÍì§ š&Ù;§ø¤Ù&
gøû¦§$&35ü’83$ 8½ ½¦·Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¹‰ï¨c ¥8c
iøû¦$ª8üì8(dï8'¾ ¾¦·Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ï¨c ü8c
jøû¦$9´Ó9DÖ9'¿ ¿¦·c ß9c
køû¦$ä9ü”:-L—:'À À¦·ŸÖc ¡:c
løû¦$¦:üè:-Œë:'Á Á¦·Ð×c ý:c
møû¦$;ü–<+,™<' ¦·¤©ï¨c Ÿ<c
nøû¦$ <å 4¦<üò=0Tõ='à æ·¤©ï¨c €>c
oøû¦$>å 4‡>ü@4@'Ä Ä¦·ŸÖc ¡@c
pøû¦$¦@üêB<ŒíB'ÅÆ Ŧ· Æ×;Æï¨c ÿBc
qøû¦$„CµÎŠCü“Q|”¡QÇ Ç¦·§Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
×ÞЬ<ï¨cÐs§tst ½QcÍì×Þ ºQª<×ÞÐŒýQ
røû¦Ð×Þ$ÂQ°Í<ÈQ$´QHJüáY}œïYÈ È¦·×ÞÜÞcÐv§wwv ŒZcêß ‰ZûߌÌZ
uøû¦Ð×Þ$‘Z°Í<—Z$ƒZ:<ü¼`}œÊ`É É¦·×ÞÜÞcÐy§zyz ç`cêß ä`ûߌ§a
xøû¦Ð×Þ$ì`°Í<ò`$Þ`:<ü g
;¹C-Œ[—æÄSJœÁ[= ¶è\ö[M¨ã"4„+\0IΕ 2a\|ÛA»H•\[RêßÊ\ysKÒpË]WPÞMþ4]mä•Hà=j]Ä®]-¬f ]uµ8W€Ô]m  ^«|M$D@^ÖÛ`-Ut^̹xª©^UHß^¯–P.5_[¼äypH_rë]£Œ~_'³:ïå³_ñ_ kßÝç_í·ËEWÕ`ôRŸ‹V¥R`±'‡.¬N‡`ñ(:W"½`—Y„v5ò`Ãüo%ÔÂ&aôûË.‰s\ax}?½5È‘aÖ\,C:Æa 4³÷ÓÈûa‡Ðz„]1b©„™å´ebÔåÿ"›b„ ï_SõÐb¥èê7¨2cÏ¢åER:cÁ…¯k“pc2gFx³¤cþ@BXVàÙcŸh)÷5,dÆÂótC7Ddx³0REydVà¼fY–¯d6 6à÷½ãdCCØu­esTNÓØNeìÇô„Gƒeèù1e¸eax~Z¾îe= øÖÓ"f β¶ÌˆWf_äÿjfù°»îßbÂf8jê—ûöf†Då}º,gÔJ#¯Žôag‰ìZ²q–gë$§ñÌgwWÓˆh×”Ê,ë5h
:ý7ÊekhHDþbž¡hZÕ½û…gÕh±J­zgÁ
i¯N¬¬à¸@iZb××çtiñ:Í
ß ªiÖD hTài VÈB®ijkzÓ„IjsYH åj¤7-4ï³j
…8ëèjLð¦†Á%k0V(ô˜wSk»k21UˆýÞj¾k*do^Ëók5= 6~Ã'l ŽÃ]´]lÑÇ8šºlÆùÆ@é4Çl7¸ø#ýl#s:V!2mëOBÉ«©fmæã’»TœmpÎ;5Ž´Ñm б!nr-3ª;n™güßRJqnû—眥nßaú}!Ûn,}¼î”âovœk*:Eo”ƒµbzo=$qE}°oÌmÍ–œäo\È€¼ÃpÏ9}ÐUPpCˆœDë „pTªÃ&)¹pé”4osïpÝÁ%¨#qVA1/XqkY‘ýº¶Žqã×zÞ42ÃqÜÂþ÷qSñŸ›rþ-rÔöC¡¿br‰ô”‰Én—r«1úë{JÍr _|sNsÍv[Ð0â6sTr½šlsÐtÇ"¶à¡sRy«ãXÖs†¦Wï tÈöÝquAtztUÎÒutž˜ÑêG«tcÿÂ2± át<¿sÝOu ¯PßÔ£Jugm’ e¦€uÀwNþÏ´uñÊâýêuÖþL­~B vŒ> XSTv/NÈîåg‰v»azjßÁ¿v}Œ¢+ÙóvZœ/vÏ(wpƒû-T_w&2½œb“w°~ìÙ:Èw\žç4@IþwùÂ!Èí2x¸óT):©gx¥0ª³ˆ“xg^Jp5|Òxö\ÌBy3tâ<y1 ¨/L
ry=È’;Ÿ¦yMzw
Ç4Üyp¬Šfü zŒW-€; Fzo­8`Š‹{zel#|67±zG,…åz^Y÷!Eæ{Û—:5ëÏP{Ò=‰æ…{F+ƒßDº{L8û± kð{_zžÎ…$|ö‡FB§Y|úTÏk‰|8*ÃÆ«
Ä|Çôs¸V
ù|øñf¬P/};—Àkc}
=!°w˜}LŒ)\È”Î}°÷™9ý~œuˆ<ä7~ªKÝm~â[@JOª¢~ÚrÐãT×~ä*
ºÙ‚nQ:B)#ÊåÈv3t¬< Èë…óÌá¨íÎüÃá”Ðá ãá Žä éá ÷á, êá8methodÁ4ëá& ñá8¼,òá*ùá üá ¼â8·”†â ˜â ™â µâ, šâ8Š‘4›â$ ¡â8·”£â% ¶â% ½â Äâ àâ , Åâ8Š‘4Æâ& Ìâ8¼,Íâ$ Òâ, Ôâ8«,Õâ& Úâ8¼,Ûâ*ââ åâ ‹ä8 ïâ, òâ8Š‘4óâ ùâ8§ úâ ûâ üâ ã8$ýâ$ ã8°Í<ƒã& Šã8§ Œã(ã8Í4’ã ˜ã8§ ™ã'šã8—B,œã ¡ã8$,«ã8§ ½ã& ¾ã8¾Àã'Âã8öA<Äã Ëã:øÌã Ïã$ Ðã Úã …ä8$èã ìã, íã8«,îã óã ûã8°Í<ôã% Œäüºä(» 
Ü›äìšäü‘ä(ÜÇä ãä –å éä öä, êä ëä ôä, ìä8bodyÁ$íä& ñä8¯òä
õä*øä ûä “å, …å †å Œå, ‡å8…—$ˆå
å% ”åäèæ|õæ …ç ‰ê ‹ç ¤ç, Œç8thisÁ$ç& ‘ç8¼,’ç, ˜ç ™ç ¢ç, šç8…—$›ç& Ÿç8¯ ç
£ç*¦ç ©ç †ê 8ø ܳç Îç Ðç é, Þç8³˜$ßç ãç8Þ|äçôç7 ÷ç% øç8†è, ‰è8³˜$Šè Žè8Þ|èŸè7ˆ ¢è ¤è ƒé84¶è8½è Àè ôè, Áè8³˜$Âè Æè8÷TÇè Ñè óè8LÒè'Ûè8«9´Ýè% õè, ˜é8³˜$™é, žé Ÿé ¥é,  é8…—$¡é
¦é8ø ܱé Ìé Îé €ê, Üé8³˜$Ýé áé8Þ|âéòé7 õé% öé% ‡êüŒêFø8⣜âœÍìü¢ –êèü¢øL™ê¹¢ž Ÿ¡£¥§©«¢¤¦¨ª¬®°²´¸º¼¾ÀÂè;é;ë;í;ï;ñ;ó;÷;ù;û;ý;<ƒ<õ;ÿ;…<‡<‰<<<<<“<•<—<™<<<Ÿ<¡<£<¥<©° Ÿ¦¼¥¬Â«²¢¸¡¨¾§®ž´¤º£ªÀ‘êƒTÙê,Þêššï¨ü€ëb|ƒë¹¢×ÞÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
×Þø¬<祥§ŸŸšêß “ëª<×Þø„Ñë
žø8ü¢×Þ$–ë°Í<œëFHü˜€c„›€¹¢×ÞÑ¢š§¡¡šêß ¬€Ý£„ê€
 ø8ü¢×Þ$¯€°Í<µ€8:ü±Œc„´Œ¹¢×ÞÑ¢š§££šêß ÅŒÝ£„ƒ
¢ø8ü¢×Þ$ÈŒ°Í<ÎŒ8:üÌb¹¢×ÞÑ¢š§¥¥šêß ßÝ£Ž
¤ø8ü¢×Þ°Í8:üÀ”e”Ô¹¢×ÞÑ¢š§§§šêß Ö”Ý£„”•
¦ø8ü¢×Þ$Ù”°Í<ß”8:ü–®düÝ•IF Parses a JSON string as bytes. Note that this function does not checkÁü«–52 whether the bytes represent a valid UTF-8 string.Áå–úüí–FC The relevant part of the JSON specification is Section 8.2 of [RFCÁT¸— 7159]:ÁÇ—úüÏ—KH > When all the strings represented in a JSON text are composed entirelyÁüŸ˜EB > of Unicode characters (however escaped), then that JSON text isÁüé˜GD > interoperable in the sense that all software implementations thatÁüµ™JG > parse it will agree on the contents of names and of string values inÁÌ„š > objects and arrays.Á,¢šü¬šLI > However, the ABNF in this specification allows member names and stringÁüýšLI > values to contain bit sequences that cannot encode Unicode characters;ÁüΛKH > for example, "\uDEAD" (a single unpaired UTF-16 surrogate). InstancesÁüžœIF > of this have been observed, for example, when a library truncates aÁüìœC@ > UTF-16 string without checking whether the truncation split aÁü´HE > surrogate pair. The behavior of software that receives JSON textsÁüžKH > containing such values is unpredictable; for example, implementationsÁüÑžLI > might return different values for the length of a string value or evenÁü¢Ÿ&# > suffer fatal runtime exceptions.ÁÍŸúüÕŸ30 [RFC 7159]: https://tools.ietf.org/html/rfc7159Á úü• HE The behavior of serde_json is specified to fail on non-UTF-8 stringsÁüâ GD when deserializing into Rust UTF-8 string types such as String, andÁü®¡KH succeed with the bytes representing the [WTF-8] encoding of code pointsÁüþ¡)& when deserializing using this method.Á¬¢úü´¢/, [WTF-8]: https://simonsap
úÈ×ÞÑ¢š§½½šêß àÖÝ£„ü×
¼ø8ü¢×Þ$ìÖØÈ,úÖ_fieldsÁ<—×°Í<Á×RTüÎâ»ü¼áYV Parses an enum as an object like `{"$KEY":$VALUE}`, where $VALUE is either a straightÁüšâ! value, a `[..]`, or a `{..}`.Á„Ñâä¹¢ ä Ñ×ÞÑ¢š§¿¿ ƒãšêß ââÝ£„øã
¾ø8ü¢×Þ$îâØÈ,üâ _variantsÁL‘ã°Í<½ãTVü—ëi´šë¹¢×ÞÑ¢š§ÁÁšêß ±ëÝ£„ïë
Àø8ü¢×Þ$´ë°Í<ºë8:ü¸ìj¼»ì¹¢×ÞÑ¢š§ÃÚêß ÓìÝ£„‘í
Âø8ü¢×Þ$Öì°Í<Üì8:ÜòíLùí'±Å£ÆÅÆ€· ‡îû¦±Šîø×Ü”îÄÄ‚%Ǿ'È«%'—Ó tÈ z±û¦—Ó tÈ zÇȃîÅv”î'ÄÄ ±¦·\µî,µî'ÄÄüÅî ±Ê£ËËÊ€· Îîø×ÑîØÌÊîÊüìî+ïî'˜ÙØÉÉ
̱û¦¾óîüÉïHøÎ±Ï£ÐÎÏÐìž ×ïþžLÚïü¢±æï£ÑÒë<ì<ÒÎïÓïBDÏT˜ð,ðÍÍï¨ü±ðvŒ´ðå 壥ֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÎÜøã;ï¨Í¥ÓÓ ÉðÍÍìÎÜ Æðá;ÎÜøÄŽñ
Òø±ü¢ÎÜ$ÎðseedÁ$ÔðJLü¶ñr„¹ñ'æ æ£Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ï¨øÕ±Ö£×Ö×Õ øñìž ÓñþžLÖñ¸Ûâñ
Ôø±ü¢seqÁóñÊñÏñFHÖܨúL¯ú'±Ù£ÚÚÙ€· ½úø×Àúø×ÜÊúØØ¯Û¾'Ü«%'<A^ä»±û¦<A^ä»ÛܹúxzÙvÊú'ØØ˜Ù\ëú,ëú'ØØüûú ±Þ£ßÞ߀· „ûø×‡ûïáà€ûÞü¢û+¥û'˜ÙïáÝÝ
à±û¦¾©ûüÿûHøâ±ã£ääâãìž üþžLü¸Ûœüߣåæìó<ô<ö<æì„ü‰üFHãTÎü,Óüááï¨üçürlêüç çߣœÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙªæøã;ï¨áœçç ûüáÍìªæ øüá;ªæøÄÀý
æø±ü¢ªæ$€ýëÝ$†ýGIüèýWdëý'è èߣºßøé±ê£ëéêë ™þìž þþžL„þ¸Ûþ
èø±ü¢Ø”þøýýýCEêüÀˆl|Èé éߣ×ÞÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
×Þøã;ï¨á§íí Öˆáêß Óˆá;×ÞøÄ“‰
ìø±ü¢×Þ$ÛˆëÝ$áˆGIü‘Šl˜Š'±ï£ðïð€· ªŠø×­Šø×Ü·Šîî—(ñ¾'5H¹Ô±û¦5H¹Ôñ¦Škmïi·Š'îî˜Ùü׊$±ó£ôôó€· àŠø×ãŠíõÜŠóü‚‹+…‹'˜Ùíòò
õ±û¦¾‰‹üÖ‹Mø÷±ø£ùøù÷ìž ä‹þžL狸Û󋮤úûü…=†=‡=üÛ‹à‹BDøTªŒ,¯Œööï¨dÂŒ<ÇŒöö®¤üÜŒldߌ
8Û$¥© ©© ¼©7ˆ$ª©#®©7$±© ¶©7$¸©*¾© Á© ©8 Ô©*Ö©84Ù©8à© ã© ª8$ä© è©8¾é© ë©8ë,ì© ñ© ª8Lò©'û©8á7”ý©$ ‘ª8®ª8»,²ª ¸ª8½ºª ½ª ¾ª Ùª8$¿ª ê8¾Ī ƪ, Ǫ8–¯DȪ Ъ ت8°Í<Ѫ% Úª8,éª8½ïª òª óª ‚«8$ôª øª8¾ùª ûª8$üª €« « „« ™¬8Û$–« š« Ÿ«7$›«*¡«8$¤« ¨«8¾©« ««8´D¬« ´« µ«$ ¶«8 È«*Ê«84Í«8Ô« ׫ Ь8$Ø« Ü«8¾Ý« ß«8÷Tà« ê« ‰¬8Lë«'ô«8€6œö«$ ‹¬8«¨¬ ª¬ °¬8»,«¬% Á¬üƬ6ø¬±­£®¬­®ìž Ô¬þžLò¬Ø¥­ˬЬ#%üÈ­Pø°±±£²°±²ìž Ö­þžLŽ®Ø¥³´¯±³µ·¹»½¿Áߺ¼¾ÀÇÉËÍÏÑÓÕ×ÙÛÝè;é;í;ï;ñ;ó;õ;÷;ù;û;ý;ÿ;<ƒ<ë;<•<¡<<<…<‡<‰<<“<—<™<<<Ÿ<£<¥<¿Õ¯´ÅÛµºË»ÀÑÁ×DZݷ¼Í½ÓÃÙ³¸É¹¾ÏÍ­Ò­|TŸ®,¤®¯¯ï¨üÆ®b|ɮإ×ÞÑ¢¯§µµ¯êß Ù®Ý£„—¯
´ø±ü¢×Þ$Ü®°Í<â®9;ü±·c„´·Ø¥×ÞÑ¢¯§··¯êß Å·Ý£„ƒ¸
ø±ü¢×Þ$È·°Í<η9;ü²¿e”µ¿Ø¥×ÞÑ¢¯§¹¹¯êß È¿Ý£„†À
¸ø±ü¢×Þ$Ë¿°Í<Ñ¿9;üüÀÔÿÀØ¥úÈ×ÞÑ¢¯§»»¯êß šÁÝ£„ìÁ
ºø±ü¢×Þ$ÁÐ $£Á°Í<·ÁBDü‘ÄÁ„”ÄØ¥úÈ Ñ×ÞÑ¢¯§½½¯êß ¥ÄÝ£„ÁÅ
¼ø±ü¢×Þ$±ÄÐ $¿ÄÀDÛİÍ<†ÅKMü¬ÆdŒ¯ÆØ¥×ÞÑ¢¯§¿¿¯êß ÁÆÝ£„ÿÆ
¾ø±ü¢×Þ$ÄÆ°Í<ÊÆ9;üÛÇg¤ÞÇØ¥×ÞÑ¢¯§ÁÁ¯êß óÇÝ£„±È
Àø±ü¢×Þ$öǰÍ<üÇ9;ü•Ð(üàÊB? Iterator that deserializes a stream into multiple JSON values.Á£Ëúü§ËMJ A stream deserializer can be created from any JSON deserializer using theÁüõË%" `Deserializer::into_iter` method.Á›ÌúüŸÌ[X The data can consist of any JSON value. Values need to be a self-delineating value e.g.ÁüûÌZW arrays, objects, or strings, or be followed by whitespace or a self-delineating value.ÁÖÍú<ÚÍ»üâÍ*' use serde_json::{Deserializer, Value};ÁÎú|‘΂öü¡ÎA> let data = "{\"k\": 3}1\"cool\"\"stuff\" 3{} [0, 1, 2]";ÁãÎúüçÎGD let stream = Deserializer::from_str(data).into_iter::<Value>();Á¯Ïúì³Ï for value in stream {ÁüÑÏ+( println!("{}", value.unwrap());ÁLýÏÙ¥,‡Ðÿº<л” ÐøÃ£Ä¥ÅÃÄÅ€· ¸ÐŸÕ »Ðœ¦à§à!šÈÆÇÈÉʳÐ79;=œÄÐÄÐ'¦·lÝÐ4ÝÐ'ÂÂdðÐ4ðÐ'´‚Ñ4‚Ñ'ÂÂʯFu\»Ÿ§ôžÑDžÑ'ÂÂʯFu\»Ÿ øüÁÑhøÌ£Í¥ÎÎÌÍ€· ËÑŸÕ ÎÑ‘·|üѰդ”Òœ¦ÏÐÑÆÑ468:Ü“Õü°ÒIF Create a JSON stream deserializer from one of the possible serde_jsonÁ”þÒ input sources.Á
# ExampleÁ½€úüÁ€# Reading the contents of a file.Áå€ú<逻Üñ€ use serde::Deserialize;ÁúÔ‘ use std::error::Error;Á´¬ use std::fs::File;ÁÜà use std::io::BufReader;ÁÄß use std::path::Path;Áøúüü! #[derive(Deserialize, Debug)]ÁŒž‚ struct User {Áä°‚ fingerprint: String,ÁÌÍ‚ location: String,Á,ç‚ÿºí‚úüñ‚UR fn read_user_from_file<P: AsRef<Path>>(path: P) -> Result<User, Box<dyn Error>> {Áüǃ74 // Open the file in read-only mode with buffer.Áüÿƒ%" let file = File::open(path)?;Áü¥„*' let reader = BufReader::new(file);ÁЄúüÔ„GD // Read the JSON contents of the file as an instance of `User`.Áüœ…1. let u = serde_json::from_reader(reader)?;ÁÎ…úìÒ… // Return the `User`.Álð…
Ok(u)Á,þ…ÿº„†ú|ˆ†‚ö<˜†ÁÒ´ † # fn fake_main() {Áü·†:7 let u = read_user_from_file("test.json").unwrap();Áìò† println!("{:#?}", u);Á,ÿº<–‡»ž‡úü¢‡0- Reading from a persistent socket connection.ÁÓ‡ú<ׇ»Ü߇ÃÎû‡úÔÿ‡õÎÜšˆ¹Ïü¶ˆ+( use std::net::{TcpListener, TcpStream};Áâˆúüæˆ!ŽÐŒˆ‰¹Ð䚉ÔÐÌ·‰úÐ,щÿº׉úüÛ‰a^ fn read_user_from_stream(stream: &mut BufReader<TcpStream>) -> Result<User, Box<dyn Error>> {Áü½ŠC@ let mut de = serde_json::Deserializer::from_reader(stream);Áü,) let u = User::deserialize(&mut de)?;Á®‹úl²‹ŽÕ,À‹ÿºÆ‹ú|Ê‹‚ö<Ú‹ÁÒ´â‹ÜÕüù‹DA let listener = TcpListener::bind("127.0.0.1:4000").unwrap();Á¾ŒúüÂŒ/, for tcp_stream in listener.incoming() {ÁüòŒC@ let mut buffered = BufReader::new(tcp_stream.unwrap());Áü¶DA println!("{:#?}", read_user_from_stream(&mut buffered));ÁÙ¥,…Žÿº<‹Ž»“Žúd—Ž # ErrorsÁ¤Žúü¨ŽMJ This conversion can fail if the structure of the input does not match theÁüöŽPM structure expected by `T`, for example if `T` is a struct type but the inputÁüÇOL contains something other than a JSON map. It can also fail if the structureÁü—OL is correct but `T`'s implementation of `Deserialize` decides that somethingÁüçOL is wrong with the data, for example required struct fields are missing fromÁü·‘KH the JSON map or some number is too big to fit in the expected primitiveÁLƒ’ type.Á»À|“’¼\Û’ñßÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ùË﨣â¥ããâÚ´ ç’ÍìùË ê’€¾|ß;ùˤ§“
áñßùËrdrÁí’JLEGü’œTüé“@= Deserialize an instance of type `T` from bytes of JSON text.Áª”úl®”Öͼ”ú<À”»ÜÈ”ÃÎä”úüè”!ŽÐŒŠ•¹Ð䜕ÔÐ̹•úÐ,Ó•ÿºÙ•ú|Ý•‚öüí•%" // The type of `j` is `&[u8]`Á”“– let j = b"Ál¦–åÌü´–85 \"fingerprint\": \"0xF9BA143B95FF6D82\",Áüí–0- \"location\": \"Menlo Park, CA\"Á|ž— }";Á®—úü²—96 let u: User = serde_json::from_slice(j).unwrap();Áìì—ÁÖ,Š˜ÿº<˜»˜˜údœ˜ðÞ©˜úü­˜M”ßüû˜PìßüÌ™OÇàüœšO¡áüìšOûáü¼›KÕâLˆœªãT™œ¬Ãéä±å¥ææåñå ¨œÙ;ù˱œÒœ
ä±ùËÁ «œ¤œ;=ü¼¥Qü”C@ Deserialize an instance of type `T` from a string of JSON text.ÁØúÖÍêú»ÜöÃÎ’žúü–ž!ŽÐŒ¸ž¹ÐäÊžÔÐÌçžúÐ,Ÿÿº‡Ÿú|‹Ÿ‚öü›Ÿ$! // The type of `j` is `&str`ÁŒÀŸ let j = "ÁlÒŸåÌüàŸ8¹èü™ 0üè|Ê ¶éÚ úüÞ 74 let u: User = serde_json::from_str(j).unwrap();Áì–¡ÁÖ,´¡ÿº<º¡»¡údÆ¡ðÞÓ¡úüסM”ßü¥¢Pìßüö¢OÇàüÆ£O¡áü–¤Oûáüæ¤KÕâL²¥ªãDÃ¥›Åéä±è¥ééèñå Ð¥£íœù¥
ç±ù˾ ӥ̥-/lâmü6 3 When serializing or deserializing JSON goes wrong.Á,êmûýŠŽÚÛáâãßá9C èêëßáY êìß4r úHêîêDz —6êï×$•  `êñp,› ¿cêòpÂcêòt<¢ Äcêó  ¾[
D A I/O stream fails immediately following a previously read newlineÁt character.Á4¥ î îï¨ÿ ¬ ÿ
$­ ü¯" üá ( % Categorizes the cause of this error.ÁŽ úü– F C - `Category::Io` - failure to read or write bytes on an I/O streamÁüá E B - `Category::Syntax` - input that is not syntactically valid JSONÁü«
B ? - `Category::Data` - input data that is semantically incorrectÁüò
8 5 - `Category::Eof` - unexpected end of the input dataÁD¶ ï ï神§ÿ ¿ ÿ
 Ü• ü©G D Returns true if this error was caused by a failure to read or writeÁÜõ  bytes on an I/O stream.Á,œ ð ðï¨ÿ ¢ ÿ
ƒ üÌ üæ? < Returns true if this error was caused by input that was notÁìª  syntactically valid JSON.ÁLÓ ñ ñï¨ÿ Ý ÿ
 ì˜ ü¥@ = Returns true if this error was caused by input data that wasÁÜê  semantically incorrect.ÁŠ úü’L I For example, JSON containing a number is semantically incorrect when theÁüã0 - type being deserialized into holds a String.Á<Ÿ ò òï¨ÿ § ÿ
 äâ üíL I Returns true if this error was caused by prematurely reaching the end ofÁœ¾  the input data.ÁÖ úüÞJ G Callers that process streaming input may be interested in retrying theÁü­0 - deserialization once more data is available.Á4é ó óï¨ÿ ð ÿ
 ü£+0 üµ K H The kind reported by the underlying standard library I/O error, if thisÁü…!J G error was caused by a failure to read or write bytes on an I/O stream.ÁÔ! úlÜ! ÖÍî! ú<ö! »Ô‚"  use serde_json::Value;Áü¡") & use std::io::{self, ErrorKind, Read};Á¬Ï"  use std::process;Áé" úüñ"/ , struct ReaderThatWillTimeOut<'a>(&'a [u8]);Á¥# úü­#1 . impl<'a> Read for ReaderThatWillTimeOut<'a> {Áüã#A > fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {Áü©$"  if self.0.is_empty() {ÁüÐ$E B Err(io::Error::new(ErrorKind::TimedOut, "timed out"))Á¤š%  } else {Áü³%  self.0.read(buf)ÁlØ%
Lê% Ù¥,ø% ÿº& ú|Š& ‚öüž&: 7 let reader = ReaderThatWillTimeOut(br#" {"k": "#);ÁÝ& úüå&> ; let _: Value = match serde_json::from_reader(reader) {Áü¨'  Ok(value) => value,ÁÜÌ'  Err(error) => {Áüì'G D if error.io_error_kind() == Some(ErrorKind::TimedOut) {Áü¸(U R // Maybe this application needs to retry certain kinds of errors.Á) úìš)  # return;Áļ)  } else {ÁüÙ)2 / eprintln!("error: {}", error);Áü*% " process::exit(1);ÁŒº* lÐ* í’Tâ* …‹,ñ* ÿº<û* »»À|+ ¼‡+ lª+ ô ôï¨Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙËK*ÌKÍKNotFoundÁÎKÏKPermissionDeniedÁÐKÑKConnectionRefusedÁÒKÓKConnectionResetÁÔKÕKHostUnreachableÁÖK×KNetworkUnreachableÁØKÙKConnectionAbortedÁÚKÛK NotConnectedÁÜKÝK AddrInUseÁÞKßKAddrNotAvailableÁ àKáK NetworkDownÁ
âKãK
BrokenPipeÁ äKåK
AlreadyExistsÁ æKçK
WouldBlockÁ
èKéK
NotADirectoryÁêKëK IsADirectoryÁìKíKDirectoryNotEmptyÁîKïKReadOnlyFilesystemÁðKñKFilesystemLoopÁòKóKStaleNetworkFileHandleÁôKõK InvalidInputÁöK÷K InvalidDataÁøKùKTimedOutÁúKûK WriteZeroÁüKýK StorageFullÁþKÿK NotSeekableÁ€LL
QuotaExceededÁLƒL FileTooLargeÁ„L…L ResourceBusyÁ†L‡LExecutableFileBusyÁˆL‰LDeadlockÁŠLLCrossesDevicesÁŒLL TooManyLinksÁ ŽLLInvalidFilenameÁ!LLArgumentListTooLongÁ"L“L InterruptedÁ#”L•L UnsupportedÁ$L—L
UnexpectedEofÁ%˜L™L OutOfMemoryÁ&šLL
InProgressÁ'œLL¯(žLŸL
UncategorizedÁ)ÚóÞtÿÂ&:ÿ ¸+ ÿ
$¹+ ô¤3 »À|í2 ¼ç2 Á¨ëÌ¥: üÉ36 3 Convert a `serde_json::Error` into an `io::Error`.Á„4 úüŒ4I F JSON syntax and data errors are turned into `InvalidData` I/O errors.ÁüÚ4: 7 EOF errors are turned into `UnexpectedEof` I/O errors.Á™5 ú<¡5 »„­5
use std::io;ÁÂ5 ú”Ê5  enum MyError {Á´á5  Io(io::Error),Áüü5  Json(serde_json::Error),Á,¡6 ÿº«6 úü³6. + impl From<serde_json::Error> for MyError {Áüæ64 1 fn from(err: serde_json::Error) -> MyError {ÁüŸ7, ) use serde_json::error::Category;ÁüÐ7"  match err.classify() {Áü÷7!  Category::Io => {Áü8+ ( MyError::Io(err.into())ÁŒÍ8 ‰˜üã8F C Category::Syntax | Category::Data | Category::Eof => {Áü®9& # MyError::Json(err)ÁŒÙ9 ‰˜lï9 í’L: Ù¥,: ÿº<™: »$¨: ï¨Á¨ˆˆ
µ ­: „³= Lº= êý¬ö¨aR9›îŒ|Ê= $Ê= ꊊ¤©\ß= $ß= ꊊlð= 4ð= ꊊ̂> L> ¤©˜éq¿ÛÜÜ˜šœžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ·¸¹º»¼½¾¿ÀÁÂ÷㤩Á¨¤©˜šœž ¢  ¤

¦  ¨  ª

¬®°²´¸º¼¾ÀÂæÎæÎŽŽ
æÎæÎ÷ã¤©ŽŽÞ°DÕ> ŽŽ÷㎎
Á¨¤©ŽŽͱL¬? ŽŽÁ¨œß? ŽŽ¤©ŽŽ¤©¬ž@ ŽŽ¤©ŽŽ¤©¬Þ@ ŽŽ¤©ŽŽ¤©¤¢A ŽŽ¤©ŽŽ¤©lìA ŽŽ¤©ŽŽ¤©´ÁB ŽŽ¤©ŽŽ¤©ÄŸC ŽŽ¤©ŽŽ¤©ŒÿC ŽŽ¤©ŽŽ¤©ŒÎD ŽŽ¤©ŽŽ¤©œ“E ŽŽ¤©ŽŽ¤©lÎE ŽŽ¤©ŽŽ¤©lúE ŽŽ¤©ŽŽ¤©„ËF ŽŽ¤©ŽŽ¤©¼†G ŽŽ¤©ŽŽ¤©üÜG" ŽŽ¤©ŽŽ¤©„©H ŽŽ¤©ŽŽ¤©”öH ŽŽ¤©ŽŽ¤©¤¿I ŽŽ¤©ŽŽ¤©üˆJ ŽŽ¤©ŽŽ¤©lðJ ŽŽ¤©ŽŽ¤©”ÉK ŽŽ¤©ŽŽ¤©ĈL ŽŽ¤©ŽŽ¤©´öL ŽŽ¤©ŽŽ¤©T‘M ï¨ÄÅÆü®MI 4¼M ¤©ï¨ÃÃ
Ć3$ÃM š$ÔM 4áM üìO# 4ÓO óO Á¨ï¨ÃÃ
Åë,öO üÙQb dçQ ï¨ï¨ÃÇÇÃÍìÎÀ ôQ –"ÎÀ‘æÔ R ÎÀ‘æ˜"ï¨,µR
ÆÎÀ$÷Q ± ýQ GIÔ´S ¤©ÉÅcÉüÕS4 ØS õö÷ õ¤© ö c cˆ¢cµ
 `£c÷É `àB¤GS
÷Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ Èè éBLÈ ÜS È
É$ÝS ± ãS ü’f" ï¨Ë¿Ëü×f9 »À|Áf ¼»f 4Úf ø øï¨Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ø¾Ê áf Ê
Ë$âf ´Œh ï¨ÍÅcÍü©h4 ¬h ùúû ùï¨ ú c cˆ¢cµ
 `£c÷É `àB¤GS
ûüÂÌ °h Ì
Í$±h ± ·h Ôi ý¬ÏÅcÏü®i4 ±i üýþ üý¬ ý c cˆ¢cµ
 `£c÷É `àB¤GS
þüÂÎ µi Î
Ï$¶i ± ¼i ¤õl ï¨ÑÀcÑüm4 “m ÿ ÿï¨  c cˆ¢cµ
 `£c÷É `àB¤GS
üÂÐ —m Ð
Ñ$˜m ± žm Ĉo ï¨ÓÕÖ‘;“;”;ÓÕÖü³o& 4¶o ¡Ëï¨Ò¥ÔÔÒËú ½o Äc¡Ë<Ào
Ó¡ËmsgÁÉo (*ü—pF dšp ƒš;œ;;Xž;ˆŸ; ; ¡;ˆ¢;£;° ¤;ˆ¥;¦;§;ˆ¨;©;bª;ˆ«;¬;Þ­;ˆ®;¯;™¡°;ˆ±;²;·¡³;´;¬µ;¶;Û¡ ·;¸;ø¡
¹;º;ç< »;¼;| ½;¾;ª¢
¿;À;Å¢Á;Â;ã¢Ã;Ä;ÿ¢Å;Æ;¯Ç;ˆÖzN÷P Þ ƒ×;ƒï¨ÒT²p Ò
ÕunexpÁ,§p µÎ¾p ü‡rG lŠr š;œ;;Xž;ˆŸ; ; ¡;ˆ¢;£;° ¤;ˆ¥;¦;§;ˆ¨;©;bª;ˆ«;¬;Þ­;ˆ®;¯;™¡°;ˆ±;²;·¡³;´;¬µ;¶;Û¡ ·;¸;ø¡
¹;º;ç< »;¼;| ½;¾;ª¢
¿;À;Å¢Á;Â;ã¢Ã;Ä;ÿ¢Å;Æ;¯Ç;ˆÖzN÷P Þ ×;ï¨ÒT£r Ò
ÖÏ,˜r µÎ¯r Ìës ï¨Ø­AØü—t& 4št ¡Ëï¨×¥ÙÙ×Ëú ¡t îË<¤t
ءˈ˭t  ‚Ïtôt ê±ÜÜë­ÿ;rÓIÛÝš;œ;;Xž;ˆŸ; ; ¡;ˆ¢;£;° ¤;ˆ¥;¦;§;ˆ¨;©;bª;ˆ«;¬;Þ­;ˆ®;¯;™¡°;ˆ±;²;·¡³;´;¬µ;¶;Û¡ ·;¸;ø¡
¹;º;ç< »;¼;| ½;¾;ª¢
¿;À;Å¢Á;Â;ã¢Ã;Ä;ÿ¢Å;Æ;¯Ç;ˆÖzN÷P ޱ뭂ÏÏêóÕë­ÚÚ
Û±ƒu ”‡u êÚÚóÕüu' ±ßßë­àÅcà¢u üËu< Îu ˆ ë­  c cˆ¢cµ
 `£c÷É `àB¤GS
ˆüÂÞ Òu Þ
à±$Óu êILÙu üÿy' Tz êØ®ï¨
áˆË‘z ü“|= t–| ê Ø®Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ª|
âˆË¥| ü …) Œ£… êŠ Š ¼…
ãž,µ… \ñmü)& A map of String to serde_json::Value.Á*úü.OL By default the map is backed by a [`BTreeMap`]. Enable the `preserve_order`Áü~63 feature of serde_json to use [`IndexMap`] instead.Áµúü¹,) [`BTreeMap`]: std::collections::BTreeMapÁüæ$! [`IndexMap`]: indexmap::IndexMapÁùmõùÑÙÜßáýŠóœ©¿Õèèûäå—B,·äæßúHäçY4£ äè× `äêp,Á¿cäëpÂcä뎚eä펠eäí¢eäòPäï­
Ä äð¾Ôcäñ btree_mapÁLšÓ*äóWD¥ð
äôœ?œ©1¬Â#¤•µûýTÍÛݸÌí¨L¾™LÍŠ”…suce¤’üì%" Represents a JSON key/value type.Áœö§÷ö÷ÍìœÌ ¡óÍ ¤õõç<øØäþ•©øZÎäœÌ¡Ìþ•©øZÎäøXZ]_”­­äõõð
ð
Wô
rootÁÀ õ
lengthÁÀ ö
¤Ý ÷
_markerÁÀ ê©jÒÈj~œÌ¡Ì§Ë”ì»Ç
ÔÎäÍüÄ'äœú§ûûúîä ùóÍ ü…æ¼Úª®ýþÿˆŽ˜¤¥Ôø Makes a new empty Map.Á¬ª®üü
ýüÍ -ü€ :7 Makes a new empty Map with the given initial capacity.ÁlÔ ª®üü
þcapacityÁDâ ¼ˆ
üÍ (% Clears the map, removing all values.Á,
 ª®ü
ü
ÿ
ü¹yüÇ
>; Returns a reference to the value corresponding to the key.ÁŠúü’LI The key may be any borrowed form of the map's key type, but the orderingÁüãC@ on the borrowed form *must* match the ordering on the key type.ÁÀŒ Œª® ¢Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Œ†¯ü¢ ÇüÎìáí Ä Ø®áíºáí¢áí¨šeáí
áíÌEÎ`büÕxüÞC@ Returns true if the map contains a value for the specified key.Á¦úü®LŽëüÿCäëŽ Žª® áíü¢ƒƒ ìüÞî éïîƒï½“ïãï
áíÌEó<>üüü‚FC Returns a mutable reference to the value corresponding to the key.ÁÍúüÕLŽëü¦Cäë ª® áíÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ †¯ü¢ ŽüÞî ïîƒïñ“ï÷£ï
áí$“ÌE<>ü›Žü±63 Returns the key-value pair matching the given key.ÁìúüôLŽëüÅCäë ª® áíÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ø® †¯ü¢ ³üÞî °ïîƒï“ï
áí$´ÌEº<>üÝ>üß*' Inserts a key-value pair into the map.ÁŽúü–A> If the map did not have this key present, `None` is returned.ÁÜúüäKH If the map did have this key present, the value is updated, and the oldÁ´´ value is returned.Á4ä ª®Ø®†¯Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ†¯ü ëü
ˆ öÁ üä&üë!IF Removes a key from the map, returning the value at the key if the keyÁô¹" was previously in the map.ÁÜ"úüä"LŽëüµ#Cäëý#úü…$B? If serde_json's "preserve_order" is enabled, `.remove(key)` isÁüÌ$JG equivalent to [`.swap_remove(key)`][Self::swap_remove], replacing thisÁü›%GD entry's position with the last element. If you need to preserve theÁüç%.+ relative order of the keys in the map, useÁüš&74 [`.shift_remove(key)`][Self::shift_remove] instead.Á4ë& ª® áíÃúü¢ŠŠ õ&üÞî ò&ïîL´'ƒïÓ'“ïÙ'£ï$Þ'
áí$ú&ÌE€'<>ü¶.ü›)IF Removes a key from the map, returning the stored key and value if theÁüé)" key was previously in the map.Á*úü˜*LŽëüé*Cäë±+úü¹+HE If serde_json's "preserve_order" is enabled, `.remove_entry(key)` isÁü†,GD equivalent to [`.swap_remove_entry(key)`][Self::swap_remove_entry],ÁüÒ,IF replacing this entry's position with the last element. If you need toÁü -;8 preserve the relative order of the keys in the map, useÁüà-C@ [`.shift_remove_entry(key)`][Self::shift_remove_entry] instead.Ád½.˜ ª® ˜áíÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙç±ü¢ŒŒ Í.üÞî Ê.
,üEüÖHNü÷GDA Gets the given key's corresponding entry in the map for in-placeÁŒÀH manipulation.Á,ÝH ª®¤ÑÓÔ‘DÕˆÖ׬D؈Œîë«‚#íyü¤ æHüÍ옊 ãH昊 Ø®d—I
Ž˜Š $ëHÌEñH02üçI$LJÔ MüßL.+ Returns the number of elements in the map.Á§Mœ œª®ü «Mü
$¬Mô£NüßM1. Returns true if the map contains no elements.ÁDªN ª®ü ³Nü
$´NÔ¯OüëN1. Gets an iterator over the entries of the map.Á$¶Ož žª®óó€ÑõùäM|x¹9’ûžü »Oü
$¼OüÞP%ü“P85 Gets a mutable iterator over the entries of the map.ÁDåPŸ Ÿª®«Òùäùm~I<ÌäÁŸü îPü
$óPÔ•RüÔQ.+ Gets an iterator over the keys of the map.Á$œR   ª®©©–Ô«ùäHôïE²¸ ü ¡Rü
$¢Rô¼SüùR0- Gets an iterator over the values of the map.Á4ÃS¡ ¡ª®¿¿¹ÕÁùäÇŠ¼z0ÃJ¡ü ÊSü
$ËSüïT)ü¨T41 Gets an iterator over mutable values of the map.ÁTöT¢ ¢ª®ÕÕÞÖ×ùä@‰ïÇ6€ÜÅ¢ü Uü
$†Uü°V&üíU0Ù‘ \·Vª®ð·üü
˜$ÃVüæXZü­W96 Retains only the elements specified by the predicate.ÁëWúüóWGD In other words, remove all pairs `(k, v)` such that `f(&k, &mut v)`Á¤¿X returns `false`.Á4íX¥ ¥ª®ÎÀüšš ÷Xü÷À ôX£¤“"ÎÀ £Ø® ¤†¯üY"£¤ÎÀÙ˜ ˜"$»Y
ÎÀ$üX± ‚YsuÜ“aüîYC@ Sorts this map's entries in-place using `str`'s usual ordering.Á¶Zúü¾ZHE If serde_json's "preserve_order" feature is not enabled, this methodÁü‹[IF does no work because all JSON maps are always kept in a sorted state.ÁÙ[úüá[DA If serde_json's "preserve_order" feature is enabled, this methodÁüª\HE destroys the original source order or insertion order of this map inÁü÷\IF favor of an alphanumerical order that matches how a BTreeMap with theÁüÅ]LI same contents would be ordered. This takes **O(n log n + c)** time whereÁü–^96 _n_ is the length of the map and _c_ is the capacity.ÁÔ^úüÜ^JG Other maps nested within the values of this map are not sorted. If youÁü«_LI need the entire data structure to be sorted at all levels, you must alsoÁDü_ callÁü‰`IF <code>map.[values_mut]\().for_each([Value::sort_all_objects])</code>.Á×`úüß`! [values_mut]: Map::values_mutÁLša¦ ¦ª®ü ¤aü
$©aüòb#ª®´¤ªc<­cª®œœ
üƒd!ª®Ÿ ÙÚŸ ¼¹d,¼d§ §ª®ª®ž Âdž
Ÿ$Ãdü§e'Tªe¨© ¨ª® ©ª®ž µež
 $ºe:4Àeü„f%ª®¢·ß¢ü¾f"Áfª« ªª® «ª®¡ Äf¡
¢$Åf¹
,ËfôŒgª®ü¯g ª®¥›e¥üÖg($Ùg¬­ ¬ª® ­¤¦¦ ég¤Í쵦 Þg¢eµ¦ 4ág
¥µ¦ $êgº,ðg,.üÅmkü¶jPM Access an element of this map. Panics if the given key is not present in theÁD‡k map.Ákú<”k»äœk # use serde_json::Value;Á,¹kÆü¿k.+ # let val = &Value::String("".to_owned());Álîk
# let _ =Á|ük match val {ÁüŒl-* Value::String(s) => Some(s.as_str()),Áüºl-* Value::Array(arr) => arr[0].as_str(),Áüèl30 Value::Object(map) => map["type"].as_str(),Á”œm _ => None,Á,¯mÿº<µm # ;Á<½m»8®¢¨®¨Îìì° Êm Ø®ì°L…nºì° nì°¦nšeì°$«nª®©ªÛ¢Ü¢ª`b\·n4¼n§§†¯üÑn$,Ôn¯° ¯ª® °ì° ¯†¯§ Ún§
ª8ì°$ÛnÖ,ánüÇqnüŸoIF Mutably access an element of this map. Panics if the given key is notÁ¼éo present in the map.Ápú<…p»ÜpŸþ,©pÆü¯p+( # let mut map = serde_json::Map::new();ÁüÛp<9 # map.insert("key".to_owned(), serde_json::Value::Null);Á,˜qÆüžq  map["key"] = json!("value");Á<¿q»8±¢¬±¬Þ« Ìqï« LŠrƒ¬ ¥r“¬ «r£¬ $°rª®­µ"­35ü¼r0L¿r²³ ²ª® ³ì° ²†¯« Ér«
­8ì°$ÎrÖ,Ôrü¹s!ª®¯Àc¯üïsGòs´µ ´ª® µ c cˆ¢cµ
 `£c÷É `àB¤GS
ü® ös®
¯$÷sêILýsü’u1»À|ìt»¤Œýtüët$üât/ª®±°A±üØumLÛu· ·ª®˜Š Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
˜Š ³A˜Š ´A°¤²² èu°’‹ åu²A˜Š ´®v
±˜Š $éu
serializerÁTïu68ÄØvdävü©x5øµµª®Û;®xüóxh\öxÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ª®· øè;´··´Íì· ‚yæ;· ø¬Åy
ø·  deserializerÁd…y=?têy<ñyä°±Sê,þÄõ¹/+丸°±üƒz&ø»»°±¼½¾À¬<­<Ý<ã<½¾ÀˆzT¸z,½zººª®üæzBLéz¸¹º ¸°± ¹ c cˆ¢cµ
 `£c÷É `àB¤GS
ºüº ózº
½ø$ôzêILúzü‰|`TŒ|°±Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
°±ø¬<º¿¿ºÍì ½ —|; ½ Lß|
¾ø ½ $š|*,ü„~»À|¼}»¤ŒÍ}ü»}$ü²}/L‡~°±¡ÌÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
½ ¡Ìøó<º§ÁÁºóÍ ‘~ñ<¡Ìø”ð~
Àø¡Ì$”~°Í<ž~9;ü¹9ª®ÃÅLÃüù[¡Ëª®Â¥ÄÄÂËú †‚ÇL¡Ëü¯‚$¡ËÈLç±´¼‚
áËù$‰‚=?ü¬ƒ3ª®ÆÒLÆüæƒ[4郻 »ª®¡ËÅ¥ÇÇ óƒÅËú ðƒ”Á üœ„$¦Á ´©„
Æ¡Ë$øƒù$þƒ24ôð„Œý„  Œ •… À… –… ³…, —…8Ð $˜…& œ…8¼,, £… ¤… ±…, ¥…8D¦…& ®…8¯¯…
²…*µ…, ¸…8÷$¹…& ½…8´¾…*Â… Å… ŽŒ08$Ï…, Ô… Õ… ß…, Ö…8D×…
à…8Dâ…8
ë…, ï…8Ð $ð…, õ… ö… €†, ÷…8Dø…
 ƒ† ®ˆ8!$‘†8$–† ›†, 8÷$ž†% ¢†+ °† ±† ¸†8Ý4²†8 Ɔ8ó $Ɇ ͆ ׆ Ά8φ8$Ó†(Ù†8¬4܆ â†8$ã†'ç†8$é† í† ï† ž‡8$ …‡8ù$†‡ Ї8ó $‹‡  + ¬‡ ­‡ ´‡8Ý4®‡8 ‡8»~LŇ · Ô‡ χ8$Ї(Ö‡ Ù‡ î‡8¬,Ú‡$ ߇8¬4ᇠç‡8¬,è‡ í‡ ð‡ ¤ˆ8$‚ˆ †ˆ8ù$‡ˆ ‹ˆ8»~LŒˆ •ˆ –ˆ8$¹ˆ, ¾ˆ ¿ˆ Ɉ, Àˆ8DÁˆ
ʈ8DoubleEndedIteratorÁœÌˆ8
àˆ, äˆ8Ð $åˆ, êˆ ëˆ õˆ, ìˆ8Díˆ
öˆ øˆ ˆŠ
+ †‰ ‡‰ މ8Ý4ˆ‰8 œ‰8øÑLŸ‰ ¨‰ ²‰ ©‰8ª‰8$®‰(´‰8¬4·‰ ½‰8$¾‰'‰8$ĉ ȉ ʉ þ‰8$܉ à‰8ù$በå‰8øÑLæ‰ ï‰ ð‰8$“Š, ˜Š ™Š £Š, šŠ8D›Š
¤Š8ExactSizeIteratorÁŒ¦Š8
¸Š, ¼Š8Ð $½Š, Š Ê ÍŠ, ÄŠ8DÅŠ
Ί Њ Ë+ ÞŠ ߊ æŠ8Ý4àŠ8 ôŠ8÷Š úŠ €‹ ûŠ8$üŠ(‚‹8¬,…‹ ‹‹ ¹‹8$ ¡‹8ù$¢‹ ¦‹8§‹ ª‹ «‹8$΋, Ó‹ Ô‹ Þ‹, Õ‹8DÖ‹
ß‹8ª¯lá‹8
ï‹, ó‹8Ð $ô‹, ù‹ ú‹ „Œ, û‹8Dü‹
…Œ ‡Œ ˆŒü“ŒAøÊʪ®ËÌÆ Ç Ì˜ŒŒÛŒdàŒÉɪ®üúŒ0ŒýŒª®ª®øï¨Æ ÉÉ
Ìø$üÃFøÎΛ²ÏÐÆ Ç ÐÈŒŽd•ŽÍÍ›²ü¯Ž0Œ²Ž›²›²øï¨Æ ÍÍ
Ðø$ÄŽ”úüÈPM A view into a single entry in a map, which may either be vacant or occupied.Áü™B? This enum is constructed from the [`entry`] method on [`Map`].ÁÜúÌà [`entry`]: Map::entryÁ,ƒ‘±ÒÒÑÓÔ‘DÕˆÖ׬D؈Œîë«‚#íy±Œîë«‚#íyÓÔÖ×ÔÕÙÙÉDÛäDä$¢R(ÇäOñª× רÜÜòDÞEä4ž>dBÉå±ª× ‰‘ÖÑœ“‘ A vacant Entry.ÁÖÑÑÑ
Ô±ÖÑÖÑ›Ø ª× ÑÑÔÙ |²‘ÑÑ›Ø ™Ò´È‘ An occupied Entry.Á™ÒÑÑ
×±™Ò™ÒàØ ª× ÑÑèÚ Œì‘Ñ
Ô„”䃔üú“'|§”ä±ààäÜ ·”Ôþ•»Ç
Ôà•äß•üÖ•'Œƒ–ä±ââˆß •–”º—±ääª× åæçé¿—䥙üÓ—,) Returns a reference to this entry's key.Á„˜útŒ˜“¸Ÿ˜ú<§˜»ü³˜)& let mut map = serde_json::Map::new();Áüá˜30 assert_eq!(map.entry("serde").key(), &"serde");Á<™™»¬™¼ ¼ª× ¼Ø®ã °™ã
å±$±™üÂ7üšJG Ensures a value is in the entry by inserting the default if empty, andÁü‘›:7 returns a mutable reference to the value in the entry.ÁЛútØ›“¸ë›ú<ó›»Üÿ›Ÿþ,ŸœÆü©œ)¯á üל,) map.entry("serde").or_insert(json!(12));Áˆúü! assert_eq!(map["serde"], 12);Á»ª× †¯ÙÏãã
æ±><ÙüÓ¢cü™ŸJG Ensures a value is in the entry by inserting the result of the defaultÁüèŸJG function if empty, and returns a mutable reference to the value in theÁT·  entry.ÁÆ útΠ“¸á ú<é »Üõ Ÿþ,•¡ÆüŸ¡)¯á üÍ¡85 map.entry("serde").or_insert_with(|| json!("hoho"));ÁŠ¢úü’¢0- assert_eq!(map["serde"], "hoho".to_owned());Á<Ç¢»tÚ¢ª× ÙÏãèèãÍìµë 颖"µë Œ¤£µë ˜"†¯,°£
ç±µë $ì¢><ò¢OQü­©QüܤDA Provides in-place mutable access to an occupied entry before anyÁü¥¥# potential inserts into the map.ÁÍ¥útÕ¥“¸è¥ú<ð¥»Üü¥Ÿþ,œ¦Æü¦¦)¯á ´Ô¦ map.entry("serde")Áüï¦+( .and_modify(|e| *e = json!("rust"))ÁüŸ§! .or_insert(json!("cpp"));Áŧúüͧ$! assert_eq!(map["serde"], "cpp");Áö§ú´þ§µí ü™¨+Öí üɨ!Œî ï¨úü÷¨%" assert_eq!(map["serde"], "rust");Á<¡©»T´©ª× µë ª× ãêêãÞë ¿©½–"µë  ½†¯”멽µë Ìñ ˜"
é±µë $©± È©dfÄ쫱ìì›Ø íîñ«äï¯ü‹¬IF Gets a reference to the key that would be used when inserting a valueÁäÙ¬ through the VacantEntry.Áú¬út‚­“¸•­ú<­»ü©­ use serde_json::map::Entry;ÁÍ­úüÕ­)¯á ƒ®úô‹® match map.entry("serde") {Áü®®" Entry::Vacant(vacant) => {ÁüÕ®/, assert_eq!(vacant.key(), &"serde");ÁL‰¯Ù¥ü—¯/, Entry::Occupied(_) => unimplemented!(),Á,˯ÿº<Õ¯»ö¯¾ ¾›Ø ¾Ø®ë ú¯ë
í±$û¯ü»´2ü³°IF Sets the value of the entry with the VacantEntry's key, and returns aÁä± mutable reference to it.Á¢±útª±“¸½±ú<ű»ÜѱŸþ,ñ±Æüû±•ó Ÿ²úü§²)¯á Õ²úôݲçó ü€³"ô ü§³)& vacant.insert(json!("hoho"));ÁLÕ³Ù¥üã³/…õ ,—´ÿº<¡´»4´›Ø †¯ÙÏëë
î±$É´»,Ï´Ô›µ±ððàØ ñòóôõö÷ µäĹü¼µ-* Gets a reference to the key in the entry.Áîµútöµ“¸‰¶ú<‘¶»ÜŸþ,½¶ÆüǶ•ó ë¶úüó¶)¯á ü¡·.+ map.insert("serde".to_owned(), json!(12));ÁÔ·úôÜ·çó üÿ·&# Entry::Occupied(occupied) => {Áüª¸1. assert_eq!(occupied.key(), &"serde");ÁLà¸Ù¥üî¸-* Entry::Vacant(_) => unimplemented!(),Á, ¹ÿº<ª¹»˹¿ ¿àØ ¿Ø®ï Ϲï
ñ±$йÜŽ¾üŠº/, Gets a reference to the value
ÐÆúôØÆçó üûÆ*Š…
üªÇGD occupied.into_mut().as_array_mut().unwrap().push(json!(4));ÁLöÇÙ¥ü„È-êý ,¶ÈÿºÀÈúüÈÈ:Ȇ
<‡É»D¨ÉàØ ÙÏïï
ô±$±ÉüõÎ/üöÉKH Sets the value of the entry with the `OccupiedEntry`'s key, and returnsÁÔÆÊ the entry's old value.ÁåÊútíÊ“¸€Ëú<ˆË»Ü”ËŸþ,´ËÆü¾Ë•ó âËúüêË)¯á ü˜Ì.›ü ËÌúôÓÌçó üöÌ*Š…
ü¥Í74 assert_eq!(occupied.insert(json!(13)), 12);ÁüáÍ+( assert_eq!(occupied.get(), 13);ÁL‘ÎÙ¥üŸÎ-êý ,ÑÎÿº<Ûλ4üΠÂàØ †¯†¯ï ƒÏï
õ±$ˆÏ»,ŽÏä¾ÖüÖÏ@= Takes the value of the entry out of the map, and returns it.Á›Ðúü£Ð?< If serde_json's "preserve_order" is enabled, `.remove()` isÁüçÐGD equivalent to [`.swap_remove()`][Self::swap_remove], replacing thisÁü³ÑGšýüÿÑ.ëýü²Ò41 [`.shift_remove()`][Self::shift_remove] instead.ÁëÒútóÒ“¸†Óú<ŽÓ»ÜšÓŸþ,ºÓÆüÄÓ•ó èÓúüðÓ)¯á üžÔ.›ü ÑÔúôÙÔçó üüÔ&ïü ü§Õ.+ assert_eq!(occupied.remove(), 12);ÁLÚÕÙ¥üèÕ-êý ,šÖÿº<¤Ö»4ÅÖàØ †¯ïï
ö±$ÌÖü¦è,ü¿àGD Removes the entry from the map, returning the stored key and value.Á‹áúü“áEB If serde_json's "preserve_order" is enabled, `.remove_entry()` isÁüÝáDA equivalent to [`.swap_remove_entry()`][Self::swap_remove_entry],Áü¦âIó‚ üôâ;ƃ ü´ã@= [`.shift_remove_entry()`][Self::shift_remove_entry] instead.Áùãút䓸”äú<œä»ܨäŸþ,ÈäÆüÒä•ó öäúüþä)¯á ü¬å.›ü ßåúôçåçó üŠæ&ïü üµæ74 let (key, value) = occupied.remove_entry();Áüñæ%" assert_eq!(key, "serde");Áü›ç" assert_eq!(value, 12);ÁLÂçÙ¥üÐç-êý ,‚èÿº<Œè»d­èàØ ç±ïï
÷±$ºèüËó0±ùù·²úûüÈLÉLÊLüÐóL‚ô$‡ôøø ±Ø®ÃÏl«ôD°ôøøɲü×ô$LÚô·²·²ÉLøø
ü±$äôŒæö»Ç
ÔÈöäÇöü¾ö'Dëöä±þþ€ÑrangeÁÀ š§åÀ ·Ó¸§å±Ø®†¯ôöüŠù4±¼³ƒÈLÉLÊLƒùLÅù$Êùÿÿ’ž
ÙÏlòùD÷ùÿÿγü¡ú$L¤ú¼³¼³ÉLÿÿ
ƒ±$®ú¤½ü»Ç
ÔŸüäžüü•ü'\Âü䱤¤«Ò¨àž
À ©§åÀ ªÅåÀ €~ g«°HŒ±Ø®†¯Îüüôþ(ª®ˆÈLÉLÊLL£ÿ$¨ÿç±lÄÿDÉÿÁ´üðÿ$Lóÿª®ª®ÉL
$ýÿŒˆ‚»Ç
Ôêäéüà'dä´´ŸG¸àž
À ¹§åÀ º¤À ïúìUaÖØ®†¯§ËŒÄ…»Ç
Ô¦…䥅üœ…'DɅ䱌ŒÊÊ–Ô΀oÀ `㌖µL­±Ø®†¯Ò…œ»Ç
ÔãˆäâˆüÙˆ'T†‰ä±ŽŽÓÓ¹Õ×€oÀ  Œ›`B‰ê’±Ø®†¯‘‰´ÍŒ»Ç
Ô¯Œ䮌ü¥Œ'lÒŒä±ÜÜÞÖà€oÀ ÀžÂ:iY"±Ø®†¯àŒœ¦»Ç