
    Rh                        d Z ddlZddlZddZddZ G d dej
                        Z G d dej                        Z G d	 d
ej                        Z G d deej                        Z G d deej                        Z	d Z
y)zPython 'zlib_codec' Codec - zlib compression encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nc                 P    |dk(  sJ t        j                  |       t        |       fS Nstrict)zlibcompressleninputerrorss     +/usr/lib/python3.12/encodings/zlib_codec.pyzlib_encoder      s(    XMM% #e*--    c                 P    |dk(  sJ t        j                  |       t        |       fS r   )r   
decompressr   r	   s     r   zlib_decoder      s(    XOOE"CJ//r   c                       e Zd ZddZddZy)Codecc                     t        ||      S N)r   selfr
   r   s      r   encodezCodec.encode       5&))r   c                     t        ||      S r   )r   r   s      r   decodezCodec.decode   r   r   Nr   )__name__
__module____qualname__r   r    r   r   r   r      s    **r   r   c                   "    e Zd ZddZddZd Zy)IncrementalEncoderc                 R    |dk(  sJ || _         t        j                         | _        y r   )r   r   compressobjr   r   s     r   __init__zIncrementalEncoder.__init__   s(    !!!++-r   c                     |r8| j                   j                  |      }|| j                   j                         z   S | j                   j                  |      S r   )r$   r   flushr   r
   finalcs       r   r   zIncrementalEncoder.encode!   sL      ))%0At''--///##,,U33r   c                 6    t        j                         | _        y r   )r   r$   r   s    r   resetzIncrementalEncoder.reset(   s    ++-r   Nr   F)r   r   r   r&   r   r.   r    r   r   r"   r"      s    .
4.r   r"   c                   "    e Zd ZddZddZd Zy)IncrementalDecoderc                 R    |dk(  sJ || _         t        j                         | _        y r   )r   r   decompressobjr%   s     r   r&   zIncrementalDecoder.__init__,   s(    !!!!//1r   c                     |r8| j                   j                  |      }|| j                   j                         z   S | j                   j                  |      S r   )r3   r   r(   r)   s       r   r   zIncrementalDecoder.decode1   sL    ""--e4At))//111%%0077r   c                 6    t        j                         | _        y r   )r   r3   r-   s    r   r.   zIncrementalDecoder.reset8   s    !//1r   Nr   r/   )r   r   r   r&   r   r.   r    r   r   r1   r1   +   s    2
82r   r1   c                       e Zd ZeZy)StreamWriterNr   r   r   bytescharbuffertyper    r   r   r7   r7   ;       Nr   r7   c                       e Zd ZeZy)StreamReaderNr8   r    r   r   r=   r=   >   r;   r   r=   c            
      l    t        j                  dt        t        t        t
        t        t        d      S )Nr   F)namer   r   incrementalencoderincrementaldecoderstreamreaderstreamwriter_is_text_encoding)codecs	CodecInfor   r   r"   r1   r=   r7   r    r   r   getregentryrG   C   s-    --!!	 	r   r   )__doc__rE   r   r   r   r   r"   r1   r7   r=   rG   r    r   r   <module>rI      s}     .0*FLL *.22 . 222 2 5&-- 5&-- 

r   