Ë
    òT•jÉ  ã                   ó  — 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)a  Python 'bz2_codec' Codec - bz2 compression encoding.

This codec de/encodes from bytes to bytes and is therefore usable with
bytes.transform() and bytes.untransform().

Adapted by Raymond Hettinger from zlib_codec.py which was written
by Marc-Andre Lemburg (mal@lemburg.com).
é    Nc                 óP   — |dk(  sJ ‚t        j                  | «      t        | «      fS ©NÚstrict)Úbz2ÚcompressÚlen©ÚinputÚerrorss     ú*/usr/lib/python3.12/encodings/bz2_codec.pyÚ
bz2_encoder      s(   € Ø�XÒÐÐÜ�L‰L˜Ó¤ U£Ð,Ð,ó    c                 óP   — |dk(  sJ ‚t        j                  | «      t        | «      fS r   )r   Ú
decompressr   r	   s     r   Ú
bz2_decoder      s(   € Ø�XÒÐÐÜ�N‰N˜5Ó!¤3 u£:Ð.Ð.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   ó   € Ü˜% Ó(Ð(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   ÚBZ2CompressorÚ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   € ÙØ× Ñ ×)Ñ)¨%Ó0ˆAØ�t×'Ñ'×-Ñ-Ó/Ñ/Ð/à×#Ñ#×,Ñ,¨UÓ3Ð3r   c                 ó6   — t        j                  «       | _        y r   )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   ÚBZ2DecompressorÚdecompressobjr&   s     r   r'   zIncrementalDecoder.__init__.   s(   € Ø˜Ò!Ð!Ð!ØˆŒÜ ×0Ñ0Ó2ˆÕr   c                 óX   — 	 | j                   j                  |«      S # t        $ r Y yw xY w)NÚ )r4   r   ÚEOFError)r   r
   r*   s      r   r   zIncrementalDecoder.decode3   s0   € ð	Ø×%Ñ%×0Ñ0°Ó7Ð7øÜò 	Ùð	ús   ‚ �	)¨)c                 ó6   — t        j                  «       | _        y r   )r   r3   r4   r-   s    r   r.   zIncrementalDecoder.reset9   s   € Ü ×0Ñ0Ó2ˆÕr   Nr   r/   )r   r   r   r'   r   r.   r    r   r   r1   r1   -   s   „ ó3ó
ó3r   r1   c                   ó   — e Zd ZeZy)ÚStreamWriterN©r   r   r   ÚbytesÚcharbuffertyper    r   r   r:   r:   <   ó   „ Ø�Nr   r:   c                   ó   — e Zd ZeZy)ÚStreamReaderNr;   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ÚstreamwriterÚstreamreaderÚ_is_text_encoding)ÚcodecsÚ	CodecInfor   r   r"   r1   r:   r@   r    r   r   ÚgetregentryrJ   D   s-   € Ü×ÑØÜÜÜ-Ü-Ü!Ü!Øô	ð 	r   r   )Ú__doc__rH   r   r   r   r   r"   r1   r:   r@   rJ   r    r   r   ú<module>rL      s}   ðñó Û 
ó-ó/ô)ˆF�L‰Lô )ô/˜×2Ñ2ô /ô 3˜×2Ñ2ô 3ô�5˜&×-Ñ-ô ô�5˜&×-Ñ-ô ó

r   