o
    f                     @   s   d Z ddlZddlZdddZdd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 )zPython 'zlib_codec' Codec - zlib compression encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nstrictc                 C      |dksJ t | t| fS Nr   )zlibcompressleninputerrors r   +/usr/lib/python3.10/encodings/zlib_codec.pyzlib_encode      r   c                 C   r   r   )r   
decompressr   r   r   r   r   zlib_decode   r   r   c                   @   s    e Zd ZdddZdddZdS )Codecr   c                 C   
   t ||S N)r   selfr	   r
   r   r   r   encode      
zCodec.encodec                 C   r   r   )r   r   r   r   r   decode   r   zCodec.decodeNr   )__name__
__module____qualname__r   r   r   r   r   r   r      s    
r   c                   @   (   e Zd Zd
ddZdddZdd Zd	S )IncrementalEncoderr   c                 C       |dksJ || _ t | _d S r   )r
   r   compressobjr   r
   r   r   r   __init__      zIncrementalEncoder.__init__Fc                 C   *   |r| j |}|| j   S | j |S r   )r    r   flushr   r	   finalcr   r   r   r   !      zIncrementalEncoder.encodec                 C      t  | _d S r   )r   r    r   r   r   r   reset(      zIncrementalEncoder.resetNr   F)r   r   r   r"   r   r,   r   r   r   r   r          

r   c                   @   r   )IncrementalDecoderr   c                 C   r   r   )r
   r   decompressobjr!   r   r   r   r"   ,   r#   zIncrementalDecoder.__init__Fc                 C   r$   r   )r1   r   r%   r&   r   r   r   r   1   r)   zIncrementalDecoder.decodec                 C   r*   r   )r   r1   r+   r   r   r   r,   8   r-   zIncrementalDecoder.resetNr   r.   )r   r   r   r"   r   r,   r   r   r   r   r0   +   r/   r0   c                   @      e Zd ZeZdS )StreamWriterNr   r   r   bytescharbuffertyper   r   r   r   r3   ;       r3   c                   @   r2   )StreamReaderNr4   r   r   r   r   r8   >   r7   r8   c                
   C   s   t jdttttttddS )Nr   F)namer   r   incrementalencoderincrementaldecoderstreamreaderstreamwriter_is_text_encoding)codecs	CodecInfor   r   r   r0   r8   r3   r   r   r   r   getregentryC   s   rA   r   )__doc__r?   r   r   r   r   r   r0   r3   r8   rA   r   r   r   r   <module>   s    

