HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/site-packages/idna/__pycache__/core.cpython-38.pyc
U

JD�g�3�@sddlZddlZddlZddlmZmZddlmZddlm	Z	dZ
dZe�d�Z
Gd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�de�Zeed�dd�Zeeed�dd�Zeed�dd�Zeed�dd�Zeeefed�dd�Zeeefeed�d d!�ZdBeeed#�d$d%�Zeed�d&d'�Zeed�d(d)�Zedd�d*d+�Z eeed,�d-d.�Z!dCeeeed/�d0d1�Z"eeee#fdd�d2d3�Z$eed�d4d5�Z%eeee#fed�d6d7�Z&dDeeeed9�d:d;�Z'dEeeee#feeeeed<�d=d>�Z(dFeeee#feeeed?�d@dA�Z)dS)G�N)�Optional�Union�)�idnadata)�intranges_contain�	sxn--u[.。.。]c@seZdZdZdS)�	IDNAErrorz5Base exception for all IDNA-encoding related problemsN��__name__�
__module__�__qualname__�__doc__�rr�6/opt/cppython/lib/python3.8/site-packages/idna/core.pyrsrc@seZdZdZdS)�
IDNABidiErrorz;Exception when bidirectional requirements are not satisfiedNr	rrrrrsrc@seZdZdZdS)�InvalidCodepointz<Exception when a disallowed or unallocated codepoint is usedNr	rrrrrsrc@seZdZdZdS)�InvalidCodepointContextzCException when the codepoint is not valid in the context it is usedNr	rrrrr sr)�cp�returncCs0t�t|��}|dkr,t�t|��s,td��|S)Nrz Unknown character in unicodedata)�unicodedata�	combining�chr�name�
ValueError)r�vrrr�_combining_class&s
r)r�scriptrcCstt|�tj|�S)N)r�ordr�scripts)rrrrr�
_is_script.sr)�srcCs
|�d�S)N�punycode)�encode�r rrr�	_punycode2sr$cCs
d�|�S)NzU+{:04X})�formatr#rrr�_unot6sr&)�labelrcCst|�dkrdSdS)N�?FT��len�r'rrr�valid_label_length:sr,)r'�trailing_dotrcCst|�|rdndkrdSdS)N��FTr))r'r-rrr�valid_string_length@sr0F)r'�	check_ltrrc	Cs^d}t|d�D]:\}}t�|�}|dkr<td�t|�|���|dkrd}q|sV|sVdSt�|d�}|dkrrd}n |d	kr�d}ntd
�t|����d}d}t|d�D]�\}}t�|�}|�r|dkr�td�|���|d
kr�d}n|dkr�d}|dk�rJ|�s|}n||k�rJtd��q�|dk�r.td�|���|dk�r>d}q�|dkr�d}q�|�sZtd��dS)NFr�z1Unknown directionality in label {} at position {})�R�AL�ANTr)r3r4�Lz=First codepoint in label {} must be directionality L, R or AL)
r3r4r5�EN�ES�CS�ET�ON�BN�NSMzGInvalid direction for codepoint at position {} in a right-to-left label)r3r4r7r5r=)r5r7z2Can not mix numeral types in a right-to-left label)r6r7r8r9r:r;r<r=zGInvalid direction for codepoint at position {} in a left-to-right label)r6r7z0Label ends with illegal codepoint directionality)�	enumerater�
bidirectionalrr%�repr)	r'r1�
bidi_label�idxr�	direction�rtl�valid_ending�number_typerrr�
check_bidiFsP






rGcCs"t�|d�ddkrtd��dS)Nr�Mz0Label begins with an illegal combining characterT)r�categoryrr+rrr�check_initial_combiner�srJcCs<|dd�dkrtd��|ddks0|ddkr8td��d	S)
N��z--z4Label has disallowed hyphens in 3rd and 4th positionr�-���z)Label must not start or end with a hyphenT)rr+rrr�check_hyphen_ok�s
rOcCst�d|�|krtd��dS)N�NFCz%Label must be in Normalization Form C)r�	normalizerr+rrr�	check_nfc�srR)r'�posrcCsLt||�}|dk�r|dkr:tt||d��tkr:dSd}t|ddd�D]J}tj�t||��}|td�krvqNqN|td�td	�fkr�d}q�qNq�qN|s�dSd}t|dt|��D]P}tj�t||��}|td�kr�q�q�|td
�td	�fk�rd}�q
q��q
q�|S|dk�rD|dk�r@tt||d��tk�r@dSdSdSdS)Ni rrTFrN�Tr6�Dr3i
 )rr�_virama_combining_class�ranger�
joining_types�getr*)r'rS�cp_value�ok�i�joining_typerrr�valid_contextj�s@


r^)r'rS�	exceptionrcCs�t||�}|dkrdd|kr0t|�dkr`nn,t||d�dkr`t||d�dkr`dSdS|dkr�|t|�dkr�t|�dkr�t||dd�SdS|d	ks�|d
kr�|dkr�t||dd�SdS|dk�r|D]6}|d
kr�q�t|d��s
t|d��s
t|d�r�dSq�dSd|k�r.dk�rhnn6|D],}dt|�k�rVdk�r6nndS�q6dSd|k�r�dk�r�nn6|D],}dt|�k�r�dk�r�nndS�q�dSdS)N�rr�lTFiu�Greeki�i��Hebrewi�0u・�Hiragana�Katakana�Hani`iii�i�)rr*r)r'rSr_rZrrrr�valid_contexto�s@ (
" 
 
rgcCsLt|ttf�r|�d�}t|�dkr,td��t|�t|�t|�t	|�D]�\}}t
|�}t|tj
d�rpqLqLt|tj
d�r�z,t||�s�td�t|�|dt|����Wn2tk
r�td�t|�|dt|����YnXqLt|tj
d	��r t||��s>td
�t|�|dt|����qLtd�t|�|dt|����qLt|�dS)Nzutf-8rzEmpty Label�PVALID�CONTEXTJz*Joiner {} not allowed at position {} in {}rz<Unknown codepoint adjacent to joiner {} at position {} in {}�CONTEXTO�-Codepoint {} not allowed at position {} in {}z-Codepoint {} at position {} of {} not allowed)�
isinstance�bytes�	bytearray�decoder*rrRrOrJr>rrr�codepoint_classesr^rr%r&r@rrgrrG)r'rSrrZrrr�check_label�sD

�����rqcCsfz(|�d�}t|�t|�s$td��|WStk
r<YnXt|�tt|�}t|�sbtd��|S)N�asciizLabel too long)r"�ulabelr,r�UnicodeEncodeErrorrq�_alabel_prefixr$�r'�label_bytesrrr�alabels
rxcCs�t|ttf�s@z|�d�}WqDtk
r<t|�|YSXn|}|��}|�t�r�|t	t�d�}|srt
d��|�d�ddkr�t
d��nt|�|�d�Sz|�d�}Wntk
r�t
d��YnXt|�|S)Nrrz5Malformed A-label, no Punycode eligible content foundrNrMz"A-label must not end with a hyphenr!zInvalid A-label)
rlrmrnr"rtrq�lower�
startswithrur*rro�UnicodeErrorrvrrrrs/s,


rsT)�domain�
std3_rules�transitionalrcCs(ddlm}d}t|�D�]\}}t|�}z�||dkr:|nt�||df�d}|d}	d}
t|�dkrp|d}
|	d	ks�|	d
kr�|r�|	dkr�|s�|
dkr�||7}n@|
dk	r�|	dks�|	dkr�|r�|	d
kr�|r�||
7}n|	d
kr�t��Wqtk
�rtd�t	|�|dt
|����YqXqt�d|�S)zBRe-map the characters in the string according to UTS46 processing.r)�	uts46datar2��ZN�rK�VrU�3rH�IrkrP)
rr>r�bisect�bisect_leftr*�
IndexErrorrr%r&r@rrQ)r|r}r~r�outputrS�char�
code_point�uts46row�status�replacementrrr�uts46_remapLsT$������
�����

�r�)r �strict�uts46r}r~rc	Cs�t|t�s6zt|d�}Wntk
r4td��YnX|rFt|||�}d}g}|r^|�d�}n
t�|�}|rv|dgkr~td��|ddkr�|d=d}|D]$}t|�}|r�|�|�q�td	��q�|r�|�d
�d�	|�}t
||�s�td��|S)
NrrzGshould pass a unicode string to the function rather than a byte string.F�.r2�Empty domainrNT�Empty label��.zDomain too long)rl�str�UnicodeDecodeErrorrr��split�_unicode_dots_rerx�append�joinr0)	r r�r�r}r~r-�result�labelsr'rrrr"ns8





r")r r�r�r}rcCs�zt|t�st|d�}Wntk
r4td��YnX|rFt||d�}d}g}|s^t�|�}n
|�d�}|rv|dgkr~td��|ds�|d=d}|D]$}t|�}|r�|�|�q�td	��q�|r�|�d�d�	|�S)
NrrzInvalid ASCII in A-labelFr�r2r�rNTr�)
rlr�r�rr�r�r�rsr�r�)r r�r�r}r-r�r�r'rrrro�s2



ro)F)F)TF)FFFF)FFF)*r��rer�typingrrr2r�	intrangesrrVru�compiler�r{rrrr�intrr��boolrrmr$r&r,r0rGrJrOrRr^rgrnrqrxrsr�r"rorrrr�<module>sd
F,*'$��)��