“tÆ_ïã@sfddlmZmZmZddlmZddlmZddlm Z Gdd„de ƒZ dS) é)Úabsolute_importÚdivisionÚunicode_literals)Ú text_type)Ú bisect_lefté)ÚTriec@sgeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d d „Zdd„Z d S)rcCsktdd„|jƒDƒƒs+tdƒ‚||_t|jƒƒ|_d|_dt|ƒf|_dS)Ncss|]}t|tƒVqdS)N)Ú isinstancer)Ú.0Úx©r úŒ/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-1.el7.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_trie/py.pyú sz Trie.__init__..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 ||jkS)N)r)rÚkeyr r r Ú __contains__szTrie.__contains__cCs t|jƒS)N)rr)rr r r Ú__len__sz Trie.__len__cCs t|jƒS)N)Úiterr)rr r r Ú__iter__sz Trie.__iter__cCs |j|S)N)r)rrr r r Ú __getitem__szTrie.__getitem__NcCsþ|dks"|dks"|j r/t|jƒS|j|jƒro|j\}}t|j|||ƒ}}nt|j|ƒ}}tƒ}|t|jƒkr§|Sx8|j|j|ƒrá|j|j|ƒ|d7}qªW||_||f|_|S)Nrr)rÚsetÚ startswithrrrrÚadd)rÚprefixÚloÚhiÚstartÚirr r r rs"   z Trie.keyscCsŽ||jkrdS|j|jƒrO|j\}}t|j|||ƒ}nt|j|ƒ}|t|jƒkrzdS|j|j|ƒS)NTF)rr#rrrrr)rr%r&r'r)r r r Úhas_keys_with_prefix6szTrie.has_keys_with_prefix) Ú__name__Ú __module__Ú __qualname__rrrr r!rr*r r r r r s     rN) Ú __future__rrrZpip._vendor.sixrÚbisectrÚ_baserÚABCTrier r r r Ús