� ��^i2��T�ddlmZddlZddlZddlZddlmZmZddlm Z dZ dZ ej d��Z Gd �d e��ZGd �d e��ZGd �de��ZGd�de��Zd�Zd�Zd�Zd�Zd�Zd�Zd%d�Zd�Zd�Zd�Zd�Zd%d�Zd�Zd�Z d �Z!d&d"�Z"d'd#�Z#d(d$�Z$dS))�)�idnadata�N)�Union�Optional)�intranges_contain� sxn--u [.。.。]c��eZdZdZdS)� IDNAErrorz7 Base exception for all IDNA-encoding related problems N��__name__� __module__� __qualname__�__doc__����/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/idna/core.pyr r s������A�A��Drr c��eZdZdZdS)� IDNABidiErrorz= Exception when bidirectional requirements are not satisfied Nr rrrrrs������G�G��Drrc��eZdZdZdS)�InvalidCodepointz> Exception when a disallowed or unallocated codepoint is used Nr rrrrrs������H�H��Drrc��eZdZdZdS)�InvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used Nr rrrrrs������O�O��Drrc��tjt|����}|dkr0tjt|����st d���|S)Nrz Unknown character in unicodedata)� unicodedata� combining�chr�name� ValueError)�cp�vs r�_combining_classr! sO����c�"�g�g�&�&�A��A�v�v����B���(�(� A��?�@�@� @� �Hrc�\�tt|��tj|��S)N)r�ordr�scripts)r�scripts r� _is_scriptr&(s �� �S��W�W�h�&6�v�&>� ?� ?�?rc�,�|�d��S)N�punycode)�encode��ss r� _punycoder,,s�� �8�8�J� � �rc�,�d�|��S)NzU+{:04X})�formatr*s r�_unotr/0s�� � � �Q� � �rc�0�t|��dkrdSdS)N�?FT��len��labels r�valid_label_lengthr65s�� �5�z�z�B����u� �4rc�8�t|��|rdndkrdSdS)N����FTr2)r5� trailing_dots r�valid_string_lengthr;<s&�� �5�z�z�L�1�S�S�c�2�2��u� �4rFc�(�d}t|d��D]U\}}tj|��}|dkr0td�t |��|�����|dvrd}�V|s|sdStj|d��}|dvrd}n8|d krd}n/td �t |�������d}d}t|d��D]�\}}tj|��}|rT|d vr"td �|�����|d vrd}n|dkrd}|dvr|s|}�Y||krtd����o|dvr"td�|�����|dvrd}��|dkrd}��|std���dS)NFr�z1Unknown directionality in label {} at position {})�R�AL�ANTr)r>r?�Lz=First codepoint in label {} must be directionality L, R or AL) r>r?r@�EN�ES�CS�ET�ON�BN�NSMzGInvalid direction for codepoint at position {} in a right-to-left label)r>r?rBr@rH)r@rBz2Can not mix numeral types in a right-to-left label)rArBrCrDrErFrGrHzGInvalid direction for codepoint at position {} in a left-to-right label)rArBz0Label ends with illegal codepoint directionality)� enumerater� bidirectionalrr.�repr) r5� check_ltr� bidi_label�idxr� direction�rtl� valid_ending� number_types r� check_bidirSCs���J��u�a�(�(��� ��b��-�b�1�1� � ��?�?�� S� Z� Z�[_�`e�[f�[f�hk� l� l�m�m� m� �)� )� )��J�� ��i���t��)�%��(�3�3�I��K������ �c� � �����[�b�b�cg�hm�cn�cn�o�o�p�p�p��L��K��u�a�(�(�%�%� ��b��-�b�1�1� � � %�� \�\�\�#�$m�$t�$t�ux�$y�$y�z�z�z��3�3�3�#� � ��e�#�#�$� ��L�(�(�"�b�"+�K�K�"�i�/�/�+�,`�a�a�a��� P�P�P�#�$m�$t�$t�ux�$y�$y�z�z�z��K�'�'�#� � ��e�#�#�$� �� �P��N�O�O�O� �4rc�l�tj|d��ddkrtd���dS)Nr�Mz0Label begins with an illegal combining characterT)r�categoryr r4s r�check_initial_combinerrWs5����E�!�H�%�%�a�(�C�/�/��J�K�K�K� �4rc��|dd�dkrtd���|ddks |ddkrtd���d S) N��z--z4Label has disallowed hyphens in 3rd and 4th positionr�-�����z)Label must not start or end with a hyphenT)r r4s r�check_hyphen_okr]�sS�� �Q�q�S�z�T����N�O�O�O� �Q�x�3���%��)�s�*�*��C�D�D�D� �4rc�V�tjd|��|krtd���dS)N�NFCz%Label must be in Normalization Form C)r� normalizer r4s r� check_nfcra�s1����U�E�*�*�e�3�3��?�@�@�@�4�3rc�V�t||��}|dk�rN|dkr0tt||dz ����tkrdSd}t|dz dd��D]l}tj�t||����}|td��kr�H|td��td ��fvrd}n�m|sdSd}t|dzt|����D]l}tj�t||����}|td��kr�H|td ��td ��fvrd}n�m|S|d kr8|dkr0tt||dz ����tkrdSdSdS) Ni rrTFr\�TrA�Dr>i )r#r!�_virama_combining_class�ranger� joining_types�getr3)r5�pos�cp_value�ok�i� joining_types r�valid_contextjrn�s����5��:���H��6��� ��7�7���E�#��'�N� 3� 3�4�4�8O�O�O��t� ���s�1�u�b�"�%�%� � �A�#�1�5�5�c�%��(�m�m�D�D�L��s�3�x�x�'�'����C���#�c�(�(�3�3�3�����4�� ��5� ���s�1�u�c�%�j�j�)�)� � �A�#�1�5�5�c�%��(�m�m�D�D�L��s�3�x�x�'�'����C���#�c�(�(�3�3�3�����4�� ��6��� ��7�7���E�#��'�N� 3� 3�4�4�8O�O�O��t��u��urc�L�t||��}|dkr\d|cxkrt|��dz kr=nn:t||dz ��dkrt||dz��dkrdSdS|dkrD|t|��dz kr,t|��dkrt||dzd��SdS|d ks|d kr!|dkrt||dz d ��SdS|d krA|D]<}|d kr� t|d��s t|d��st|d��rdS�=dSd|cxkrdkr*nn'|D]"}dt|��cxkrdkrn�dS�#dSd|cxkrdkr*nn'|D]"}dt|��cxkrdkrn�dS�#dSdS)N�rr�lTFiu�Greeki�i��Hebrewi�0u・�Hiragana�Katakana�Hani`iii�i�)r#r3r&)r5ri� exceptionrjrs r�valid_contextorx�sS���5��:���H��6��� �s� !� !� !� !�S��Z�Z��\� !� !� !� !� !��5��q��>�"�"�f�,�,��U�3��7�^�1D�1D��1N�1N��t��u� �V� � � ��U���A�� � �#�e�*�*�q�.�.��e�C�!�G�n�g�6�6� 6��u� �V� � �x�6�1�1� ��7�7��e�C�!�G�n�h�7�7� 7��u� �V� � �� � �B��X�~�~���"�j�)�)� �Z��J�-G�-G� �:�VX�Z_�K`�K`� ��t�t� ��u� �(� #� #� #� #�e� #� #� #� #� #�� � �B���B���)�)�)�)�6�)�)�)�)�)��u�u�*��t� �(� #� #� #� #�e� #� #� #� #� #�� � �B���B���)�)�)�)�6�)�)�)�)�)��u�u�*��t� �5rc ��t|ttf��r|�d��}t |��dkrt d���t |��t|��t|��t|��D�]�\}}t|��}t|tj d��r�6t|tj d��r� t||��sAtd�t#|��|dzt%|���������#t&$rBt d�t#|��|dzt%|�������wxYwt|tj d ��rSt)||��sAtd �t#|��|dzt%|���������kt+d �t#|��|dzt%|�������t-|��dS) Nzutf-8rz Empty Label�PVALID�CONTEXTJz*Joiner {} not allowed at position {} in {}rz�1�2^�2e�2e��h����Q���U� � �3=�3=�>�>�>�>��� :� :� :�� ^� e� e��(�O�O�S��U�D��K�K�!9�!9�:�:�:� :�����x��)C�J�)O� P� P� @�!�%��-�-� K�-�.]�.d�.d�ej�ks�et�et�vy�z{�v{�~B�CH�~I�~I�/J�/J�K�K�K� K�#�#R�#Y�#Y�Z_�`h�Zi�Zi�kn�op�kp�rv�w|�r}�r}�#~�#~��� ��u�����s�'AD9�9A Fc�|� |�d��}t|��t|��std���|S#t$rYnwxYw|std���t |��}t |��t|��}t|z}t|��std���|S)N�asciizLabel too longzNo Input) r)�ulabelr6r �UnicodeEncodeError�strr�r,�_alabel_prefix�r5� label_bytess r�alabelr� s��� ��l�l�7�+�+� ��{����!�+�.�.� .��,�-�-� -���� � � � � �� ���� �$�� �#�#�#� ��J�J�E�������E�"�"�K� �;�.�K� �k� *� *�*��(�)�)�)� �s�AA� A�Ac�V�t|ttf��s8 |�d��}n##t$rt |��|cYSwxYw|}|���}|�t��r\|tt��d�}|std���|� d��ddkrtd���n$t |��|� d��S|� d��}t |��|S)Nr�z5Malformed A-label, no Punycode eligible content foundr\r[z"A-label must not end with a hyphenr() r~rr�r)r�r��lower� startswithr�r3r r�r�s rr�r�%s=�� �e�e�Y�/� 0� 0�� ��,�,�w�/�/�K�K��!� � � � �� � � ��L�L�L� ����� ��#�#�%�%�K����n�-�-�+�!�#�n�"5�"5�"6�"6�7� �� U��S�T�T� T� � � �g� &� &�r� *�c� 1� 1��@�A�A� A� 2� �K� � � ��!�!�'�*�*�*� � � �z� *� *�E������ �Ls�4�A�ATc �`�ddlm}d}t|��D�]\}}t|��} ||dkr|ntj||df��dz }|d} d} t |��dkr|d} | d ks| d kr|r | d kr |s| �||z }n2| �| d ks| d kr|r| d kr|r|| z }n| d krt �����#t $rBtd�t|��|dzt|�������wxYwtj d|��S)zBRe-map the characters in the string according to UTS46 processing.r)� uts46datar=��ZN�rY�Vrd�3rU�Ir}r_) r�rIr#�bisect� bisect_leftr3� IndexErrorrr.r/rKrr`) �domain� std3_rules� transitionalr��outputri�char� code_point�uts46row�status� replacements r� uts46_remapr�@s���%�$�$�$�$�$� �F��v�&�&�;�;� ��T���Y�Y� � ;� �z�C�/?�/?����"�9�z�3�.?�@�@�1�D�F�H��a�[�F��K��8�}�}��!�!�&�q�k� ��#� � ��s�]�]�<�]��s�]�]�:�]�+�:M��$�����(�f��m�m��s�]�]�:�]��s�]�]�|�]��+�%����3��� �l�l�"���� ;� ;� ;�"�?�F�F��j�!�!�3��7�D��L�L�:�:�;�;� ;� ;���� � ��� /� /�/s �BC � A Dc�V�t|ttf��r|�d��}|rt |||��}d}g}|r|�d��}nt �|��}|r|dgkrtd���|ddkr|d=d}|D]7}t|��}|r|� |���)td���|r|� d ��d � |��}t||��std ���|S) Nr�F�.r=� Empty domainr\T� Empty labelr�.zDomain too long) r~rr�r�r��split�_unicode_dots_rer r��append�joinr;) r+�strict�uts46r�r�r:�result�labelsr5s rr)r)asJ���!�e�Y�'�(�(�� �H�H�W� � �� �5� ��:�|� 4� 4���L� �F� �+���������!�'�'��*�*�� �(�V��t�^�^���'�'�'� �b�z�R��� �2�J�� ��+�+�� �5�M�M�� � +� �M�M�!� � � � ��M�*�*� *���� � �c���� � � �&���A� �q�,� /� /�+��)�*�*�*� �Hrc� �t|ttf��r|�d��}|rt ||d��}d}g}|st �|��}n|�d��}|r|dgkrtd���|ds|d=d}|D]7}t|��}|r|� |���)td���|r|� d��d� |��S) Nr�Fr�r=r�r\Tr�) r~rr�r�r�r�r�r r�r�r�)r+r�r�r�r:r�r�r5s rr�r��s"���!�e�Y�'�(�(�� �H�H�W� � �� �.� ��:�u� -� -���L� �F� ��!�'�'��*�*���������� �(�V��t�^�^���'�'�'� �"�:�� �2�J�� ��+�+�� �5�M�M�� � +� �M�M�!� � � � ��M�*�*� *���� � �b���� �8�8�F� � �r)F)TF)FFFF)FFF)%r=rr�r�re�typingrr� intrangesrrer��compiler�� UnicodeErrorr rrrr!r&r,r/r6r;rSrWr]rarnrxr�r�r�r�r)r�rrr�r�sa�������� � � � ����� � � � �"�"�"�"�"�"�"�"�(�(�(�(�(�(������2�:�:�;�;�� � � � � � � � � �  � � � � �I� � � �  � � � � �y� � � �  � � � � �i� � � �  � � �@�@�@� � � � � � � ������9�9�9�9�x������A�A�A� )�)�)�X(�(�(�(�V���@���2���60�0�0�0�B � � � �>�����r