o
    !ó·iò  ã                   @   s°   d dl mZmZmZmZmZ ddlZddlZddl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dd„ ZdS )é   )ÚencodeÚdecodeÚalabelÚulabelÚ	IDNAErroré    N)ÚTupleÚOptionalu   [.ã€‚ï¼Žï½¡]c                   @   s    e Zd Zddd„Zddd„ZdS )ÚCodecÚstrictc                 C   ó.   |dkrt d |¡ƒ‚|sdS t|ƒt|ƒfS )Nr   úUnsupported error handling "{}")ó    r   )r   Úformatr   Úlen©ÚselfÚdataÚerrors© r   ú\C:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\pip/_vendor/idna/codec.pyr   
   ó
   zCodec.encodec                 C   r   )Nr   r   ©Ú r   )r   r   r   r   r   r   r   r   r      r   zCodec.decodeN)r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r
      s    

r
   c                   @   ó   e Zd Zdd„ ZdS )ÚIncrementalEncoderc           
      C   ó°   |dkrt d |¡ƒ‚|sdS t |¡}d}|r+|d s"d}|d= n	|s+|d= |r+d}g }d}|D ]}| t|ƒ¡ |r@|d7 }|t|ƒ7 }q1d |¡| }	|t|ƒ7 }|	|fS ©	Nr   r   r   r   éÿÿÿÿÚ.r   r   )r   r   Ú_unicode_dots_reÚsplitÚappendr   r   Újoin©
r   r   r   ÚfinalÚlabelsÚtrailing_dotÚresultÚsizeÚlabelZ
result_strr   r   r   Ú_buffer_encode   s0   
z!IncrementalEncoder._buffer_encodeN)r   r   r   r.   r   r   r   r   r      ó    r   c                   @   r   )ÚIncrementalDecoderc           
      C   r   r    )r   r   r#   r$   r%   r   r   r&   r'   r   r   r   Ú_buffer_decodeA   s0   
z!IncrementalDecoder._buffer_decodeN)r   r   r   r1   r   r   r   r   r0   @   r/   r0   c                   @   ó   e Zd ZdS )ÚStreamWriterN©r   r   r   r   r   r   r   r3   b   ó    r3   c                   @   r2   )ÚStreamReaderNr4   r   r   r   r   r6   f   r5   r6   c                	   C   s    t jdtƒ jtƒ jttttd�S )NÚidna)Únamer   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreader)	ÚcodecsÚ	CodecInfor
   r   r   r   r0   r3   r6   r   r   r   r   Úgetregentryj   s   ùr?   )Úcorer   r   r   r   r   r=   ÚreÚtypingr   r	   Úcompiler#   r
   ÚBufferedIncrementalEncoderr   ÚBufferedIncrementalDecoderr0   r3   r6   r?   r   r   r   r   Ú<module>   s    
""