MINI MINI MANI MO
3
\# @ s d dl Z d dlZd dlZd dlmZ ejdZdZdZdd Z dd Z
d
d ZG dd
d
ejZG dd dej
ZG dd dejZG dd deejZG dd deejZdd ZdS ) N) ucd_3_2_0u [.。.。]s xn--zxn--c C s g }x(| D ] }t j|rq
|jt j| q
W dj|} tjd| } xr| D ]j}t j|st j|st j |st j
|st j|st j|st j
|st j|st j|rJtd| qJW dd | D }xH|D ]@}|rtdd | D rtd|d s|d rtdqW | S )
N ZNFKCzInvalid character %rc S s g | ]}t j|qS )
stringprepZin_table_d1).0xr r &/usr/lib64/python3.6/encodings/idna.py
<listcomp>) s znameprep.<locals>.<listcomp>c s s | ]}t j|V qd S )N)r Zin_table_d2)r r r r r <genexpr>2 s znameprep.<locals>.<genexpr>zViolation of BIDI requirement 2r zViolation of BIDI requirement 3)r Zin_table_b1appendZmap_table_b2joinunicodedataZ normalizeZin_table_c12Zin_table_c22Zin_table_c3Zin_table_c4Zin_table_c5Zin_table_c6Zin_table_c7Zin_table_c8Zin_table_c9UnicodeErrorany)labelZnewlabelcZRandALr r r nameprep s4
r c C s y| j d} W n tk
r" Y n*X dt| k o:dk n rD| S tdt| } y| j d} W n tk
rv Y n*X dt| k odk n r| S td| jtrtd| j d} t| } dt| k odk n r| S tdd S )Nasciir @ zlabel empty or too longzLabel starts with ACE prefixpunycode)encoder lenr
startswithsace_prefix
ace_prefix)r r r r ToASCII>