o
    2c}                     @   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   @/var/www/html/gps/gps/lib/python3.10/site-packages/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label
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   r2   r   r   r   r   r1   @   r0   r1   c                   @      e Zd ZdS )StreamWriterNr   r   r   r   r   r   r   r4   b       r4   c                   @   r3   )StreamReaderNr5   r   r   r   r   r7   f   r6   r7   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   r1   r4   r7   r   r   r   r   getregentryj   s   r@   )corer   r   r   r   r   r>   retypingr   r	   compiler#   r
   BufferedIncrementalEncoderr   BufferedIncrementalDecoderr1   r4   r7   r@   r   r   r   r   <module>   s    
""