File: //lib64/python3.9/encodings/__pycache__/idna.cpython-39.opt-1.pyc
a
    �DOg�#  �                   @   s�   d dl Z d dlZd dlZd dlmZ e�d�ZdZdZdd� Z	dd	� Z
d
d� ZG dd
� d
ej�ZG dd� dej
�ZG dd� dej�ZG dd� deej�ZG dd� deej�Zdd� ZdS )�    N)�	ucd_3_2_0u   [.。.。]s   xn--zxn--c                 C   s�   g }| D ] }t �|�rq|�t �|�� qd�|�} t�d| �} | D ]j}t �|�s�t �|�s�t �	|�s�t �
|�s�t �|�s�t �|�s�t �
|�s�t �|�s�t �|�rDtd| ��qDdd� | D �}t|�r�tdd� | D ��r�td��|d	 r�|d
 s�td��| S )N� �NFKCzInvalid character %rc                 S   s   g | ]}t �|��qS � )�
stringprepZin_table_d1��.0�xr   r   �&/usr/lib64/python3.9/encodings/idna.py�
<listcomp>)   �    znameprep.<locals>.<listcomp>c                 s   s   | ]}t �|�V  qd S )N)r   Zin_table_d2r   r   r   r
   �	<genexpr>1   r   znameprep.<locals>.<genexpr>zViolation of BIDI requirement 2r   ���zViolation of BIDI requirement 3)r   Zin_table_b1�appendZmap_table_b2�join�unicodedata�	normalizeZin_table_c12Zin_table_c22Zin_table_c3Zin_table_c4Zin_table_c5Zin_table_c6Zin_table_c7Zin_table_c8Zin_table_c9�UnicodeError�any)�labelZnewlabel�cZRandALr   r   r
   �nameprep   sB    
��������	r   c                 C   s�   z| � d�} W n ty    Y n*0 dt| �  k r:dk rBn n| S td��t| �} z| � d�} W n tyr   Y n*0 dt| �  k r�dk r�n n| S td��| �t�r�td��| � d�} t|  } dt| �  k r�dk r�n n| S td��d S )N�asciir   �@   �label empty or too longzLabel starts with ACE prefix�punycode)�encoder   �lenr   �
startswith�sace_prefix�
ace_prefix)r   r   r   r
   �ToASCII<