File: D:/Python311/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-311.pyc
�
�mi^
� �n � d dl Z d dlZd dlmZmZmZ ddlmZmZm Z m
Z
mZ ej d� � Z
G d� de j � � Z G d� d e j � � Z G d
� de j � � Z G d� d
ee j � � Z G d� dee j � � Zdedee j fd�Z e j e� � dS )� N)�Any�Optional�Tuple� )� IDNAError�alabel�decode�encode�ulabelu [.。.。]c �Z � e Zd Zddededeeef fd�Zddededeeef fd�ZdS ) �Codec�strict�data�errors�returnc � � |dk r"t d� |� � � � �|sdS t |� � t |� � fS )Nr �Unsupported error handling "{}"�� r )r �formatr
�len��selfr r s �8D:\Python311\Lib\site-packages\pip/_vendor/idna/codec.pyr
zCodec.encode sQ � ��X�� N��=�D�D�V�L�L�M�M�M�� ��6��d�|�|�S��Y�Y�&�&r c � � |dk r"t d� |� � � � �|sdS t |� � t |� � fS )Nr r �� r )r r r r r s r r zCodec.decode sQ � ��X�� N��=�D�D�V�L�L�M�M�M�� ��5��d�|�|�S��Y�Y�&�&r N)r ) �__name__�
__module__�__qualname__�strr �bytes�intr
r � r r r
r
s� � � � � � �'� '�3� '�� '�5����;L� '� '� '� '�'� '�5� '�#� '�U�3��8�_� '� '� '� '� '� 'r r
c
�6 � e Zd Zdedededeeef fd�ZdS )�IncrementalEncoderr r �finalr c � � |dk r"t d� |� � � � �|sdS t � |� � }d}|r|d sd}|d= n |s|d= |rd}g }d}|D ]=}|� t |� � � � |r|dz
}|t
|� � z
}�>d� |� � |z } |t
|� � z
}| |fS ) Nr r r r ���� .r r )r r �_unicode_dots_re�split�appendr r �join)
r r r r'