1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
U
H=®dïã@sLddlmZmZmZddlmZddlmZddlm    Z
Gdd„de
ƒZ    dS)    é)Úabsolute_importÚdivisionÚunicode_literals)Ú    text_type)Ú bisect_lefté)ÚTriec@sFeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zdd d „Zdd„Z    d S)rcCsJtdd„| ¡Dƒƒstdƒ‚||_t| ¡ƒ|_d|_dt|ƒf|_dS)Ncss|]}t|tƒVqdS©N)Ú
isinstancer)Ú.0Úx©r úTD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/html5lib/_trie/py.pyÚ    <genexpr> sz Trie.__init__.<locals>.<genexpr>zAll keys must be stringsÚr)    ÚallÚkeysÚ    TypeErrorÚ_dataÚsortedÚ_keysÚ    _cachestrÚlenÚ _cachepoints)ÚselfÚdatar r rÚ__init__
s z Trie.__init__cCs
||jkSr    ©r©rÚkeyr r rÚ __contains__szTrie.__contains__cCs
t|jƒSr    )rr©rr r rÚ__len__sz Trie.__len__cCs
t|jƒSr    )Úiterrr!r r rÚ__iter__sz Trie.__iter__cCs
|j|Sr    rrr r rÚ __getitem__szTrie.__getitem__NcCs²|dks|dks|js t|jƒS| |j¡rL|j\}}t|j|||ƒ}}nt|j|ƒ}}tƒ}|t|jƒkrt|S|j| |¡rž| |j|¡|d7}qt||_||f|_|S)Nrr)rÚsetÚ
startswithrrrrÚadd)rÚprefixÚloÚhiÚstartÚirr r rrs
 
 
 
z    Trie.keyscCsd||jkrdS| |j¡r6|j\}}t|j|||ƒ}n t|j|ƒ}|t|jƒkrTdS|j| |¡S)NTF)rr'rrrrr)rr)r*r+r-r r rÚhas_keys_with_prefix6s
 
 zTrie.has_keys_with_prefix)N)
Ú__name__Ú
__module__Ú __qualname__rr r"r$r%rr.r r r rr    s    
rN) Ú
__future__rrrZpip._vendor.sixrÚbisectrÚ_baserÚABCTrier r r rÚ<module>s