Files
archy/core/target/debug/deps/libicu_collections-1a381751c0cb5f54.rmeta
T

668 lines
279 KiB
Plaintext
Raw Normal View History

2026-01-24 22:59:20 +00:00
rust
W[#rustc 1.93.0 (254b59607 2026-01-19)Á³VOÐêùÿ²?ÑL¼§Ì±-a7a40eb546f9e2b0ÁzerofromÁˆo“ÄÄx(ÃjBsÖ›ªÅ-e7a4aaab09db7e3aÁzerofrom_deriveÁ¿ &èé•)ˆç-03b1dd1f2d87713aÁë&Gf·Ã ¬ëñq:¤»b-bb76018b1173caf6ÁzerovecÁ9°I=µá’Ún÷£ø×ªwÓ-187d4334a3106b07Ázerovec_deriveÁ44½é—FsÉR-*±È-f6b5d17a820a0cf7ÁyokeÁÓ\¾^Œ†ícN¼è¸¼bH-17a2be691e559186Ástable_deref_traitÁþÖ›#Ÿžõ E4Õèr-80e318edb62c0e9cÁ yoke_deriveÁ­Ù@÷ò+çšFåcz-5e7d4687001d5481Á
potential_utfÁüQ¿®R2¡zI!„Õ¯-eb006b8a7f73122fÁ
displaydocÁà¿ÿ©]n´ùRèê]-8a7302fc0e16b6baÁá,áŒî4builderÁ<Çጢ4 conversionsÁ\îáŒÖ5áserdeÁ<ÛŒÑ5Û<ˆŒþ5­×ጳ5UnicodeCodePointÁ„Ý&<¤&Û<®&Œ¤&5testsÁ,þÞà$óÞfØ à 4CodePointInversionListBuilderÁìÁጜwìžáŒíw<•ጕwáw­úáŒÖwØ,²Xà$§XCodePointInversionListÁ´Ôá<­Œ£ŸdáŒçUleErrorÁDÉá<­Œ£Ø,‰«à$þª°ØàŒtomlÁ$
Û<ÿ Œõ ŒÛ

Û
Œž
ÀØà³
char16trieÁtrieÁ!MAX_BRANCH_LINEAR_SUB_NODE_LENGTHÁMIN_LINEAR_MATCHÁMAX_LINEAR_MATCH_LENGTHÁMIN_VALUE_LEADÁNODE_TYPE_MASKÁVALUE_IS_FINALÁMAX_ONE_UNIT_VALUEÁMIN_TWO_UNIT_VALUE_LEADÁMAX_ONE_UNIT_NODE_VALUEÁMIN_TWO_UNIT_NODE_VALUE_LEADÁTHREE_UNIT_NODE_VALUE_LEADÁTHREE_UNIT_VALUE_LEADÁMAX_ONE_UNIT_DELTAÁMIN_TWO_UNIT_DELTA_LEADÁTHREE_UNIT_DELTA_LEADÁ
skip_valueÁskip_node_valueÁ'dataÁ £ u16_leadÁu16_tailÁ trie_unwrapÁ!'aÁ! !¥ !next32Á!next16Á! branch_nextÁ! next_implÁ!stopÁ!
jump_by_deltaÁ!¬!
skip_deltaÁ! value_resultÁ! get_valueÁ!
read_valueÁ!read_node_valueÁcodepointinvlistÁ4 cpinvlistÁ5555555555 5
5 5 5
55BMP_MAXÁ5BMP_INV_LIST_VECÁ5ALL_VECÁ5H×Htry_from_inversion_listÁJ Hfrom_parts_uncheckedÁHàHbmpÁH
iter_charsÁOO H iter_rangesÁRR Hiter_ranges_complementedÁUU Hget_range_countÁH
get_nth_rangeÁHèHis_emptyÁHcontains_queryÁHcontainsÁH
contains32ÁHcontains_rangeÁ_impl RangeBounds<char>ÁH contains_setÁHspanÁb H span_backÁd 4utilsÁfffffffff is_valid_zvÁo fdeconstruct_rangeÁqqimpl RangeBounds<T>Á444codepointinvliststringlistÁwwwwwwwwww×Èè has_stringsÁ contains_strÁ²£ code_pointsÁstringsÁ
codepointtrieÁŒcptrieÁ 
   TrieValueÁTryFromU32ErrorÁ try_from_u32Áto_u32Áimpl_primitive_trie_valueÁmaybe_filter_valueÁ ¢¢¦'trieÁ¦¦ from_parts_unstable_unchecked_v1Á¦try_newÁ¦validate_fieldsÁ¦to_typedÁ¦ as_typed_refÁ¦trie_error_val_indexÁ¦internal_small_indexÁ¦ small_indexÁ¦
fast_indexÁ¦get32_by_fast_indexÁ¦get32_assuming_fast_indexÁ¦get32_by_small_index_coldÁ¦get32_by_small_indexÁ¦get32Á¦getÁ¦get16Á¦get32_supplementaryÁ¦ get32_uleÁ¦ get_rangeÁ¦¦iter_ranges_for_valueÁ½½ ½ ¦iter_ranges_mappedÁÁ¥ÁÁimpl FnMut(T) -> U + Copy + 'aÁÁÁ ¦ error_valueÁÈÈ get32_u32ÁËËÈCodePointMapRangeIteratorÁÎ¥ÎÎcptÁÎ cpm_rangeÁÓÓ½Ó¥ SealÁTypedCodePointTrieÁØˆØØ TRIE_TYPEÁØöØýØŠØòØåØìØas_untyped_refÁØ
to_untypedÁäˆää¼ äý ä“!äýëˆëîˆîîîóˆóóó øˆøø¼ øý ø“!
þˆþ ˆ ˆTypedÁFastÁŽ
ŽìSmallÁ
ìŒerrorÁŒ
impl_constÁFAST_TYPE_SHIFTÁFAST_TYPE_DATA_BLOCK_LENGTHÁFAST_TYPE_DATA_MASKÁFAST_TYPE_FAST_INDEXING_MAXÁSMALL_TYPE_FAST_INDEXING_MAXÁERROR_VALUE_NEG_DATA_OFFSETÁHIGH_VALUE_NEG_DATA_OFFSETÁBMP_INDEX_LENGTHÁ SMALL_LIMITÁSMALL_INDEX_LENGTHÁSHIFT_3ÁSHIFT_2ÁSHIFT_1Á SHIFT_2_3Á SHIFT_1_2ÁOMITTED_BMP_INDEX_1_LENGTHÁINDEX_2_BLOCK_LENGTHÁ INDEX_2_MASKÁCP_PER_INDEX_2_ENTRYÁINDEX_3_BLOCK_LENGTHÁ INDEX_3_MASKÁSMALL_DATA_BLOCK_LENGTHÁSMALL_DATA_MASKÁCODE_POINT_MAXÁŒplanesÁ°°°INDEX_ARRAY_AS_BYTESÁ°get_planes_trieÁŒŒŒŒŒŒŒŒŒŒ Œ
iterator_utilsÁÀÀRangeListIteratorCoalescerÁ£ ÂpeekÁÀÇÝ*ÇÇ ÀËÝ*Ë˽˥ 
Char16TrieÁÐ×ÐdataÁÓ×ÓÈÖ×ÖÍÙ×Û×ÛÕÞ×Þ˜á'zfÁá 'zf_innerÁá zero_fromÁChar16TrieIteratorÁå¥åí
åposÁåremaining_match_lengthÁê¥êÈ
TrieResultÁíNoMatchÁî
íNoValueÁð
í
FinalValueÁò
òìí IntermediateÁõ
õì 
ùÈ  üÍ
ÿÕF G 5CodePointInversionListULEÁƒèƒinv_listÁ5×encode_var_ule_as_slicesÁˆˆimpl FnOnce(&[&[u8]]) -> RÁencode_var_ule_lenÁencode_var_ule_writeÁŒZEROÁŒSIZE_0ÁŒOFFSET_0Á5×Ñ/ñ/ú/œ0¶05×å,5š×šï54__IMPL_VarULE_FOR_CodePointInversionListULE_ULE_SIZEÁ5žvalidate_bytesÁŸÒ0ŸÞ0Ÿì0žfrom_bytes_uncheckedÁ5¤Õ55§Í5̩שµ/©è5 ­×­Í5
°×°˜5 ³×5 µ×µÕ5
¸×¸È5»¥»Ø» transformÁ»transform_ownedÁ»makeÁÀÀÀ»
transform_mutÁÄÒ#Ä'bÁ5ÇÉ,ÇÔ,Çå,4InvalidSetErrorÁË
4ÍÎÍ4ÐÍ4ÒÓÍ4ÕÍ4
RangeErrorÁ×
×ì×íw&CodePointInversionListAndStringListULEÁÛunsized_fieldsÁÜ wÞ cp_inv_listÁߥÞstr_listÁá¥wã×ãÑ/åñ/åú/ãœ0è ã¶0êÒ0ê wí×íÑ/ïñ/ïú/íœ0í¶0wô×ôå,w÷×÷ïwA__IMPL_VarULE_FOR_CodePointInversionListAndStringListULE_ULE_SIZEÁwû—2üÒ0ü ûÅ2ÿ wÕww Íw#CodePointInversionListAndStringListÁ×Ý6ø6w
Š×ŠÍw טw ×w
×Õw×Èw˜¥˜Ø˜Œ4˜4˜´4˜Ï4¡Ò#¡ì4w¤É,¤Ô,¤å,wInvalidStringListÁ¨InvalidStringLengthÁ©
¨StringListNotUniqueÁ«
¨StringListNotSortedÁ­
w¯°Íw²ÍTrieTypeÁ´ä#µ
µ ´ý#¸
¸ 
¼ÈÀÕÂÍƯ鯯ÊéÊÊÎéÎÎÒéÒÒÖéÖÖÚéÚÚÞéÞÞ
CodePointTrieÁâˆââheaderÁâöâÝ+èˆèèÍìˆìì˜ðˆðóˆóóÕ÷¥÷÷Ø÷Œ4÷4÷´4ýýý÷Ï4Ò#ì4 É,Ô,å,âÖCodePointTrieHeaderÁŠ
high_startÁŠshifted12_high_startÁŠindex3_null_offsetÁŠdata_null_offsetÁŠ
null_valueÁŠ trie_typeÁ!"#È$Í%˜&'šÕ(œ¥œØœŒ4œ4œ´4œÏ4¢Ò#¢ì4)¥É,¥å,CodePointMapRangeÁ¨¨rangeÁ¨˜*¬+®®Õ,±±˜-´´Í.··ÈFastCodePointTrieÁºˆººinnerÁ/¾ˆ¾¾ÍSmallCodePointTrieÁˆÂÂÕE0ÆˆÆÆÍTypedCodePointTrieErrorÁÊ
1ÌÍÑÈÓÔÍÖÍÙÕÎFromDeserializedÁÛ±
ÎEmptyDataVectorÁÝ
ÎIndexTooShortForFastAccessÁß
ÎDataTooShortForFastAccessÁá

$
%
&
'
(
)
*
+
,
-
.
/
0
O
R
U
X
Y
Z
[
\
]
^
_
a
a
b
b
d
d
o
o




ˆ

Š

«
«
«
­
®
¯
°
±
²
³
´
µ

·
¸
¹
º
»
¼
½
Ç
È
Ê
Ë
Í
Ó
Ö
Ü
Ý
Þ
ß
à
á
â
è
ê
ü
Ï
Õ
Ø
Ø
Ø
Ý
Ý
à
ì
ú
ý
ý
ý


ˆ
ˆ
ˆ

Œ
Œ







Ÿ
£
¥
¥
¨
¨
¨
¯
¯
¯
²
·
·
º
Ï
Ï
Ï
Ñ
Ñ
Ñ
Ô
Ô
Ô
Ö
Ö
Ö
å
å
å
è
ê
ê
í
ï
ï
ï
ò
ó
ó
ü
ÿ





Œ
Œ
Œ




±
±
±
³
³
³
½
Á
Á
Ã
Ã
Ã
Å
ë
ë
ë
ï
ö
ö




˜


Ÿ
°
°
³



¹
Á
Á
Á
É
É
É
Í
Í
Í
Ò
Õ
Õ
Õ
×
×
×
Ú
Ú
Å¥P8S8V8¾8רÞÐÐÃ+ÒÝ+TVGzÕ¯ÈR×à`ÿQ¬âÿQžÿQÿQ£ÿQ
ÐÐÃ+ÒÝ+TVGzÕ¯ÈRÉ,É,ÐÐÃ+ÒÝ+TVGzÕ¯ÈRÔ,Þååõ,çí
èŸ-éª-“5,¢ƒ5¥V¥áíîïí-ðñ.òó•.ôìõö´.÷ìU€}™¦ÞTþTà`T¬âTžTTà`©©Ì«µ/5¬è51¸crÒá5×£ÁU¬âÁUžÁUÁUÞÁUÀ©©Ì«µ/5¬è51¸crÒá5¥
©©Ì«µ/5¬è51¸crÒá5É,É,©©Ì«µ/5¬è51¸crÒá5Ô,­ÁUƒƒŒ/è5µ/5g %/e¸­ 8ÁU€X
ÁU×€XúÁU ×€XÓ€Xž€X€X£€Xà`€Xå`ËËÌ5 ¿c8vI+<˜à`£Yå`×רê5ÙìÚí !ÞjJGmNÂà`ÙYà`»9ˆÝ6wø6wY-‡¬]‘k×£¡Z¬â¡Zž¡Z¡ZÞ¡ZÀ»9ˆÝ6wø6wY-‡¬]k¥
»9ˆÝ6wø6wY-‡¬]kÉ,É,»9ˆÝ6wø6wY-‡¬]kÔ,­¡ZÛÛ6ܾ6wZ{!Ö¡­ 8¡Zà\
¡Z×à\ú¡Z ×à\Óà\žà\à\£à\à`à\å`¨©ªá;«¬<­®¡<èR„E ¸à`ø]á´µä#·¸¹ý#º×·î.—9ÞÎ^þÎ^¬âÎ^žÎ^Î^à`Î^£Î^à`ââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ïˆ£“`¬â“`ž“`“`Àââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ïæ`¥
ââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ïÉ,É,ââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ïÔ,ÆbþŠŠÚAõAŒ‡B£B޽BÕBçB
ÂÁî32&á¯cÞ¯cà`¯c£¯c¬â¯cž¯c¯cÀ¯c¥
¯cÉ,¯cÎ^Î_Þââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ï8æ`¬â¨¨•Dª¶D«˜v.¾¡C6}?žÙeÙe£Ùeà`ÙeÞÙeÞKÎΜÑÍÒØGƒ}O¤™Ew8æ`à`ºº¬E½ÕE¤%–™/T2ˆæ`ØŒgˆæ`׌g ˆŒg ˆ“`Œg“`à`ÂÂÿEÅÕE(åtxˆæ`ØŽhˆæ`׎h ˆŽhðgŽh“`à`ÊÊËÎF ¸Ï¯‚VݽþÎÛÑGܱ
ÝÞñGßàHáâ´H.¥ÑN¾ŠFßáµiÞµiå`µià`µi¬âµižµiµiϵiÞK»*Å£ ÀÆö*À“;"k HªÝ*æ`ÓÐêåùí¸©¼´ŠËâ·¨ÑÎÖÐüí­©§ƒÐËÕ׊۲¨Â´è⊴¨¾ºÆÂÌÊÖÎÙÐþí³©¿´ð⊬¨ØÎÛÐÿíµ©¤ƒÛÀ´ó⚊®¨ÙÎÞ੦ƒƒÛÄ´ì⊱¨áÐÇ©©¤ô⥊øí»´ŠÐÎûí¾´ŠÏλ©˜÷✊©
ãí
š©÷žƒûÛÎËÓ×°¨ÔÎÆÊÎÒÖÚÞ¢´î
óº
ÂÓÎËÂäºøÂëºþÂÎÞ
Ïà`F¬â wž ?£ M
?á1þÀ­úÓå`"ÞKØ×Ï0Ø_0x30ÁØ_0x10ÁüØ* „Ø 
Ø_¼ë  Ø_( *
Ø_( Ø_OØ_ü¼G  Ø_Ò Ø_.
Ø_ƒ Ø_š
Ø_ Ø_”¨   Ø_ ¹ Ø_( + Ø_)Ø_PØ_üŒ/ 
Ø_¢ Œs+ Ø_ Ø_€Ø_0x8000Áÿ?Ø_0x3fffÁ´À
”À
Ø_ Õ
Ø_( +Ø_)Ø_PØ_ü›
< Ø_º
Œs+Ø_Ø_ÿØ_0xffÁüÊ $ ìË ¼Ì Ø_ æ Ø_. +Ø_)Ø_VØ_n ì €`â_â_¥ <€`ÄY€` í ü¹ 5   Ø_   Ø_=Ø_Tü ` Ø_³ Ø_^Ø_]Œseâ_v}ŒsŸRvØ_Ø_´ Ø_¾ Ø_ÀØ_0x7fc0ÁÿØ_0x7fffÁÿûØ_0xfbffÁ´À
”À
Ø_ Õ
Ø_( +Ø_)Ø_PØ_ü›
< Ø_º
Œs+Ø_Ø_ÿÿØ_0xffffÁÿÿâ_0xFFFFÁùtÛ³M 
ùtÛ³-
Ì
R
R
SPotentialCodePointÁ
Tì
 Ñt{ŽEš9 ñt‰´ 
© © ª RawBytesULEÁ¬ ì Ö±ËúÇÒOUÞqÐ}[ÒÖùsº>

QsÁº
Ƀ} asÁº s̺ üæÅFªªZeroVecÁ­¨½®marker1Á½¯marker2Á½ʘ!ÚÆdG
ƒ}Üþ ÂÂà ZeroSliceÁÅì¾ ÈE(ƒ}î÷ÏÐ}Ð}¡t‘´ ™t’´at•´üÜ!
äÜ
ùâ_9H
Oü¹ 
Yl´{üÿ) Eâ_ ¦â_0  -Eâ_+â_Z â_r
yäÿ¸ƒ §!
)ÛíºC ØY
Ó} t¤´ Ž©Ð}= t¦´Át´
Ð} Ó}Þqä„ æ„Ó}ƒ}þÓ}ƒ}˜â_â_¢ƒEâ_¨Eâ_ùvÛ³M 
ùvÛ³-ý|ñv‰´Ð}Ð}IMùuº>

QuÁºÒ~|auÁº u̺ ü€ ÇGœÜ ÆÎ5«Ð}Ð}¡v‘´ ™v’´av•´üí !
äí ¸Š
â_8G
NüÊ íWj´yü
4´­
”­
  
®0â_(
  Â
â_F 
 #â_h
â_C 
ä
¸¨ Ã
3
;îíÎU ìk
Ó} v¤´  ­»Ð}= v¦´Áv´ Ð}ä„䄿„Ó}ƒ}Ó}ƒ}œâ_â_·…¬yŸ®0Þqøx 2
 
˜© © ª á|¬ ì Ö±ËúÇÒOUÞq^dŽrÞq}˜¡ÞqŽÞq½ ËÞq*ŽÞqæÞq÷ÞqÞq$)ÞqˆŽÞq@ÞqŸŽÞqgn
v|œÞq´ ÃÞqÜÞq ÷ÞqÞq#+ÞqT
\bsz¡Þq²¼ Þq¡ÞqØ ç ÞqG¡ÞqÞq¢%Þq1:BG Þq¦¡Þq_ Þq¾¡ÞqDûN$…O¼ôN
© ŠO‘OLüéM¨©©Ì«µ/5¬è51¸crÒá5$åNœDNâ_$ÑNœÁâ_µµ/#è'ˆÞq2usizeÁÞq2usizeÁÞqÞq2usizeÁÞqÞqÞq2usizeÁÞq2usizeÁ\Í*Dæ*ü›*^
 ø*ÿ*ü‚)ý»9ˆÝ6wø6wY-‡¬]k$Œ*å”\­)ààá
VarZeroVecÁåì 6
ä>(ùOèä ä å Index16Á ÁÀ;A®Î)Dá)å”+ò˜!Ý6Žø6+ô
4˜^,¬^$¿^\Ñ^ü…^b
âæ` æ^í^©üÈZ¥ ââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ïæ`$‰\¯c4†[ªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
Ø_,«[ªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
æ`$Ï[æ`\ð[¯c·Ûœ­«£æ`˜Ç?×öÝ+QÖUotáˆ
´üň+çÎ^DÖˆ'TrieType::FastÁ
´üÉ,ûÎ^'TrieType::SmallÁ€`¤ñ

˜€`â_' â_7  ñ
â_G˜€`a(â_m˜€`üÄB
â_ë
â_«±2±˜€`¼˜€`ǘ€`üô
Üô
â_ 
â_, .â_,â_Wâ_üÏE
šâ_î
·…Ž-â_˜â_ÿÿâ_0xffffÁÿâ_0xfffÁâ_â_Ô‘

˜€`â_' â_7 <
â_G˜€`a(â_m˜€`üï=
Ÿâ_
â_«±2±˜€`¼˜€`ǘ€`â_0x1000Áôø
|‡
˜€`â_' â_7 
 â_E˜€`_& â_i˜€`üÔ C
¡â_ò
â_§­2­˜€` â_Ø€` â_Ù˜€`â_
 ¹
â_
¢â_+ .â_,¢â_Vâ_ü  %
£â_³
·…-}¢â_ˆ¢â_\•

â_<™
£â_+ .â_,£â_Vâ_üü %
¤â_
·…-}£â_ˆ£â_Œ§

£â_
¢â_) ,£â_*¢â_Râ_üŒ
-
¥â_¡
·…-£â_¢â_Ÿ£â_œ¢â_Œ¿
<¿
¤â_
£â_) ,¤â_*£â_Râ_ü¤-
¦â_¹
·…-¤â_£â_Ÿ¤â_œ£â_”ö
<
¤â_ â_) 
â_9¤â_S(â__¤â_üÊ?
§â_ð
œ+œ¤â_§¤â_²¤â_

¦â_ â_)  ä
â_9¦â_S(â__¦â_ü¾5
¨â_Þ
œ+œ¦â_§¦â_²¦â_ÄØ
¤Ø
¨â_ ï
â_+ .¨â_,â_Vâ_üº7
©â_Ò
·…-¨â_˜¨â_

£â_ â_)  Ö
â_9£â_S(â__£â_ü°3
ªâ_Ð
œ+œ£â_§£â_²£â_

¥â_ â_)  ¾
â_9¥â_S(â__¥â_ü˜5
«â_¸
œ+œ¥â_§¥â_²¥â_IJ
¤²
«â_ É
â_+ .«â_,â_Vâ_ü”7
¬â_¬
·…-«â_˜«â_

¢â_ â_)  «
â_9¢â_S(â__¢â_ü‚6
­â_¥
œ+œ¢â_§¢â_²¢â_Ü£
¼£
­â_ ½
â_+ .­â_,â_Vâ_ü‚=
®â_
·…-­â_˜­â_ÿÿâ_0x10ffffÁüþŒg
³ Î_Þq 6CP 
Î_ ‰jüÚ±g³ʼ¼œ¼¤‘¼üÿ‹g¼¸K'
Î_ Î_ŠÎ_$@Î_Î_šÎ_ŸÎ_¤Î_©Î_®Î_³Î_¸Î_½Î_ÂÎ_ÇÎ_ÌÎ_ÑÎ_ÖÎ_ÛÎ_àÎ_éÎ_îÎ_óÎ_øÎ_ýÎ_Î_Î_ŒÎ_Î_Î_Î_ Î_¥Î_ªÎ_¯Î_´Î_¹Î_¾Î_ÃÎ_ÌÎ_ÑÎ_ÖÎ_ÛÎ_àÎ_åÎ_êÎ_ïÎ_ôÎ_ùÎ_þÎ_ƒÎ_ˆÎ_Î_Î_Î_œÎ_¡Î_¦Î_¯Î_´Î_¹Î_¾Î_ÃÎ_ÈÎ_ÍÎ_ÒÎ_×Î_ÜÎ_áÎ_æÎ_ëÎ_ðÎ_õÎ_úÎ_ÿÎ_Î_Î_Î_Î_œÎ_¡Î_¦Î_«Î_°Î_µÎ_ºÎ_¿Î_ÄÎ_ÉÎ_ÎÎ_ÓÎ_ØÎ_ÝÎ_âÎ_çÎ_ìÎ_õÎ_úÎ_ÿÎ_Î_Î_ŽÎ_Î_˜Î_Î_¢Î_§Î_¬Î_±Î_Î_»Î_ÀÎ_ÅÎ_ÊÎ_ÏÎ_ØÎ_ÝÎ_âÎ_çÎ_ìÎ_ñÎ_öÎ_ûÎ_Î_Î_ŠÎ_Î_Î_Î_ˆÎ_¤Î_Î_¯Î_Î_¾Î_Î_ÉÎ_°Î_ÔÎ_°Î_ßÎ_°Î_êÎ_°Î_õÎ_ÐÎ_Î_$… ÐÎ_ Î_$ ÐÎ_š Î_ÐÎ_¥ Î_ðÎ_° Î_ðÎ_» Î_ðÎ_Æ Î_ðÎ_Ñ Î_Î_Ü Î_Î_ç Î_Î_ò Î_Î_
Î_$†
0Î_Œ
Î_$
0Î_
Î_
0Î_¢
Î_
0Î_­
Î_
PÎ_¸
Î_
PÎ_Ã
Î_
PÎ_Î
Î_
PÎ_Ý
Î_
pÎ_è
Î_
pÎ_ó
Î_
pÎ_þ
Î_ pÎ_ Î_ Î_ Î_$™ Î_Ÿ Î_ Î_ª Î_ Î_µ Î_ °Î_Ä Î_ °Î_Ï Î_ °Î_Ú Î_ °Î_å Î_ ÐÎ_ð Î_ ÐÎ_û Î_$€ ÐÎ_ Î_$‹ ÐÎ_ Î_$– ðÎ_  Î_ ðÎ_« Î_ ðÎ_ Î_ ðÎ_Á Î_ Î_Ì Î_ Î_× Î_ Î_â Î_ Î_í Î_ 0Î_ø Î_$
0Î_
Î_
0Î_
Î_$—
0Î_
Î_
PÎ_¨
Î_$­
PÎ_³
Î_$¸
PÎ_¾
Î_
PÎ_É
Î_
pÎ_Ô
Î_
pÎ_ã
Î_
pÎ_î
Î_
pÎ_ù
Î_þ
Î_ƒÎ_Î_ŽÎ_$“ Î_Î_0Î_¤Î_@Î_¯Î_PÎ_ºÎ_`Î_ÉÎ_pÎ_ÔÎ_ÙÎ_ÞÎ_Î_éÎ_ Î_ôÎ_0Î_ÿÎ_Î_Î_Î_Î_$™ Î_£Î_0Î_®Î_³Î_¸Î_Î_ÃÎ_ Î_ÎÎ_0Î_ÙÎ_ÞÎ_ãÎ_Î_îÎ_ Î_ùÎ_$‚0Î_ˆÎ_Î_Î_$—Î_Î_ Î_¨Î_0Î_³Î_¸Î_½Î_Î_ÈÎ_ Î_ÓÎ_0Î_âÎ_çÎ_ìÎ_Î_÷Î_ Î_Î_$‡0Î_Î_Î_Î_Î_¢Î_ Î_­Î_0Î_¸Î_€Î_ÇÎ_€Î_ÒÎ_€Î_ÝÎ_€Î_èÎ_€Î_óÎ_€Î_þÎ_€Î_Î_€Î_Î_$™€Î_£Î_€Î_®Î_€Î_¹Î_€Î_ÄÎ_€Î_ÏÎ_€Î_ÚÎ_€Î_åÎ_€Î_ðÎ_€Î_ûÎ_$„€Î_ŠÎ_$€Î_Î_€Î_ Î_€Î_«Î_€Î_Î_€Î_ÁÎ_€Î_ÌÎ_€Î_×Î_€Î_æÎ_€Î_ñÎ_€Î_üÎ_$€Î_Î_€Î_Î_$—€Î_Î_€Î_¨Î_Î_³Î_Î_¾Î_Î_ÍÎ_Î_ØÎ_Î_ãÎ_Î_îÎ_Î_ùÎ_Î_Î_$‰Î_Î_$”Î_šÎ_Î_©Î_Î_´Î_Î_¿Î_Î_ÊÎ_Î_ÕÎ_Î_àÎ_Î_ëÎ_Î_öÎ_Î_Î_Î_Î_$•Î_Î_Î_¦Î_Î_±Î_Î_¼Î_Î_ÇÎ_Î_ÒÎ_Î_ÝÎ_Î_ìÎ_Î_÷Î_Î_Î_$‡Î_Î_$’Î_˜Î_$ Î_£Î_ Î_®Î_ Î_¹Î_ Î_ÄÎ_ Î_ÓÎ_ Î_ÞÎ_ Î_éÎ_ Î_ôÎ_ Î_ÿÎ_$„ Î_ŠÎ_$ Î_Î_ Î_ Î_ Î_¯Î_ Î_ºÎ_$¿ Î_ÅÎ_ Î_ÐÎ_ Î_ÛÎ_ Î_æÎ_ Î_ñÎ_ Î_üÎ_$
íó%T0€`7>dí&
íö%T0€`7>Ôú
ËÌ"£Y-4¬ö
ר(ÙY3â_:â_AHœ×S
¨ª"ø]-4œžU
¨¬"ø]-4œ®W
¨®"ø]-4$¾ª
Ò#Û#%2Žä#ìý#ì2LWJfŸ¾¯į¾¯˜,ëª
¾¯į!.ç¯:įBI4wŒÀ³üËÔüË+( Efficient collections for Unicode data.Á÷Ëüû|y This module is published as its own crate ([`icu_collections`](https://docs.rs/icu_collections/latest/icu_collections/))Áüø|y and as part of the [`icu`](https://docs.rs/icu/latest/icu/) crate. See the latter for more details on the ICU4X project.ÁõËüùƒ ICU4X [`CodePointTrie`](crate::codepointtrie::CodePointTrie) provides a read-only view of `CodePointTrie` data that is exportedÁüýmj from ICU4C. Detailed information about the design of the data structure can be found in the documentationÁüëJG for the [`CodePointTrie`](crate::codepointtrie::CodePointTrie) struct.ÁËüºµ² ICU4X [`CodePointInversionList`](`crate::codepointinvlist::CodePointInversionList`) provides necessary functionality for highly efficient querying of sets of Unicode characters.Áüðš It is an implementation of the existing [ICU4C UnicodeSet API](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UnicodeSet.html).ÁŽ Ëü’ †ƒ ICU4X [`Char16Trie`](`crate::char16trie::Char16Trie`) provides a data structure for a space-efficient and time-efficient lookup ofÁü™
NK sequences of 16-bit units (commonly but not necessarily UTF-16 code units)Áüè
 which map to integer values.Áü‰ ˜ It is an implementation of the existing [ICU4C UCharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UCharsTrie.html)Áü¢ zw / [ICU4J CharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/util/CharsTrie.html) API.Á4wŒÀ³Ž”—üË\ Y This module provides a data structure for a space-efficient and time-efficient lookup ofÁü¨N ‰ºü÷ ຘ Ëüœ˜ Š»üµz ¬¼° Ëœ´  ## ArchitectureÁÈ ËüÌr o ICU4X [`Char16Trie`] is designed to provide a read-only view of `UCharsTrie` data that is exported from ICU4C.Á¿ Ë ## ExamplesÁÓ Ëü×  ### Querying a `Char16Trie`Á÷ Ë  ```rustÁü‡? < use icu::collections::char16trie::{Char16Trie, TrieResult};ÁÌÇ  use zerovec::ZeroVec;Áá ËüåM J // A Char16Trie containing the ASCII characters mapping 'a' to 1 and 'ab'Á // to 100.ÁüÂ- * let trie_data = [48, 97, 176, 98, 32868];ÁüðI F let trie = Char16Trie::new(ZeroVec::from_slice_or_alloc(&trie_data));Áº Ëü¾   let mut iter = trie.iter();ÁìÞ  let res = iter.next('a');Áüü 1 . assert_eq!(res, TrieResult::Intermediate(1));Áì®
 let res = iter.next('b');ÁüÌ
1 . assert_eq!(res, TrieResult::FinalValue(100));Áìþ
 let res = iter.next('c');Áüœ ) & assert_eq!(res, TrieResult::NoMatch);Á  ```ÁÎ ËüÒ  [`ICU4X`]: ../icu/index.htmlÁÃ+T Ð1õ,”§ å2Û-TÉ í3Dô 
ÐåíZeroFromÁDÙ 
åÇ5 ¦~<ü ª”Ï Kìç -/ ü§. ü­! ÞqÜ´ „º Ø_üØ" ¼Þ Ø_̼ Ø_ÌŒ t’ Ø_Ìí Ø_ìò ”ø Ø_ü›
" ¼¡
Ø_üã
" ¼é
Ø_ü ' ä• Ø_üû % Ô Ø_ü¬ ¬² Ø_ìó ”ù Ø_ü›
" ¼¡
Ø_üâ

Ø_üŽ- T ÞqØ_Þq
Ÿ-œ leadÁ$¨ üÕ2 |Ø ÞqØ_Þq
Ÿ-è ¼Ë ì± ×ÿQ ü­- üÕE B Returns a new [`Char16Trie`] with ownership of the provided data.Á´ ªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
ר_ÿQ
×Ý+$¸ üæ, üþU R Returns a new [`Char16TrieIterator`] backed by borrowed data from the `trie` dataÁ$í ã ãÿQååõ,çí
èŸ-éª-“5,¢ƒ5¥Vã ò 
× üà(& Dã( €`Ø_

supplementaryÁlì( ü™+& Dœ+ €`Ø_
¾Ðl¥+ Äß- \ì-  ø- é/  þ- . , ÿ- 8ä 4€. & †. 8ï$‡. *.  . æ/ 8,š. ,  . 8ä 4¡.  ¨. à/ 8$¶.  º. ¼. 8 ». *¾. 8©Ò Á. $ Â. 8Ð$Ð. *Õ.  Ø. Ö/  8 debug_assertÁdˆ/  ”/  •/ / 8 ,/ % œ/ 84®/ 8Û-Tµ/ '¿/ 8í-<Á/ % È/ % ç/ üì/ ¥""ÎS#$%&'()*+,-./0ñ/ üú0, ü’0U R Returns a new [`Char16TrieIterator`] backed by borrowed data for the `trie` arrayÁ1  ¥ÂÂÃÅì¾ ÈE(Ø_ÎS!!
#¥í
$…1 ü€8- ü£2B ? Traverses the trie from the current state for this input char.Áê2 Ëtò2 # ExamplesÁ…3 Ë<3 ÊÆü™3? ›ÁÌÝ3 âÁû3 Ëüƒ4@ = // A Char16Trie containing the ASCII characters 'a' and 'b'.ÁüÈ4- ûÂüú4I ±ÃÈ5 ËüÐ5 ŽÄìô5 µÄü–61 ÛÄìÌ6 ”Åüî61 ºÅì¤7 óÅüÆ7) ™Æ<ô7 ÊÆ$‡8 ä äÎST! Œ8 !
$¥$8 Š —8 üð@. ü“;B „ÖÚ; Ëtâ; ÙÖõ; Ë<ý; ÊÆü‰<? ›ÁÌÍ< âÁë< Ëüó<@ «×ü¸=- ûÂüê=I ±Ã¸> ËüÀ> ŽÄìä> µÄü†?1 ÛÄì¼? ”ÅüÞ?1 ºÅì”@ óÅü¶@) ™Æ<ä@ ÊÆ4÷@ å åÎSâ_T! þ@ !
%¥$ƒA Š ‰A üóI. üûCB „ÖÂD ËtÊD ÙÖÝD Ë<åD ÊÆüñD? ›Á̵E âÁÓE ËüÛE@ «×ü F- ûÂüÒFI ±Ã G Ëü¨G ŽÄüÌG& # let res = iter.next16('a' as u16);Áü÷G1 ÛÄü­H& # let res = iter.next16('b' as u16);ÁüØH1 ºÅüŽI& # let res = iter.next16('c' as u16);Áü¹I) ™Æ<çI ÊÆ4úI æ æÎSØ_T! J !
&¥$†J Š ŒJ üÊQP \ÍQ ç çÎSÞqÞqØ_T! ÙQ !
'¥$ÞQ Ÿ-äQ lengthÁ4ðQ in_unitÁ<ÿQ ü¥g? L¨g è èÎSÞqØ_T! ²g !
(¥$·g Ÿ-½g Õà<Ég ”®s $±s é éÎS! ¶s !
)¥$»s ü®t4 l±t ê êÎSÞqø°ú°û°Ðü°ý°þ°ìHˈXêE>Þq! ¿t !
*¥$Àt Ÿ-Æt üêy1 Tíy ë ëÎSÞq×ã! øy !
+¥$ùy Ÿ-ÿy üÓ{1 TÖ{ ì ìÎSÞq×ã! á{ !
,¥$â{ Ÿ-è{ ü‹~0 dŽ~ í íÎSÞqT! ~ !
-¥$œ~ Ÿ-¢~ üî€5 Lñ€ î îÎSÞqø°ú°û°Ðü°ý°þ°ìHˈXêE>T! û€ !
.¥$ü€ Ÿ- üÄ„? TÇ„ ï ïÎSÞqØ_ø°ú°û°Ðü°ý°þ°ìHˈXêE>€`! Ò„ !
/¥$Ó„ Ÿ-Ù„  lead_unitÁLå„ üˆD |ň ð ðÎSÞqØ_Ïè! Õˆ !
0¥$Öˆ Ÿ-܈ ÆèLèˆ „‡ >Ä¡ 4„à *Ä«üËmj This module provides necessary functionality for highly efficient querying of sets of Unicode characters.Á¹Ëü½EB It is an implementation of the code point portion of the existingÁüƒur [ICU4C UnicodeSet API](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UnicodeSet.html).ÁùË”ý # ArchitectureÁü ICU4X [`CodePointInversionList`] is split up into independent levels, with [`CodePointInversionList`] representing the membership/query API,Áü¡GD and [`CodePointInversionListBuilder`] representing the builder API.ÁéË # Examples:ÁýËü*' ## Creating a `CodePointInversionList`Á¬Ëü°a^ `CodePointSets` are created from either serialized [`CodePointSets`](CodePointInversionList),Áü’ZW represented by [inversion lists](http://userguide.icu-project.org/strings/properties),ÁüíFC the [`CodePointInversionListBuilder`], or from the Properties API.Á´ËÊÆüÀ-* use icu::collections::codepointinvlist::{Áüî>; CodePointInversionList, CodePointInversionListBuilder,Á4­  };Á´ Ëü¸ ;8 let mut builder = CodePointInversionListBuilder::new();Áüô ! builder.add_range('A'..='Z');Áü–
63 let set: CodePointInversionList = builder.build();ÁÍ
蟄
 assert!(set.contains('A'));Á
ÊÆù
Ëüý
*' ## Querying a `CodePointInversionList`Á¨ Ëü¬ Œ Currently, you can check if a character/range of characters exists in the [`CodePointInversionList`], or iterate through the characters.Á¹ Ë ÊÆüÅ -çñüó >ò
ãò¹
Ëü½
;ýòüù
!Áóü›6ëóÒËüÖµôüö+( assert!(set.contains_range('A'..='C'));Áü¢30 assert_eq!(set.iter_chars().next(), Some('A'));ÁÊÆÞËüâ 寄³5fËÌÍÒ×ØÌ´ó©tŒ/Ìžƒu v4vlûLÿ4EFG©ƒÀŽ/57ç§!58ìt„Š™59Ž|”¨
R5:YokeableÁDÆÀ5;†ú (5;åÇ
5<åÇ55<AsULEÁ,ûÉ5>ñ<5?¦~<ª5@5|¡Ë5A5Ì5AíŒ× q5C× o5Düà3),„í œÿü™!õ”ÔÕüì'·¦¨˜´š‹ü¶@ln^`”è5â_üæ3„ì5ªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
ƒ}ü€ *<† 5Úýü’:)×IIÁUJLMNORUXYZ[\]^_abd,—:üÞF|üÂ:sp Returns a new [`CodePointInversionList`] from an [inversion list](https://en.wikipedia.org/wiki/Inversion_list)Áüº;LI represented as a [`ZeroVec`]`<`[`PotentialCodePoint`]`>` of code points.Á<Ëü“<PM The inversion list must be of even length, sorted ascending non-overlapping,Áüè<YV and within the bounds of `0x0 -> 0x10FFFF` inclusive, and end points being exclusive.ÁÆ=ËtÎ=ÙÖá=Ë<é=ÊÆüõ=C@ use icu::collections::codepointinvlist::CodePointInversionList;Áü½><9 use icu::collections::codepointinvlist::InvalidSetError;Áüþ>*' use potential_utf::PotentialCodePoint;ÁÌ­?âÁË?ËüÓ? let valid = [0x0, 0x10000];Áü÷?52 let inv_list: ZeroVec<PotentialCodePoint> = validÁ¤±@ .into_iter()ÁüÊ@*' .map(PotentialCodePoint::from_u24)Áœù@ .collect();Áü‘AKH let result = CodePointInversionList::try_from_inversion_list(inv_list);ÁüáA63 assert!(matches!(result, CodePointInversionList));ÁœBËü¤B'$ let invalid = vec![0x0, 0x80, 0x3];ÁüÐB74 let inv_list: ZeroVec<PotentialCodePoint> = invalidÁ|ŒC .iter()ÁŒ C .copied()Áü¶C*±„œåCã„üýCKÿ„üÍD74 assert!(matches!(result, Err(InvalidSetError(_))));Áü‰E2/ if let Err(InvalidSetError(actual)) = result {ÁœÀE assert_eq!(Á¬ØE &invalid,ÁüòEB? &actual.into_iter().map(u32::from).collect::<Vec<_>>()ÁT¹F );Á,ÈF<ÒFÊÆ¼åFªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
׃}ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ÁU£YHH
J×µ/D†Gd§IJ<closure_kind>ÁK<closure_signature>ÁK<upvars>ÁKKJKö_Ð}â_üéM€üñLKH Safety: no actual safety invariants, however has correctness invariantsÁ¡ÃM ÆM ÍM8°4ÇMtÁM¤ýMœ‹â_ÁUHH
L×µ/'Jè0J¤èeü aDA Returns [`CodePointInversionList`] spanning entire Unicode rangeÁéaËüña52 The range spans from `0x0 -> 0x10FFFF` inclusive.Á,«b ÁtµbÙÖÈbË<ÐbÊÆüÜbCÔ¤cËü¬c1. let expected = [0x0, (char::MAX as u32) + 1];Á|âc assert_eq!(Áüöc?< CodePointInversionList::all().get_inversion_list_vec(),Á„ºd
expectedÁ4Ïd );Á|ÚdÑüîd-* CodePointInversionList::all().size(),Áü e,) (expected[1] - expected[0]) as usizeÁ4ÑeÈ‘<ÜeÊÆïeÁUHH
MפÇküìf96 Returns [`CodePointInversionList`] spanning BMP rangeÁªgËü²g30 The range spans from `0x0 -> 0xFFFF` inclusive.ÁêgËtògÙÖ…hË<hÊÆü™hCÔáhËüéh  const BMP_MAX: u32 = 0xFFFF;ÁŽiËü–i&# let expected = [0x0, BMP_MAX + 1];Á|ÁiÑüÕi?< CodePointInversionList::bmp().get_inversion_list_vec(),Á„™j°‘4®jÈ‘|¹jÑüÍj-* CodePointInversionList::bmp().size(),Áüÿj,™’4°kÈ‘<»kÊÆÎkÁUHH
N×ü t;üÄn\Y Yields an [`Iterator`] going through the character set in the [`CodePointInversionList`]Á¥oËt­oÙÖÀoË<ÈoÊÆüÔoCÔüœp0- let example_list = [0x41, 0x44, 0x45, 0x46];ÁüÑpLI let example = CodePointInversionList::try_from_u32_inversion_list_slice(Á´¢q &example_list,Á,½qtÇq .unwrap();ÁüÚq1. let mut ex_iter_chars = example.iter_chars();Áür0- assert_eq!(Some('A'), ex_iter_chars.next());ÁüÅr0- assert_eq!(Some('B'), ex_iter_chars.next());Áüúr0- assert_eq!(Some('C'), ex_iter_chars.next());Áü¯s0- assert_eq!(Some('E'), ex_iter_chars.next());Áüäs+( assert_eq!(None, ex_iter_chars.next());Á<”tÊÆT§tñ ñÁU×ñPH ²tH
O×$³tøÔ¼tO8··O¢¢ FilterMapÁÅ¢£ ¦8Æ¢þ¦814ßhø·µ©9©9FlatMapÁ­9ÕE9²š–¬P³ÃråÂåÂChunksÁè®iéÂ
chunk_sizeÁ®iL/?ø? PÈ8Ó}ΘΘæИŒјÏ‰’ûÜžûñ'â_Qö_ 8Ò}õ 
µ0©â×8PkÞKÞ¡¬ÁtÞ¡ßK\ÊtÞ¡8ÙtÖ¡¡ó¡.ƒ¢#”¢O4óuOù‹Q‘ŒQ®ŒQQOQö_Öõ üŒTüÒwKH Yields an [`Iterator`] returning the ranges of the code points that areÁü¢x.+ included in the [`CodePointInversionList`]ÁÕxËüÝxHE Ranges are returned as [`RangeInclusive`], which is inclusive of itsÁüªyDA `end` bound value. An end-inclusive behavior matches the ICU4C/JÁüóy[X behavior of ranges, ex: `CodePointInversionList::contains(UChar32 start, UChar32 end)`.ÁÓzËlÛz
# ExampleÁízË<õzÊÆü{CÔüÉ{0þ˜üþ{L·™´Ï|‹š,ê|©štô|¶šü‡}85 let mut example_iter_ranges = example.iter_ranges();ÁüÄ}>; assert_eq!(Some(0x41..=0x43), example_iter_ranges.next());Áü‡~>; assert_eq!(Some(0x45..=0x45), example_iter_ranges.next());ÁüÊ~1. assert_eq!(None, example_iter_ranges.next());Á<€ÊÆ\“ò òÁU×òSH ŸH
R×$ øÖ©7R8¸¸Rø¢ø¢MapÁû¢£ ü¢þ¦>!õ°¹UBÔŸ Tö_¼¡Š™Š™ìŒ™ŒÏŽ™ exhaustedÁÅãNL¿â_©â×8Sæ©K‰¬ü®-‰¬ßK¨«ÔÀ‰¬8Þ¬¬1®¬#Á¬R4Ì€Rù‹T‘ŒT®ŒTTRTö_Ö¨«üÜŠXüÂK¬¢ü“ƒ41 *not* included in the [`CodePointInversionList`]Á̃ËüÔƒH£ü¡„D“¤üê„[à¤Ê…ËlÒ…Î¥ä…Ë<ì…ÊÆüø…CÔüÀ†0þ˜üõ†L·™´Æ‡‹š,ᇩšt뇶šüþ‡EB let mut example_iter_ranges = example.iter_ranges_complemented();ÁüȈ;8 assert_eq!(Some(0..=0x40), example_iter_ranges.next());Áüˆ‰>; assert_eq!(Some(0x44..=0x44), example_iter_ranges.next());ÁüˉJG assert_eq!(Some(0x46..=char::MAX as u32), example_iter_ranges.next());ÁüšŠ1•¨<ЊÊÆÄãŠó óÁU×óVH üŠH
U×$ýŠøÝ†‹.U8¹¹U†¢†¢ChainÁ‰¢¾4Š¢¾4$C#“éù†¢†¢µ²‰¢IJ¾4Š¢Ò²¾4$C#“éù±±IntoIterÁŸ±ÕEíQ°"姦`*¨«ø¢ø¢á©û¢£ ü¢þ¦>!õ°¹UBÔŸ Wö_¢«­´©â×8VQÞKǵü‹‹$ǵßK¨«Ô”‹ǵ8²‹¿µܵ4îµ%‚¶U4È‘Uù‹W‘ŒW®ŒWWUWö_¼­üÉ”&ü÷“MJ Returns the number of ranges contained in this [`CodePointInversionList`]Á|Дô ôÁUÞqH à”H
X×$á”ü––FüSP Returns a specific range contained in this [`CodePointInversionList`] by index.Áäõ• Intended for use in FFI.Álõ õÁUÞqø°ú°û°Ðü°ý°þ°ìHˈXêE>¨«H «–H
Y×$¬–idxÁ²–Ü‘™üȘDA Returns the number of elements of the [`CodePointInversionList`]Á$˜™ö öÁUÞqH H
Z×$ž™ôÙšü’šB? Returns whether or not the [`CodePointInversionList`] is emptyÁDàš÷ ÷ÁUH éšH
[×$êšü‰55ø øÁUâ_×ãH H
\×queryÁ,¢ü­¦+üÁ¡@= Checks to see the query is in the [`CodePointInversionList`]Á†¢ËüŽ¢WT Runs a binary search in `O(log(n))` where `n` is the number of start and end pointsÁüê¢,) in the set using [`core`] implementationÁ›£Ët££ÙÖ¶£Ë<¾£ÊÆüÊ£CÔü’¤0- let example_list = [0x41, 0x43, 0x44, 0x45];ÁüǤL·™´˜¥‹š,³¥©št½¥¶šüÐ¥# assert!(example.contains('A'));Áüø¥$! assert!(!example.contains('C'));Á<¡¦ÊÆD´¦ù ùÁUH ½¦H
]×$¾¦½,Ħü¯,üš§mj Checks to see the unsigned int is in the [`CodePointInversionList::all()`](CodePointInversionList::all())ÁŒ¨Ëü”¨OL Note: Even though [`u32`] and [`prim@char`] in Rust are non-negative 4-byteÁüè¨MJ values, there is an important difference. A [`u32`] can take values up toÁüº©QN a very large integer value, while a [`prim@char`] in Rust is defined to be inÁüª?< the range from 0 to the maximum valid Unic
RflØú,¿Éfm¦~<ÓªfnIncludedÁEÚ¬o¶™fjŸë·™fjExcludedÁE®o¹™fjÒ뺙fj UnboundedÁMÞ¯o¼™fj…ì½™fjüÏ5ûýòôüŠ!蜱Û„ÊÎüÐIƒ ªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
ƒƒ} ð
o inv_list_zvÁ\ã<—où‹p‘Œp®Œppopö_ÖüädŒëŒâ_â_rŒssr©âŒf ý©â‚𜇠÷Œfâ_þŒf§!‚ðŒf
qŒf‚ð¶D,€ \^XZüè!Ç;ü“$¾;œ½´;üÅ"üË_\ This module provides functionality for querying of sets of Unicode code points and strings.Á«Ëü¯`] It depends on [`CodePointInversionList`] to efficiently represent Unicode code points, whileÁü30 it also maintains a list of strings in the set.ÁÄËüÈÆ·ÔÍÛú¨¯Ì´Û©wytŒ/Ìóƒwzu< vw{†úÀw|†ú (w|åÇ
w}åÇ5w} VarZeroSliceÁdÒw€˜àwüÁLÀ®°œƒ tœ’”°rüÈ#IK9;ü„6סZƒˆŠ,‰üðüÁhe Returns a new [`CodePointInversionListAndStringList`] from both a [`CodePointInversionList`] for theÁü®=: code points and a [`VarZeroVec`]`<`[`str`]`>` of strings.ÁD÷ÁUààဘåì 6
ä>(ùOè×°™ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶¡Zø]
ƒ×Ý6\‰ø6D½ü‚)Ž¡Ü( ß( æ(8°4à(tÚ(¤)ÁU•ø¡Z
×Ý6ìKø6\Lܯ,ü…+A> Returns the number of elements in this set (its cardinality).ÁüË+?< Note than the elements of a set may include both individualÁÜ, codepoints and strings.Á$¶, ¡ZÞq »,
×$¼,üå-!üŽ-RO Return true if this set contains multi-code point strings or the empty string.Á\ì- ¡Z ø-
×$ù-üÙ5+¶.Ët¾.ÙÖ<Ñ.ÊÆüÝ.CÔü¥/ZW use icu::collections::codepointinvliststringlist::CodePointInversionListAndStringList;Áä„0 use zerovec::VarZeroVec;Á¥0Ëü­085 let cp_slice = &[0, 0x1_0000, 0x10_FFFF, 0x11_0000];ÁŒê0 let cp_list =Áü€1TQ CodePointInversionList::try_from_u32_inversion_list_slice(cp_slice).unwrap();ÁüÙ1<9 let str_slice = &["", "bmp_max", "unicode_max", "zero"];Áüš263 let str_list = VarZeroVec::<str>::from(str_slice);ÁÕ2ËüÝ2[X let cpilsl = CodePointInversionListAndStringList::try_from(cp_list, str_list).unwrap();Á½3ËüÅ3,) assert!(cpilsl.contains_str("bmp_max"));Áüö3%" assert!(cpilsl.contains_str(""));Áü 4&# assert!(cpilsl.contains_str("A"));ÁüË4JG assert!(cpilsl.contains_str("ቔ")); // U+1254 ETHIOPIC SYLLABLE QHEEÁüš5.+ assert!(!cpilsl.contains_str("bazinga!"));Á<Í5ÊÆdà5 ¡Z  í5
×$î5ö ô5ü¾>)‡8Ët8ÙÖ<¢8ÊÆü®8CÔüö8ZÈýäÕ9ªþö9Ëüþ9FC let cp_slice = &[0, 0x80, 0xFFFF, 0x1_0000, 0x10_FFFF, 0x11_0000];ÁŒÉ:šÿüß:UR CodePointInversionList::try_from_u32_inversion_list_slice(cp_slice).unwrap();Áü¹;IF let str_slice = &["", "ascii_max", "bmp_max", "unicode_max", "zero"];Áü‡<6Ö€Â<ËüÊ<[ ª=Ëü²=" assert!(cpilsl.contains32(0));ÁüÙ='$ assert!(cpilsl.contains32(0x0042));Áü…>(% assert!(!cpilsl.contains32(0x0080));Á<²>ÊÆTÅ>ˆ ˆ¡Zâ_ Ð>
ˆ×$Ñ>cpÁ×>ü¡F(?Ët¥?ÙÖ<¸?ÊÆüÄ?CÔüŒ@ZÈýäë@ªþŒAËü”A8ÚþŒÑAšÿüçAT´ÿüÀB<‘€üC6Ö€¼CËüÄC[ ¤DËü¬D" assert!(cpilsl.contains('A'));ÁüÓDFC assert!(cpilsl.contains('ቔ')); // U+1254 ETHIOPIC SYLLABLE QHEEÁüžE,) assert!(!cpilsl.contains('\u{1_0000}'));ÁüÏEMJ assert!(!cpilsl.contains('🨫')); // U+1FA2B NEUTRAL CHESS TURNED QUEENÁD¨F ¡Z ±F
×$²FchÁ¸Fü´G;üúF52 Access the underlying [`CodePointInversionList`].Á\»GŠ Š¡Z ŠÁU ÇG
Š×$ÈGü½H+ü—H! Access the contained strings.Á<ÄH ¡Z ô
 entire_sliceÁŽ6Òßñ’K°™ ÌH
×$ÍH¬éüËPM This module provides a data structure for an time-efficient lookup of valuesÁôœ associated to code points.Á»Ëü¿ It is an implementation of the existing [ICU4C UCPTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/ucptrie_8h.html)ÁüÉZW / [ICU4J CodePointTrie](https://unicode-org.github.io/icu-docs/apidoc/dev/icu4j/) API.Á¤Ë”¨Ãì»Ëü¿nk ICU4X [`CodePointTrie`] is designed to provide a read-only view of [`CodePointTrie`] data that is exportedÁü®m±´üœ%" for the [`CodePointTrie`] struct.ÁÂËÙÖÕËüÙ! ## Querying a `CodePointTrie`ÁûË<ÿÊÆü‡0- use icu::collections::codepointtrie::planes;Áü¸)& let trie = planes::get_planes_trie();ÁâËüæ2/ assert_eq!(0, trie.get32(0x41)); // 'A' as u32Áü™63 assert_eq!(0, trie.get32(0x13E0)); // 'á ' as u32ÁüÐ85 assert_eq!(1, trie.get32(0x10044)); // 'ð„' as u32Á<‰ ÊÆËü• 寰•DŒÎ
¨µœÌñ
΢?lœ â·ÚAœ» Џ¬EŒà º¹ÿE”ƒ ºà<D§ ´»Ø ¼Å#,Ü ½’ ”ó Ø¾CodePointTrieErrorÁ”Ÿ
οŒ Îר¨âŠºÂ´ÊËÎŽCharTryFromErrorÁ„üèŸ
InfallibleÁT¡äߤå`TryFromIntErrorÁ|¨þŽìŠ™†úÀ†ú (åÇ
åÇ5Øú,–ɘ¦~<øªšÀ$|Õ
˜×$ÜÎ
ú$œÙ
š•%ÜÍ
¸%ä±
œÜ%Üï
ÿ%Ô—
ž¡&„ù
Ÿ¹&\¸
 Ì&”Þ
¡æ&<Ø
¢õ&<ª
£„'<†
¤“'L
¥¤'L®
¦µ'ÔÔ
§×'¤È
¨ó'dÄ
©‡(¤º
ª£(¤¢
«¿(dž
¬Ó(¼Œ
­ò(|Œ
®‰)tË
¯üÏ"Mü÷ äð4Ì’´± ”ÍþÔá̽Ò”🜈}”×o„ïaüÝJü×TQ A trait representing the values stored in the data array of a [`CodePointTrie`].Áü¬MJ This trait is used as a type parameter in constructing a `CodePointTrie`.ÁúËüþ^[ This trait can be implemented on anything that can be represented as a u32s worth of data.ÁªâüÝñþϦ£ϦùžϦϦÉϦœŠϦǦiÛ¦]ë¦Sû¦E§;Ÿ§6ǦÛ¦ë¦wû¦i§_Ÿ§žœž©âϦœôàå`—¨¨§¨žìàü®NK Last-resort fallback value to return if we cannot read data from the trie.ÁËü‰UR In most cases, the error value is read from the last element of the `data` array,Áüã52 this value is used for empty codepointtrie arraysÁü>; Error type when converting from a u32 to this `TrieValue`.Á|åüð?üƒOL A parsing function that is primarily motivated by deserialization contexts.Áü×RO When the serialization type width is smaller than 32 bits, then it is expectedÁü®=: that the call site will widen the value to a `u32` first.Ádóâ_ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ϧ—¨
Ϧ» ¼µüµFC A method for converting back to a `u32` that can roundtrip throughÁü€FC [`Self::try_from_u32()`]. The default implementation of this traitÁüË>; method panics in debug mode and returns 0 in release mode.ÁŽËü–JG This method is allowed to have GIGO behavior when fed a value that hasÁüåKH no corresponding `u32` (since such values cannot be stored in the trie)Á4¸Ϧâ_
žϦ$¿üÐ&ÌÝ ÷ ¿" ý  , þ8 primitiveÁLÿ& ˆ8$ , 8—$& 8*˜  ¼"88Ø8
´, ¸8Á± à ¶"8!8é æ, è8—$% î8 ü8dÿ  8» Œ & 8² (8ý4—  8$ ¢ 8'¨ 8é ¹  »  ë 8'Ñ 8 Û  Ý 8» Ü 8 ú 8 ƒ! ˆ!8$„!(Š!8²! ! ¬"8$”"8™"8²œ"% ½"üô(U”÷(ŒfŒfŒfŒf¡¡³ð Š)ŒfL)
 Œf˜,˜)trie_null_valueÁ|¢)ÕBT¶)BDìéJÎ^£¤ƒ¤TK,’K¢¢µiüÃKVDÆKÎ_ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Î^µi¢¢
¤
trie_type_intÁlÏKtéQ öQ ÷Q ºX  šS ªS , S8IJ œS& S8žS ¡S, £S8Ò² ¤S& ¥S8ï$¦S*¬S ¯S ôT ¹S îT+ ÇS ÈS ÝS8è,ÉS ÎS ÜS8
unused_parensÁlÏS8ëS8IJ ïS ñS, óS8IJ ôS% õS8ƒT8Ò² ‡T ‰T, ‹T8Ò² ŒT% T8îÒdT §T ¨T ÃT8IJ ©T ªT8 checked_addÁ\«T ¶T ¸T8Ò² ·T ¹T8is_someÁ<ºT ÁT ÂT% ÄT, ÒT8IJ ÓT ÔT8ËdÕT áT äT, âT8Ò² ãT% õT ûT U , üT8IJ ýT& þT8ÿT U, „U8Ò² …U& †U8ï$‡U*U U ÖV U ÐV+ ©U ªU ¿U8è,«U °U ¾U8‡ºl±U8ÍU8IJ ÑU ÓU, ÕU8IJ ÖU% ×U8åU8Ò² éU ëU, íU8Ò² îU% ïU8îÒdýU ‰V ŠV ¥V8IJ V ŒV8 checked_subÁ\V ˜V šV8Ò² ™V V8ö»<œV £V ¤V% ¦V, ´V8IJ µV ¶V8Ðd·V ÃV ÆV, ÄV8Ò² ÅV% ×V ÝV íV , ÞV8IJ ßV& àV8áV
äV, æV8Ò² çV& èV8ï$éV*ïV òV ·X üV ±X+ ŠW W  W8è,ŒW W ŸW8‡ºlW
ˆØ_ªª¦~­¨½®Â~½¯Õ~½ʘ!ÚÆdG
ˆæ`æ`“`¦¦
©ˆæ`Ç?ÕMö%NÝ+uNÖ~Nü…`©üó^KH Returns a new [`CodePointTrie`] backed by borrowed data for the `index`ÁüÃ_=: array and `data` array, whose data values have width `W`.Á<Œ`¯c„ÉÑÉê³í³î³Òï³ìð³ñ³ò³ìäs{©¶“`µi¦¦
ªˆæ`Ç?4`ö,Â`Ý+$æ`üÂg›|ÐgŒŽ Œ¯c žÖ ŽÂÂÃÅì¾ ÈE(æ`ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶æ`µi¦ ñg¦
«ˆæ`Ç?4égö,hÝ+$¯hüÅ…Yüã„OL Turns this trie into a version whose trie type is encoded in the Rust type.ÁDÌ…“`Žä#ìý#ì2LWJfŸŒgŽh¦¦
¬ˆæ`$Õ…üîˆoüû‡`] Obtains a reference to this trie as a Rust type that encodes the trie type in the Rust type.Ádõˆ “`Žä#ìý#ì2LWJfŸ Œg Žh¦ ‹‰¦
­ˆæ`$Œ‰üÀ%¤Ã “`â_¦ ئ
®ˆæ`üË“6¤Î“ “`â_â_¦ 㓦
¯ˆæ`$ä“
code_pointÁTê“üÔ®-\×® “`â_â_¦ 㮦
°ˆæ`$䮤ÔTê®ü›¶,Tž¶ “`â_â_¦ ©¶¦
±ˆæ`$ª¶¤ÔT°¶üþ¼;œ½ “`â_ø°ú°û°Ðü°ý°þ°ìHˈXêE>æ`¦ •½¦
²ˆæ`$–½¤ÔTœ½üõÆ@ÌÿÆ “`â_æ`¦ ™Ç¦
³ˆæ`$šÇ¤ÔT ÇüÊÕ9ÌÍÕ “`â_æ`¦ çÕ¦
´ˆæ`$èÕ¤ÔTîÕüâÛ4¤åÛ “`â_æ`¦ úÛ¦
µˆæ`$ûÛ¤ÔTÜüÁã)üÏßUR Returns the value that is associated with `code_point` in this [`CodePointTrie`].Á©àËt±àÙÖÄàË<ÌàÊÆüØà0ÿ–üá)¸—»áËüÃá2õ—üúá6°˜üµâ8ï˜<òâÊÆ,È㘠˜“`â_æ`¦ Îã¦
ˆæ`$Ïã¤ÔTÕãüœéüæåOL Returns the value that is associated with `char` in this [`CodePointTrie`].ÁºæËtÂæÙÖÕæË<ÝæÊÆüéæ0ÿ–üžç)¸—ÌçËüÔç/, assert_eq!(0, trie.get('A')); // 'A' as u32Áüˆè30 assert_eq!(0, trie.get('á ')); // 'á ' as u32ÁüÀè52 assert_eq!(1, trie.get('ð„')); // 'ð„' as u32Á<úèÊÆ£é “`æ`¦ §é¦
·ˆæ`$¨éŠ ®éü±í"üÈìNK Returns the value that is associated with `bmp` in this [`CodePointTrie`].Á,¸íš š“`Ø_æ`¦ ¾í¦
¸ˆæ`$¿íêÅíü²ó:üâðC@ Lookup trie value by non-Basic Multilingual Plane Scalar Value.ÁªñËü²ñ`] The return value may be bogus (not necessarily `error_value`) is the argument is actually inÁü—òB? the Basic Multilingual Plane or above the Unicode Scalar ValueÁüÞò96 range (panics instead with debug assertions enabled).Áœ¹ó “`â_æ`¦ Íó¦
¹ˆæ`$Îó¾ÐlÔóüÌù;ü’õol Returns a reference to the ULE of the value that is associated with `code_point` in this [`CodePointTrie`].Á†öËtŽöÙÖ¡öË<©öÊÆüµö0ÿ–üêö)¸—˜÷Ëü ÷=: assert_eq!(Some(&0), trie.get32_ule(0x41)); // 'A' as u32Áüâ÷A> assert_eq!(Some(&0), trie.get32_ule(0x13E0)); // 'á ' as u32Áü¨øC@ assert_eq!(Some(&1), trie.get32_ule(0x10044)); // 'ð„' as u32Á<ðøÊÆLÓùœ œ“`â_ø°ú°û°Ðü°ý°þ°ìHˈXêE> œæ`ʦ Ýù¦
ºˆæ`$Þù¤ÔTäùü ¬Cüü™KH Returns a [`CodePointMapRange`] struct which represents a range of codeÁüÌšJG points associated with the same trie value. The returned range will beÁü››KH the longest stretch of consecutive code points starting at `start` thatÁ¬ë› share this value.Á…œËüœ:7 This method is designed to use the internal details ofÁüÌœKH the structure of [`CodePointTrie`] to be optimally efficient. This willÁüœHE outperform a naive approach that just uses [`CodePointTrie::get()`].ÁéËüñJG This method provides lower-level functionality that can be used in theÁüÀžIF implementation of other methods that are more convenient to the user.ÁüŽŸ>; To obtain an optimal partition of the code point space forÁüÑŸ;8 this trie resulting in the fewest number of ranges, seeÁü‘ %" [`CodePointTrie::iter_ranges()`].Á» ËtàÙÖÖ Ë<Þ ÊÆüê 0ÿ–Ÿ¡Ëü§¡)¸—Õ¡ËüÝ¡)& const CODE_POINT_MAX: u32 = 0x10ffff;ÁÌ‹¢ let start = 0x1_0000;ÁÜ©¢ let exp_end = 0x1_ffff;ÁÉ¢ËüÑ¢&# let start_val = trie.get32(start);Áüü¢/, assert_eq!(trie.get32(exp_end),
Ÿ»ðºº¼Â¸ºÂø•Í»/Á¥Á¥¥ú»¥¥Â»*Å£ ÀÆö*À“;"k‘ Hªø¢ø¢á©û¢£ ü¢þ¦>!õ°¹UBÔÎΜÑÍÒØGƒ}O¤™Ew¥æ`Ææ`¥é›Ñ›ö_𓍍•Dª¶D«˜v.¾¡C6}?é›Ñ›é›©âˆæ`¥é›Ñ›¥ÅÞKŽ¡üÒ»%Ž¡ßK ÜÛ»Ž¡¥†¡Ï¶¡3È¡$Ü¡¬Ádâ¼Áù‹Æ‘ŒÆ®ŒÆÆÁÆæ`é›Ñ›ö_¼ ü ôìÅüŸÅ:7 Returns the value used as an error value for this trieÁ\óÅ   “`æ`¦ ÿŦ
Ljæ`$€ÆüµÌ38¡É¡É…Æ ºÌ•ÆL½Ì÷æ`â_LÉÌüdÊ')ü–Ñ/üïÌUR Returns the value that is associated with `code_point` for this [`CodePointTrie`]Á|ÉÍ as a `u32`.ÁÝÍËtåÍÙÖøÍË<€ÎÊÆüŒÎ0ÿ–üÁÎ)¸—ïÎËÜ÷Î let cp = 'ð‘–Ž' as u32;Áä—Ï assert_eq!(cp, 0x1158E);Á¸ÏËüÀÏ'$ let plane_num: u8 = trie.get32(cp);ÁüìÏ52 assert_eq!(trie.get32_u32(cp), plane_num as u32);Á<¦ÐÊÆLÑ¢ ¢üdâ_â_È §ÑÈ
Ê8æ`$¨Ñ¤ÔT®Ñü÷Ñc8£Ì£Ì…Æ üÑ•ÆLÿÑÞ”ë,ÔÒüdÍßÍ-/¼áÒ,äÒ¤ ¤üdüdË êÒË
Í8æ`$ëÒüöØ6ü‹ØNK A custom [`Iterator`] type specifically for a code point trie that returnsÁÜÚØ [`CodePointMapRange`]s.ÁÌÙ¥ÏÐÏÐ…Æ ŸÙ•ÆL¢Ù¥¥ì³Ùæ`¥Ø_Ê¥ýü ”ë¥ÎΜÑÍÒØGƒ}O¤™Ew¥æ`Gƒ}O¤™EwÑÒ›Ù°²¢³ÙÎÎ ¥ââ¢?åÇ?æöçÝ+ÖGÈ—ÂH·ï¥æ`üÊÝ'LÊÝÎÎÂÿüöÝ@8¥Ô¥Ô…Æ ûÝ•ÆLþÝÄfÕÖßKàKÖ#%L½Þ$ÂÞÓÓ†€üäÞ($çÞ¦ ¦Äfø°ú°û°Ðü°ý°þ°ìHˈXêE>ÄfßKÓ ìÞÓ
Ö8æ`$ñÞTòã$øã××Ǧlòã×ǦǦüŸå7üäA> Trait for writing trait bounds for monomorphizing over eitherÁüÃä0- `FastCodePointTrie` or `SmallCodePointTrie`.Á”©å؈ÙÚÚØÙǦüŸå×Ϧ$Òå©âÆb ÃåÆbLÆåØǦM˜³@ǦY˜³ÜÝÞßàáâãÛÜÝÞßàáâãÝàÜãßâÞá,¼å̘çüÝå<9 The `TrieType` associated with this `TypedCodePointTrie`ÁžæËì¦æ # Safety Usable InvariantÁÈæËüÐæC@ This constant matches `self.as_untyped_ref().header.trie_type`.ÁLžçØØÎ^ü©è+ü¸çVS Lookup trie value as `u32` by Unicode Scalar Value without branching on trie type.ÁL¬è§ §Ϧâ_â_Ø ¶èØ
ÜϦˆÆb$·è¤ÔT½èôêüŠé\Y Lookup trie value by Basic Multilingual Plane Code Point without branching on trie type.Á,„ê¨ ¨ϦØ_ÆbØ ŠêØ
ÝϦˆÆb$‹êê‘êü¼î6ü¿íb_ Lookup trie value by non-Basic Multilingual Plane Scalar Value without branching on trie type.Áœ¿î© ©Ϧâ_ÆbØ ÓîØ
ÞϦˆÆb$Ôî¾ÐlÚîÜ©ðüÁïMJ Lookup trie value by Unicode Scalar Value without branching on trie type.Á¬ðª ªϦÆbØ °ðØ
ßϦˆÆb$±ðŠ ·ðüÈô%üâóKH Lookup trie value by Unicode Code Point without branching on trie type.Á,Ëô
-^€`üÄ*
+^â_üÏ"
)^â_üÃ*
'^â_ü§+
%^â_üå*
#^â_ü)
!^â_üï
^â_Ô®
^â_üÔ !
^â_´Î
^â_´ 
^â_´ü
^â_ÄŒ
^â_Ĥ
 ^â_üÊ)
 ^â_ü¾#
^â_ܺ