a
    š¶Df¼  ã                   @  sz   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
œdd„Z
efddddœdd„Zdd	ddœdd„ZdS )é    )Úannotations)ÚSequenceNz;/?:@&=+$,#Ú zdict[str, list[str]]Údecode_cacheÚstrzSequence[str])ÚexcludeÚreturnc                 C  s†   | t v rt |  S g }|t | < tdƒD ]}t|ƒ}| |¡ q$tt| ƒƒD ]8}t| | ƒ}ddt|ƒdd …  ¡  dd …  ||< qH|S )Né€   ú%Ú0é   éþÿÿÿ)r   ÚrangeÚchrÚappendÚlenÚordÚhexÚupper)r   ÚcacheÚiÚchZch_code© r   úZ/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/mdurl/_decode.pyÚget_decode_cache   s    *r   )Ústringr   r   c                 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   Z	repl_funcr   r   r   Údecode!   s    r#   zre.Match)Úmatchr   r   c                 C  s–  |   ¡ }d}d}t|ƒ}||k r’t||d |d … dƒ}|dk rZ||| 7 }|d7 }q|d@ dkrâ|d |k rât||d	 |d
 … dƒ}|d@ dkrât||fƒ}z|| ¡ 7 }W n tyÎ   |d7 }Y n0 |d7 }|d7 }q|d@ dkrœ|d
 |k rœt||d	 |d
 … dƒ}t||d |d … dƒ}	|d@ dkrœ|	d@ dkrœt|||	fƒ}z|| ¡ 7 }W n tyˆ   |d7 }Y n0 |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yl   |d7 }Y n0 |d7 }|d7 }q|d7 }|d7 }q|S )Nr   r   é   é   é   r	   éà   éÀ   é   é   u   ï¿½ï¿½éð   é   é	   u	   ï¿½ï¿½ï¿½éø   é
   é   u   ï¿½ï¿½ï¿½ï¿½u   ï¿½)Úgroupr   ÚintÚbytesr#   ÚUnicodeDecodeError)r$   r   ÚseqÚresultr   ÚlÚb1Úb2Z	all_bytesZb3Zb4r   r   r   r   '   sb    
*
r   )Ú
__future__r   Úcollections.abcr   r   r    ZDECODE_DEFAULT_CHARSZDECODE_COMPONENT_CHARSr   Ú__annotations__r   r#   r   r   r   r   r   Ú<module>   s   