U
e5d# � @ s� d dl Z d dlZd dlmZ ddd�Zddd �ZG d
d� de j�ZG dd
� d
e j�ZG dd� de j�ZG dd� dee j �Z G dd� dee j
�Z
dd� ZdS )� N)�BytesIO�strict�� c C s� t | �}t � }|j}|j}|�dd�}|�dd�}|d|d@ |f �d�� |d�}|rp|t�|�� |d�}qT|d � |�� t| �fS )
N�
z\n�
z\rzbegin %o %s
i� �ascii�- s
end
) r �read�write�replace�encode�binasciiZb2a_uu�getvalue�len) �input�errors�filename�mode�infile�outfiler
r �chunk� r �*/usr/lib64/python3.8/encodings/uu_codec.py� uu_encode s
r c
C s� t | �}t � }|j}|j}|� }|s,td��|d d� dkrq@q|� }|r�|dkrTq�zt�|�}W nR tjk
r� } z2|d d d@ d d d } t�|d | � �}W 5 d }~X Y nX ||� q@|s�td
��|�� t| �fS )Nz"Missing "begin" line in input data� s begins end
r � �? � � zTruncated input data) r �readliner �
ValueErrorr Za2b_uu�Errorr r )
r r r r r r �s�data�v�nbytesr r r � uu_decode% s* $
r' c @ s e Zd Zddd�Zddd�ZdS ) �Codecr c C s
t ||�S �N)r ��selfr r r r r r
G s zCodec.encodec C s
t ||�S r) )r' r* r r r �decodeJ s zCodec.decodeN)r )r )�__name__�
__module__�__qualname__r
r, r r r r r( F s
r( c @ s e Zd Zddd�ZdS )�IncrementalEncoderFc C s t || j�d S �Nr )r r �r+ r �finalr r r r
N s zIncrementalEncoder.encodeN)F)r- r. r/ r
r r r r r0 M s r0 c @ s e Zd Zddd�ZdS )�IncrementalDecoderFc C s t || j�d S r1 )r' r r2 r r r r, R s zIncrementalDecoder.decodeN)F)r- r. r/ r, r r r r r4 Q s r4 c @ s e Zd ZeZdS )�StreamWriterN�r- r. r/ �bytes�charbuffertyper r r r r5 U s r5 c @ s e Zd ZeZdS )�StreamReaderNr6 r r r r r9 X s r9 c
C s t jdttttttdd�S )N�uuF)�namer
r, �incrementalencoder�incrementaldecoder�streamreader�streamwriter�_is_text_encoding)�codecs� CodecInfor r' r0 r4 r9 r5 r r r r �getregentry] s �rC )r r r )r )rA r �ior r r' r( r0 r4 r5 r9 rC r r r r �