rust ¨¼#rustc 1.98.1 (48a229cea 2026-09-01)Á‰m6GÞ­n6ÇèÆ2-64f5f36fb0927694ÁûÊÆÍRLñ.åSÛAúwjL-df1bddb45adbe94bÁ«ª1Úë• ¢›ºXÝÓrŽ*-1ad4f876c768bda9Á±ò‰<å%Z‰>¸64‡ËV`-2d2ab9fb0fe1def5Á»ÄóG Øg{ë(3íi«F×-06449a08aaab5e30Árustc_std_workspace_coreÁ€û{ù`ä"Ei¥€ÞÏ%G-cb0d4d77988d81b5Áó"Æ)ΉÉðÛÕpEÍ—E-3ec41d3a5a80a4a4Á miniz_oxideÁÐ8°ø‚ðbž Lƨ°J-e44eaef1807e5fc0Áadler2Á9lí©yA6P/D$UBŸ-dca52f01a59c33e7Á hashbrownÁ™¸ÈXó®÷ …ùý{e-143c77bb957d9940Árustc_std_workspace_allocÁð…¨À �¶÷Üúò·_z%í-145a318e0772276cÁ std_detectÁK(ƒ0ì*ãÛ8²D?-f99feda5ce9e492aÁrustc_demangleÁµ%jŽeårVŠÕÓ•-cfd0ab54bb33760eÁcfg_ifÁÍ}λ—©ŒÕž§C•×o-360da4ba13154744Á addr2lineÁ‹c²ŽúY\ÈGÞö÷ö--09755979c57b7e64ÁgimliÁ¢±QÄÍ`ª§DÞåù¬y-9a1fede77fbbf2f0ÁobjectÁö‚F λâËvú.zËí-7ff85ea729a864ffÁmemchrÁž˜]²1<õ¶=U�ý�Où-0e3477fb2664a277Á  ÿŽ—jl‹®¾To–K™G-549498e8b2e4d924Á–±Í$ŸToOwnedÁ<ÖÍ$¼Ø<ºÍ$ shlexÁ,öåÍquoting_warningÁ|ýå"$ INVALID_UTF8ÁdÕŒÍ$ÈŒSPLIT_TEST_ITEMSÁ„ÀŽÍ$²Ž�|µåùÞ„Ô?Í$Æ?‰«bytesÁ«ShlexÁ 'aÁ in_iterÁ line_noÁ  had_errorÁ÷ ˜  parse_wordÁ parse_doubleÁ parse_singleÁ next_charÁŸ¥ splitÁ˜  allow_nulÁjoinÁ÷ … � #÷  unquoted_okÁunquoted_ok_fastÁ&UNQUOTED_OK_MASKÁsingle_quoted_okÁdouble_quoted_okÁquoting_strategyÁ* UNQUOTED_OKÁ*SINGLE_QUOTED_OKÁ*DOUBLE_QUOTED_OKÁappend_quoted_chunkÁtry_joinÁ/÷ /… try_quoteÁë 3 3÷ 3ó7÷ 7˜ 7 from_bytesÁ7 as_bytes_mutÁ<Ÿ<¥ > @÷ @ë@× EñH˜ H® H¾ K÷ K…K K H� P÷ R”T”È V÷ V…å QuoterÁZ® \>^ñ`ŽQuotingStrategyÁbUnquotedÁc b SingleQuotedÁe b DoubleQuotedÁg j• QuoteErrorÁlNulÁm oñ  rŽ   v•xÝz¤ |–~Æÿø�innerÁƒ>…ñ‡Ž888888888_8_8_8a88#8k8k8*8.8.828;8<8>8C8D8p8p8p8s8w8w8y8{8{8}8}888F8F8F8†8†8†8ˆ8K8P8Y8ÄQ  ë € Ž œ ¦¿im•Ð Œ8öZZø[® hO[íìUìŸg¹…¹�ÇbcdÂefÕghìÖ^ôD• OÑ÷±ÿÿÄQ334ë 6ó €C¼€Amˆc8Ü"334ë 6ó €C¼€Amˆc÷ Ÿglmn£軚ð"+¸ˆˆÆ…Æù Æ�ÇÆ÷±ÆÆÌƯ²ÆÆíÆûhƤgÆ�Æö��ø‚™í2µS™š…Ÿgç…ç¬ç¹¬¹ç <3\Zƒ�^Zol…�`Zrl‡�ibuljbvl@3qltlxlzl|l~lElGlR�TZÄQ„ö Ÿg …�Ç÷± Ü" ˆù ̯²íûh¤g�¬xê- ÷8º- ZÁ-])¹4ZA­j(Ã-  xê-  §&2 Ÿgfk Ùg|�ns“È-_«ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwĤĤŤErrorÁ Ñâó:½ÖàM3 ¹> €g€gŠ‚gê ûcƒgbufÁûcØ«q¢1È¡…§�§}ì…  ’¹ š¼œÊÕ· ìɆçxê-(Ê- ZÏ-a)¹4Í;a¹ hQ[ †‰|Ž/lŽ/ ÷¹£/üï.4¹$ÿ.¬"T´“1$³1½1üÙ0d¹$„1¹Dê0,ô0²A Œ÷3Lý3 ‘P…,÷3 \ý3¼š4  "”$  ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¾ÁÂBorrowedÁÃóÄÅOwnedÁÆóÀ9cgˆ¸†M×$ÆUÿ Í ü÷3;–4 ãQ�P”$Û$"”$Í$Ð$‰& P ( ä–4ü÷3x<À4 ŽRÌŠÌŠMapÁÏŠ�Њœ“D^)c˜þOþ¬&º&ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw…C…CüˆCùÐ=‰C¶Ð=ò¹ÚàŪ%ÅFÅFÆFGlobalÁ Ä› +ÉÑÆ küÀ4/ø÷3y  �%Ä'G#( 4 Gü÷3ym“($ü÷3’  Þ"“(L #ª ï4 �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw…C…CüˆCùÐ=‰C¶Ð=ò¹ÚàÅØ$Ð(ÆÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¸Ä¬©^—¯fÆä+ È,ƒ5 ”$ Ø$o$þ4 ª3ª%û,½C  \þ4üô3– Àœ¡+Æ �5 �5 üˆ3ˆÖÝäLÒ*ÜÎ3Í,º3”$,Á3¡+B  ª%N “(‹“(“ÊüÍüÎümÏüóÐüÑü[Òüó}µŒOƒDê^ä+“(9Ä'nþ&Ǭ&æº&À‹&Ⱥ“(#û,«ÓwordsÁÜÆ óïä+ŽfO Ž$\¦&Kø&£)Ù£*_Ì*å‘-k“(¯“(µ$„5  Ø$KZÊû,vØ$I…$¡4‹&„¡4,¦4 #8$¬4\¦4±4"'Û$ 4 º&?Õ$$›4‹&PÍXwordÁ $»3‹&ƒ¥2¤ _ref__selfÁH ´B ½Bk;@FQ ÿ[¨4bû/iû/pyî † __self_discrÁŸ __arg1_discrÁ¶¾LöE öE þE|ðE$+-./:@]_|&;<>()$`\"' *?[#~=%{}, !^%LáF 0LíF AŒ†Q    LùF a-9zI²¾ZÎ  9( ‘ ÖÌ»Q  €   ÝStÑS  \ÑS %1%k wÿÿ‡  � �® ,¬Q $ŽG  ÞS  Ž_�_%üÆEÉ$åEØ$ ÛE+Ø$+)0‘˜ÌÓ†�Ž•Ø$v™iŠ ,Ê`Ò` Ø$Dã`,î` üý`€ Dƒa ƒa$‡a€Ø$7  ŠaüšaEt�a ©a   #\�aÔ9 -=D ªa TÆa Ïa    (€Ø$5  ,ÆaŠ= c ,Š= � ”¾a  ˜ ü¬a3 — Í ßa —D Þa4ìa  ñaØ$   Ø$= Ø$üŒaq —#üa' / Þø#ý`€ —=C üa$†b �büâ_¯'üÆ`Êüß`±Š=$ú_Ø$Š=ü—×—RÑØ$Ñ—“‘Ø$‘Š=FØ$FUØ$iî—õû™�maskÁ�Ð_ÁØ$1ÁØ$2ÁØ$4Ál’‰ +\’‰ DI,¥‰ Ì’‰$ ‰ ”$–F\ ‰­‰ü­ˆ€ ¬‰/7Ò*Üðˆ”$,ãˆÍ¹”$Ë^£/*€ÞDC¯EД$†(æ! § Êg.3;ë!pSÈ^ ÆhØo§vœŒ–¢GŸò!s(í!ÆáG(Hú! ƒ"w)3áG:áGAJî Wa‡"y…"—áG(P‰" �² Å™�²‚²ƒ²LessÁ„²…²†²‡²ˆ²‰²GreaterÁв%ÑÓ¡yû“"{ Å™Ç™È™­É™Ê™àË™óG*¤�R{9 ÑJðáG÷áGþÑJî (•" �²˜"}(ÑJ3áG:áGAJî Waž" š"—áG ÿ"+ƒ8B Ó)¬"8£) �ª)„+ç6¹XD¬"h(¬) § Ó) §¹'3ì[`†lq`eƒ±)†œÈ§ ç±Ø¸§¿§°ì·‹&¾ÍÅäœñû‹&ìð†  Ó)¹ †¹,4(³) �¸)ˆ+ç6ÙP=¹}Í„T^åQ |â*lâ* ÷ç÷*IüÃ*4ç$Ó*€STTô,¹Üô,Lÿ, *,‰-„ÿ,üç,(¹$™-£-Jü­,vç$Ø,çD¾,,È,¹‡¹¢!²&OóS·T§0¹Œ·0L½0Ž$,·0\½0ü·0'É0 ãQ¬&Õ$N”$Í$§Õ$Uÿ—aÒþU„Í0¬É0ü§08$²0 ÌŠÌŠŠ&ÏŠ�Њœ“D^)c˜þOþ¬&þUð¹ü²0-ü§0€í0 º_¡+ÆëIëIåìI–æ4È ª¬KÄñO”$¡+ÊWUÿ—ÜÌøWüñ05üí0:­1Küé.ÄÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÊWÆÔ®/ÙP,š/”$,¡/Ò*ˆÍ$ÑVð¬&4£/8µŽ$IòU(ÊVÖ¾WidÑ0DÓ0 ¯€ Ñ0TÓ0Ý0N8Õ$Ð0 þUP§ Î0© n³Z{ü‚1"Ü‚1 ¤5,ž1"¦1OÄÊWø0øWÙ¡+,ò0Ì  ÷¼[vl™< *\™< IBG,¬< Ì™<$§< K”$‘C\§<´<ü¶;~ ³<V4ÓXÔø;”$,ë;ÙPç ”$Á[£/){ä\7²]Ç”$ƒ¤Û 34'334ë 6ó €C¼€Amˆc^  ë € Ž œ ¦¿im•Ð Œž¥34DVYl�‰«,Êüá…Cpù¾å4‘ëIü´õYü´=: Parse strings like, and escape strings for, POSIX shells.Áò�üöTQ Same idea as (but implementation not directly based on) the Python shlex module.ÁË�üÏ]Z Disabling the `std` feature (which is enabled by default) will allow the crate to work inÁü­ZW `no_std` environments, where the `alloc` crate, and a global allocator, are available.Áˆ�üŒ-* ## WarningÁº�ü¾a^ The [`try_quote`]/[`try_join`] family of APIs does not quote control characters (because theyÁü  cannot be quoted portably).ÁÀ�üÄ_\ This is fully safe in noninteractive contexts, like shell scripts and `sh -c` arguments (orÁü¤41 even scripts `source`d from interactive shells).ÁÙ�üÝb_ But if you are quoting for human consumption, you should keep in mind that ugly inputs produceÁüÀ2/ ugly outputs (which may not be copy-pastable).Áó�ü÷b_ And if by chance you are piping the output of [`try_quote`]/[`try_join`] directly to the stdinÁüÚ ^[ of an interactive shell, you should stop, because control characters can lead to arbitraryÁ´¹  command injection.ÁÐ �üÔ da For more information, and for information about more minor issues, please see [quoting_warning].Á¹ �¤½  ## CompatibilityÁÒ �üÖ b_ This crate's quoting functionality tries to be compatible with **any POSIX-compatible shell**;Áü¹ c` it's tested against `bash`, `zsh`, `dash`, Busybox `ash`, and `mksh`, plus `fish` (which is notÁü� '$ POSIX-compatible but close enough).ÁÅ �üÉ FC It also aims to be compatible with Python `shlex` and C `wordexp`.Á34DVYl�‰T«UüT…CpS¾åRëI¨«®”½¥|Õš”ê�¬‚ƒlàü´+( [`Shlex`] and friends for byte strings.Áà�üäIF This is used internally by the [outer module](crate), and may be moreÁü®MJ convenient if you are working with byte slices (`[u8]`) or types that areÁüü>; wrappers around bytes, such as [`OsStr`](std::ffi::OsStr):Á»�\¿ ```rustÁ”Ë #[cfg(unix)] {ÁüÞ$! use shlex::bytes::try_quote;Áäƒ use std::ffi::OsStr;Áü )& use std::os::unix::ffi::OsStrExt;ÁÊ�üÎ&# // `\x80` is invalid in UTF-8.Áüõ41 let os_str = OsStr::from_bytes(b"a\x80b c");ÁüªNK assert_eq!(try_quote(os_str.as_bytes()).unwrap(), &b"'a\x80b c'"[..]);Á,ù }Á<ÿ ```Á‡�ü‹LI (On Windows, `OsStr` uses 16 bit wide characters so this will not work.)Á,è %&()*./2Zb«,æüý…C p•¾ ’T› l ”ÙJ|ñ>”†2Œ” %¤£ ü¨ eb An iterator that takes an input byte string and splits it into the words using the same syntax asÁ¤Ž  the POSIX shell.Á,® ÷    ë € Ž œ ¦¿im•Ð Œ÷ ¦¿im•Ð Œ´ ü¾ "<¾   �p�pIterÁ pí óo¡p end_or_lenÁóo¢p_markerÁóoÛê2ÝЫ÷ Ø$”œ üæ 1. The number of newlines read so far, plus one.Á<    œ‘ü´ VS An input string is erroneous if it ends while inside a quotation or right after anÁü� ^[ unescaped backslash. Since Iterator does not have a mechanism to return an error, if thatÁüò ^[ happens, Shlex just throws out the last token, ends the iteration, and sets 'had_error' toÁüÕ 74 true; best to check it after you're done iterating.ÁL•  ”©÷ îx®üÂ&É ÷ ×$îxBÿ ÷ in_bytesÁDÍüì7Tï‰ ‰îxØ$řǙș­É™Ê™àË™óG*¤�R{9 ¡+Bÿ ú ÷ $ÿchÁ‰ü¥Bd¨Š‹ Šîx ‹¡+ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw——Bÿ µ ÷ $ºÇ 4ÀüœBdŸŒ� Œîx �¡+‹�Bÿ ¬ ÷ $±Ç 4·ü�"%L“"Ž ŽîxřǙș­É™Ê™àË™óG*¤�R{9 Ø$Bÿ �" ÷ $¢"ܲ#8��óÅQÆQLÔ#$Ù#¡+üí#($ð#� �óřǙș­É™Ê™àË™óG*¤�R{9 ÅQóBÿ õ# 8$ú#üž*5üª)da Convenience function that consumes the whole byte string at once. Returns None if the input wasÁt�* erroneous.Á,¥*‘ ‘×$řǙș­É™Ê™àË™óG*¤�R{9 …C…CüˆCùÐ=‰C¶Ð=ò¹ÚàÅ¡+Ð(Bÿ µ* �~D«*\˜.¹#¤ï.üª.2/ Create a new [`Quoter`] with default settings.Áö.¹BÿÞDüÙ0/ü©/YV Set whether to allow [nul bytes](quoting_warning#nul-bytes). By default they are notÁü‡0?< allowed and will result in an error of [`QuoteError::Nul`].ÁLà0¹¹BÿóS$î0²Müˆ3aüÃ1c` Convenience function that consumes an iterable of words and turns it into a single byte string,Áü«2XU quoting words when necessary. Consecutive words will be separated by a single space.Á$�3– –¹”$Ò*Bÿ÷ …!!  º3þÆ”$ ˜3ŽP”$ì›3�P”$ë~|¨3 ÷ ”$!£/Δ3EG4š4�"�"�""º&ü±8Tü–5XU Given a single word, return a byte string suitable to encode it as a shell argument.Áó5�üû5XU If given valid UTF-8, this will never produce invalid UTF-8. This is because it onlyÁüØ6UR ever inserts valid ASCII characters before or after existing ASCII characters (orÁü²7WT returns two single quotes if the input was an empty string). It will never modify aÁôŽ8 multibyte UTF-8 character.Á,¸8$— —¹ $×$ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¾Á¸$ÃóÄÅÙ$ÆóÀ9cgˆ¸†M$×$ÆBÿ¾8¥2$Ã8�~DÍ8üÆE#\ÏEØ$BÿÔ9™Cü¹_"„¼_Ø$Bÿ &™ Í_äâ_„è_Š=üòb"„õbØ$Bÿ (™ †cüúg"„ýgØ$Bÿ )™ ŽhüŸm@„¢mš š×$•{ÿBÿ ½m *�~D³m¬æm\ìmØ$Ô…n„‹nØ$Ô©n„¯nØ$ü¸}Vœ»}›œ ›¡+ œ×$ÿ—Bÿ Ô} .ï Ï} cur_chunkÁLâ}strategyÁDô}ü­ˆ^ü¤…cØŠüˆ†XÅ‹á†�üå†VS Uses default settings. The only error that can be returned is [`QuoteError::Nul`].Á¼‡�üÀ‡85 Equivalent to [`Quoter::new().join(words)`](Quoter).Áù‡�üý‡/, The string equivalent is [shlex::try_join].ÁD´ˆ”$Ò*Bÿ÷ 0…110ù� Áˆ‰ŽìĈ˜Ž|ш /÷ ”$£/¬"½ˆ24üÔ‹Fü¯‰SP Given a single word, return a string suitable to encode it as a shell argument.ÁƒŠ�ü‡ŠV©˜ÞŠ�üâŠ<9 Equivalent to [`Quoter::new().quote(in_bytes)`](Quoter).ÁŸ‹�ü£‹0- The string equivalent is [shlex::try_quote].ÁLÛ‹� �×$ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¾Á¸$ÃóÄÅÙ$ÆóÀ9cgˆ¸†M�×$ÆBÿ ï‹ 2�~Då‹« üÇ`] An iterator that takes an input string and splits it into the words using the same syntax asÁ¤¨Àw½�ÌÁ See [`bytes::Shlex`].Á,æ÷ 55Œ€C¼€Amˆc46îxŒBÿ�!>îxŒBÿ33 4÷ ì„ð33îx”„÷ 88Œ9:;‰ü�#¤ ÷ ŒBÿ77 9÷ in_strÁ4¨üÝ9d� # SafetyÁ’�üš>; The parameter must have been constructed from valid UTF-8.ÁTëîxŒÿ77 :÷ Ì ,öüÈ>d¸ê¢É�üÑro If the returned reference is reassigned, the new [`bytes::Shlex`] must have been constructed from valid UTF-8.ÁdÖž žŒ žîxÿ7 ã7 ;÷ $èܦ8ŸŸÓ=>ÅQÆQ>LÈ$Í<<ÊWüà$$ã   ÓřǙș­É™Ê™àË™óG*¤�R{9 ÊWBÿ< è< >8$í\¡>�?�?�??>?‚X…X—üØ'÷ AAŒBCÝ"Þ"CÝ\†4‹@@îxü« ,®¡ ¡Œ ¡Ý"ŒBÿ@ ´@ C÷ $µüÖ1üç_\ Convenience function that consumes the whole string at once. Returns None if the input wasÁtÇü…,Ý¢ ¢Å™Ç™È™­É™Ê™àË™óG*¤�R{9 …C…CüˆCùÐ=‰C¶Ð=ò¹ÚàÅÊWÐ(Bÿ ë DÏ¢4ãü‡%&ÆF¥gFü´%D·%°±² °Æ ±€g€gŠ‚gê ûcƒgùûcØ«q¢1È¡²ÈBÿE »%E F$¼%œ Â%ü˜'%Ó‰|†'¼€'Æ\ì)çIJKP¤Ã*üþ)2û‡Ê*çBÿHHä\ü­,/üý*YéˆüÛ+?̉L´,ççBÿHH J$Â,²ã)üé._ü©-^[ Convenience function that consumes an iterable of words and turns it into a single string,ÁüŒ.XÅ‹$ð.· ·ç”$ÓXBÿH÷ L…MML š/Hù� ù.‰Žäü.�P”$«£t‰/ K÷ ”$$›/£/:,õ.@BÍ0K�N�N�NNKþU<ñ0K�O�O�OOKøWü‹2Lü³1S®›,’2Q¸ ¸ç QÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¾Á¸$ÃóÄÅÙ$ÆóÀ9cgˆ¸†MQÆBÿH˜2H P$�2Ï¢4£2üÊ6#çS®Süô6'$÷6¹çBÿRR S™,ü6üÀ7#¹U®Uüê7($í7ç¹BÿTT UquoterÁ4ò7ü¶;\ü³8^߯ü’9XÅ‹ë9�üï9V©˜Æ:�üÊ:8—™ƒ;�ü‡;.+ The bytes equivalent is [bytes::try_join].ÁD½;”$ÓXBÿ÷ W…XXWù� Ê;‰ŽäÍ;·²tÚ; V÷ ”$£/³-Æ;.0üØ>Bü¶�ü¨>/, The bytes equivalent is [bytes::try_quote].ÁLß>¹ ¹ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¾Á¸$ÃóÄÅÙ$ÆóÀ9cgˆ¸†M¹ÆBÿ ñ> YÏ¢4é>ŒÒ-üØ+b_ A more configurable interface to quote strings. If you only want the default settings you canÁü»,A> use the convenience functions [`try_quote`] and [`try_join`].Áý,�ü�-/, The string equivalent is [`shlex::Quoter`].Á4Ý-¹hO[íìUì[|ê-Lê-ZZÀ ¹]÷]À À ¹Bÿ\\ ]¹_ g_’“” ’¹ “€g€gŠ‚gê ûcƒgùûcØ«q¢1È¡”ÈBÿ^Ã-^ _œ(¹a†a((• •¹¹Bÿ`Ê-` a(¤ÀB|ÅBÿÖ^ôD• OÑcdefghdfhDàCbbÿbbÿd…DbbÿbbÿdÒDbbÿbbÿSÿSÿkù±kSS˜™ ˜ÿ ™ÿBÿj ´Bj kSî Sœ¡"üŠ]Z Errors from [`Quoter::quote`], [`Quoter::join`], etc. (and their [`bytes`] counterparts).Áè�üìXU By default, the only error that can be returned is [`QuoteError::Nul`]. If you callÁüÅ^[ `allow_nul(true)`, then no errors can be returned at all. Any error variants added in theÁü¤a^ future will not be enabled by default; they will be enabled through corresponding non-defaultÁ¼† [`Quoter`] options.Áž�ü¢_\ ...In theory. In the unlikely event that additional classes of inputs are discovered that,Áü‚ _\ like nul bytes, are fundamentally unsafe to quote even for non-interactive shells, the riskÁüâ [X will be mitigated by adding corresponding [`QuoteError`] variants that *are* enabled byÁd¾! default.Á:ŒË! Tª"Æ軚ð"+¸ˆmnnÿ$ü»"_\ The input contained a nul byte. In most cases, shells fundamentally [cannot handle stringsÁüŸ#\Y containing nul bytes](quoting_warning#nul-bytes), no matter how they are quoted. But ifÁü€$_\ you're sure you can handle nul bytes, you can call `allow_nul(true)` on the `Quoter` to letÁ´ä$ them pass through.Á ]llÆorllÆÿ"Æp gpÿ"ÿ"£¤¥ £Æ ¤€g€gŠ‚gê ûcƒgùûcØ«q¢1È¡¥ÈBÿoæ!o pÿ"œÿ"¼#¼#¼#Ƽ#Æs†s¼#¼#¦ ¦ÆÆBÿrí!r s¼# ô!Æó#Æó#Æwù±wó#ó#§¨ §Æ ¨ÆBÿvú!v wó#î ó#v$ÆyÎyv$v$v$v$© ©Æ—Bÿx…"x yv$­$Æ{±²{­$­$ª« ªÆ «ÆÕKBÿz‰"z {­$î ­$å%Æ}î}å%å%¬­ ¬Æ ­ÆÑJBÿ|•"| }å%î å%h&Æühh&h&®¯ ®Æ ¯ƒN—Bÿ~ÿ€€š"~þƃNh&ƒiƒNh& ƒNh&ƒh&h&h&Œ»)üÂ'b­¼ü¥(A™½ç(�üë(.+ The bytes equivalent is [`bytes::Quoter`].Á 4Æ)çí2µS™š…‚¤Ó),Ó)��¹Ö&ç„÷„Ö&Ö&çBÿƒƒ „.' 熠g†.'.'³´µ ³ç ´€g€gŠ‚gê ûcƒgùûcØ«q¢1È¡µÈBÿ…¬)… †.'œ.'~(!爆ˆ~(~(¶ ¶ççBÿ‡³)‡ ˆ~(!.Îb-Î ÈÎý,Î ¿Îe,ÎÊ#΋+Î7*ά β ÎÎO Φ'Î Â8Î× ÎÝ Î#Î|"Î í}ΰÎbξÎ�ΑÎLÎkÎqÎÿ"ÎßÎFÎLÎÆÎRÎXÎÞÎäÎZÎ`ÎßÎ Å%Îß%Î�ΓÎ.'Î+ÎCÎ œ2ÎãÎ7H3 Quoter::joinÁÈ Ì � bytes::ShlexÁø�QuoteError::NulÁ’å )cannot handle stringscontaining nul bytesÁ nul bytesÁbytes::try_joinÁQuoter::new().join(words)Á bytes::QuoterÁQuoter::new().quote(in_str)Ábytes::try_quoteÁ Quoter::quoteÁúÝÌ È  VµÞmÓÞšÞ�’å  Yø�ß�ß /ÓßÁßZ£ßóß 2ˆàúÝÓÞÌ È �ßšÞ µÞ�å ø’l�ßÓßóߣßÁ߈à<Quoter::new().quote(in_bytes)Áshlex::try_quoteÁÈ øZ‰std::ffiÁstd::ffi::OsStrÁshlex::try_joinÁÿáÈ  /�‰Éâ³…OsStrÁÖâêâÿáÈ µÞ�… outer moduleÁ«ãÖâú£ßêâ�ßµÞ�…’å Üã«ã£ßë  shlex::QuoterÁ�ßµÞm¡â’å  2øÜãë Åä£ß�ß¡â’lå øÉâ‰Åäë  …ù öÌí÷±¯²ýÆþÆÿ ÈÇ€#…#ˆ#‹#Î!Ñ!Ö!¦£¬©ÔPŽQ—PŽPÄQµì6…ù öÌí÷±¯²ýÆþÆÿ ÈÇ€#…#ˆ#‹#Î!Ñ!Ö!¦£¬©ÔPŽQ—PŽPÄQµì6Quoter allow_nul Nulinner“ç ç°çºçRD�'|° îÙLG.Ľ¹î/ü´%ÙÎ{Ý|¸J—¦…6¶HÎgò‡©aŒ °Ä@žáe9 ä%anªUöÍÚïÔW> ±EãââýY µïòl351Ò–¼j°òÁö ¿»g#Rg´k­\3JvE¬)àz=Á…Äý%÷3‘ÛèºÝ`É<¾bÏãF„P»‚D½‰/´Í-çê'°Â‘^ÝVÇLÛ´C+ç¾Çc’ðî&�æ¸yÑÃo "XÊ©ÏiyÉ"í¯#ÔYÉÚyŒ�~çQ_¢²@¤Z�íÉ/­ErY@†òûmÔ Â™?_ cÈ®R©AÏ6m‡Æ‘häV?©%ê¾MÈÓï—§-»Ç úRxDoØŒЃgA�ƒÿ^U�³’«O kžÇ¨]QæMútµÄ4û†þ"ßüÙá3„og¼éõx6‘:Ù?EcìIKz"ÙªÏ0x”PxyÕ*ŒïxW3å�ðŒf t-xOI±$·ÆÃž˜âõŒ� žÑo7 ‘RÎaŠv Í[8?#�l�œ%{N±Ÿ…Žg$•Q ä¨Q ŽÅAHøgé£R@ÍÉ@ÓèŒIêì¯äà³›Vcuó :{¾f¼/h² üQ4…%'æªï&ÝЦÿ›7 •!Dãí�a É�}²9¥ðJ ’†sY9Håx gß7çgUI{³X Q©œ­jacÒ�ºÇ˜ÙïlÁ† è6ùb‚€—n{O¸'óÇ™1W¢‘C™<Ô—ák¨�4É}ñÞþ‹†©W>n¯ò,HlFlåbarËó¾Ù„`tsMséž²‰'ÈËÈÃlÿ?†Œoœ�7   h• ùá¦1OÏ8É:¬Wæf*�Ò¬šäó½%Ñ}³2ëØÈÿï…‹J<‹ËUfõÙÓåÏ>#?Ì?�@A�AÉAáA„B×CðC^DMEÚF"GäIJVJkJ¥JßJ2KFKZKoKòK¢M©OÐPæPQ`QRS/SGSáS6TgTTèT-VHVöVW3WsWÔWûXBYŠY¤Z¿ZýZ[\[w\"^H_^_y_ª_Å_o`Š`Ø`aXa˜a×aéabj b½eTgoghHhch²hÄhÖhòhViqiÛi÷i\jwjÜj÷jœk'l@l]l‘l®l[mxm7Ö :ù`°eB<¹>µAãC�PýPSMT9VW&W°Z [C_l_¸_}`a aaåa÷a¹ebgDhVhÀhÒhähdiéijjêj!lNlŸlim       '      **** ÿ6Õ:Ù;T<=�>ç>;?ä?§@AÍAùA!CDD"E4FñHüI5JZJƒJ½JùJ6KJK^K‡K.MÑNSP£PÒP'QáQ»R3S_SkT—TvU`VYW§WbX°Y×Z0[\L]$_L_�_Ü_¡`Þ`aDa\a„aœaÄab–egBg†gzh i¥ijŽjkl+ltlÅl�m0`7f7i7p7w7~7…7+;1;7;=;C;EÄ>Ê>?Ç?Š@ü@™AÅAÜABÓCìCYDHEÃFÉFÖFGÛIßIJRJfJ JÚJ.KBKVKjKìKˆM�MœM¦OŠPÆPÌPâPQ Q[Q RÿR+SBSÝS1T]TcTzTãT(VCVñVW/WnWÏWäXêX÷X>Y…Y›ZŸZºZøZ[W[_\e\r\^D_[_v_§_Â_l`‡`Ô`a,aTala”a¬aÔaæabfb¹e(gQglghEh`h­hÁhÓhïhSiniØiôiYjtjÙjôj‰k˜k#l=lZlŽl«lXmumÅmËmÑmØmÞmåmëmòmømþmn nnnn#n)n/n5n;nBnHnNnUn[nangnmnsnynn…n‹n‘n—n�n£n©n¯nµn»nÂnÉnÏnÕnÛnánçnînc7m7t7{7‚7Ñ:/;5;;;A;Õ;IÈ>Ï>#?Ì?�@AÉAáA C,D EFÇFËFÙHÝIäIJVJkJ¥JáJ2KFKZKoKM�M‘M¸NOP�PÊPÐPQQÉQ£R/SGSaTgTT^UHVAW�WJXèXìX˜Y�Z¿Z[ð[c\g\4] _H_y_Å_Š`Ú`a.aZanaša®ab’eg+gogchòhŽi÷iwj÷jŒkþk'l]l®lxmÈmÎmÕmÛmâmèmïmõmûmnn nnn n&n,n2n8n?nEnKnRnXn^ndnjnpnvn|n‚nˆnŽn”nšn n¦n¬n²n¸n¿nÆnÌnÒnØnÞnänënñnì;^<=™>µ>?¨?m@ß@„A±AÖAkBÅCßCSD4EtFÓFGÆI JDJbJ’JÌJ K>KRKfK½KWM™M—OfP¶PÜPùP?QóQêRSi`iÊiåiDjfjÄjæjTk•k l6lJl„l›lAmemµmÛ;V< =‘>¤>ø>œ?a@Ó@xAŸAÎA_B»CÙCKD,EPFÍFîFºIJ>J\JŒJÆJK8KLK`K³K9M“MŒOUP®PÔPèP7QëQÞRS4S½SõS8TlTÂTV/VÎV WW`W±W~XîXYVYwZ¦ZàZÿZ9[\i\^%_N_b_—_®_J`s`¹`à`aFa^a†ažaÆaÛaíaDb—egCgXgôg:hLh’h¶hÈhÚh1iZi½ißi7j`j·jàj8k�kl-lDl{l•l3m_m§mî;b<=�>·>?¬?q@ã@ˆA³AÚAoBÇCáCWD8E©FGÊIJFJdJ”JÎJ"K@KTKhK¿KtM™OhP¼PàPûPCQ÷QîRS@SÍS"TKTxTÒTV7VÞVW$WlW½WÉX=?æ?©@AúA"CED#E5FòHþI7J…J¿JûJ‰K/MÒNTP¥P(QâQ¼R`S˜TwUaVZW¨WcX±YØZ1[ \M]%_‘_Ý_¢`à`Fa†aÆab—eCg‡g{h i¦ij�jklulÆl�mé>>?ç?ª@AûA"CED#E7FòHþI7J…J¿JûJ‰K1MÒN‚P¦P)QãQ½RaS™TwUaVZW¨WeX±YØZ1[ \M]‘_Ý_¢`b‡g{h i¦ij�jkulÆl�mÓ>'?Ð?“@AåA C0DE FÚFÝHèI!JoJ©JåJsKM½N�PQÍQ§RKSáSƒTbULVEW“WNXûXBYœYÃZ[ô[8]|_È_�`0apa°ab.grgfhõh‘iúizjúj`l±l{mn N ‡ N X ª · ´ å ï ù @ Á ë õ ÿ  " , : D b –   ÕF›MöXq\—kšû|s¤!î(O)%*¡,)-¬-œ Qý"§#ñ#a$«$ã%S&·&,'C(Áù.}!Š!—!ùzBû"M)#*Ÿ,'-ª-÷.˜¥#ï#_$©$á%Q&µ&*'A(ì(ú{PÀ|!ü"«/N)$* ,(-«-ø.™¦#ð#`$ª$â%R&¶&+'B(í( JºPu!ƒ!�!�!y!‡!”!¡!?¶?{@í@’AxBËCYD:E¶FÌIJJJ˜JÒJ&KÃK�M�OMQRøRÖSÜTVâVnWÁWÖX‹ZðZI[X\^§__`Î`Yb h§hFiÒiLjÌj|kŽlKm¿mý6Ï:Ó;¢>�A×CMPæPS6T-V WW¤ZýZ_`_¬_q`Ø`aXa˜aÙaëa�egVg8hJh´hÆhØhXiÝi^jÞjükBl“l]m:<wP<_÷`®el-<jP/_ê`¡e l§ª±µ¼ÀÄÈÔÛßãçóü (,3:K^q�…Œ“Ÿ£ªºÅÌÓ×Þå÷%<Sj|“ªÄÓÚáñøü -@DKRVZahovz�…‰�—ž¥¬°´»ÂÆÍÑØßæíô !(>MQdh{ƒ‡ŽŸ©­±¸¼ÀÇËÏÓÚÞåéðôûÿ  ! % , 0 8 < D J P V \ b h n t z € † Œ ’ ˜ ž ¤ ª ° ¶ ¼ Â È Î Ô Ú à æ ì ò ø þ     " ( . 4 : @ G N U \ b h =<zP>_ÿ`a a²el¾>¿>À>Á>Â>·A¼AçCèCéCêCQQQS"SOTTT:V*W+W,W-W±Z [m_¹_~`øacgWhåheiêikjëjPl¡lkmønýp7sÛrÃ>ÁAëCQ'SYT?VW.W¶Z[r_¾_ƒ`åaþahgDh\hÀhÒhëhjiðipjðjUl¦lpmDY:;9#P2CFSU>ïD¡+Ð( Ý_ïDÊWÐ( ª_ú‡ά¡+((RawVecÁ+™,›y©XÕ”ˆó‰¡+Ð(((ѽ+™,›y©XÕ”ˆó‰ÊWÐ(((ѽ+™,›y©XÕ”ˆó‰Ø$Ð(ÊW ¡+ ÊWÎD¡+“¾ÎDÊW¨¾ŽR¨¾άŽR“¾ú‡ŒCØ$‘xØ$ìwØ$­xØ$´wØ$�xØ$±—ˆDØ$Ð(ÃXØ$­pØ$ÀFÐ(‘MØ$Ð(’MØ$Ð( C¡+Ð( CÊWÐ(åCØ$Ð(êCØ$Ð(ïB¡+“¾Ð(ïBÊW¨¾Ð(ÚB¡+“¾ÚBÊW¨¾ÅB¡+“¾ÅBÊW¨¾¬?Ø$–P�p�pìx pí óo¡p…yóo¢p›yóoÛê2ÝЫØ$–P¨¾–P“¾·?Ø$–Tª_—Tª_–TÝ_—TÝ_R¡+Ð(RÊWÐ(Æ¡+ª%ÆÊW¾Á¸$ÃóÄÅÙ$ÆóÀ9cgˆ¸†MÆÕ$ª%Ƨ¤Åª©Ø$„CØ$Ð(¼oØ$”+Ø$£ý£ý¤ýÀ ˆÙÅQòƒåU•{úXØ$’E¡+Ð(’EÊWÐ(×`ª%ÆÜ`¤ÅÆÆ�Rª_ÊQª_�RÝ_ÊQÝ_ï•{!#$' ÎÎÉüš) …ÿ‚]´œRD�'|° ‘FÜívu>e ,³)}”V¯core_intrinsicsÁderive_clone_copy_internalsÁð‰âRD�'|° ÔÔœ¥¥ào $ô!u‚‚´¾ÈÐÈú Ì RD�'|° t¨y®v'È� ï4ÎúûèRD�'|° S~ößd„q,Ã-}©Ø ¾Èfmt_helpers_for_deriveÁ¢g¡gRD�'|° GPÖ]ÁùA· T‰"¥™‘_¾È÷¾RD�'|° G|8¯¥ŠEÎRD�'|° VȦZ"³Zr <£)�Äl¾ÈøôRD�'|° ­36CÞDÄÎÎÜ RD�'|° šøZÃ`*”q ,æ!ÿ¾ÈŒÊ¢g¡gRD�'|° �Ò¨/�Ôɤ«B-´œRD�'|° l*;óÉúE¶ Lú!�ÀO_¾È¢Ë¾RD�'|° ¹�$ök`ýxe,Ê-a¾ÈÐÈð‰âRD�'|° „¨¯Û¸k¥¦± •"mÝŸ_¾Èò¾RD�'|° i�ÙÛ=9Q�ÉüÝ!Cÿ´œRD�'|° Þã±yW².Wq ,¬)2¾ÈŒÊ¢g¡gRD�'|° Ëf8)ϱHÉü±- b´œRD�'|° .úx°=ÚGe ,í!_¾ÈÐÈð‰âRD�'|° �©ÀÉ>Í(…cÎúûèRD�'|° 7¥yo>~9r<º-U¾ÈøôRD�'|° bœ€Ï³>+Ö~ …"eöi_¾Èderive_eq_internalsÁ¢ŒÏ¾RD�'|° îL¢ƒjÿû¿¶L´B¾È¢Ë¾RD�'|° e~)Qž}1‘ $š"uÔ=‰¾È�i€iRD�'|° rcw-�=ªب¡£É£‘£­£µ£±£Ñ£�£½£‰£¥£Á£�£©£Í£•£™£¹£Å£Õ£Ì¥[§'¦ø¦ù£î§ô¤‹¦n¨ó¥‰§�¤T¦¨A¥Ã¦£¨™¥&§*¤Á§Æ¤v¥é£ã¥y§D¦§¤¨1¥³¦“¨¦±§¶¤{¦^¨f¥è¦È¨¼¥K§}¤Þ§ä¤‰¥°ODHT º·Þá¦1OÏ8SÚïÔW> Ÿ«@suó¼gÆ‘häV?© ¥ðJ ’†sAI{³X Q©œD €Ù¬ ¾°‰êÓL( Œ6øµ¤'%rQ‡w°   h• ùR "Xʩτog¼é)'æªï&Ý=³›Vcuó:‰'ÈËÈÃlP}?Iªéh »øŸOpj; „’÷!yç¾Çc’ðîEcìIK+ :{¾f¼/;°òÁö ¿»g à‘LÎ úþ¬b/‹èK(©oeÝ`¿Šç½5kËë”mŸ cî/ü´%ÙÎ%N�&åŠè^ñ!¹±&Q|Þv ­2%Z[�€÷e Ý$‰¸`�dK ~¸fe‡G6Mn(KI •"Ùü,U�Æ�Œf t-xO/îÙLG.Ľ¹D½‰/´Í-J‡B-ã:�fôÏÛNa:Z—:ެEO Ç¡ŒïxW3å�ð.öÑtÚ3чoUüÖ7AØ…žáe9 äÝJíê:í4éŒZtñ/êR=§w�\+É´;­þ}NZ=Nø²{"7"8Ð|·O&œ"9Úg¸L–B–d�[²ãƒ�C8¡dúRxDoØŒ#3JvE¬)àRݳOCâÝÇ‘Ý ÔGc6] ŽÅAHøgé7}¦q»E _´š{Ý|¸J—¦…­Ù�YBn¨e~OéK’•kªäÚïžBÞ"=«h² üQ4…%<�uKZYäËê�@Ñ$Z( »“ ‹+[Ô‚¸œÂ™?_ cÈDãí�a É?6ùb‚€G§çB�b‚ÈonЃgA�ƒ$±Ÿ…Žg$•5ß7çgUCÃV,Ól¦U zóZF¯m<5Ã\ÿ?†Œoœ�7QÙÓån¯ò,HLçê'°Â‘^gØDʨ;•%~Q_¢²@¤Zÿ^U�³’«O%#Rg´k­\ ‘ä`e´"€Ûj=¾òm¬û·*†I±$·ÆÃž0—n{O¸'óÇH§¢ çªî ”ÊV˜Þ¶£M©—§-»Ç "ûùí¸ú«)¶0¶ ›Àó¯Ê„z=Á…ĘÙïlÁ† èFê[“Á Þ�MútµÄ4û')ÞÑÄÀÓ°¬%ê¾MÈÓï!Ý`É<¾b£R@ÍÉ@Óè8‹J<‹ËUfõXiÞ²]˸1ºwŠv Í[8?36¶HÎgò‡®R©AÏ6m‡z"ÙªÏ0x,½%Ñ}³V­jacÒ�ºÇE…:X›ÐÌ¥·o¢«?Î6Ë|]PÕVÉF�˜Š™¿“Ö̳˜™Ëó¾Ù„`tNÝVÇLÛ´C+ÆRe­Ý�B,˜4É}ñÞþ‹†Kh þÌÞÎ,r±EãââýY q¢¥Nã“Í«{Q ä¨Q6Y9Håx gBlFlåbarMÉ:¬Wæf*�T½ù¶ûæ€Åtkë¸âAü³ŒIêì¯äà9iyÉ"í¯#Ô‡yóÎîö'Ȧèéï]hÕ‹=[gSïç¹už©L݆îÅæÑ¥ µïòl3 r²FIóCŒNa¢ôØbò*uႉµ{èóN†[¤æ–GòkYþ¯@†òûmÔ †þ"ßüÙá3(2ëØÈÿï…Wÿÿÿÿ^ÿTÿ9N|ÿÿÿ;ÿ|ÿgtn6t'w%3V71gto@02c'\G-cxoLRt 3ÿÿFPFpctZB5ÿÿÿÿÿÿÿÿÿÿu]\ÿÿÿdÿ 7ÿÿÿAJÿÿaÿUQYÿÿÿd 7ÿ# ÿÿrÿAZÿ ÿÿ`js6hZ]0k}ÿ%y 'hÿÿÿXÿÿÿÿus f,2$/-'.mOc?ÿÿÿebt }Xÿÿw1tz]CCU^[.b `5c3c_ecd(G+  a(*3C@wE+(W> *$'`4&&1^Y_b``\ Ddad )K] )cB/!7^D62 c]fTAHXS8$]F!]C &.&/_YW9/_TW;0E  9%(-2-'+'."%#/]+'' G3bdNS"&).+#%-0+1(+($#)(()'%$&&+&!^##*;.)D@$F@ <7´•'�'"ß}s""çùWsS/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/shlex-2.0.1/src/bytes.rsÁF/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/shlex-2.0.1ÁS/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/shlex-2.0.1/src/bytes.rsÁ \ +b—‹po›ÔìӯїÑ—„,c_E,JN? %*'5OM -f(6[cc<-& >.I+!J+!>:+!1+N I2$>0+Q9,,O!,/0  I2$00  ,05 /1'#-A>$X ) e8(&1cB0!7^D6 h]h*>]]Z\#[!Y) :) +%ce,BfU,@F@ `%;5.&8*#`gfV2QAcTF[^W-#'RML db^FT\\]PcbbTa*_(%%; $ '6%.ac_P6%X5WcU-1C$$Ia$"ddh?$&(%-&- dcJ '3"0&0& Y'. +.. +.)82`+%- dYW90aTW=1I" %=: ;'+/50)-)1$'!%+/],'' ª)ž€‚•:^[;j°+)ñö¶g¹x86_64-unknown-linux-gnuÁp¼Á{Ç3 ¥?Ʀ• …-69c11c7589f0c135ÁRD�'|° óø Ž…þÌ zºzÐ ‚†‰‰‰ƒ‰ƒ‰m›ˆÇº˜‰ºº’ºôô‰‰’‰’‰’‰›‰’ˆ’��‰‚5’.j‰\’‰’5j..\\‰›ˆ�‚‚„º„ô‚‰„’ˆ�Cp$Õ(H(PPÚ%rust-end-file