HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/yarl/__pycache__/_quoting_py.cpython-310.pyc
o

���g��@s�ddlZddlZddlmZmZmZddlmZe�d�Z	dd�e
d�D�ZdZd	Z
e
d
ZeeZeedZee
Ze�d�Ze�d
�Ze�d�ZGdd�d�ZGdd�d�ZdS)�N)�
ascii_letters�ascii_lowercase�digits)�cast�asciicCsh|]}d|d���d��qS)�%�02Xr)�encode)�.0�i�r�;/usr/local/lib/python3.10/dist-packages/yarl/_quoting_py.py�	<setcomp>sr�z:/?#[]@z!$'()*,�+&=;z-._~s[A-Z0-9][A-Z0-9]z[A-Fa-f0-9][A-Fa-f0-9]zutf-8c@sHeZdZddddd�dedededed	d
f
dd�Zd
ed	efdd�Zd
S)�_Quoter�FT)�safe�	protected�qs�requoterrrr�returnNcCs||_||_||_||_dS)N)�_safe�
_protected�_qs�_requote)�selfrrrrrrr
�__init__s
z_Quoter.__init__�valcCsl|durdSt|t�std��|sdS|jddd�}t�}t�}|j}|t7}|js.|d7}||j7}|�d�}d}|t	|�k�r(||}|d	7}|r�|t
vrS|d
}|�|�t	|�dkr�|d	d�}	t�
|	�sw|�d�|��|d
8}q:ztt|d	d��d�dd��}
Wnty�|�d�|��|d
8}Yq:w|
|jvr�|�|�n|
|vr�|�t|
��n|�|�|��nt	|�d
kr�|t	|�kr�|�d�|��|d	8}q:|td�kr�|jr�|��|�|�|t	|�kr�|�d�q:|j�r|td�k�r|�td��q:||v�r|�|�q:|�d|d���d��|t	|�ksA|�d�}||k�r4|S|S)N�Argument should be strr�utf8�ignore)�errorsrrr�� �s%25����baser� �+r)�
isinstance�str�	TypeErrorr	�	bytearrayr�ALLOWEDrr�len�BASCII_LOWERCASE�append�_IS_HEX�match�extend�clear�chr�int�decode�
ValueError�ordr)rr�bval�ret�pctr�bsafe�idx�ch�buf�unquoted�ret2rrr
�__call__$s�





"
�







�
:
z_Quoter.__call__��__name__�
__module__�__qualname__r-�boolrrFrrrr
rs"�����
�
rc	@sBeZdZdddd�dedededdfd	d
�Zdedefdd
�ZdS)�	_UnquoterrF)r!�unsaferr!rMrrNcCs*||_||_||_t�|_tdd�|_dS)NT)r)�_ignore�_unsaferr�_quoter�
_qs_quoter)rr!rMrrrr
rvs
z_Unquoter.__init__rc
Cs�|durdSt|t�std��|sdSttjt��}g}d}|t|�k�rA||}|d7}|dkr�|t|�dkr�|||d�}t�	|�r�t
t|dd�g�}|d7}z|�|�}Wn@t
y�|d	t|j�d	}	|�||	|d	��|��z|�|�}Wnt
y�|�||d	|��YYqwYnw|s�q|jr�|d
vr�|�|�}
|
dur�td��|�|
�n"||jvs�||jvr�|�|�}
|
dur�td��|�|
�n|�|�q|jr�|dt|j�d	}	|�||	|d��|��|dk�r|j�r||jv�r
|�d�n|�d
�q||jv�r6|�d�tt|����dd�}|D]}|�|��q,q|�|�|t|�ks%|j�rT|�|t|j�d	d��d�|�}||k�r`|S|S)Nrrrr#rr&r'r(r%z+=&;zCannot quote Noner+r*)r,r-r.r�codecs�BufferedIncrementalDecoder�utf8_decoderr1�_IS_HEX_STR�	fullmatch�bytesr9r:�UnicodeDecodeError�bufferr3�resetrrQ�RuntimeErrorrOrNrP�hexr<�upper�join)
rr�decoderr>rArBr?�brD�	start_pct�to_add�hrErrr
rF}s�

���	






�8

z_Unquoter.__call__rGrrrr
rLus$rL)rR�re�stringrrr�typingrr	r2�range�BPCT_ALLOWED�
GEN_DELIMS�SUB_DELIMS_WITHOUT_QS�
SUB_DELIMS�RESERVED�
UNRESERVEDr0�compiler4rU�getincrementaldecoderrTrrLrrrr
�<module>s"



_