o ?Og @sv ddlZddlZejZdddZGdddejZGdddejZGd d d ejZGd d d ej Z d dZ dS)NstrictcCst||dS)NT)codecs utf_32_decode)inputerrorsr7/opt/alt/python310/lib64/python3.10/encodings/utf_32.pydecode sr c@s8eZdZdddZdddZddZd d Zd d Zd S)IncrementalEncoderrcCtj||d|_dSN)rr __init__encoderselfrrrrr  zIncrementalEncoder.__init__FcCsP|jdurt||jd}tjdkrtj|_|Stj|_|S|||jdS)Nrlittle)rr utf_32_encodersys byteorderutf_32_le_encodeutf_32_be_encode)rrfinalresultrrrencodes  zIncrementalEncoder.encodecCtj|d|_dSr )rr resetrrrrrr  zIncrementalEncoder.resetcCs|jdurdSdS)Nr)rrrrrgetstate szIncrementalEncoder.getstatecCs0|rd|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstaterrrsetstate's     zIncrementalEncoder.setstateNr)F)__name__ __module__ __qualname__r rrr r$rrrrr s     r c@s6eZdZd ddZddZddZdd Zd d Zd S)IncrementalDecoderrcCr r )rBufferedIncrementalDecoderr decoderrrrrr 1rzIncrementalDecoder.__init__cCsx|jdur4t||d|\}}}|dkrtj|_||fS|dkr(tj|_||fS|dkr0td||fS|||j|S)Nr%UTF-32 stream does not start with BOM)r+rutf_32_ex_decodeutf_32_le_decodeutf_32_be_decode UnicodeErrorr)rrrroutputconsumedrrrr_buffer_decode5s z!IncrementalDecoder._buffer_decodecCrr )rr*rr+rrrrrBrzIncrementalDecoder.resetcCsDtj|d}|jdur|dfSttjdk|jtjuk}||fS)Nrrbig)rr*r r+intrrr2)rr#Zaddstaterrrr Fs   zIncrementalDecoder.getstatecCsttj|||d}|dkr tjdkrtj|_dStj|_dS|dkr5tjdkr/tj|_dStj|_dSd|_dS)Nr-rr7)rr*r$rrr2r1r+r"rrrr$Ts     zIncrementalDecoder.setstateNr%)r&r'r(r r6rr r$rrrrr)0s    r)c@s(eZdZd ddZddZd ddZdS) StreamWriterrcCsd|_tj|||dSr )rrr9r )rstreamrrrrr dszStreamWriter.__init__cCrr )rr9rrrrrrrhrzStreamWriter.resetcCsD|jdurt||}tjdkrtj|_|Stj|_|S|||Sr!)rrrrrrr)rrrrrrrrls    zStreamWriter.encodeNr%)r&r'r(r rrrrrrr9cs r9c@seZdZddZdddZdS) StreamReadercCs,tj|z|`WdStyYdSwr )rr;rr AttributeErrorrrrrrys   zStreamReader.resetrcCs^t||dd\}}}|dkrtj|_||fS|dkr#tj|_||fS|dkr+td||fS)NrFr,r-r.r/)rr0r1r r2r3)rrrobjectr5rrrrr szStreamReader.decodeNr%)r&r'r(rr rrrrr;wsr;c CstjdttttttdS)Nzutf-32)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r)r;r9rrrr getregentrysrDr%) rrrrr r r*r)r9r;rDrrrrs #3