U
e5d� � @ s� d Z ddlZddlZddd�Zddd�ZG dd � d ej�ZG d
d� dej�ZG dd
� d
ej�ZG dd� deej�ZG dd� deej �Z dd� Z
dS )z�Python 'zlib_codec' Codec - zlib compression encoding.
This codec de/encodes from bytes to bytes.
Written by Marc-Andre Lemburg ([email protected]).
� N�strictc C s t �| �t| �fS �N)�zlib�compress�len��input�errors� r
�,/usr/lib64/python3.8/encodings/zlib_codec.py�zlib_encode
s r c C s t �| �t| �fS r )r �
decompressr r r
r
r �zlib_decode s r c @ s e Zd Zddd�Zddd�ZdS ) �Codecr c C s
t ||�S r )r ��selfr r r
r
r �encode s zCodec.encodec C s
t ||�S r )r r r
r
r �decode s zCodec.decodeN)r )r )�__name__�
__module__�__qualname__r r r
r
r
r r s
r c @ s( e Zd Zd
dd�Zddd�Zdd� Zd S )�IncrementalEncoderr c C s || _ t�� | _d S r )r r �compressobj�r r r
r
r �__init__ s zIncrementalEncoder.__init__Fc C s. |r| j �|�}|| j �� S | j �|�S d S r )r r �flush�r r �final�cr
r
r r ! s zIncrementalEncoder.encodec C s t �� | _d S r )r r �r r
r
r �reset( s zIncrementalEncoder.resetN)r )F)r r r r r r r
r
r
r r s
r c @ s( e Zd Zd
dd�Zddd�Zdd� Zd S )�IncrementalDecoderr c C s || _ t�� | _d S r )r r �
decompressobjr r
r
r r , s zIncrementalDecoder.__init__Fc C s. |r| j �|�}|| j �� S | j �|�S d S r )r" r
r r r
r
r r 1 s zIncrementalDecoder.decodec C s t �� | _d S r )r r" r r
r
r r 8 s zIncrementalDecoder.resetN)r )F)r r r r r r r
r
r
r r! + s
r! c @ s e Zd ZeZdS )�StreamWriterN�r r r �bytes�charbuffertyper
r
r
r r# ; s r# c @ s e Zd ZeZdS )�StreamReaderNr$ r
r
r
r r' > s r' c
C s t jdttttttdd�S )Nr F)�namer r �incrementalencoder�incrementaldecoder�streamreader�streamwriter�_is_text_encoding)�codecs� CodecInfor r r r! r' r# r
r
r
r �getregentryC s �r0 )r )r )�__doc__r. r r r r r r! r# r' r0 r
r
r
r �