£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    Re                 @   sL   d dl mZmZmZ d dlmZ d dlmZ ddlm	Z
 G dd de
Z	dS )	    )absolute_importdivisionunicode_literals)	text_type)bisect_left   )Triec               @   sF   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdddZdd Z	dS )r   c             C   sJ   t dd | D std|| _t| | _d| _dt|f| _d S )Nc             s   s   | ]}t |tV  qd S )N)
isinstancer   ).0x r   /builddir/build/BUILDROOT/alt-python37-pip-20.2.4-6.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/py.py	<genexpr>   s    z Trie.__init__.<locals>.<genexpr>zAll keys must be strings r   )	allkeys	TypeError_datasorted_keys	_cachestrlen_cachepoints)selfdatar   r   r   __init__
   s    zTrie.__init__c             C   s
   || j kS )N)r   )r   keyr   r   r   __contains__   s    zTrie.__contains__c             C   s
   t | jS )N)r   r   )r   r   r   r   __len__   s    zTrie.__len__c             C   s
   t | jS )N)iterr   )r   r   r   r   __iter__   s    zTrie.__iter__c             C   s
   | j | S )N)r   )r   r   r   r   r   __getitem__   s    zTrie.__getitem__Nc             C   s   |d ks|dks| j s t| j S || jrL| j\}}t| j ||| }}nt| j | }}t }|t| j krt|S x,| j | |r|| j |  |d7 }qvW || _||f| _|S )Nr   r   )r   set
startswithr   r   r   r   add)r   prefixlohistartir   r   r   r   r      s    


z	Trie.keysc             C   sd   || j krdS || jr6| j\}}t| j|||}nt| j|}|t| jkrTdS | j| |S )NTF)r   r#   r   r   r   r   r   )r   r%   r&   r'   r)   r   r   r   has_keys_with_prefix6   s    

zTrie.has_keys_with_prefix)N)
__name__
__module____qualname__r   r   r   r    r!   r   r*   r   r   r   r   r   	   s   	
r   N)
__future__r   r   r   Zpip._vendor.sixr   bisectr   _baser   ABCTrier   r   r   r   <module>   s   