U
    ;g^                     @   s   d dl Z d dlZd dlmZmZmZ ddlmZmZm	Z	m
Z
mZ edZG dd de jZG dd	 d	e jZG d
d de jZG dd dee jZG dd dee jZeee j dddZe e dS )    N)AnyOptionalTuple   )	IDNAErroralabeldecodeencodeulabelu   [.。．｡]c                   @   sD   e Zd Zdeeeeef dddZd	eeeeef dddZdS )
Codecstrict)dataerrorsreturnc                 C   s.   |dkrt d||sdS t|t|fS )Nr   Unsupported error handling "{}"    r   )r   formatr	   lenselfr   r    r   J/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/idna/codec.pyr	      s
    zCodec.encodec                 C   s.   |dkrt d||sdS t|t|fS )Nr   r    r   )r   r   r   r   r   r   r   r   r      s
    zCodec.decodeN)r   )r   )	__name__
__module____qualname__strr   bytesintr	   r   r   r   r   r   r   
   s   	r   c                   @   s(   e Zd Zeeeeeef dddZdS )IncrementalEncoderr   r   finalr   c           
      C   s   |dkrt d||sdS t|}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}|t| |r|d7 }|t|7 }qbd|| }	|t|7 }|	|fS )	Nr   r   r   r      .r   r   )r   r   _unicode_dots_resplitappendr   r   join)
r   r   r   r#   labelstrailing_dotresultsizelabelZresult_bytesr   r   r   _buffer_encode   s0    
z!IncrementalEncoder._buffer_encodeN)	r   r   r   r   boolr   r   r    r/   r   r   r   r   r!      s   r!   c                   @   s(   e Zd Zeeeeeef dddZdS )IncrementalDecoderr"   c           
      C   s   |dkrt d||sdS t|ts2t|d}t|}d}|rj|d sXd}|d= n|sj|d= |rjd}g }d}|D ]*}|t| |r|d	7 }|t|7 }qvd	|| }	|t|7 }|	|fS )
Nr   r   r   asciir   r$   .r   r   )
r   r   
isinstancer   r&   r'   r(   r
   r   r)   )
r   r   r   r#   r*   r+   r,   r-   r.   Z
result_strr   r   r   _buffer_decodeA   s4    


z!IncrementalDecoder._buffer_decodeN)	r   r   r   r   r   r0   r   r    r5   r   r   r   r   r1   @   s   r1   c                   @   s   e Zd ZdS )StreamWriterNr   r   r   r   r   r   r   r6   d   s   r6   c                   @   s   e Zd ZdS )StreamReaderNr7   r   r   r   r   r8   h   s   r8   )namer   c              	   C   s,   | dkrd S t j| t jt jttttdS )NZidna2008)r9   r	   r   incrementalencoderincrementaldecoderstreamwriterstreamreader)	codecs	CodecInfor   r	   r   r!   r1   r6   r8   )r9   r   r   r   search_functionl   s    r@   )r>   retypingr   r   r   corer   r   r   r	   r
   compiler&   r   BufferedIncrementalEncoderr!   BufferedIncrementalDecoderr1   r6   r8   r   r?   r@   registerr   r   r   r   <module>   s   
"$