o
    vi                     @  sd   U d dl mZ d dlmZ d dlZd dlZdZdZi Zde	d< dddZ
efdddZdddZdS )    )annotations)SequenceNz;/?:@&=+$,# zdict[str, list[str]]decode_cacheexcludestrreturnSequence[str]c                 C  s   | t v rt |  S g }|t | < tdD ]}t|}|| qtt| D ]}t| | }ddt|dd    dd   ||< q$|S )N   %0   )r   rangechrappendlenordhexupper)r   cacheichch_code r   L/home/air/biblejyuku/back/venv/lib/python3.10/site-packages/mdurl/_decode.pyget_decode_cache   s   *r   stringc                 C  s*   t |}tjt|d}tjd|| tjdS )N)r   z(%[a-f0-9]{2})+)flags)r   	functoolspartialrepl_func_with_cacheresub
IGNORECASE)r   r   r   	repl_funcr   r   r   decode!   s   r&   matchre.Matchr   c                 C  s  |   }d}d}t|}||k rGt||d |d  d}|dk r-||| 7 }|d7 }q|d@ dkrq|d |k rqt||d	 |d
  d}|d@ dkrqt||f}z|| 7 }W n tyg   |d7 }Y nw |d7 }|d7 }q|d@ dkr|d
 |k rt||d	 |d
  d}t||d |d  d}	|d@ dkr|	d@ dkrt|||	f}z|| 7 }W n ty   |d7 }Y nw |d
7 }|d7 }q|d@ dkr;|d |k r;t||d	 |d
  d}t||d |d  d}	t||d |d  d}
|d@ dkr;|	d@ dkr;|
d@ dkr;t|||	|
f}z|| 7 }W n ty1   |d7 }Y nw |d7 }|d7 }q|d7 }|d7 }||k s|S )Nr   r            r
               u   ��      	   u	   ���   
      u   ����u   �)groupr   intbytesr&   UnicodeDecodeError)r'   r   seqresultr   lb1b2	all_bytesb3b4r   r   r   r!   '   sj   
*;r!   )r   r   r   r	   )r   r   r   r   r   r   )r'   r(   r   r	   r   r   )
__future__r   collections.abcr   r   r"   DECODE_DEFAULT_CHARSDECODE_COMPONENT_CHARSr   __annotations__r   r&   r!   r   r   r   r   <module>   s    
