File: //lib/python3/dist-packages/idna/__pycache__/codec.cpython-310.pyc
o
��Ya.
� @ s� d dl mZmZmZmZmZ ddlZddlZddlm Z m
Z
e�d�ZG dd� dej
�Z
G dd � d ej�ZG d
d� dej�ZG dd
� d
e
ej�ZG dd� de
ej�Zdejfdd�ZdS )� )�encode�decode�alabel�ulabel� IDNAError� N)�Tuple�Optionalu [.。.。]c @ sL e Zd Zd
dededeeef fdd�Zd
dededeeef fdd�Zd S )�Codec�strict�data�errors�returnc C �. |dkrt d�|���|sdS t|�t|�fS )Nr �Unsupported error handling "{}")� r )r �formatr �len��selfr r
� r �,/usr/lib/python3/dist-packages/idna/codec.pyr
�
zCodec.encodec C r )Nr r �� r )r r r r r r r r r r zCodec.decodeN)r ) �__name__�
__module__�__qualname__�strr �bytes�intr r r r r r r
s $ r
c
@ �. e Zd Zdedededeeef fdd�ZdS )�IncrementalEncoderr r
�finalr c
C � |dkrt d�|���|sdS t�|�}d}|r+|d s"d}|d= n |s+|d= |r+d}g }d}|D ]}|�t|�� |r@|d7 }|t|�7 }q1d�|�| } |t|�7 }| |fS � Nr r r r ����.r r )r r �_unicode_dots_re�split�appendr r �join�
r r r
r# �labels�trailing_dot�result�size�label�
result_strr r r �_buffer_encode s0
z!IncrementalEncoder._buffer_encodeN)r r r r �boolr r r3 r r r r r"