Files
boc/rust-service/target/debug/deps/libuuid-c561d84102c1e0c7.rmeta
T

2790 lines
430 KiB
Plaintext
Raw Normal View History

rust
žµ#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8Á¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀ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Á getrandomÁùÊz oZÌ#Ö®í­4µ.º-303c58d594a8eb21Á®f©¾/ô)c§{õa“â‘-a3906971a93fd1b8Á?A©ú¡E2¯ëäu-8e0657b9e365f274ÁÀä:»À|£:Œ¢:unsafe_transmute_refÁ¤ç
uuid_unstableÁunsafe_transmuteÁ„«³ OtestsÁ,¿$´nî ,žI$“Iî ,½ž$²ž®nowÁŽY»jsÁt§X®°
`µ $`â
v1_supportÁTþv»²tÔv»v6ÁtävüÓv â
v7_supportÁTµ»v7Átè´®î ,øÈ$ÇÈk<˜=»²tÅ<» tÕ<üÄ<  ContextV1ÁLê=»²t¬=» t¼=ü«=  ContextV7ÁL©>»­ tü=²Ñ?»²t»>v3Áð?»ß tÛ?šî ,ë

v5Á®@»
t™@ Í@» t¸@­ ì@»­ t×@v8Á‹A»Ï
tö@md5Á¬A»ç
|A¦RngImpÁ4€»rng-randÁ¤¼»fast-rngÁ¤Òü»,žimpÁƒì×´µsha1Á$ïA»Ú„ØA´arbitrary_supportÁŒ-» arbitraryÁ¬´
borsh_supportÁli»borshÁŒF¨î ,ˆO $ùN ¯î ,Òk $Ãk î ,•‰ $†‰ ½î ,§ $§ Äî ,¾Ä $¯Ä µ serde_testsÁ\¾Õ $³Õ ´ slog_supportÁdØ»slogÁ„¶î ,Žô$ƒôíÀmacrosÁuuidÁË builderÁnilÁ maxÁ  from_fieldsÁ from_fields_leÁ  from_u128Á from_u128_leÁ
from_u64_pairÁ
from_sliceÁ 
from_slice_leÁ 
from_bytesÁ
from_bytes_leÁfrom_bytes_refÁ#«#¼#from_gregorian_timestampÁ& #from_md5_bytesÁ#from_random_bytesÁ#from_sha1_bytesÁ#from_sorted_gregorian_timestampÁ+ #from_unix_timestamp_millisÁ- #from_custom_bytesÁ#þ##˜2 #®4 #Ç#×#ü# set_variantÁ# with_variantÁ# set_versionÁ# with_versionÁ#as_uuidÁ# into_uuidÁ?from_rfc4122_timestampÁ@ ?from_sorted_rfc4122_timestampÁB errorÁDDF'aÁFinto_errÁH H BLOCK_STARTSÁJ DL×Dnon_nilÁOOOOOOOOOOY×O[×O]O_Oaï
Ocï
Oeæ eð egetÁOi÷OkErrorÁkªparserÁnnnnnnnnvvþny§yªn|§|ªn parse_strÁ try_parseÁtry_parse_asciiÁn¬ƒ n parse_bracedÁ n parse_urnÁ n parse_simpleÁ  nparse_hyphenatedÁŒ Œ n decode_hex32Á    × 
  
¥×§×©÷«×­×¯×±
hyphenatedÁ±
as_hyphenatedÁ±simpleÁ± as_simpleÁ±urnÁ±as_urnÁ±bracedÁ± as_bracedÁ
nibble_to_hexÁ
format_simpleÁ» » » format_hyphenatedÁ¿ ¿ ¿ 
encode_simpleÁÃ'bÁÃ encode_hyphenatedÁÆÆ 
encode_bracedÁÉÉ 
encode_urnÁÌÌ encode_simple_uninitÁÏÏ encode_hyphenated_uninitÁÒÒ encode_braced_uninitÁÕÕ Õ BracedBytesÁØ
open_curlyÁØÚ Ø close_curlyÁÕ encode_urn_uninitÁÞÞ îslice_as_uninit_mutÁassume_init_ascii_mutÁäLENGTHÁä from_uuidÁä encode_lowerÁç'bufÁäencode_lower_uninitÁéì"ä encode_upperÁëì"äencode_upper_uninitÁíì"äÇäÕñ¹"ñÇ"ñØ"ôì"ñø"öì"ñ#øì"ñ·#úì"ñÇñÕ þ¹"þÇ"þØ"ì"þø"ƒì"þ#ì"þ·#ì"þÇþÕ
¹"Ç"Ø"Žì"ø"ì"#ì"·#ì"ÇÕ ˜˜þš š  þŸ Ÿ 
¢¢þ¤ ¤ §§þ© © impl_fmt_traitsÁ
impl_fmt_fromÁ timestampÁ®®®UUID_TICKS_BETWEEN_EPOCHSÁ®²°
³,impl ClockSequence<Output = impl Into<u128>>Á³impl Into<u128>Á²from_gregorian_timeÁ²from_unix_timeÁ² from_unixÁ¸…(¸¹(² to_gregorianÁ²to_unixÁ²unix_to_gregorian_ticksÁ²gregorian_to_unixÁ®¿ from_rfc4122Á¿
to_rfc4122Á¿
to_unix_nanosÁ¿from_gregorianÁ®Ä§ÄªÆ ®È÷®encode_gregorian_timestampÁÊ Ê ®decode_gregorian_timestampÁ®!encode_sorted_gregorian_timestampÁÎ Î ®!decode_sorted_gregorian_timestampÁ®encode_unix_timestamp_millisÁÒ Ò ®decode_unix_timestamp_millisÁ®°
®
ClockSequenceÁ×°×generate_sequenceÁ×generate_timestamp_sequenceÁ× usable_bitsÁ®Ü¥Ü°Ü›-Ü´-Ü×-®contextÁââ std_supportÁääääääääThreadLocalContextÁì
ììˆäðð×äóóæ äöö°ö›-ù ö´-û ö×-ý äÿÿ°ÿ›-ÿ´-ÿ×-ä°›-ˆ ´-Š ×-Œ ââ°›-×-v4Áššœnew_v4ÁrngÁžRngÁŸàŸÚŸÎžàžÚžÎžÁ¦¦¨
¦ªà« « ªÚ® ® ªÎ± ± ©´
serde_supportÁµµµµµµµµµµ µ
µ µ µ
µµµµµµµÊ serializeÁˤµÍÝ3ΤµÐÝ3ѤµÓÝ3Ô¤µÖÝ3פµÙÝ3Ú¤µUuidReadableVisitorÁÜ¥Ü expectingÁÜ_markerÁµà'viÁà¥àValueÁà5à visit_strÁåà visit_bytesÁçà visit_seqÁéµUuidBytesVisitorÁë¥ë“5µî§5î¥îº5î‚5îè5óµde_errorÁõµUuidDeserializeÁ÷þ÷þ÷«µûþûþû«µ ÿ'deÁÿ deserializeÁµ
ƒþƒþƒ«µ â7í7µ þþ«µ
â7í7µþþ«µâ7í7µþþ«µŸâ7Ÿí7¡µ£â7£í7¥¥ µcompactÁ¨Ý3©¤¨í7«â7«« µÂ¯¯Ý3±¤¯í7³â7³µúÝ3¸¤í7ºâ7ºµ½½Ý3¿¤½í7Áâ7ÁµáÄÄÝ3ƤÄí7Èâ7È__macro_supportÁËËË 
 BytesÁÓ Õ
NAMESPACE_DNSÁÕ
NAMESPACE_OIDÁÕ
NAMESPACE_URLÁÕNAMESPACE_X500ÁÕ get_variantÁÕget_version_numÁÕ get_versionÁÕ as_fieldsÁÝ Ý Õ to_fields_leÁà à Õas_u128ÁÕ
to_u128_leÁÕ as_u64_pairÁÕas_bytesÁÕ
into_bytesÁÕ to_bytes_leÁÕis_nilÁÕis_maxÁÕ
encode_bufferÁë ë Õ
get_timestampÁÕ get_node_idÁï ï ò§óõ>÷ÉùÉû÷ý§ýªserdeÁBuilderÁ
ˆŠ×D§Œ
ŒˆDƒD×DÖD§ùDDD ErrorKindÁ ParseCharÁœ characterÁœÖParseByteLengthÁŸParseGroupCountÁ¡üParseGroupLengthÁ£groupÁ££ÖParseInvalidUTF8Á§
 ParseLengthÁ©
ParseOtherÁ«
NilÁ­
InvalidSystemTimeÁ¯
¯ˆD ²ƒD
´×D ÖD ¸§¹ùD
D¼D InvalidUuidÁ¾
¾Æ¾ˆ¾DÃÆDÅÆÅƒDÈÆDÊÆÊ×DÍÆÍÖDÐÆÐ§ÒùDÔÆDÖÆÖD
RequestedUuidÁÙAnyÁÚ
ÙSimpleÁÜ
Ù
HyphenatedÁÞ
ÙBracedÁà
ÙUrnÁâ
DDåƒDDè×DêÖDì§íùDDðO
NonNilUuidÁò
òˆO O
O ÷ƒO O
úOüÖOþ§ÿùOï
OƒG
ˆƒŒ×Ž>Ö§ù˜šï
îFœ
œˆ ƒ£×¥>§Ö ©§ªù!¬"#¯$±ï
«G³
³ˆ%&·ƒ'(º×)¼>*¾Ö+À§Áù,Ã-.Æ/Èï
˜GÊ
ʈ01΃23Ñ×4Ó>5ÕÖ6×§Øù7Ú89Ý:ßï
;á×<ã×ä =æ×ç >é×?ë×ì @î×ï Añ×Bó×ô Cö×÷ Dù×Eû×ü Fþ×ÿ G÷Hƒ÷IÉJborrowÁK÷L÷MÉNÁOO÷P÷QÉRÁOS÷T÷UÉVŸÁO® TimestampÁ¡secondsÁ¡ subsec_nanosÁ¡counterÁ¡usable_counter_bitsÁ®¦×®®©ƒ®® ®
­® ¯Ö® ±§²ùâ NoContextÁ´
â×â⹃ââ¼>VersionÁ¾D¿
¿ ¾MacÁÂ
 ¾DceÁÅ
Å ¾Md5ÁÈ
È ¾RandomÁË
Ë ¾Sha1ÁÎ
Î ¾SortMacÁÑ
Ñ ¾SortRandÁÔ
Ô ¾CustomÁ×
× ¾MaxÁÚ
Ú Þƒ 
á×  äVariantÁæNCSÁç
ç æRFC4122Áê
æ MicrosoftÁì
æFutureÁî

ñƒô×÷UuidÁù
ùˆýƒÖï




"
&
+
-
0
1
2
4
9
;
=
@
B
M
M
M
Z
Z
Z
\
\
\
^
^
`
`
b
b
d
d
x
y
{



ƒ



Œ

¦
¦
¦
¨
¨
¨
¬
¬
¬
®
®
®
°
°
°
³
µ
·
¹
»
¿
Ã
Æ
É
Ì
Ï
Ò
Õ
Þ
á
á
â
ã
ç
é
ë
í
ï
ô
ö
ø
ú
ü

ƒ



Ž




š
Ÿ
¤
©
»
¼
Á
Â
Ê
Í
Î
Ñ
Ò
Õ
Ù
Ú
Û
Ü
ß
à
á
ò
ò
ò
ù
û
ý

ƒ

ˆ
Š
Œ


Ë
Î
Ñ
Ô
×
Ú
ä
ä
ä
å
ç
ò
ò
ò
ó
ø
ù
ü
ý


Œ



œ

©
±
¸
¿
Æ
Ú
Û
Ü
Ý
à
ã
ä
å
æ
è
é
ê
î
ï
ó
ó
ø
ú










š
š
³
µ
µ
µ
·
¹
¹
½
½
Ç
Ì
Ì
Ì
Ï
Ò
Ò
Ø
Ø
æ
é
é
é
ë
í
í
ñ
ñ
ø
û
û
ý
ÿ
ÿ




Š












¡
¤
¤
¤
¨
ª
ª
­
­
°
°
²
²
¸
»
»
»
¿
Á
Á
Ä
Ä
Ç
Ç
É
É
Ï
Ò
Ò
Ò
Ö
Ø
Ø
Û
Û
Þ
Þ
à
à
â
â
â
ä
ä
ä
ç
ç
ç
ê
ê
ê
ì
ì
ì
ï
ï
ï
ò
ò
ò
ô
ô
ô
÷
÷
÷
ú
ú
ú
ü
ü
ü
ÿ
ÿ
ÿ

ˆ
Ž


˜
ž
 
§
§
§
ª
®
®
°
²
²
·
·
·
º
ß
â
â
â
å
å
ò
õ
õ
õ
ø
ø
þ

ƒ
ƒ


ˆ
ˆ
ן÷¿cˆAˆ ÇÚ‚ù>·*EØŒŒ§Žˆ 6®R(vgŸÞ¿cŸfŸfšeŸfÐìŸfµßŸfŸfØ œ¡B²BžÖŸËB ¡êB¢ü£‰C¤¡C¥¦Ö§¨¾C©ÛCª«¬öC­®D¯°D±ˆ¾[BI×Ñ™³¿cŽgŽgšeŽgÐìŽgµßŽgŽgÛ¾¾¿ŠEÁˆÂ Äoõå{‚u½ÆØÁiŠ Ái¿cÁiÁišeÁiÐìÁiµßÁiÁiÛÙÚÛÞFÜÝîFÞßGàá˜Gâã«Gr³Ñ¦nØÕjŠ Õj¿cÕjÕjšeÕjÐìÕjµßÕjÕjÄcŸf¾ŸfŠ òòóŠHôˆO ð(’hƒ°Û¡lØ¡lÐì¡lµß¡l¡l¡lše¡líß¡l¡lº¡l¿c¡lÄc¡lµß¡lùùú“Vûˆ >+rý‡Ö}çµßÊm¡líß¡lÊmíßÊm¡léÊm¡lð¡lÊmïyÊmðÊm 8ðÊmúHúHßûHÁ‘4Ý­f‰úM÷¿cÊmÄcÊméånÊmÄcæçè’Uéêë§Uìí»UîïÑUš}vU†YÊcÊmÌcÊmÛGˆ Åœê(¥BPرpŠ ±p¿c±p³±p±pše±pº±pÐì±pµß±p±píß±p±pÛœœîFžˆ ËroŠØ×qŠ ×q¿c×q³×q×qše×qº×qÐì×qµß×q×qíß×q×qÛ³³´«Gµˆ 
è„¢¾/ØýrŠ ýr¿cýr³ýrýršeýrºýrÐìýrµßýrýríßýrýrÛÊÊ˘G̈ wCš+èÏ4Ø£tŠ £t¿c£t³£t£tše£tº£tÐì£tµß£t£tíߣt£tïy±pïy×qïyýrïy£tÄc±pÊc±pÌc±pé±pÊméÊm±pà±pÊm ±pÊmÄc×qÊc×qÌc×qé×qÊméÊm×qà×qÊm ×qÊmÄcýrÊcýrÌcýréýrÊméÊmýràýrÊm ýrÊmÄc£t
SystemTimeÁˆUˆA « àìwéày¹x× 8¥¿cììíá.ïˆä l$ÊÖÂ?×Ãz×üVüVýVAssertUnwindSafeÁÿVˆ ’Á-òãiÊFõz×µ>µ>¤·>innerÁ£>¸>poisonÁ£>¹>dataÁ£>Ë»™z™g—õz¿c´´µ¡R w!<ãÔ‚“Û´|Ø´|Š ´|³´|×´|Ÿ¨¨© töV¶$"O¯AÊm¯A¡l¯A±p¯A×q¯Aýr¯A£tª<ÜÜß4Þ‚5µß“5µ‡QÆccø µz§5ª<ëëœ6í“5µRO°'"nLµz§5÷ÊmÙ;Êmâ7÷£tÙ;£tâ7÷±pÙ;±pâ7÷×qÙ;×qâ7÷ýrÙ;ýrâ7Ù;¡lâ7Û¾
¿ÀDÁÂÇSÄÅÆœSÇÈɱSÊËÌÆSÍÎÏÞSÐÑÒôSÓÔÕTÖר§TÙÚÛ¿T܆\xLý®oÕØ–€Š –€¿c–€Ðì–€µß–€–€Û»oØ»oŠ »o¿c»oÐì»oµß»o»oÛÊmØÊmŠ ÊmÊmºÊmÐìÊmµßÊmÊmíßÊmÊmšeÊm³ÊmàÊmÊmàÊm
éªBªBö­BbufÁ÷<®B÷<9)
-ÜnLçEçEèEGlobalÁ ¿±‡§í#ÊmðÊmðƒŠŒ´Ê¾èÙYò¥ùŒ£œº³Ñʦ¡ðì´á¾ô挲žåÙ÷ò œ·³ÎÊ©¡¹´Þ¾ñæýùŒÍ¾êÙüò§œ¾³Õʯ¡ùŒ¸Ð¾ìÙþò©œÀ³×ʱ¡òù˜Œ»Ô¾ïÙùò®œÅ³Üʬ¡ã¾öæùŒ¼Ö¾ðÙúò]ò_ù˜¯œÆ³ÝÊ­¡ä¾÷æùþäÙöòˆŸœ³Íʨ¡¸´Ý¾ðæüùȾçÙõò¢œ¹³ÐÊ«¡»´à¾óæÿùLŒ[ò§ù«æáéœñ³ùÊNŒòaòcùš±œÈ³ßÊùƒò¬œÃ³ÚÊùiù©úHƒùœù³ùÊùȆUûªBkòyù|ùÄ¡ýùvù˜œ¢³§Ê­ùãëœó³ûʯùæîœö³þÊŽ¥œ¼³Óʼ´õùœ³Ê÷ùùùœ³ŸÊÜ
öìÿüV…µ>´ª¨ÊùÍòÐӜֳÙÊàÜîëûùƒÊœ³ÿùÊœŸ³£ò¿cé
Øo bše MÐì
Mµß[Û gŠ TÄcT¾6íߺ6é *ðSïy Êc"Ìc#³#à* *ן!¯Aª<*÷Ù;#
 þ
Ìì
 „ì

G% 

üÇD
Êm
,16Á

ÿäÝ
 „Ý
Ÿ‘F$ ø
ÿ
ü¸G
Êm
à‘ƒ16Áüâø
„ð

ñ
 ÷
6
 B R 
<
qY ù
 ÿ
„Ž
 
 



6B R 
<
q 
Y 

   
 

­
 ³
6B R <qY ´
 º

É
 Ð


à
 æ
6BR <qY ç
 í

ü
 ƒ
|
L

  ! 
6"!BR " <
q Y š
   

#¯
$$#$ 
$
% È
&&*'&6L 'V&p%&
( Û
))**)6L *V)p()
+ î
,,*-,6L -V,p+,
. 
//*0/6L 0V/ p./,
1 
22*326L 3V2
p12
4 §
55*656L 6V5 p45
7 º
88*986L 9V8 p78
: Í
;;*<;6L <V;
p:;  #%(+.147: Ù
:741. +&(,%2#8>DJPV \üÑŠ
 „Ñ
Ÿ‘¿' Ú
 à
;852/ ,&),&á
üýä
=Êm

Ÿ
¨
±
à‘e c c c s z ÙÙÙéðOOO_fÅŤ¤¤´»ùùù ooNN]ççö(²²ÁKKZääó}}Œd1Áîd2Áõd3Áüd4ÁòA üø%ú
D†&
†&
 &
|œ&
Lœ&
 &


  £&
6  B R  
<
q 
Y ¤&

  ª&
 „¹&

T¹&
º&
À&
6B R <
qY Â&

 È&
„×&
T×&
Ø&
Þ&
6B R <qY à&
 æ&
Tõ&
$õ&
 þ&
|'
L'
Ž'
 ”'
6BR <qY •'
 '
Dª'
ª'
 ±'
|À'
 LÀ'
!Á'
""# Ç'
6$#BR $"<q!"Y È'
" ! Î'
!,Ý'
% à'
&&*'&6L 'V&p%&,ð'
( ó'
))**)6L *V)p(),ƒ(
+ †(
,,*-,6L -V,p+,,(
. ™(
//*0/6L 0V/ p./,©(
1 ¬(
22*326L 3V2
p12,¼(
4 ¿(
55*656L 6V5 p45,Ï(
7 Ò(
88*986L 9V8 p78,â(
: å(
;;*<;6L <V;
p:; 
 %(+.147: ñ(
:741. +&(,%2 8>DJP
V\üç%Œ
 „ç%
Ÿ‘¿' ò(
 ø(
;852/ ,&),&ù(
ü
=Êm$Ø%
¬%
µ%
¾%
¦Ç%
à‘U S S 2 2 2 B I ¨¨¨¸¿.5sssƒŠééÈÈÈØß>>M×׿pp  ¢¢±;;JÔÔãmm|ߨÝï¨ãÿ¨é©î-|Í,
 Í,

"\Ï,

óÔ0lÏ,
 Û,
ü¼,!

„¼,
Ÿ‘k% Ü,
ã,
üŠ,Y
Êm$­,
 ¡,
à‘±°Á<|Ð2
 Ð2

"\Ò2

õÔ0lÒ2
 Þ2
ü¿2!

„¿2
Ÿ‘k% ß2
æ2
üŠ2\
Êm$°2
 ¤2
à‘±°Á< üö6.
Üö6
œ÷6
Lø6
 ‰7
9Ž7
@T`p <@ Y@ 7
„”7
 D”7


 
 £7

ë
  üæ6?

|æ6

$' ¤7
«7
üš6
Êm$×6
Lµ6
DÅ6
tssséè high_bitsÁ[low_bitsÁg16Á16Á,¡M
\œM
ù ¦M
­M
 üäLI
Êm$M
à‘,üL
à‘dbytesÁ;ü˜T‰
$¦T
 ¨T
*6L Vp$¬T
 ®T
*6L Vp$²T
 ´T


* 
6L  V
p 
$¸T
 ºT


*
6L V
p 
$¾T
 ÀT
*6L Vp$ÄT
 ÆT
*6L Vp$ÊT
 ÌT
*6L Vp$ÐT
 ÒT
*6L Vp$ÖT
 ØT
*6L V p$ÜT
 ÞT
 * 6L  V
p,âT
!äT
""
*#"6L #V" p!",éT
$ëT
%% *&%6L &V% p$%,ðT
'òT
(( *)(6L )V(
p'(,÷T
*ùT
++
*,+6L ,V+p*+,ŠU
-ŒU
..*/.6L /V.p-.,U
0“U
11*216L 2V1$p01Ú   !$'*-0  U
0-*'$ !&,28>DJ P V\ü“T
ù ¡U
 §U
1.+(% "&,28>DJ
P
V\¨U
!üÜSÌ
3Êm$„T
à‘ ÷S
à‘/ - - < ÇÇÖaapûû
¤//>ÉÉØccrýý ¦11@ËËÚeetÿÿ¨33B­©œÐb
 áb

"„Ðb
Ÿ‘-= âb
äÈb
 ãb
êb
$ü”bV
çe$¹b
à‘ ¬b
Êmà‘­=´‘i
 ¥i

"œ‘i

!.> ¦i
ü‰i
 §i
®i
%üÒh\
çe$úh
à‘ íh
Êmà‘­=ü†kU
,¹k
<Àk
<Ék
D
Kü†k%

ÊXJ<s Úk
üþj^
 Ûk
âk
&ü™jÉ
çe$ïj
,¿j
<Ëj
<Ùj
Êmÿýñ äæticksÁQŸQUnode_idÁOüþlP
üþl$
܆m
L—m

"„†m
Ÿ‘-=  m
R  ¡m
„½m
 æ
d°m

:¢9ô°m
 Ím
dém
 ¾üþlx

dÜm

<=ÔÜm
 õm
üm
(ü¾l¾
çe$ïl
à‘LÚl
çeXçeWÊmVà‘W»o–€ md5_bytesÁFiü˜tS
ü˜t'
ô t
d±t

"„ t
Ÿ‘-= ½t
R  ¾t
„Út
 æ
dÍt
Ñæ¡8ôÍt
 êt
|†u
 ¾ü˜t~

dùt
©ç<ìùt
 •u
œu
)üÒsÊ
çe$‰t
à‘dñs
çeVçeUÊmTà‘U»o–€µ random_bytesÁIlüÔwQ
üÔw%
äÜw
Tíw

"„Üw
Ÿ‘-= ÷w
R  øw
„”x
 æ
d‡x
Ñæ¡8ô‡x
 ¤x
lÀx
 ¾üÔwz

d³x
©ç<ܳx
 Íx
Ôx
*ü’wÂ
çe$Åw
à‘T¯w
çeVçeUÊmTà‘U»o–€µ
sha1_bytesÁGjü®{\
,è{
<ï{
<ø{
D
Kü®{,

ÎXJ<s ‰|
ü¦{e
 Š|
|
+ü›zö
çe$—{
,Ñz
<åz
 ä<ûz
Êmïíá äÖÛã=ŸQAúãEzü¶†h
4ë†
 ¤ÿ†
 4
;ü¶†'

ÒH9_ 
 ü®†q
 ž‡
¥‡
-üÆ…ß
çe$Ÿ†
4î…

¤û…
ÊmäáÎóÕmillisÁDcounter_random_bytesÁJ
10ÁüÞ‰M
üÞ‰!
dò‰
 
%œÞ‰

$0B þ‰
„šŠ
  æs
zdŠ
Ñæ:ôŠ
 ªŠ
 |ÆŠ
  ¾üÞ‰x
 d¹Š
©çê>칊
 ÕŠ
 ÜŠ
/ü˜‰Ä
çe$ω
à‘d·‰
çeDçeBà‘A»o–€µ custom_bytesÁBg
üÙ!
ë
 ï
 ó
 ÷
  \
cŒÙ

n_P A ù
  üÑ*
 ú
ž
2üýœ
çe

Ÿ
¨
¦±
Êm$"
¦ÿߨUï¨Yÿ¨]©`£
ü÷¢$
Σ
 £
 ӣ
 ˜£
  \
c¤÷¢

n_P A š£
  üï¢-
 ݣ
¢£
4ü˜¢Š
çe$à¢
´¢
½¢
Æ¢
¦Ï¢
Êm$"
¦ÿߨUï¨Yÿ¨]©`£”„§
 ”§
 
$|„§
ôÆ/@ •§
Üü¦
 –§
§
6üʦS
çe$í¦
 á¦
Êm¢ Á>¬—«
 ª«
 
$”—«

0A ««
ô«
 ¬«
³«
7üÚªY
çe$€«
 ôª
Êm£¡Á>\Ë®

LË®

(¤Ã®
 Ö®
Ý®
8üž®?
çe$´®
Êmw  $±
 “±
 lˆ±
% /IÊmà‘ •±
ü°±Ö
 ¶±
<°±
($ð²

 
\ð²


$÷²
à ú²

 l»²
 $¼²
      $ò
 Dz
 ¤»²

 $˲
À β
  lƒ²
 $„²

 
  
$‹²
? ²

¤ƒ²

 $“²
 –²
  $Ö±
 \Ö±
 $ݱ
 à±
  «±
 l ±
% /ü ±æ
Êmà‘ …³
 †³
$‘³
 š³
›³
:ü»°à
üý°ž
çe$î°
çeDÕ°
»o ß°
,+¯dƱ
gÞÝ]\°T8~ÁbyteÁ´Ê´Ùµ
lÚµ
 åµ
 ,8N X rÊmà‘ $êµ
 îµ
„òµ
Lóµ
 ôµ
  
 '
 ûµ
 G  €¶
c  o  =žZ 
 Ôµ


lɵ

% /
üɵ9
Êmà‘

 ‚¶

 $
—¶
<ü‡µ
çe$ºµ
çeD¡µ
–€ «µ
ihgwÔÓ–€ÓÛõüC'uÁw¦<›¹
 Êm §¹
¨¹
=üì¸<
 Êm,‹¹
çe,¹
Úl=4³¼
Êm¿¼
>ü„¼;
Êm$¤¼
çe$›¼
 /,ï¾
 <ö¾
 <ÿ¾
 ü;:
 ü;!

&_PA3 †¿
 ¿
@üê½£
çe$¾¾
,޾
<š¾
 ä<¨¾
ÕÈ ä¼Ûã9ŸQ<úã?x,ÑÁ
 <ØÁ
 <áÁ
 ü¨ÁA
 ü¨Á(

+_PA3 èÁ
 ïÁ
BüŸÀÐ
çe$™Á
,ÓÀ
<çÀ
 ä<ýÀ
ÕÈ ä¼Ûã9ŸQ<úã?x”®+  ¯+  ²+  µ+ ¹+ ½+ ü+4 JT¡+ 2üÒ 
#
ã0 ðW
^„Ò
³
n ñüÌ&¬ Û¼¡l
<†Ûô ô õ ¨÷ ˆÐ  mjçíto霗 ò ©Ì’ Û¼¡l ª ÕÖfü•Áü* Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¡lÊmÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ°šWVÚWl°š¨¡la°šbµŽˆÑ
üì5t$
#<•ü˜.L• üõ*

Ôõ
´
o+ žüáA ò ¡¨gü¡¡lÊm°šÞÜÚܵ#Ed 4 °š
'§
·
7 «ì
 |ôÆq$ ¬³hüçLÊm$¡l°š;„ç#
*
à|1M öüÑ'

„
' ÷ ýþüŒrÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÊmŸfœ³  åƒ&‰¤/þ£*inputÁ/£„õ!,ÿ!
$Lõ!
ƒ1A „"M´ï!mäß#¬å#  ! Œ ú# üÛ#! Ö¿ÊmŸf û#
,—"«à‘¼¤",µ"
"„¤"Ÿ‘-= º"Ü¡" Ö¿ÊmŸf »" Œ$$ü£!êü”"(
¤£œÑ!‰¤,À!Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à‘¾¾¿ŠEÁˆÂ Äoõå{‚u½M‰¤NL”"à‘Êmsà‘tŸfŽg«£Þ×ÈĤæ$\ç$,ç$
$í$
Ús4,í$ ñ$,ô$m  ù$Ôà$ $&-
ü›)&,§)”®) Ù7 ¾ À)ü—)+ Ö¿à‘ب Á)
¤½'‰¤*5 =O
 `
‰¤*{>‰¤Q}üâ'>‰¤ 
 + 
6> P aÔ‰¤ç uû‰¤ r "‰¤5 n
I‰¤\ : p‰¤ƒ u  ‰¤ª  u
¾!‰¤Ñ! iå"‰¤ø" d #‰¤# : ™($‰¤$ üà$é Ä'%‰¤%6 «'‰¤W Æ%‰¤ Ù%¬Ì%
 dÌ%
3$Ü% 4 à% Ä(œ³(
 „³(
Œ3& Å( Ï(
 Ê)Ë)ƒü‘$ºüÁ% ü¦'ª&†¨ü¸$!‰¤,¤$‰¤ss‰¤t‰¤3_ åƒjrz͵ÖÞæí‰¤Ÿ‰¤‰¤Ò‰¤>بe‰¤eÕjX‰¤&‰¤/‰¤8‰¤A‰¤J‰¤S‰¤\‰¤e‰¤n‰¤w‰¤‰¤‰¤‰¤‰¤¤«£K¾u¾¢œ16Á ¤ì*\í*,í*
$ó*»ª/,ó* ÷*,ú*h  ÿ*ÔÏ*&¤Ô*‰¤*5 =O
 `
‰¤{§‰¤¹} Û* ‰¤  œ+   œ‹+
 „‹+ò³ 1$ + £+ üÈ* 
ü¸+)
,Ä+¬Ë+ Ù7
¾ à+ü´+. Ö¿à‘ب
á+
 é+ê+üë)ÿü+#†¨ü *!‰¤,Œ*î´®®‰¤¯‰¤s4µ=EMT‰¤¥‰¤ب4‰¤4Õj'‰¤%‰¤.‰¤7‰¤@«£¨¾ â16Á¤º-\»-,»-
$Á-»ª/,Á- Å-,È-h  Í-üë,D-üð,>‰¤+6 > P
 a
‰¤ u©‰¤» rΉ¤à nó‰¤ :‰¤, u@‰¤S u g‰¤z i
މ¤¡ d µ‰¤È :  §- ‰¤   î-   œÝ-
 „Ý-ò³ 1
$ ï- õ- üä,Ó
üŠ.&
,.. Ù7
¾ ¯.ü†.+ Ö¿à‘ب
°.
 ¸.¹.üŠ,¯üÓ-#†¨ü¼,!‰¤,¨,î´¾¾‰¤¿‰¤ƒCµLT\c‰¤¥‰¤ب4‰¤4Õj'‰¤5‰¤>‰¤G‰¤P‰¤Y‰¤b‰¤k‰¤t‰¤}‰¤‰¤«£ç¾D !16Áü’0Ýl•0<•0 •0
$—0»ª/,—0 0U 0 w ¡0ü¸0¯ Ñ0  üà0|
\ã0   1
ÙA¬¹1
Ù] Û1  ¾ 
æ1
 ü´0´ Ö¿à‘ب ç1 î1Ø5 üï1
17<å2 Lï2 ð2 ,3
Š3

ü‘3; 4—3 —3
›3 =  œ3$±3 ³3
'8  K ¬3
4¨3 $ . 
l¨3  ´3 µ34¿3
 Ä3$ 
' J
üž3. ÌË3´
¼ gøÌ‘3; <B Ë3”Ø3$å3 /
6dØ3
C
S é3_ÄÒ3üŸ4¯" ¸4##üÇ4|$\Ê4%%%ú3  Ûà‘…4!! <4 Ö¿à‘ب! ˆ4! ”è4$ Ù¨¬ 5$ ÙÄ Â5%ò" ¾#$ Í5$#ü›4´ Ö¿à‘ب" Î5"
 ×5
 cmüÅ.“üá2÷üþ2Ú¤õ3&†¨ü”/!‰¤ ë.\ü.FCC‰¤Dü£0ÌبÚ‰¤ÙÕjÌÊ ð̰¹¬¬iiy/#Á;CJÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙà‘i ßÕm¸×vLõ3à‘Àà‘«ب‰¤Õj
¾ speculativeÁšhexÁ9 ´
ƒƒ8  16Á 32Á5ü—7Wlš7<š7 š7
$œ7»ª/,œ7  7U¥7$w
¦7ü½7) É7ÌÌ7  Ù7 ¾ å7 ü¹7. Ö¿à‘ب æ7 í74 ¤î7
.4ü‚;”
܈; $‰; ;

*6
G 
Z 
,;;
*6G Z,;˜;*6G Z,;Ÿ;*6G Z¨   ¢; ü‚;! - üå;) ñ;Ìô; Ù7 ¾ <üá;. Ö¿à‘ب Ž< •<
  
Ô4Í -
á - õ -  Ê;

~Š
 œ
<= L•= = ,¨=! °=!
ü·=:" 
,½=$ ½=%%!$% Á==$$%$Ö=& Ø=''!(')'(8 )('K&' Ñ=**!4Í=+* $ +. *lÍ= *& Ù=& Ú=*'4ä=,! é=$ ,!'J!,üÃ=.# Íð=$²
º
%øÍ·=:. "<.B$ ð="üö=?0 4ü=1 ü=22!12€> =1 >2D>3,˜>4 ˜>55!65 œ>= 65'c46K57Œ847 874°34 >99!4>:9 $ :. 9Œ> 93 >3 ž>944¨>;! ­>$ ;!'J!;üƒ>2# δ>1
!Ì2øÎö=?= 0<=B1 ´>0üº>?? 4À>@ À>AA!@AÄ>=@  Å>ADÚ>B,Ü>C Ü>DD!ED à>= ED'cCEKDFŒGCF GFC°BC Õ>HH!4Ñ>IH $ I. HŒÑ> HB á>B â>HC4ì>J! ñ>$ J!'J!JüÇ>2# Ïø>@
!ÌAøÏº>?L ?<LB@ ø>?üþ>?N !4„?O „?PP!OPˆ?=O'" ‰?PDž?Q, ?R  ?SS!TS ¤?= TS'#cRTKSUŒVRU VUR$°QR ™?WW!4•?XW $ X. W%Œ•? WQ ¥?Q ¦?WR4°?Y! µ?$ Y!'&J!Yü‹?2# м?O
!!ÌPøÐþ>?[ N<[BO ¼?NüÂ??] (4È?^ È?__!^_Ì? =^.) Í?_Dâ?`,ä?a ä?bb!cb è?= cb'*cacKbdŒead eda+°`a Ý?ff!4Ù?gf $ g. f,ŒÙ? f` é?` ê?fa4ô?h! ù?$ h!'-J!hüÏ?2# Ñ€@^
!( Ì_øÑÂ??j ]<jB^ €@]@l$š@mnn mn/
6d@ŒÑmAl/Q ž@m]olć@o120}
üÔ@)r à@ssÌã@tt Ù7r ¾st ü@tsüÐ@. Ö¿à‘بr ý@r
3¯@pplÛà‘º@qqp<·@ Ö¿à‘بq ½@qp3 †A! nl‡A4 Œüä5£ ü‡=€ü¤=㤪@u†¨ü™6!‰¤ ‰6,**‰¤+ü¨7FبÀ‰¤ÀÕj³%%%5<ÜÜìó£ªJJZaüÚ;5بÁ‰¤ÁÕj´ßÕ³sYpp//?Fõ
é
ÉÖ
ÿ 

ç Ü Ü    ÉÖª º Á  ÿ ÉÖ   $ ý
ò
ò
¯
¯
¯
ÉÖÀ
Ð
×
!

ÉÖ± + 3 :    ÅÅÅÉÖÖæí7+ÉÖÇAIP)ÛÛÛÉÖìüMAÉÖÝW_fêÖ@¸×A¸×JLª@à‘Rà‘=بó‰¤óÕjæ¾­´×e ´E!ƒƒ¨p16Á 32Á\ÚBLèBéB <ûB…C
,“C C
ü¢C“ 4¨C ¨C¬C = ­C ½C ÅC

4ÁC 
 $  .
H 
ÇC
,ÚD âD

¤âD
 däD
¥Ï
2$ñD0 ”äD õD
,„ETŒE E 
$E  •EìŒE
 d—EȈX$¤Ea ”—E ¨ED¸E,ÃE TÃEËE
 ÌEDÛE,æELæE îE
ü‡F]DŠF,¡F ; ,ÄF´ÄF
 dÊF
£Ï2×F
 „ÊF ÙF  ãF ‚FTúE $ . 
üúEjs äFüöF'œùFDùFD„G.
?  G G
{
,2 šG
¥
 œGüïF.
4¨G ­G$ ' Jü¯C†  ´G  Ò´GÃ
Ë uøÒ¢C“  = Ciü»G("D¾G#¾G$$#$ ÅG6#$$ØG Û¼à‘ âG#" ŠII h$ãG"
E#K"<íG&L÷G&øG,ŠH ' H '
ü™Ha
(
4ŸH
) ŸH
*
*'
)*£H=
) ¤H
*¬¹H
+tºH
,,ÂH
- ÂH
.
.'
/. ÆH=
/.'c
-/K
.
0-Œ ¢
0¬ -Æ
,-Û
1 ÌHö
21
2,>3
+,\ ÍH
,ӄH
3LÙH
4,ÙH
5 ÙH
6
6'
76 ÝH=
76'c
57K
6
85 áH¢
85'È
48K
5å
94ñ 
9 4-
34 ´H
:
:'4°H
;:$
;.:ü°H3
&:
+3 âH
3
+ ãH
:
4
-4íH
<' òH$
<''J
'<ü¦HT
 ÓùH
)ý

°
*øÓ™Ha
>
(<
>B
) ùH
(…I
@
@&L€I
Û¼à‘@ ˆI
@  '&!(% ü–BõüÖBµü÷B”üü¹CüüÖDßü€Eµü´Eü×EÞüéG¢ü†H… AêÖ„¿B¸×¬BßÕÀ œ  k ¨f f # #  Á
Á
r
r
r


Õ Õ © § v  
¬ª©ÉÖþW_f@>>äÇGà‘¤ dYYÉÖ'6FMÿÿÿÿÉÖÉÖ!0ýñÉÖ|öþà‘ß ´×ùnibblesÁÄ
badÁ§
´
®
 digitÁ°  alphaÁb is_digitÁñ is_alphaÁÇ ƒƒ &µñ
' 32Á16Á 32Á16Á$„…  ²üÏL±pÊmÊmc3 œ §®´üî@×q4‹Êm$Êmc3$ž!Lš! ³ ¢!©!üò 7ýrŒ!Êm$ƒ!Êmc3$œ#d•# Ê  #§#¸üç"@£t4„#Êm$û"Êmc3l&4&$&06  0U ž&ü¢&)T¥&4¥& ®& 6d²&b9 È&
 Ê&ü’&9   + BHÍ&ºüÑ%|
‰&4è%dô%1// ª´nibbleÁU alpha_offsetÁed£',µ'$½'
ü²'$Ë'
'! Ð'<Û'<å' æ' ,ö' þ'
ü…(¶ 4( (

 
(=  (
 ( ¨(  4¤(
 $ 
. H  ª( üÁ(#4Ï( Ï(  Ô(6BR <qYgd×(­
´lÁ(
ºÀ4Ö ã(,¸( ¸( ¼(= ' cKT´( $ . 
ü´(0Þ ä(üÿ(%D) )  $) ”)d—)X
_lÿ(ç¯i2  £)Lò(,ò( ò( ö(= ' cK  ú(¢  '
È Ktî(! $ !. üî(6C ¤)4®)" ³)$ "'J"ü’(©  º) ܺ) ù

«
øÜ…(¶$ =$C QÀ) Ä)Å)»üÙ&ìüŸ'¦ü×'îüò'Óüœ(Ÿ&ßÕD' à‘ð&,€'ˆßÕ'ç~â⟟=<<LSÊÉÖ$ÆÅÅUUUÉÖfÉÖw¡ÉÖC´¼ÃsrcÁ+upperÁ6á©ÅdstÁb´BÃÄ Â16Á 32Á 32Á(4Ÿ*¶*,»*̨*
 l¨*
»F6+ À*<Ë*<Õ* Ö*$,ç* ï*
üö*? ,ü*
ü*  
  €+=
$ L•+ œ+


' = G
a 
+4Œ+$$ .$”Œ+ + ž+
4¨+ ­+$ 'Jü‚+3  Ý´+
Ç
Ï ž øÝö*? <B
´+ ¾+4º+$$ .$lº+$Ã+- Ç+üÍ+D  4Ó+ Ó+×+ =
 Ø+Lñ+ ø+' = G  a,è+ è+ ì+= ' cKTä+ $$  .$
´ä+ ù+ ú+4„,! ‰,$ !'J!üÚ+7  Þ,.
6 áøÞÍ+D# <#B ,š,%%
<,&%$$ &.$%t,%$ ,- ¤,%üª,D' 4°,( °,))()´,=( µ,)LÎ,* Õ,++,+' = ,G +a*+,Å,- Å,../. É,= /.'c-/K.TÁ,0-$$ 0.$-´Á,-* Ö,* ×,-+4á,1 æ,$ 1'J1ü·,7  ßí,(.
6 á)øßª,D3 '<3B( í,'÷,55<ó,65$$ 6.$5tó,5$ý,- -5ü‡-D7 4-8 -9989-=8 -9L«-: ²-;;<;' = <G ;a:;,¢-= ¢->>?> ¦-= ?>'c=?K>Tž-@=$$ @.$=´ž-=: ³-: ´-=;4¾-A Ã-$ A'JAü”-7  àÊ-8.
6 á9øà‡-DC 7<CB8 Ê-7Ô-EE<Ð-FE$$ F.$E tÐ-E$Ú-- Þ-Eüä-DG !4ê-H ê-IIHIî- =H'" ï-ILˆ.J .KKLK' = LG K#aJK,ÿ-M ÿ-NNON ƒ.= ON'$cMOKNTû-PM$$ P.$M%´û-MJ .J .MK4.Q  .$ Q'&JQüñ-7  á§.H.
6!
áIøáä-DS G<SBH §.G­. ±.².¿üÑ)áü›*—üÇ*ëüã*ÏU$DŒ*÷·ì),ü)ßÕP÷·QCëÙüؼˆ¸¸ww ÉÖ°
*
2
9

÷    H H W ñ ñ ÉÖ  ÉÖ- §
¯


t



Å Å Ô n n ÉÖ  ÉÖª$,3 ñBBQëëÉÖüÉÖ'¡©°n
¿¿ÎhhÉÖyÉÖ¤&-¤¹µ¹ÂíÕ¹´m16Á$36Á$36Á16Á16Á16Á16Á16Á16Á16Á$Hyphenated::LENGTHÁ´•?”•?å ª?/ 2å0^oÝ}ˆÉÖåå{ _ }Á16Á$36Á$O„„O  “OšOæüÏNK±p$õNÊm$æNÊmcµ4<õwÊm xxïüÆw<Ú,åw ±p,ÛwÚe84ÊzÊmÖzðü›z;Êm$»z±p$²z ,&38Á$¬}d¥} Ê °}·}óüð|G£t$}Êm$‡}Êmcµ4<¾¦ Êm ʦ˦üü¦<Ú,®¦ £t,¤¦Úk;4ƒ©Êm©ýüÔ¨;Êm$ô¨£t$ë¨ / 32Á$å« dÞ« œ é«ð«ü©«G×q$Ï«Êm$À«Êmjµ7<ÜÓ Êm èÓéÓü­Ó<Ú,ÌÓ ×q,ÂÓÚk;4¡ÖÊm­ÖŠüòÕ;Êm$’Ö×q$‰Ö /-45Á$ñØ LíØ ³ õØüØü¸ØDýr$ÞØÊm$ÏØÊmjµ7<ò‚ Êm þ‚ÿ‚üÂ<Ú,â‚ ýr,Ø‚Úk;4«…Êm·…üü„;Êm$œ…ýr$“… /$ Self::LENGTHÁ$ Self::LENGTHÁ  Self::LENGTHÁ  Self::LENGTHÁ- Self::LENGTHÁ- Self::LENGTHÁ& Self::LENGTHÁ& Self::LENGTHÁ@Ò²0x01B2_1DD2_1381_4000Áô¤
"¼¤
¾/? Á<d” Â| <

 
 «
üÍ ¡ Ï Û  áâü¹©ü†Ü ¹x ø÷ÛãXŸQ\üP‹Qu©
<œÑüõz ¡ îõ·üמ ¹xd<­œÄÔȼ°üPCQGŸQK®QOŒüÒ%>dð%Œþ%9
@ìÒ%
½L9b
&ôž&¬ž&dŸ&  ²&> 4¶&ÿ? »&üÄ%ƒ  Æ&Í&»ü‹%ÂT¯% ¹x,¥%0/ÔÓÒ8adî)Œü)üí)!  *”*¼ü¹)[åôTØ)¬ú,Î)t<üæ*Uüš+ <š+
#d¢+
 Ó0T¯+€–˜Ä¢+ ¹+n
ud+
œÓÌæ*±
ü+. º+”Ö+dÖ+,Ö+ á+9 å+dVj  z Dd ç+üæ*ƒ
 dÉ+®ýpÄüÉ+  è+ï+½üš*Õ
Ø*<»*,É*ÏÎÍ555LüPLnanosÁU ±üÂ,:üÂ,-,Â,
#dÈ,
žÓ0ÌÕ,±
üÈ,' î,iTò,€–˜š  ª D€–˜ û,üŠ-IüŠ-CüŠ-<ü‹-- ,-


#d-£
-Ìž-±
ü‘-' ·-
f T»-€–˜ƒ   §
 D€–˜ Å- Ö Ì-õ Ð-d  $d6  Ò-ü´,ª  Ý-ä-¾üõ+ï
åôTŸ,,,tsrÃÂÁÀ¿ØõÛãfš±Ç±,ê/<ñ/üË/.

ôË/
E7, ø/ÿ/Àü…/z¹x$¼/,Ÿ/<«/ŸÛã$ŸQ(R$Š1œŠ1
 d1
»3t1 œ1£1ÁüÓ0PŸúTõ0¬ú,ë0¬ú~6ù{@#ù|ž"#
ùúž"#
¶cü3\Zþ£
AP
Wá{#
ÜWcuÂüÇ2ì2¬ú,â2ù{Üì#®äÈäÈ ArgumentsÁæÈtemplateÁ `çÈÀ `üöMõô]Tdør,Ê5<Ñ5ü«5.

ô«5§‡C5* Ø5ß5Ãüã4|¹x$œ5,ÿ4<5Ûã$ŸQ(RD¹>¬Ä>,Å> \Í>ÿÿÿÿ Ø>äÄ> ß>Dê>Äõ>lö> ,÷>

 €? 6  B@R  
< q 
Y  ?
  4†?ÿÿ Œ? üõ> “?¬ž?
ü¶?!Ä·?l¸?,¹?Â?06B@R <0 qY0 Ä? 4È?ÿ Î?Ì Ö?LÚ?à? #/?  Û?G i(m ü¶?-

 â?4î?4÷? ø?üŒ@!Ì@”Ž@<@ 4™@? Ÿ@E ¤@`l| <Y ¥@Æ ¬@ ‡@,„@$ . ü„@0
$°@ ³@ ´@„Â@ <Ã@!!  !$Í@ÿ Ñ@! ½@"",º@#"$ #."ôº@"  ×@ Ø@"Tæ@$ î@%%*&%6L &V%p$% á@'',Þ@('$ (.'”Þ@'$ ï@$ ð@'%Tþ@) †A***+*6L +V* p)* ù@,,,ö@-,$ -.,
”ö@,) ‡A) ˆA,*TA. žA//*0/6L 0V/ p./ A11,ŽA21$ 2.1 ”ŽA1. ŸA.  A1/T®A3 ¶A44*546L 5V4
p34 ©A66,¦A76$ 7.6”¦A63 ·A3 ¸A64TÆA8 ÎA99*:96L :V9p89 ÁA;;,¾A<;$ <.;”¾A;8 ÏA8 ÐA;9TÞA= æA>>*?>6L ?V>p=> ÙA@@,ÖAA@$ A.@”ÖA@= çA= èA@>DBBBDBCC¬•BDD
¬BEFFEFüïAA

ŒïAÛøB}CoDaES4 ¯BEDCB ±B
F²BÊü¼=öüµ>ýüæ>Ìüš?˜üê?ÈGÊm$ª>,ð=<€> ä<>Ô Ô Ô        Ô Ô Ó Ó Ó ã ê ! ) 0 ¦
i
h
h
h


¼ ¡ 3 3  ë˜"¢¢±; »»ÊT9ÔÔãmRííükŸ ¦ÿ¦Ûã)ŸQ.úã3time_lowÁtime_midÁÅtime_high_and_versionÁ
©y ç,ˆC$C|C
 D•C
æ3T•C žC,ªCü·Cëü·CÊü·C¨ü·C†ü·Cd ü·CB
ü·C  Ô·C Œ¸C
D¹C ¿C*6L Vp
 $ÄC ÈC¯ 
 ÐC
ÎÕC8éõ@  =8%  [8 ÖC ¼âCŒâCDãC éC*6L Vp òC¤÷C0¿Ë@Û <0 úY0 øCm

  ¼„DŒ„DD…D ‹D*6L Vp ”D¤™D(¿ Ë@Û  <( úY( šD® 


¼¦D!Œ¦D"D§D# ­D$$*%$6L %V$p#$"# ¶D#¤&»D ¿'&Ë@Û '"<  ú!"Y  ¼D"ð
 !! ¼ÈD(ŒÈD)DÉD* ÏD++*,+6L ,V+
p*+)* ØD*¤-ÝD¿.-Ë@Û .)< ú()Y ÞD)2
((¼êD/ŒêD0DëD1 ñD22*326L 3V2 p1201 úD1¤4ÿD¿54Ë@Û 50<
ú/0Y €E0t
//´ŒE6ŒŒE7DE8 “E99*:96L :V9p8978 œE8¤; ¡E¿<;Ë@Û <7<
ú67Yg7´
6}6ƒŒ­E=D®E> ´E??*@?6L @V?p>?=> ½E>ü·C‡
==! ¾E?92+$ &,<ÉEAüØEBÔØECŒÙEDDÚEE àEFF*GF6L GVFpEFD E$åE? éEE¯CD ñEDÎH öEéIHõ IC=%BC[iCŒúEJDûEK FLL *ML6L MVLpKLJK ŠFKüØE3A
BJJ B FLF,“FNN<šFOOA„’F NO ¡FON £FA¤FÍü´Bðü„C ü¦CþüÅE_PŸúTóBÚ$ãB÷·Ù ÚÚ         Ž Ž Ž Ž  ¾ Å      ¬ ³ ƒ
ƒ
ƒ
ƒ

ª
±
     ¨ ¯ ަ­}}}}Œ¤«{{{{Š¢©{{{Š­­¬¬¬¬»Ü㥥¥´üñµl×ÈJÛãŸQMAÔLªGì¶Gl·G,¸GÁG6 B@R  <
qY ÃG \ÇGÿÿÿÿ ÒGü¶G$ ÙGDäG
ÄïG lðG ,ñG

úG 6B@R 
< q 
Y  üG
   4€Hÿÿ †H üïG
  H ¤˜H̯H„°H,±H 4¹Hÿ ¿HK ÇH\ËHÓH #/? ÌHG i(m ü¯H'
 ÕH4áH4êH ëHüÿH!Ì€II<I 4ŒI? IE —I`l| <Y ˜IÆ ŸI úH,÷H$ . ü÷H0
$£I ¦I §I„µI <¶I!!  !$ÀIÿ ÄI! °I"",­I#"$ #."ô­I"  ÊI ËI"TÙI$ áI%%*&%6L &V%p$% ÔI'',ÑI('$ (.'”ÑI'$ âI$ ãI'%TñI) ùI***+*6L +V* p)* ìI,,,éI-,$ -.,
”éI,) úI) ûI,*T‰J. J//*0/6L 0V/ p./ „J11,J21$ 2.1 J1. J. “J1/T¡J3 ©J44*546L 5V4
p34 œJ66,™J76$ 7.6”™J63 ªJ3 «J64T¹J8 ÁJ99*:96L :V9p89 ´J;;,±J<;$ <.;”±J;8 ÂJ8 ÃJ;9TÑJ= ÙJ>>*?>6L ?V>p=> ÌJ@@,ÉJA@$ A.@”ÉJ@= ÚJ= ÛJ@>LôJBBDÿJCC
¤‰KDDŸKEFFEFüâJA

ŒâJÛøB}CoDaES4 ¢KEDCB ¤K
F¥KÎü¦Fÿü¦GÿüàGÅü”H‘üÝHÈGÊm$G,áF<ñF ä<ƒGÔ Ô Ô Ô ä ë     / 6 j j j j ! ) 0 ¦
i
h
h
h


¼ ¡ 3 3  ë˜"¢¢±; »»ÊT9ÔÔãmRííükŸ ¦ÿ¦Ûã)ŸQ.úã3 time_highÁòª>
time_low_and_versionÁz
©r à,L$ŠL|ŠL
 DL­1TL ˜L,¤Lü±Lìü±LÃü±L¡ü±Lü±L] ü±L;
̱L œ±L T²L
¹L*6L Vp
 
 ÃL
¤ÈL4¿Ë@Û  <4ú  Y4 ÉL ¼ÕLŒÕLDÖL ÜL*6L Vp åL¤êL,¿Ë@Û <, úY, ëLA

  ¼÷LŒ÷LDøL þL*6L Vp ‡M¤ŒM$¿Ë@Û <$ úY$ M 


¼™M Œ™M!DšM"  M##*$#6L $V#p"#!" ©M"¤%®M¿&%Ë@Û &!< ú !Y ¯M!Ã
    ¼»M'Œ»M(D¼M) ÂM***+*6L +V*
p)*() ËM)¤,ÐM¿-,Ë@Û -(< ú'(Y ÑM(
''¼ÝM.ŒÝM/DÞM0 äM11*216L 2V1 p01/0 íM0¤3òM ¿43Ë@Û 4/< 
ú./Y  óM/G
..ôÿM5ÌÿM6„€N7DN8 ‡N99*:96L :V9p897 8ŒN N8¯67 —N7Í; œNè<;ô@ <6=
$56[i6²
55Œ¨N=D©N> ¯N??*@?6L @V?p>?=> ¸N>ü±Lˆ
==! ¹N?91*# &,<ÄNAüÓNBÔÓNCŒÔNDDÕNE ÛNFF*GF6L GVFpEFD E$àN? äNE¯CD ìNDÎH ñNéIHõ IC=%BC[iCŒõNJDöNK üNLL *ML6L MVLpKLJK …OKüÓN3A
BJJ B †OLF,ŽONN<•OOOAO NO œOON žOAŸOÑü§KøüþK¡ü LÿüÀN_PŸúTíKÚ$ÝK÷·Õ ÚÖ        Ž Ž Ž Ž  µ ¼ ¨ ¨ ¨ ¨ · Ï Ö ¦
¦
¦
¦
µ
Í
Ô
¤ ¤ ¤ ¤ ³ Ë Ò ¢¢¢¢±ÉР   ¯ÇΞžžžž­ÍÔ{{{Š­­¬¬¬¬»Ü㥥¥´üñµl×ÈFÛãŸQMAÔ\Pô«Pt¬P4­P·P6B@R <qY ¹P \½Pÿÿÿÿ ÈPü«P% ÏPTÚP ŒçP
4èP  
  4ñPÿÿ ÷P ÄçP 
 þP
´ŠQ ü£Q[
ô¤Q¼¤Q ¹Q*6
L V

p ÁQüÍQ0üÍQ'üÎQ ¼ÏQ äQ*6
L V
p íQ¦ òQÁÍÝ <
üY óQ' 4÷Qÿ üQï

 ýQ\‰RR #/? ŠRG 
i(m ü£Qq 

 “R
”R4ŸR4¨R ©Rü½R ¼¾R ÓR  *! 6
L !V
p  $ØR? ÜR ¸R"",µR#"$ #."üµR/"
$àR ãR äR" ¼òR$ ‡S%%*&%6
L &V
%p$% íR'',êR('$ (.' üêR'$ ˆS$ ‰S'%¼—S) ¬S***+*6
L +V
*
p)* S,,,S-,$ -., üS,) ­S) ®S,*¼¼S. ÑS//*0/6
L 0V
/ p./ ·S11,´S21$ 2.1
ü´S1. ÒS. ÓS1/¼áS3 öS44*546
L 5V
4p34 ÜS66,ÙS76$ 7.6üÙS63 ÷S3 øS64¼†T8 T99*:96
L :V
9p89 T;;,þS<;$ <.;üþS;8 œT8 T;9¼«T= ÀT>>*?>6
L ?V
>p=> ¦T@@,£TA@$ A.@ü£T@= ÁT= ÂT@>¼ÐTB åTCC *DC6
L DV
CpBC ËTEE,ÈTFE$ F.EüÈTEB æTB çTEC\€UGGTUHH ´™UII ±UJKKJKüîTG

ŒîTÛøG}HoIaJS4 ´UJIHG ¶U  K·UÒü¡O–ü™PžüÖPáü†Q±ü›RœLÊm$ŽP4×OÎó¤èO!!!!18l
l
l
!
!



/
£ ¢ ¡     ¯ É Ð y  ˆ ¦×
³
²
²
Á
*

 ª 4  ³³ÂL1ËËÚdIããò|aûû
y"¬++:Ä©C8-¦#¦,ƒóM–óR millis_highÁƒ
millis_lowÁµ counter_random_versionÁt ©² 
10Á
,ˆV$V|V
 D•V­1T•V žV4ªVü¸Vžü¸V}ü¸V[ü¸V9¼¸V Œ¸V
D¹V ¿V  *
 6L 
V p  
  ÈV ¤ÍV(¿Ë@Û 
<(ú 
Y( ÎV
¼ÚVŒÚVDÛV áV*6L Vp êV¤ïV ¿Ë@Û <  úY  ðVA
  ¼üVŒüVDýV ƒW*6L Vp ŒW¤‘W¿Ë@Û < úY W
¼žWŒžWDŸW ¥W!!*"!6L "V!p !  ®W ¤#³W¿$#Ë@Û $< úY ´WÃ
´ÀW%ŒÀW&DÁW' ÇW((*)(6L )V(
p'(&' ÐW'¤* ÕW¿+*Ë@Û +&<
ú%&Yg&
%}%ƒŒáW,DâW- èW..*/.6L /V. p-.,- ñW-ü¸Vº
,,! òW.(!  4ùW €XXÕü¹UÈü„Výü¦VÛ0úUÚ$êU÷·»Ú¼}}{zyxxxxŸ¦¡¹ÀŸ·¾ŽŽŽŽµ¼ŒŒŒŒ³ºŒŒŒµs×È3 ƒóñÅLá  ìΠ ìõz ê ù õü‚ wÃz$·  ®®£°èz¨it§ÅLS¶õzL“ ¦¿Ÿ local_keyÁr16Á16Á16Á0u8Á0x0fÁ0u8Áü§nw  $±nk$·n§$½n¸$Ãn$Én$Ïn­$Õn$ÛnÑ$án$çn´$ín$ónÀ$ùnO$ÿnÔ$…o0$“oÈü¢n} ù žoü‚nžÖÊm$›nà‘-/ü…pw  $pk$•p§$p¸$¡p$§p$­p­$³p$¹pÑ$¿p$Åp´$Ëp$ÑpÀ$×pO$ÝpÔ$ãp0$ñpÈü€p} ù üpüàož×Êm$ùoà‘-/üæqw  $ðqk$öq§$üq¸$r$ˆr$Žr­$”r$šrÑ$ r$¦r´$¬r$²rÀ$¸rO$¾rÔ$Är0$ÒrÈüáq} ù ÝrüÁqžØÊm$Úqà‘-/üÇsw  $Ñsk$×s§$Ýs¸$ãs$és$ïs­$õs$ûsÑ$t$‡t´$t$“tÀ$™tO$ŸtÔ$¥t0$³tÈüÂs} ù ¾tü¡sŸÙÊm$»sà‘-/ |óz$óz
$Døz­/Tøz { ƒ{”óz$ . ”{„™{ D™{
™{  
  ${  { E 
$¥{`  ¨{
 d­{ æ ¸{ L
R # Ç{

„Ì{DÌ{ Ì{
 $Ð{À Ó{E$Ø{` Û{  „à{ æ ï{ 
 LR#
þ{„ƒ|Dƒ| ƒ| $‡|à Š|E$|À` ’|”—| æ ¨| LR# ·|„¼|D¼| ¼| $À|à Ã|E$È|à`
 Ë||Ð| æ Þ| LR#|Ÿ~ æ  ¾~¿~Úü¸z‡ü”{%üÇ{)üþ{+ü·|(»o<ÛzÚ,Ñz÷·ÆÚÇŠo ÷·{; F666§Ö{{{ǧÖÐÀÀÀ §Ö ÚÃìÃøÃ! Ã-
ÃVÃbÃÃÌŒ„|$ 
&D’„­1T’„ ›„  ~Š  ªÄÛ £„÷   ?4] ¤„üŒ„" ­„ ³„ ´„ÛüÕƒ_
,üƒÚ,òƒ¹¸÷·¸Ú¸wÙêñLp´¬Œ$¬Œ 
&|±Œ
Û3Œ±Œ ÁŒ䦌

 Û¼–€ 
&
ê3  ¾¬œ Û¼–€ ° Œ÷Ž  ¾¼òŽ Û¼–€ ˆ „ÎŽ

¾´ÉŽ Û¼–€
ÞŽ
 l¨Ž  ¾œ£Ž Û¼–€ µŽ  |€Ž  ¾¬û Û¼–€ Ž  

¾”Ö Û¼–€
ç
   ¾”± Û¼–€   d  ¾”Œ Û¼–€  lÖŒ$ÖŒ 
&4ی
é3
DÛŒM ⌠dìŒ  ¾”çŒ Û¼–€ øŒ W] ÑŒW Ò   ¾ ”× Û¼–€ è W]¿ Üü鋨ۼݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ–€|ŒŒÚ,‚Œ÷Ú÷  ìÚì–€–€O–€ –€ñ–€B–€–€ä–€5–€ØÚØ–€u¢
„»°|¼°$¼° 
&DÁ°­1TÁ° ʰ[ü§°%
 œ§°
ùÔ* ˰ ѰÒ°ãüù¯Y$˜°Ú,ްà‘ß÷·ÞÚÝ$H¸|‘¸$‘¸ 
&D–¸­1T–¸ Ÿ¸[üü·%
 œü·
ûÔ*  ¸ ¦¸§¸äüË·\$í·Ú,ã·à‘ß÷·ÞÚÝ$H,Ľ$̽ t̽

<ѽü˜4Lѽ Ù½¤å½lå½,æ½ ï½@9EU =@
tZ@ ñ½  ø½dû½ ,û½
 
 
 †¾
üä½$  ‡¾   ¾޾åüˆ½üÀ½N T«½Ú,¡½²Ú²nml}ÞÜR»<´Ä à‘ ÀÄÁÄæüƒÄ>÷·4£ÄÚ,™Ä÷·j94¯Èà‘»ÈçüþÇ=à‘,ŸÈÊm$–È 0LÌÐ ÓÐ ,8N Xrà‘L×Ð ÞÐ ,8N Xrà‘LâÐ éÐ  ,
 8N 
X rà‘ LíÐ ôÐ  ,
 8N 
X r à‘ LøÐ ÿÐ ,8N Xrà‘LƒÑ ŠÑ ,8N Xrà‘LŽÑ •Ñ ,8N Xrà‘L™Ñ  Ñ ,8N Xrà‘L°Ñ ·Ñ ,8N X rà‘L»Ñ ÂÑ  ,8N X
rà‘TÆÑ ÍÑ! !
,"!8N "X! r à‘!TÒÑ#ÙÑ$ $ ,%$8N %X$ r#à‘$TÞÑ&åÑ' ' ,('8N (X'
r&à‘'TêÑ)ñÑ* *
,+*8N +X*r)à‘*TöÑ,ýÑ- -,.-8N .X-r,à‘-TŽÒ/•Ò0 0,108N 1X0"r/à‘0ü¾Ðå   #&),/ ¢Ò/ ,)&#! '-39?EK QW] ¨Ò0 -*'$!!'-39?EK Q W]©Òèü‹Ðž2à‘,®ÐÚ,¤Ð  Ÿ " ! 1 ´³ÃFEUØ×çjiyüû Ž /²±ÁDCSÖÕåhgwúù Œ-|£tŠÓ$ŠÓ 
&<Óü˜1LÓ —ÓÜŠÓLœÓïÓ ¤Ó«ÓéüÝÒN$ûÒÚ,ñÒ°Ú¯>nïÓt‹Ô$‹Ô 
&<Ôü˜1LÔ ˜ÔÜ‹ÔLÔðÓ ¥Ô¬ÔêüÞÓN$üÓÚ,òÓ°Ú¯>nðÓ¬àÚ áÚ-ûÚëüŸÚ\-´¿Ú'-fmt::Urn::LENGTHÁ-fmt::Urn::LENGTHÁ”Àß$Àß 
&\Åß
Ü3lÅß ÑßTĺß$Ãå Û¼¹xÛ–€I4µã$æã ü¾ã-
 ü¾ã'
Õ8 *üðá2$â 
'üðá,
Ñ4 Fü à+$Æà  
'ü à%
Í 4F Êà ,Žà <•à  Ëàüãà.
,‚á   <‰á   2
9ôãে C 4
Z á   üÞà4 Û¼¹x
‘á
Ÿá  ¡â,Þá

<åá  ¢âüºâ.,Ùâ 
<àâ 2
9ôºâ§‡C4
Z çâ üµâ4 Û¼¹x èâ öâ 
 êã<‚ä4Œä lŒä$•äè!5  E Eè ˜ä,¯äì·ä|¸ä4¹ä $Âäè;O 
_
Eè ÆäLÊä@B² (@B
Ø Óäü·ä$ Úäüóä/<å   ,–å! !2
9Ìóä
· E!6 å  å
 ¡å!  üîä5 Û¼¹x ¢å °å  ×åØåîüùÞßü‰àüÙážü±ãüþã³ü«ä"Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¹xŒžßÚ,”ßéå¹Ú¹dæß”áß9)ŸúÚœ¹x" wŸú!Ú ¹xpnbÚæåØtsrq¹xÛã0ŸQ$Ûã]
ŸQQƒóLüPÁÿ”¿ç$¿ç 
&\Ä縎1lÄç ÐçRĹç$ðê Û¼¢äÛ–€J\¥è4³è ´èTÙèàè 
, 8N  Xrà‘ Ôè
 
TÌè 
%  /
¼Ìè
 âè ãè
 T‚é ‰é
 
 ,
8N X
r à‘
ýè Tõè% /¼õè ‹é Œé 
T«é²é  ,8N X rà‘ ¦é Tžé% /
¼žé ´é µé TÔéÛé 
,8N X rà‘ Ïé TÇé% / ¼Çé Ýé Þé Týé„ê ,8N X
rà‘ øé Tðé% /¼ðé †ê ‡ê T¦ê ­ê! !,"!8N "X!r à‘! ¡ê# #T™ê$#% $/# ¼™ê# ¯ê °ê# !<Èê% %lÃê Û¼¢ä% Ïê% Ýê  „ë…ëïüüæü¡è½&Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¢ä|ŸçÚ,•çéå[Ú[dåç”àç¢äÉ¢¡±4¯®¾A%¼»ËN2ÉÈØ[?ÖÕåhLãâòuY¢äñ(úãϬ”ô
ˆ%çe0Êm7> Œ$Ÿf/Žg6=Œà °%Žg0þ£8?üÖ ! ¾¿+ب7‰¤?ÕjFM¬Ï òó%¡l0°š8?¬· %±p0Êm7>Œï œ%×q0Êm7>t­ ³´%ýr0Êm7>Œï ÊË%£t0Êm7>üÒœ) ìõzí*Ãz5¦¿=D|¤m ùú%Êm0à‘8?DOn”®šž´ËÓùúæ¾íÀ:µŽ$è;šeŽ e4î;¢e¡RL”<´¡Rµþ,lŸ<טëPL®<¡A<ýBЧ,CŒÑ§ÑŠHTCòÒüáÒ”üá>; Generate and parse universally unique identifiers (UUIDs).Á úü¤  Here's an example of a UUID:ÁÅú ```textÁüÕ(% 67e55044-10b1-426f-9247-bb680e5fe0c8Á ```ÁúüŠHE A UUID is a unique 128-bit value, stored as 16 octets, and regularlyÁüÓMJ formatted as a hex string in five groups. UUIDs are used to assign uniqueÁü¡MJ identifiers to entities without requiring a central allocating authority.ÁïúüóNK They are particularly useful in distributed systems, though can be used inÁüÂOL disparate areas, such as databases and network protocols. Typically a UUIDÁü’OL is displayed in a readable string form as a sequence of hexadecimal digits,Áüâ%" separated into groups by hyphens.Áˆ úüŒ GD The uniqueness property is not strictly guaranteed, however for allÁüÔ OL practical purposes, it can be assumed that an unintentional collision wouldÁÔ¤
 be extremely unlikely.Á¿
úüÃ
zw UUIDs have a number of standardized encodings that are specified in [RFC 9562](https://www.ietf.org/rfc/rfc9562.html).Á¾ ú¬Â  # Getting startedÁØ úüÜ +( Add the following to your `Cargo.toml`:Áˆ ú  ```tomlÁ¼˜  [dependencies.uuid]Á´°  version = "1.24.0"ÁüÇ $! # Lets you generate random UUIDsÁ„ì
features = [Á
"v4",Á,
<
×»
úü
/, When you want a UUID, you can generate one:ÁÍ
ú
×»ŒÙ
 # fn main() {Áäë
 # #[cfg(feature = "v4")]Á<ˆ # {Áœ use uuid::Uuid;Á¤úä¨ let id = Uuid::new_v4();Á # }ÁÝÇ×»ÝúüáIF If you have a UUID value, you can use its string literal form inline:Á«ú׻ܷ use uuid::{uuid, Uuid};ÁÓúü×C@ const ID: Uuid = uuid!("67e55044-10b1-426f-9247-bb680e5fe0c8");Á<×»£úü§*' # Working with different UUID versionsÁÒúüÖjg This library supports all standardized methods for generating UUIDs through individual Cargo features.ÁÁúüÅda By default, this crate depends on nothing but the Rust standard library and can parse and formatÁüªa^ UUIDs, but cannot generate them. Depending on the kind of UUID you'd like to work with, thereÁüŒ30 are Cargo features that enable generating them:ÁÀúüÄEB * `v1` - Version 1 UUIDs using a timestamp and monotonic counter.ÁüŠ@= * `v3` - Version 3 UUIDs based on the MD5 hash of some data.ÁüË.+ * `v4` - Version 4 UUIDs with random data.ÁüúA> * `v5` - Version 5 UUIDs based on the SHA1 hash of some data.Áü¼EB * `v6` - Version 6 UUIDs using a timestamp and monotonic counter.Áü‚41 * `v7` - Version 7 UUIDs using a Unix timestamp.Áü·52 * `v8` - Version 8 UUIDs using user-defined data.Áíúüña^ This library also includes a [`Builder`] type that can be used to help construct UUIDs of anyÁüÓa^ version without any additional dependencies or features. It's a lower-level API than [`Uuid`]Áüµ]Z that can be used when you need control over implicit requirements on things like a sourceÁ”“ of randomness.Á¦úüª'$ ## Which UUID version should I use?ÁÒúüÖeb If you just want to generate unique identifiers then consider version 4 (`v4`) UUIDs. If you wantÁü¼\Y to use UUIDs as database keys or need to sort them then consider version 7 (`v7`) UUIDs.Áü™XU Other versions should generally be avoided unless there's an existing need for them.Áòúüöfc Some UUID versions supersede others. Prefer version 6 over version 1 and version 5 over version 3.ÁÝú¤á # Other featuresÁöúüúGD Other crate features can also be useful beyond the version support:ÁÂúüÆJG * `serde` - adds the ability to serialize and deserialize a UUID usingÁt `serde`.Áü JG * `borsh` - adds the ability to serialize and deserialize a UUID usingÁ `borsh`.ÁüúJG * `arbitrary` - adds an `Arbitrary` trait implementation to `Uuid` forÁ fuzzing.ÁüÔVS * `fast-rng` - uses a faster algorithm for generating random UUIDs when available.Áü« UR This feature requires more dependencies to compile, but is just as suitable forÁü!%" UUIDs as the default algorithm.Áü§!?< * `rng-rand` - forces `rand` as the backend for randomness.Áüç!IF * `rng-getrandom` - forces `getrandom` as the backend for randomness.Áü±"TQ * `bytemuck` - adds a `Pod` trait implementation to `Uuid` for byte manipulationÁ†#ú¼Š# # Unstable featuresÁ¢#úü¦#IF Some features are unstable. They may be incomplete or depend on otherÁüð#&# unstable libraries. These include:Á—$úü›$GD * `zerocopy` - adds support for zero-copy deserialization using theÁÌã$ `zerocopy` library.Áý$úü%74 Unstable features may break between minor releases.Á¹%úü½%JG To allow unstable features, you'll need to enable the Cargo feature asÁüˆ&OL normal, but also pass an additional flag through your environment to opt-inÁüØ&  to unstable `uuid` features:Áù&ú\ý&‘»ü‰'# RUSTFLAGS="--cfg uuid_unstable"Á<­'×»
"v7",Ál)
"js",Á,)ÈÅ<£)×»«)ú|¯) ## EmbeddedÁ¿)úüÃ)EB For embedded targets without the standard library, you'll need toÁü‰*2/ disable default features when building `uuid`:Á¼*ú\À*˜Ä¼Ì*¬Ä´ä*ÌÄäû* default-features = falseÁ<˜+×» +úü¤+B? Some additional features are supported in no-std environments:Áç+úüë+'$ * `v1`, `v3`, `v5`, `v6`, and `v8`.Át“, * `serde`.Á¢,úü¦,KH If you need to use `v4` or `v7` in a no-std environment, you'll need toÁüò,VS produce random bytes yourself and then pass them to [`Builder::from_random_bytes`]ÁüÉ-/, without enabling the `v4` or `v7` features.Áù-úüý-RO If you're using `getrandom`, you can specify the `rng-getrandom` or `rng-rand`ÁüÐ.PM features of `uuid` and configure `getrandom`'s provider per its docs. `uuid`Áü¡/=: may upgrade its version of `getrandom` in minor releases.Áß/útã/ # ExamplesÁò/úüö/B? Parse a UUID given in the simple format and print it as a URN:Á¹0ú<½0×»¬Å0 # use uuid::Uuid;ÁüÛ0,) # fn main() -> Result<(), uuid::Error> {Áüˆ1GD let my_uuid = Uuid::parse_str("a1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8")?;ÁÐ1úüÔ1" println!("{}", my_uuid.urn());Ád÷1 # Ok(())Á<„2ÝÇ<Œ2×»”2úü˜2@= Generate a random UUID and print it out in hexadecimal form:ÁÙ2ú<Ý2×»üå2>; // Note that this requires the `v4` feature to be enabled.Á¬¤3ÍðŒº3ÁÆôÌ3 # #[cfg(feature = "v4")] {Áüë3! let my_uuid = Uuid::new_v4();Á4úä‘4 println!("{}", my_uuid);Á<®4ÝÇ<¶4ÝÇ<¾4×»Æ4ú„Ê4
# ReferencesÁÛ4úüß4li * [Wikipedia: Universally Unique Identifier](http://en.wikipedia.org/wiki/Universally_unique_identifier)ÁüÌ5_\ * [RFC 9562: Universally Unique IDentifiers (UUID)](https://www.ietf.org/rfc/rfc9562.html).Á¬6úü°6;8 [`wasm-bindgen`]: https://crates.io/crates/wasm-bindgenÁ%https://www.rust-lang.org/favicon.icoÁ„à8<https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.pngÁlŒ8https://docs.rs/uuid/1.24.0Ál 9DOn”®šž´ËÓùúæ¾íý Àþ µý Žü šeŽ! eü ¢e¡Rû ´¡R !µþ,û טëPú ¡Aù Чø ŒÑ§ !ÑŠHø òÒò!õ!ø!„‚:ï!T÷:4û:ŒüEB Parse [`Uuid`][uuid::Uuid]s from string literals at compile time.ÁFúdJ ## UsageÁWúü[@= This macro transforms the string literal representation of aÁüœMJ [`Uuid`][uuid::Uuid] into the bytes representation, raising a compilationÁüê*' error if it cannot properly be parsed.Áú|™ ## ExamplesÁ©úô­ Setting a global constant:ÁÌú×»ìØ # use uuid::{uuid, Uuid};ÁüöVS pub const SCHEMA_ATTR_CLASS: Uuid = uuid!("00000000-0000-0000-0000-ffff00000000");ÁüÍUR pub const SCHEMA_ATTR_UUID: Uuid = uuid!("00000000-0000-0000-0000-ffff00000001");Áü£UR pub const SCHEMA_ATTR_NAME: Uuid = uuid!("00000000-0000-0000-0000-ffff00000002");Á×»úô… Defining a local variable:Á¤ú×»¬° # use uuid::uuid;ÁüÆFC let uuid = uuid!("urn:uuid:F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4");Á<׻ܕ Using a const variable:Á×»¬¹ð‚üÏB? const UUID_STR: &str = "12345678-1234-5678-1234-567812345678";Áü’ let UUID = uuid!(UUID_STR);Á×»ºúü¾>; [uuid::Uuid]: https://docs.rs/uuid/*/uuid/struct.Uuid.htmlÁ(|ýß& Ÿ ž
 ¥ °, ¦8µ& «8*² µ
  š
88OUTPUTÁ& Ì, Î8'Ô8“V Û8, ã8'é8“V'ï8¬ ú , û8µ 
, 8, ' 8¡<|˜ '§ 8«©  «  ­ 8À ¬ *¯ 8À ² $ ³ , Á 8'Ç 8¡<'Ø 8Ú  Ý  ß 8 Þ *á 8Á
 é  ê  ù 7 invalid UUIDÁ$ ú %
8é†4
% œ
üï !³ »zerocopyÁ¤Ö üÆ %ü *ü¹ 5¤ü 
 Õ

 ž
,
8° ˜
&
8
* 
 £
 Ó
8"
 ¬
 Ñ
8í
'²
8í´
'·
8
'Â
 Ä
 Å
8 Æ
$ Ç
 É
8 Ê
 Ë
 Ì
 Ï
, Í
8° Î
ì¹³ l‘»½Š¤ ü%üŒ*üƒ5„Æ Ö  Ü ä, Ý8° Þ& ß8*æ é 8" ò  8í'ø8íú'ý8Lÿ'ˆ Š8 $ Œ8 Ž   , 8° \„;<ˆ;ˆ¼'LÀ
® Ö<,Ë
Ó “V$Ò
ù
“Vú
ƒU<Ø
ææR<á
¾§ Œ
§
BLå 
ŠE\è ¾
ŠE¿
ÉFlì Ù


éëÚÜËÍ©«šœL
Êm !"ÔÇ
üŸ

 The 'nil UUID' (all zeros).ÁÃ
úüË
H
E The nil UUID is a special form of UUID that is specified to have allÁ̘
 128 bits set to zero.Á
ú„¾
àõÓ
úüÛO
L * [Nil UUID in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-5.9)Á¯
ú
ÅïÊ
ú„Ò
Basic usage:Áç
ú
×»¬û
ÍðÜ•
 let uuid = Uuid::nil();Áµ
ú
assert_eq!(矄/
, "00000000-0000-0000-0000-000000000000",Áü…&
# uuid.hyphenated().to_string(),Á
 );Á
×»Ô
Êmç
Ô¸
ô‘
 The 'max UUID' (all ones).Á´
úü¼H
E The max UUID is a special form of UUID that is specified to have allÁĉ
 128 bits set to one.Á¦
ú„®
àõÃ
úüËP
M * [Max UUID in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-5.10)Á 
ú
Åï»
ú„Ã
þ“Ø
ú
×»¬ì
Íð܆
 let uuid = Uuid::max();Á¦
ú
í”üÂ/
, "ffffffff-ffff-ffff-ffff-ffffffffffff",Áüö&
¿•
î•
×»Å
Êm
õ
üýI
ü…*
' Creates a UUID from four field values.Á´
ú
ÅïÏ
ú„×
þ“ì
ú
×»¬€
ÍðÄš
 let d1 = 0xa1a2a3a4;Á¤·
 let d2 = 0xb1b2;Á¤Ð
 let d3 = 0xc1c2;Áüé>
; let d4 = [0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8];Á¬
úü´2
/ let uuid = Uuid::from_fields(d1, d2, d3, &d4);Áë
ú
í”ü‡/
, "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8",Áü»&
¿•
î•
×»
 ¦Êm µ
ÛøߨuRï¨~Rÿ¨‡R©¡R »
ü%L
üçA
> Creates a UUID from four field values in little-endian order.Á­
úüµJ
G The bytes in the `d1`, `d2` and `d3` fields will be flipped to convertÁü„ G
D into big-endian order. This is based on the endianness of the UUID,ÁüÐ G
D rather than the target environment so bytes will be flipped on bothÁüœ!#
big and little endian machines.ÁÄ!
útÌ!
Åïß!
ú„ç!
þ“ü!
ú<„"
×»¬"
ÍðĪ"
Áœ¤Ç"
✤à"
ÿœüù">
¼#
úüÄ#5
2 let uuid = Uuid::from_fields_le(d1, d2, d3, &d4);Áþ#
ú|†$
í”üš$/
, "a4a3a2a1-b2b1-c2c1-d1d2-d3d4d5d6d7d8",ÁüÎ$&
¿•4ù$
î•<„%
×»t%
РЦÊm Ë%
€üߨï]ï¨ø]ÿ¨^© ^ Ñ%
üŠ,'
üÿ('
$ Creates a UUID from a 128bit value.Á«)
út³)
ÅïÆ)
ú„Î)
þ“ã)
ú<ë)
×»¬÷)
Íðü‘*3
0 let v = 0xa1a2a3a4b1b2c1c2d1d2d3d4d5d6d7d8u128;ÁÉ*
úüÑ*"
 let uuid = Uuid::from_u128(v);Áø*
ú|€+
í”ü”+/
ÆžüÈ+&
¿•4ó+
î•<þ+
×»L—,
ÊmôÆÁÍ`üŠ2*
üé,>
; Creates a UUID from a 128bit value in little-endian order.Á¬-
úü´-F
C The entire value will be flipped to convert into big-endian order.Áüÿ-G
D This is based on the endianness of the UUID, rather than the targetÁüË.F
C environment so bytes will be flipped on both big and little endianÁl/
machines.Á¨/
út°/
ÅïÃ/
ú„Ë/
þ“à/
ú<è/
×»¬ô/
ÍðüŽ03
ü§Æ0
úüÎ0%
" let uuid = Uuid::from_u128_le(v);Áø0
ú|€1
í”ü”1/
, "d8d7d6d5-d4d3-d2d1-c2c1-b2b1a4a3a2a1",ÁüÈ1&
¿•4ó1
î•<þ1
×»d—2
Êm°€Á¦aüš6A
üì2)
& Creates a UUID from two 64bit values.Áš3
út¢3
Åïµ3
ú„½3
þ“Ò3
ú<Ú3
×»¬æ3
Íðü€4#
let hi = 0xa1a2a3a4b1b2c1c2u64;矬4#
let lo = 0xd1d2d3d4d5d6d7d8u64;ÁÐ4
úüØ4+
( let uuid = Uuid::from_u64_pair(hi, lo);Áˆ5
ú|5
í”ü¤5/
ÆžüØ5&
¿•4ƒ6
î•<Ž6
×»l§6
Êm
ŠÇ:c ÇCcü€=2
ü±7,
) Creates a UUID using the supplied bytes.Áâ7
údê7
# ErrorsÁû7
úüƒ8K
H This function will return an error if `b` has any length other than 16.ÁÓ8
útÛ8
Åïî8
ú„ö8
þ“9
ú<“9
×»üŸ9,
ìð¬Ð9
ÍðŒê9
 let bytes = [Áü€:
 0xa1, 0xa2, 0xa3, 0xa4,Áœ¤:
 0xb1, 0xb2,Áœ¼:
 0xc1, 0xc2,ÁüÔ:7
4 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8,Á4;
 ];Á;
úü£;)
& let uuid = Uuid::from_slice(&bytes)?;ÁÑ;
ú|Ù;
í”üí;/
Æžü¡<&
¿•4Ì<
î•d×<
ªò<è<
ÝÇ<ô<
×»T‡=
 僤£ •=

­ =
Ê>
üÕE5
ü ?C
@ Creates a UUID using the supplied bytes in little endian order.Áè?
úüð?@
= The individual fields encoded in the buffer will be flipped.Áµ@
úd½@
²³Î@
úüÖ@K
Ô³¦A
út®A
ÅïÁA
ú„ÉA
þ“ÞA
ú<æA
×»üòA,
ìð¬£B
ÍðŒ½B
޵üÓB
©µœ÷B
ѵœC
íµü§C7
ж4ãC
ʶîC
úüöC,
) let uuid = Uuid::from_slice_le(&bytes)?;Á§D
ú|¯D
í”üÃD&
¿•üîD.
+ "a4a3a2a1-b2b1-c2c1-d1d2-d3d4d5d6d7d8"Á4¡E
î•d¬E
ªò<½E
ÝÇ<ÉE
×»lÜE
Œ Œåƒ¤£ íE

­ êE
¢G
üäL-
üûG,
ñ²¬H
út´H
ÅïÇH
ú„ÏH
þ“äH
ú<ìH
×»üøH,
ìð¬©I
ÍðŒÃI
޵üÙI
©µœýI
ѵœ•J
íµü­J7
ж4éJ
ʶôJ
úüüJ'
$ let uuid = Uuid::from_bytes(bytes);Á¨K
ú|°K
í”üÄK&
¿•üïK.
+ "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"Á4¢L
î•d­L
ªò<¾L
ÝÇ<ÊL
×»TñL
à‘ÊmŸ‘×ÈEdüÜS,
ü³MC
è¸ûM
úüƒNW
T Note that ordering is applied to each _field_, rather than to the bytes as a whole.ÁüßNJ
G This ordering is compatible with Microsoft's mixed endian GUID format.Á®O
út¶O
ÅïÉO
ú„ÑO
þ“æO
ú<îO
×»üúO,
ìð¬«P
ÍðŒÅP
޵üÛP
©µœÿP
ѵœ—Q
íµü¯Q7
ж4ëQ
ʶöQ
úüþQ*
' let uuid = Uuid::from_bytes_le(bytes);Á­R
ú|µR
í”üÉR/
’¥üýR&
¿•4¨S
î•d³S
ªò<ÄS
ÝÇ<ÐS
×»léS
à‘Êm¨á­šmüÍ[-
ü®UI
F Creates a reference to a UUID from a reference to the supplied bytes.ÁüU
út„V
Åï—V
ú„ŸV
þ“´V
ú<¼V
×»üÈV,
ìð¬ùV
ÍðŒ“W
޵ü©W
©µœÍW
ѵœåW
íµüýW7
ж4¹X
ʶÄX
úüÌX,
) let uuid = Uuid::from_bytes_ref(&bytes);ÁýX
ú|…Y
í”ü™Y&
¿•üÄY.
×À4÷Y
î•Z
úÌŠZ
 assert!(std::ptr::eq(矬Z)
& uuid as *const Uuid as *const u8,ÁüÖZ/
, &bytes as *const [u8; 16] as *const u8,Á<Š[
 ));Ád[
ªò<§[
ÝÇ<³[
×»tÔ[
 à‘ Êm ê[

"×È,ã[
dÜ]
çe$%&()*+-/01246789:;<=>ü”b)
üï]1
. Creates a `Builder` using the supplied bytes.Á¥^
út­^
ÅïÀ^
ú„È^
þ“Ý^
ú<å^
×»Äñ^
 # use uuid::Builder;ÁŒŽ_
޵ü¤_
©µœÈ_
ѵœà_
íµüø_7
ж4´`
ʶ¿`
úüÇ`6
3 let uuid = Builder::from_bytes(bytes).into_uuid();Áa
ú|Ša
í”üža/
ÆžüÒa&
¿•4ýa
î•<ˆb
×»T¡b
à‘çe##”õ­ÈoüÒh,
üðbH
E Creates a `Builder` using the supplied bytes in little endian order.Á½c
úüÅc@
Á¹Šd
útd
Åï¥d
ú„­d
þ“Âd
ú<Êd
×»üÖd,
ìðü‡e
 # use uuid::{Builder, Uuid};ÁŒ¬e
޵üÂe
©µœæe
ѵœþe
íµü–f7
ж4Òf
ʶÝf
úüåf9
6 let uuid = Builder::from_bytes_le(bytes).into_uuid();Á£g
ú|«g
í”ü¿g/
’¥üóg&
¿•4žh
î•d©h
ªò<ºh
ÝÇ<Æh
×»lßh
à‘çe##
%­Œpü™jZ
ü´i`
] Creates a `Builder` for a version 1 UUID using the supplied timestamp, counter, and node ID.ÁĦj
Ž Ž¢äçe# âj
#Ï’Ûã‘qŸQšqúã´q èj
ü¾l5
üèkQ
N Creates a `Builder` for a version 3 UUID using the supplied MD5 hashed bytes.ÁtËl
à‘çe##
(¸ç}süÒs;
ü‚nM
J Creates a `Builder` for a version 4 UUID using the supplied random bytes.ÁÔn
úüÜnO
L This method assumes the bytes are already sufficiently random, it will onlyÁü°o>
; set the appropriate bits for the UUID version and variant.Áóo
útûo
ÅïŽp
ú<p
×»ü¢p,
) # use uuid::{Builder, Variant, Version};Á¤Óp
 # let rng = || [ÁüìpE
B # 70, 235, 208, 238, 14, 109, 67, 201, 185, 13, 204, 195, 90,Á”¶q
 # 145, 63, 62,ÁDÍq
 # ];ÁìÚq
 let random_bytes = rng();ÁüüqD
A let uuid = Builder::from_random_bytes(random_bytes).into_uuid();ÁÅr
úüÍr:
7 assert_eq!(Some(Version::Random), uuid.get_version());ÁüŒs5
2 assert_eq!(Variant::RFC4122, uuid.get_variant());Á<Æs
×»Œßs
à‘çe##
)âê'uü’w7
ü¢uS
P Creates a `Builder` for a version 5 UUID using the supplied SHA-1 hashed bytes.Áúu
úü‚v\
Y This method assumes the bytes are already a SHA-1 hash, it will only set the appropriateÁüãv*
' bits for the UUID version and variant.Á|Ÿw
à‘çe##
*îÔvü›z€
üÚx`
] Creates a `Builder` for a version 6 UUID using the supplied timestamp, counter, and node ID.Á¿y
úüÇyO
L This method will encode the ticks, counter, and node ID in a sortable UUID.矬z
 ¢äçe# „{
#„•ÛãxŸQxúãx Š{
üÆ…]
ü—|a
^ Creates a `Builder` for a version 7 UUID using the supplied Unix timestamp and counter bytes.Áý|
úü…}_
\ This method will set the variant field within the counter bytes without attempting to shiftÁüé}_
\ the data around it. Callers using the counter as a monotonic value should be careful not toÁüÍ~K
H store significant data in the 2 least significant bits of the 3rd byte.Á
ú
Åï¸
úüÀ7
4 Creating a UUID using the current system timestamp:Áü
ú<„€
×»ü*
' use std::time::{Duration, SystemTime};Áü¿€;
8 # fn main() -> Result<(), Box<dyn std::error::Error>> {Áüÿ€H
E # use uuid::{Builder, Uuid, Variant, Version, Timestamp, NoContext};Á¤Ì
ÖÚüå6
3 # 70, 235, 208, 238, 14, 109, 67, 201, 185, 13Á
ÝÛü­G
D let ts = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH)?;Áù‚
úìƒ
îÛ£ƒ
úü«ƒj
g let uuid = Builder::from_unix_timestamp_millis(ts.as_millis().try_into()?, &random_bytes).into_uuid();Áš„
úü¢„<
9 assert_eq!(Some(Version::SortRand), uuid.get_version());Áüã„5
³Ýd
ªò<®…
ÝÇ<º…
×»ÔÓ…
 Ðóçe# ‘†
#
-ƒóGy–óby—†
ü˜‰;
ü«‡S
P Creates a `Builder` for a version 8 UUID using the supplied user-defined bytes.Áƒˆ
úü‹ˆY
V This method won't interpret the given bytes in any way, except to set the appropriateÁüéˆ*
àŒ¥‰
à‘çe##
/Æö{üÈ2
üâŠ1
è̘‹
ú
²³±‹
úü¹‹K
Ô³‰Œ
út‘Œ
Å奈
ú„¬Œ
þ“ÁŒ
ú<ÉŒ
×»ÄÕŒ
íÍüòŒ,
ìðŒ£
޵ü¹
©µœÝ
ѵœõ
íµüŽ7
ж4ÉŽ
ʶԎ
úüÜŽ8
5 let uuid = Builder::from_slice(&bytes)?.into_uuid();Á
ú
í”üµ/
Æžüé&
¿•4”
î•
ªò
ÝÇ
×»
 åƒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
çeŸf# Ý
#
0­ Ú
üÿ—5
ü²‘H
¹Ðÿ‘
úü‡’@
Á¹Ì’
údÔ’
²³å’
úüí’K
Ô³½“
útÅ“
ÅïØ“
ú„à“
þ“õ“
ú<ý“
×»ĉ”
íÍü¦”,
ìðŒ×”
޵üí”
©µœ‘•
ѵœ©•
íµüÁ•7
ж4ý•
ʶˆ–
úü;
8 let uuid = Builder::from_slice_le(&bytes)?.into_uuid();ÁЖ
ú|Ø–
í”üì–/
’¥ü —&
¿•4Ë—
î•dÖ—
ªò<ç—
ÝÇ<ó—
×»l†˜
 åƒõ# —˜
#
1­ ”˜
üýœI
üï˜/
, Creates a `Builder` from four field values.Á£™
út«™
Åï¾™
ú„Æ™
þ“Û™
ú<ã™
×»Äï™
íÍÄŒš
Áœ¤©š
✤š
ÿœüÛš>
ž›
úü¦›A
> let uuid = Builder::from_fields(d1, d2, d3, &d4).into_uuid();Áì›
ú|ô›
í”üˆœ&
¿•ü³œ.
×À4æœ
î•<ñœ
×»
 ¦çe# µ
#
2ߨf|ï¨p|ÿ¨z|©…| »
ü˜¢L
ü‡ž/
Öù»ž
útÞ
ÅïÖž
ú„Þž
þ“óž
ú<ûž
×»ćŸ
íÍĤŸ
Áœ¤ÁŸ
✤ڟ
ÿœüóŸ>
¶ 
úü¾ D
A let uuid = Builder::from_fields_le(d1, d2, d3, &d4).into_uuid();Á‡¡
ú|¡
í”ü£¡&
¿•üΡ.
ݼ4¢
î•<Œ¢
×»t¥¢
 ¦çe# Ó¢
#
4ߨ ~ï¨~ÿ¨~©*~ Ù¢
üʦ'
ü¨£,
) Creates a `Builder` from a 128bit value.ÁÙ£
útá£
Åïô£
ú„ü£
þ“‘¤
ú<™¤
׻ĥ¤
íÍü¤3
ü§ú¤
úü‚¥1
. let uuid = Builder::from_u128(v).into_uuid();Á¸¥
ú|À¥
í”üÔ¥/
Æžüˆ¦&
¿•4³¦
î•<¾¦
׻Lצ
çe##
6ÁMüÚª*
ü£§>
þ©æ§
útî§
Åï¨
ú„‰¨
þ“ž¨
ú<¦¨
×»IJ¨
íÍüϨ3
ü§‡©
úü©4
1 let uuid = Builder::from_u128_le(v).into_uuid();ÁÈ©
ú|Щ
í”üä©/
“®ü˜ª&
¿•4ê
î•<Ϊ
×»dçª
çe##
7Á€Ôž®
ü¹«6
3 Creates a `Builder` with an initial [`Uuid::nil`].Áô«
útü«
Åï¬
ú„—¬
þ“¬¬
ú<´¬
×»ÄÀ¬
íÍüݬ*
' let uuid = Builder::nil().into_uuid();ÁŒ­
ú|”­
í”ü¨­/
†•üÜ­&
¿•4‡®
î•<’®
×»«®
çe##
8üޝ6
üã®&
# Specifies the variant of the UUID.Á\•¯
 çe»oÁ‹# ¡¯
#
9$¦¯
Á ¬¯
ü»°7
ü°&
ü‰dȰ
çe»oçe##Ñæ$Ù°
Á÷ƒüÓ³6
ü¡³-
* Specifies the version number of the UUID.Á\Ú³
 çe–€²# æ³
#
;$ë³
Á ñ³
ü‡µ7
üÕ´-
æ‹d”µ
çe–€çe##©ç$¥µ
Áþ†üì¸$
ü/
, Get a reference to the underlying [`Uuid`].ÁѶ
útÙ¶
Åïì¶
ú„ô¶
þ“‰·
ú<‘·
׻ķ
íÍüº·!
 let builder = Builder::nil();Áà·
úüè·"
 let uuid1 = builder.as_uuid();Áü¸"
 let uuid2 = builder.as_uuid();Á¶¸
ú쾸
 assert_eq!(uuid1, uuid2);Á<à¸
×»<ù¸
 çe Êm# ¹
#
=$‚¹
ü„¼$
ü®¹(
% Convert the builder into a [`Uuid`].ÁÛ¹
útã¹
Åïö¹
ú„þ¹
þ““º
ú<›º
×»ħº
íÍüĺ*
ºˆóº
ú|ûº
í”ü»&
¿•üº».
+ "00000000-0000-0000-0000-000000000000"Á4í»
î•<ø»
×»L‘¼
çeÊm##
>UˆdÒ¼
4ɼ
çe@Büê½X
1.10.0Á@use `Builder::from_gregorian_timestamp(ticks, counter, node_id)`Áüœ½B
üå¼
´÷½
±”»”1˜ ˜¢äçe? ±¾
?
@Ûã.‰ŸQ8‰úãC‰ ·¾
üŸÀ~
±”Guse `Builder::from_sorted_gregorian_timestamp(ticks, counter, node_id)`ÁüÊ¿I
ü“¿
ì¬À
±”›–1 ¢äçe? †Á
?
BÛãŸQúã ŒÁ
L‘;,•;Œ¾¿Ù× ¤,DE| Ĺ
ÆGGÁiH¾
ôŸ  ÁiŸfFF
HÆ É HHô+ d“+ D‚˜ ©+ Ü­1 ŸfMÅcMüÏ14 Ò1 šœ šŸf  c cˆ¢cµ
 `£cƒƒ `àB¤GS
œÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ È§ éBLL Ö1 L
M$×1 ± Ý1 üž<' Ÿf\œ;< ;òó®D€¿ßOQ׊¤,OR NonZeroU128Á\”ü•OS§ŒOV§OVBLÃOW“V$ÓùOX“VúOXul{¨˜„€,§”§vxTVEGôô¡lZÀcZü™ 8œ žŸ ¡l ž c cˆ¢cµ
 `£cƒƒ `àB¤GS
Ÿá›Y   Y
Z± § üŒ
¡l\Åc\ü³
8
 ¡¢  ¡l ¡ c cˆ¢cµ
 `£cƒƒ `àB¤GS
¢á›[ º
[
\
± Á
ü¨ #¡l^·ß^üÒ "Õ £¤ £¡l ¤Êm] Ø ]
^ ¹
ü #Êm`·ß`üÇ (Ê ¥¦ ¥Êm ¦¡l_ Í _
` ¹
ü˜
$¡lbïßbüÃ
7
§¨ §¡l ¨ÊmÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¿ßÀßÁßLessÁÂßÃßÄß~Å߯ßÇßGreaterÁÈßåºÝÈnûê7a Ò
a
b
¹
ü¬$Êmdïßdü×=©ª ©Êm ª¡lç¤c æc
d¹
¡lfghü•,üÝ30 Creates a non-nil UUID if the value is non-nil.Á¢Êmû›ee
fµÌü¡5üÜ|y Creates a non-nil without checking whether the value is non-nil. This results in undefined behavior if the value is nil.ÁÝú # SafetyÁöúôþ The value must not be nil.ÁlµÊm¡lee
gµRôçü®&# Get the underlying [`Uuid`] value.Áô¡lÊmee
h9ô·ÊmjëjüÎ$üÜ30 Converts a [`NonNilUuid`] back into a [`Uuid`].ÁúÅï×»ü»# # use uuid::{NonNilUuid, Uuid};ÁüãC@ let uuid = Uuid::from_u128(0x0123456789abcdef0123456789abcdef);Áü«63 let non_nil = NonNilUuid::try_from(uuid).unwrap();Áüæ)& let uuid_again = Uuid::from(non_nil);Áúüœ! assert_eq!(uuid, uuid_again);Á×»¡lÊmii
jˆü§!¡llmòómkkŸfü„4üè96 Attempts to convert a [`Uuid`] into a [`NonNilUuid`].Á¦úÅï×»üÍ#á«üõCެü½6۬׻D‡ÊmÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¡l¡lÊmòkk
mµ$T©;4­;ƒŒíðnrÉî™3ns“V$øùnt“VúntßúHnu§;QŒnp§MQnpB;QnpŠE:Q¾npŠELQ¿npÉF:QÙnp,»ô»„ÜÜËͼ¾ÔžžÔ»ÊmwxðyñyxávvŸfüó6« «Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÊmÊmðyv v
xuuid_strÁDÿô×8¬¬Êmz{òó{,yyŸfü•;D˜­ ­Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÊmÊmÓnòy¬y
{8‘µì–»À|„¼þÊm}~òó~,¿||ŸfüÓ:ånÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÊmÊmånò||
~‘µÊm€üÅ4üÓ EB Parses a `Uuid` from a string of hexadecimal digits with optionalÁd
 hyphens.Á®
úü¶
IF Any of the formats generated by this module (simple, hyphenated, urn,Áü„ ;8 Microsoft GUID) are supported by this parsing function.ÁÄ úüÌ JG Prefer [`try_parse`] unless you need detailed user-facing diagnostics.Áü› FC This method will be eventually deprecated in favor of `try_parse`.Áæ ú Åï
úä‰
 Parse a hyphenated UUID:Áª
ú
×»ü¾
)& # use uuid::{Uuid, Version, Variant};Áüì
,ìðüHE let uuid = Uuid::parse_str("550e8400-e29b-41d4-a716-446655440000")?;Áêúüò:ïÜü±5³ÝªòÝÇ×»úüœ$! [`try_parse`]: #method.try_parseÁLÌ® ®¤£ Ý
«£üŒ:üúE¢¹ð¹ÕúüÝIF This function is similar to [`parse_str`], in fact `parse_str` sharesÁü«EB the same underlying parser. The difference is that if `try_parse`ÁüõHE fails, it won't generate very useful error messages. The `parse_str`ÁüÂC@ function will eventually be deprecated in favor of `try_parse`.ÁŠúü’DA To parse a UUID from a byte stream instead of a UTF8 string, seeÁÄÛ [`try_parse_ascii`].Áøút€Åïúä›þ¼¼ú×»üÐ)½½üþ,ìðü¯HE let uuid = Uuid::try_parse("550e8400-e29b-41d4-a716-446655440000")?;Áüúü„:ïÜüÃ5³ÝªòÝÇ×»¦úü®$! [`parse_str`]: #method.parse_strÁü×0- [`try_parse_ascii`]: #method.try_parse_asciiÁL™¯ ¯¤£ ª
«£ƒ‘ü£!Aü„E¢¹ð¹ßúüçIF The input is expected to be a string of ASCII characters. This methodÁüµB? can be more convenient than [`try_parse`] if the UUID is beingÁüü<9 parsed from a byte stream instead of from a UTF8 string.Á½úÅïØúäàþ¼ú<‰×»ü•)½½üÃ,ìðüôOL let uuid = Uuid::try_parse_ascii(b"550e8400-e29b-41d4-a716-446655440000")?;ÁÈúüÐ:ïÜü 5³ÝªòÝÇ×»ò úüú $«¿|°!° °åƒ¤£ Ç!⢫£€“ü‘$HLš$n± ±åƒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à‘¾¾¿ŠEÁˆÂ Äoõå{‚u½±¬$ù¤«£è™Ä$üë)Vdÿ)² ²åƒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à‘¾¾¿ŠEÁˆÂ Äoõå{‚u½²”*
«£ž¬*üŠ,SLž,³ ³åƒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à‘¾¾¿ŠEÁˆÂ Äoõå{‚u½³°,
«£±¢È,üÅ.pdÙ.´ ´åƒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à‘¾¾¿ŠEÁˆÂ Äoõå{‚u½´ï.޳¾ª›×ª /õ2üä5V„ø5µ µåƒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à‘¾¾¿ŠEÁˆÂ Äoõå{‚u½µ6ò³¾¥6›=ŒŒü–B9dŸBn ßÕêÖ ±BŒÑ´×ηBËBîBýG\¶;üá,) Adapters for alternative string formats.Á¾;º»¿ÃÆÉÌÏÒÕÞáâãÊËœ³´ MaybeUninitÁ\ŸÑÛµ ¬ž‰f˜FromStrÁ<½ïyY4ç œ×ï¤,Éô™3ž§ŒŸ
 `£cƒƒ `àB¤GS
¹á›¥ ¥
¦$—± Ô÷Êm¨Åc¨ü˜8º»¼ ºÊm » c cˆ¢cµ
 `£cƒƒ `àB¤GS
¼á›§ Ÿ§
¨± ¦Ô˜»À|†¼€ånªëªܹÊmån©©
ªµìù»o¬Åc¬ü 8  ½¾¿ ½»o ¾ c cˆ¢cµ
 `£cƒƒ `àB¤GS
¿á›« ¤ «
¬± « ÜÓ Êm®Ëc®üõ 8ø ÀÁ ÀÊm Á c cˆ¢cµ
 `£cƒƒ `àB¤GS
Âá›­ ü ­
® ± ƒ Üí Êm°Íc°ü
8 
ÃÄÅ ÃÊm Ä c cˆ¢cµ
 `£cƒƒ `àB¤GS
Åᛯ ¤
¯
°
± «
L‰Êm²³´µ·¸¹üÏ+ü™# Get a [`Hyphenated`] formatter.ÁTÜÊm±p±±
²_Ñüà*ü¡,) Get a borrowed [`Hyphenated`] formatter.ÁlçÆ ÆÊm Ʊp± õ±
³üî#ü¼ Get a [`Simple`] formatter.Á4ûÊm×q±±
´âÑüï"ü´(% Get a borrowed [`Simple`] formatter.ÁLöÇ ÇÊm Ç×q± ±
µ$ ìò äà  Get a [`Urn`] formatter.Áÿ Êmýr±±
eÒäç!ü¯!%" Get a borrowed [`Urn`] formatter.Á4î!È ÈÊm Èýr± õ!±
·$ö!üç"#üµ" Get a [`Braced`] formatter.Á4ô"Êm£t±±
¸èÒüè#"ü­#(% Get a borrowed [`Braced`] formatter.ÁLï#É ÉÊm É£t± ù#±
¹$ú#üÑ%:lÚ%ç¯ΩÔᩊÔüÙ&?lâ&Ê Êà‘ßÕ õ&¼¤¹µ¹†Ûû&•'é'»»üÑ)CŒÚ)Ë Ëà‘ëÙ ñ)
¿¤¹†ìµ¹Žì÷)‘*Ù*¿¿ü¾.VlÁ.ÄÌ Ìà‘ Äåƒ ÄÏ.
ä¹Ó.bufferÁ4ã.µ¹,ù.+-Þ.ü‘0ZŒ”0ÇÍ Íà‘ Çåƒ Ç¦0
Ƥ¹ª0Âð4º0µ¹,Ð0&(µ0üð1Vló1ÊÎ Îà‘ Êåƒ Ê2
ɤ¹…2Âð4•2µ¹,«2&(2üË3STÎ3ÍÏ Ïà‘ Íåƒ ÍÙ3
̤¹Ý3Âð4í3µ¹,ƒ4&(è3ü•5y¤˜5ÐÐ Ðà‘ Ð
ÑÛÑÛÓØÓÛuninitÁÝÔÛ»ÝÍõƒ«%9 Э5
Ϥ¹¶5Âð4Ê5µ¹,ñ5&(Á5üò7}Äõ7ÓÑ Ñà‘ Óäõ ÓŽ8
Ò¤¹—8Âð4«8µ¹,Ò8&(¢8üÛ:y¤Þ:ÖÒ Òà‘ Öäõ Öó:
Õ¤¹ü:Âð4;µ¹,·;&(‡;”÷<\þ<ØØ„!Ù—!Úܶ!ÖJ‚‹ÌÐNÖJ‚‹ÌÐNÙÚÜt”=T”=ØØü¬=$T¬=ØØÛ”½=|Ú=\Ú=ØØüì@vŒï@ßÓ Óà‘ ßäõ ßA
Þ¤¹ŠAÂð4žAµ¹,ÅA&(•Aü«D7\®DÔÕ Ôäõ Õåƒ ¿D
áÕ¹ºD¤¹×DüÌGCœÏGÖ Öåƒ Öäõ ëG
âÂð4ãGü°IK¬ºI× ×äõ × ØI
ãÂð4ÐI|¥L±påæçéëíïð¼Mü»L/, The length of a hyphenated [`Uuid`] string.ÁïLúü÷L! [`Uuid`]: ../struct.Uuid.htmlÁ4§MääüÏN*üÀM-* Creates a [`Hyphenated`] from a [`Uuid`].ÁòMúüúM!Áþü N*' [`Hyphenated`]: struct.Hyphenated.htmlÁLÜNÊm±pää
æµ¥ñü½[Iü O<9 Writes the [`Uuid`] as a lower-case hyphenated string toÁüáOFC `buffer`, and returns the subslice of the buffer that contains theÁŒ¬P encoded UUID.ÁÂPúüÊP=: This is slightly more efficient than using the formattingÁüŒQ<9 infrastructure as it avoids virtual calls, and may avoidÁ¬ÍQ double buffering.ÁçQúüïQ!Áþ•RúdR # PanicsÁ®Rúü¶RJG Panics if the buffer is not large enough: it must have length at leastÁü…S<9 [`LENGTH`]. [`Uuid::encode_buffer`] can be used to get aÁüÆS(% sufficiently-large temporary buffer.ÁóSúüûS*' [`LENGTH`]: #associatedconstant.LENGTHÁüªTEB [`Uuid::encode_buffer`]: ../struct.Uuid.html#method.encode_bufferÁôTútüTÅïUú\—U ```rustÁœ§UÇ¿UúüÇU*' fn main() -> Result<(), uuid::Error> {ÁüöUHE let uuid = Uuid::parse_str("936DA01f9abd4d9d80c702af85c822a8")?;ÁÃVúüËV*' // the encoded portion is returnedÁœúV assert_eq!(Áì’W uuid.hyphenated()Áü´W:7 .encode_lower(&mut Uuid::encode_buffer()),ÁüóW2/ "936da01f-9abd-4d9d-80c7-02af85c822a8"ÁTªX );Á¹XúüÁXHE // the buffer is mutated directly, and trailing contents remainsÁüŽY! let mut buf = [b'!'; 40];Áü´Y1. uuid.hyphenated().encode_lower(&mut buf);ÁœêYíˆ Ì‚Z &buf as &[_],Áü Z?< b"936da01f-9abd-4d9d-80c7-02af85c822a8!!!!" as &[_]ÁTäZ¯Š óZútûZ Ok(())Á,Ž[<˜[×»4¤[ */ÁdÄ[èØ Ø±p èåƒ èä$Ñ[ä
ç$Ø[Âð4Þ[ ü†a]üÐ\>; Writes the [`Uuid`] as a lower-case hyphenated string to aÁü“]KH possibly-uninitialized `buffer`, and returns the subslice of the bufferÁüã]# that contains the encoded UUID.Á^úü“^LI This initializes the returned subslice of `buffer`. Bytes outside of theÁüä^&# returned subslice are not written.Á_úü—_!Áþ½_údÅ_Ùƒ Ö_úüÞ_Jûƒ |­` [`LENGTH`].ÁÁ`úüÉ`*Ó… œaêÙ Ù±p êäõ êä$¡aä
é$¨aÂð4®a üÒnIü´b=: Writes the [`Uuid`] as an upper-case hyphenated string toÁüöbF ŒÁcâ ×cúüßc=‰‚ ü¡d<Ђ ¬âd•ƒ üdúü„e!Áþªeúd²e
œ·
œÕ
œœšœبŸf¼Â‡×qžŸðyñyŸDà‡å‡Ÿfü÷‡/Dú‡í íÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
×q×qðy †ˆ
Ÿ¾ ƒˆóˆŸž
 ·
 Õ
  Ÿ ÿ‚
×qLŸž
¡·
¡Õ
¡¡Ÿ¡ãƒ
¤Ä‰ýr£¤ðyñy¤D߉䉢¢Ÿfüö‰/Dù‰î îÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ýrýrðy¢ …Š¢
¤¾ ‚ŠèФž
¥·
¥Õ
¥¥¤¥ÿ‚
ýrL¤ž
¦·
¦Õ
¦¦¤¦ãƒ
¼¶‹£t¨©ðyñy©DÔ‹Ù‹§§Ÿfüë‹/Dî‹ï ïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
£t£tðy§ ú‹§
©¾ ÷‹àŒ©ž
ª·
ªÕ
ªª©ªÿ‚
£t©ž
«·
«Õ
««©«ãƒ
ä± Î »“ Ô ô, Õ Ö ñ
, ×8¥ Ø& Ù8¼ ß, à á í, â8¬ ã& ä8$ î
ï ð$ ò ó*ö ù ¹“, ú û ·“@8$…Ž ‰Ž, ŠŽ ‹Ž ŽŽ, ŒŽ8¬ Ž$ Ž
Ž ‘Ž8דŽ'–Ž8t<˜Ž8
 Ž, ¤Ž8¥ ¥Ž ¦Ž, §Ž ¨Ž «Ž, ©Ž8¬ ªŽ$ ¬Ž
­Ž ®Ž °Ž Ñ
+ ¾Ž ¿Ž ÆŽ8Ý4ÀŽ8 ÔŽ8×׎ ÚŽ üŽ
 ÛŽ8$ÜŽ$ àŽ8± âŽ& ㎠åŽ8æŽ8×êŽ'íŽ8ˆLïŽ øŽ:8ùŽ ûŽ(þŽ8×'8Í4†  Ç8ן'¢8LowerHexÁ'¬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€‘ „‘ ”‘7ˆ …‘% †‘8$ˆ‘'Œ‘8¹"4Ž‘8$¹‘ ½‘, ¾‘ ¿‘ ‘, À‘8¬ Á‘$ Ñ
Ä‘ Å‘8×Ç‘'Ê‘8UpperHexÁDÌ‘8
Õ‘, Ù‘8¥ Ú‘ Û‘, Ü‘ Ý‘ à‘, Þ‘8¬ ß‘$ á‘
â‘ ã‘ å‘ ‹“8 ó‘8×ö‘ ù‘ ›’
 ú‘8$û‘$ ÿ‘8± & ‚’ „’8…’8׉’'Œ’8ˆLŽ’ —’:8˜’ š’(8× '£’8Í4¥’ ¬’ 8± ¾’ ¿’8ñLÀ’ É’ ó’8$Ê’ Î’8›#dÏ’ Û’ ò’ Ü’8Ý’ á’ ñ’7ˆ â’% ã’8$å’'é’8¹"4ë’8¨'l–“ £“ ¤“ °“, ¥“8¥ ¦“ §“, ¨“ ©“ ¬“, ª“8¬ «“$ ­“
®“ ¯“% ±“ ¸“Ô¾“lË“ Ù“ Û ß“ ê“, à“8¥ á“& â“8¼,ã“ è“ é“*ì“ ï“ ·˜$8$ù“8Š$þ“ ‚”8“V$ƒ” ‡”8
‰”, 8¥ Ž”  û”+ ž” Ÿ” ¦”8Ý4 ”8 ´”8÷$·” »” Ô8± ¼”& ½”8“V$¿”(Å”8$È” Í” ñ”, ß”8¥ à” á” ã”8± â”8$†•8Š$‹• , 8¥ ‘• ’•8
”•8“V$˜•  Ž–+ «• ¬• ³•8Ý4­•8 Á•8÷$Ä• È• Ε8± É•& Ê•, Ì•8¥ Í•(Е8$Ó• Ø• „–8± ê• ë•8ÕLì• õ• ö•8$™–8O,ž– £–8“V$¤– ¨–8
ª–, ®–8¥ ¯– ±– Ÿ— + ¿– À– Ç–8Ý4Á–8 Õ–8É4Ø– Þ– ä– ß–8$à–(æ– é–8“V$ê– ï– •— 8$‚— †—7ˆ ‡—8$ª—8Y4¯— µ—8“V$¶— º—8
¼—, À—8¥ Á— × ±˜ + Ñ— Ò— Ù—8Ý4Ó—8 ç—8ÁO4ê— ð— ö— ñ—8$ò—(ø— û—8“V$ü— ˜ §˜ “˜8$”˜ ˜˜7ˆ ™˜% ¸˜ ¾˜ Ô˜
, ¿˜8¥ À˜& Á˜8¼,˜ ǘ, Ș8¬ ɘ& ʘ8D˘ Ó˜*Ö˜ Ù˜ ØI8$㘠ç˜, è˜8¬ é˜ ê˜8Š$ì˜ ð˜ ñ˜, ò˜8¬ ó˜8“V$õ˜ ù˜8
û˜, ÿ˜8¥ €™ , ‚™8¬ ƒ™ „™ †™ „š+ ”™ •™ œ™8Ý4–™8 ª™8÷$­™ ±™ ½™8± ²™& ³™ µ™, ¶™8¬ ·™8“V$¹™(¿™8$™ Ç™ ú™, Ù™8¥ Ú™'Û™8
from_uuid_refÁlÝ™ ê™ ì™8± ë™8$š “š, ”š8¬ •š –š8Š$˜š œš, š8¥ žš Ÿš,  š8¬ ¡š¢š8
¥š ©š, ªš8¬ «š8“V$­š ²š ¡› + Àš Áš Èš8Ý4š8 Öš8÷$Ùš Ýš çš8± Þš& ßš, áš8¥ âš ãš, äš8¬ åš æš(éš ìš, íš8¬ îš8“V$ðš õš —›8± ‡› ˆ›7ˆ ‰›8$¬› °›, ±›8¬ ²› ³›8O,µ› º›8“V$»› ¿›8
Á›, Å›8¥ Æ› Ç›, È›8¬ É› Ê› Ì› ¹œ + Ú› Û› â›8Ý4Ü›8 ð›8É4ó› ù› ÿ› ú›8$û›(œ „œ8“V$…œ Šœ ¯œ8$œœ  œ7ˆ ¡œ8$Äœ Èœ, Éœ8¬ Êœ Ëœ8Y4Íœ Óœ8“V$Ôœ Øœ8
Úœ, Þœ8¥ ßœ àœ, áœ8¬ âœ ãœ åœ Ò + óœ ôœ ûœ8Ý4õœ8 8ÁO  ˜ 8$”(š 8“V £ È8 ¹7ˆ º% ÙŒÃ;ü%" Generating UUIDs from timestamps.Á&úü*KH Timestamps are used in a few UUID versions as a source of decentralizedÁüvKH uniqueness (as in versions 1 and 6), and as a way to enable sorting (asÁüÂLI in versions 6 and 7). Timestamps aren't encoded the same way by all UUIDÁüIF versions so this module provides a single [`Timestamp`] type that canÁÌÙ convert between them.Áóúü÷(% # Timestamp representations in UUIDsÁ úü¤GD Versions 1 and 6 UUIDs use a bespoke timestamp that consists of theÁüìA> number of 100ns ticks since `1582-10-15 00:00:00`, along withÁü®(% a counter value to avoid duplicates.Á×úüÛFC Version 7 UUIDs use a more standard timestamp that consists of theÁü¢MJ number of millisecond ticks since the Unix epoch (`1970-01-01 00:00:00`).Áðú„ôàõúü‰UR * [UUID Version 1 in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-5.1)ÁüßUR * [UUID Version 7 in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-5.7)Áüµ_\ * [Timestamp Considerations in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-6.1)ÁLË;±ÊÍÎÑÒÕÖ×â¡ ®¯“V$±ù®°“Vú®°@\ª1ü (ü¸A> The number of 100 nanosecond ticks between the RFC 9562 epochÁüúGD (`1582-10-15 00:00:00`) and the Unix epoch (`1970-01-01 00:00:00`).ÁÌÌ ¹x³·¸»¼½¾üÔIüŽUR Get a timestamp representing the current system time and up to a 128-bit counter.ÁèúüðC@ This method defers to the standard library's `SystemTime` type.Á»À¼¸Û…(¹x²¹(µ…(´µ´²Íì¹(|„ÍìÖÄ
üè,æ•Å
T‰×ÖÄ
üí'ÖÄ
Ø•Å
Äû
³•Å
ÖÄ
—.<ßQSoqü¹Bü¹VS Construct a `Timestamp` from the number of 100 nanosecond ticks since 00:00:00.00,Áü”YV 15 October 1582 (the date of Gregorian reform to the Christian calendar) and a 14-bitÁüò/, counter, as used in versions 1 and 6 UUIDs.Á¦ú # OverflowÁÁúüÉUR If conversion from RFC 9562 ticks to the internal timestamp format would overflowÁŒ£ it will wrap.ÁœÆ¹x²²§‡ÛãÆùŸQÏùü×üèjg Construct a `Timestamp` from a Unix timestamp and up to a 128-bit counter, as used in version 7 UUIDs.Átä¹x²²å˜üP
û‹QûŸQû®Q%ûüêüûj–É
ÖÄ
¹x²¹(º…(¹º¹²Å
 Å
ü,²Å
ÅÅ
ü’'ÖÅ
Ä 
¸•Å
ÖÄ
—.<„üP<ÃQdÙCEXZü‹%.üç![X Get the value of the timestamp as the number of 100 nanosecond ticks since 00:00:00.00,ÁüÇ"LI 15 October 1582 and a 14-bit counter, as used in versions 1 and 6 UUIDs.Á˜#út #®Ç
³#úü»#LI If conversion from the internal timestamp format to ticks would overflowÁ´Œ$ then it will wrap.Á§$úü¯$WT If the internal counter is wider than 14 bits then it will be truncated to 14 bits.Ád˜%ð ð¹xŸú² ¥%²êˆ$¦%ü¹))üá(SP Get the value of the timestamp as a Unix timestamp, as used in version 7 UUIDs.Á<Æ)ñ ñ¹xåô² Î)²
¼$Ï)üš*A¼£*®²²×øüPjÿÁÿsÿüõ+4Œþ+®åô²²›òÛãVt÷-4î-¹xÀÁÂÃü…/;±”4use `Timestamp::from_gregorian_time(ticks, counter)`ÁüÃ.6üŒ.td/±”ÆÓ
-¹x¿¿
ÀÛãxŸQüÓ0,±”use `Timestamp::to_gregorian()`Áü«0!ü…0ITà0±”ëÔ
-ò ò¹xŸú¿ ë0¿
Á$ì0üÇ2(1.2.0ÁZ`Timestamp::to_unix_nanos()` is deprecated and will be removed: use `Timestamp::to_unix()`Áüß1\ü©1™lÔ2þÕ
‡Ö
.ó ó¹x¿ â2¿
Â$ã2üã4=1.23.0ÁÆÓ
ü¡46üê3ttð4Õ×
ÆÓ
-¹x¿¿
ÃÛã ŸQüû51»À|é5¼ã5¹xÅÆòóÆT³6,¸6ÄÄŸfüü7CÜÓ6 Perform the conversion.Áó6úüû6LI This method will fail if the system time is earlier than the Unix Epoch.ÁüÌ7+( On some platforms it may panic instead.ÁDÿ7àyÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¹x¹xàyòÄÄ
ÆstÁˆ8…9Æž
Ç·
ÇÕ
ÇÇÆÇ™U™UšUSystemTimeErrorÁUˆA 'Ñâ­ÞìLŸfüÝ;.»À|Ë;¼Å;àyÉëÉô’<$•<¹xàyÈÈ
ÉtsÁš<ü¼=rÔÐ=ô ô¢äÊm ›>–ãÛã ŸQúã ¡> û?ÊÊü´BIÔÈBõ õÊmŸú éBŒ‘µ¸"ü¦FyüºF!ö ö¢äÊm ŒGŠðÛã2ŸQ$2úã.2 G îHÎÎü§KPü»K!÷ ÷ÊmŸú ãKµ¼Aü¡OqäµOø øÐóÊm þOÑòƒóuR–óR„P ¬RÒÒü¹UDäÍUù ùÊm ðUøµbT´…^»À|Ü\µ $õ\4ô\»¿
t‘]]ì×´²]úunknownÁ¬Î]úŒ
”å]üÍ]+ü±]Hü­]Müƒ]}üÖ\¬üÍ\·ˆ^®åô
Ö¼¯eü§bC@ A counter that can be used by versions 1 and 6 UUIDs to supportÁüëb! the uniqueness of timestamps.Ácú„‘càõ¢cúü¦cU½
üücUR * [UUID Version 6 in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-5.6)ÁüÒd\Y * [UUID Generator States in RFC 9562](https://www.ietf.org/rfc/rfc9562.html#section-6.3)Ál¹e××Îìü¯eó ×Íè
Íè
 ØÙÚÛØÙÚÛÍìÕè
Ød„fŽé
ÛÙÚ\„füÍe2/ The type of sequence returned by this counter.Á4‰f××üŒhMü–f@= Get the next value in the sequence to feed into a timestamp.ÁÛfúüãfHE This method will be called each time a [`Timestamp`] is constructed.Á°gúü¸gOL Any bits beyond [`ClockSequence::usable_bits`] in the output must be unset.ÁŒhú úÕè
–é
× ¡h×
ÙÕè
$¢hüP<¨hQd¶hüÛjüßhQN Get the next value in the sequence, potentially also adjusting the timestamp.Áµiúü½i=: This method should be preferred over `generate_sequence`.Áÿiúü‡jOÒê
ÜÞjû ûÕè
–é
× ƒk×
ÚÕè