3 2a# @ s d dl Z d dlZd dlmZ dddZddd ZG d d de jZG dd d e jZG dd de jZG dd dee j Z G dd dee j Z dd ZdS ) N)BytesIOstrict c C s t | }t }|j}|j}|jdd}|jdd}|d|d@ |f jd |d}x|rr|tj| |d}qVW |d |j t| fS ) N z\n z\rzbegin %o %s i ascii- s end ) r readwritereplaceencodebinasciiZb2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfiler r chunk r -/opt/alt/python36/lib64/python3.6/uu_codec.py uu_encode s r c C s t | }t }|j}|j}x(| }|s.td|d d dkrP qW x| }| sZ|dkr\P ytj|}W nR tjk r } z4|d d d@ d d d } tj|d | }W Y d d }~X nX || qFW |std |j t| fS )Nz"Missing "begin" line in input data s begins end r ? zTruncated input data) r readliner ValueErrorr Za2b_uuErrorr r ) r r r r r r sdatavnbytesr r r uu_decode% s. $r' c @ s e Zd ZdddZdddZdS ) Codecr c C s t ||S )N)r )selfr r r r r r G s zCodec.encodec C s t ||S )N)r' )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 ZdddZdS )IncrementalEncoderFc C s t || jd S )Nr )r r )r) r finalr r r r N s zIncrementalEncoder.encodeN)F)r+ r, r- r r r r r r. M s r. c @ s e Zd ZdddZdS )IncrementalDecoderFc C s t || jd S )Nr )r' r )r) r r/ r r r r* R s zIncrementalDecoder.decodeN)F)r+ r, r- r* r r r r r0 Q s r0 c @ s e Zd ZeZdS )StreamWriterN)r+ r, r- bytescharbuffertyper r r r r1 U s r1 c @ s e Zd ZeZdS )StreamReaderN)r+ r, r- r2 r3 r r r r r4 X s r4 c C s t jdttttttddS )NuuF)namer r* incrementalencoderincrementaldecoderstreamreaderstreamwriter_is_text_encoding)codecs CodecInfor r' r. r0 r4 r1 r r r r getregentry] s r> )r r r )r )r<