a ÕDOgã@spddlZddlmZddlmZgd¢ZGdd„deƒZGdd„deƒZd d „Z Gd d „d ƒZ Gd d„dƒZ dS)éN)ÚBytesIO©Úwraps)ÚErrorÚPackerÚUnpackerÚConversionErrorc@s$eZdZdd„Zdd„Zdd„ZdS)rcCs ||_dS©N)Úmsg)Úselfr ©r ú/usr/lib64/python3.9/xdrlib.pyÚ__init__szError.__init__cCs t|jƒSr )Úreprr ©r r r r Ú__repr__szError.__repr__cCs t|jƒSr )Ústrr rr r r Ú__str__sz Error.__str__N)Ú__name__Ú __module__Ú __qualname__rrrr r r r rs rc@s eZdZdS)rN)rrrr r r r r srcstˆƒ‡fdd„ƒ}|S)Nc sHz ˆ||ƒWStjyB}zt|jdƒd‚WYd}~n d}~00dS©Nr)ÚstructÚerrorrÚargs)r ÚvalueÚe©Úfunctionr r Úresult&s z&raise_conversion_error..resultr)rrr rr Úraise_conversion_error#sr c@s¤eZdZdd„Zdd„Zdd„ZeZedd„ƒZed d „ƒZ e Z d d „Z d d„Z e Z edd„ƒZedd„ƒZdd„ZeZdd„ZeZeZdd„Zdd„Zdd„ZdS)rcCs | ¡dSr ©Úresetrr r r r2szPacker.__init__cCs tƒ|_dSr )rÚ _Packer__bufrr r r r"5sz Packer.resetcCs |j ¡Sr )r#Úgetvaluerr r r Ú get_buffer8szPacker.get_buffercCs|j t d|¡¡dS)Nú>L©r#ÚwriterÚpack©r Úxr r r Ú pack_uint=szPacker.pack_uintcCs|j t d|¡¡dS)Nú>lr'r*r r r Úpack_intAszPacker.pack_intcCs"|r|j d¡n |j d¡dS)Nss)r#r(r*r r r Ú pack_boolGszPacker.pack_boolc Cs¤z| |d?d@¡Wn:ttjfyP}zt|jdƒd‚WYd}~n d}~00z| |d@¡Wn:ttjfyž}zt|jdƒd‚WYd}~n d}~00dS)Né lÿÿr)r,Ú TypeErrorrrrr)r r+rr r r Ú pack_uhyperKs&zPacker.pack_uhypercCs|j t d|¡¡dS)Nú>fr'r*r r r Ú pack_floatWszPacker.pack_floatcCs|j t d|¡¡dS)Nú>dr'r*r r r Ú pack_double[szPacker.pack_doublecCsP|dkrtdƒ‚|d|…}|ddd}||t|ƒd}|j |¡dS)Nrú fstring size must be nonnegativeééó)Ú ValueErrorÚlenr#r()r ÚnÚsÚdatar r r Ú pack_fstring_s  zPacker.pack_fstringcCs"t|ƒ}| |¡| ||¡dSr )r<r,r@)r r>r=r r r Ú pack_stringis zPacker.pack_stringcCs*|D]}| d¡||ƒq| d¡dS)Nér)r,)r ÚlistÚ pack_itemÚitemr r r Ú pack_listqs  zPacker.pack_listcCs*t|ƒ|krtdƒ‚|D] }||ƒqdS)Nzwrong array size)r<r;)r r=rCrDrEr r r Ú pack_farrayws zPacker.pack_farraycCs$t|ƒ}| |¡| |||¡dSr )r<r,rG)r rCrDr=r r r Ú pack_array}s zPacker.pack_arrayN)rrrrr"r%Zget_bufr r,r.Z pack_enumr/r2Z pack_hyperr4r6r@Z pack_fopaquerAZ pack_opaqueZ pack_bytesrFrGrHr r r r r/s0     rc@s¬eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z e Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZeZdd„ZeZeZdd „Zd!d"„Zd#d$„Zd%S)&rcCs| |¡dSr r!©r r?r r r r‡szUnpacker.__init__cCs||_d|_dSr)Ú_Unpacker__bufÚ_Unpacker__posrIr r r r"ŠszUnpacker.resetcCs|jSr ©rKrr r r Ú get_positionŽszUnpacker.get_positioncCs ||_dSr rL)r Zpositionr r r Ú set_position‘szUnpacker.set_positioncCs|jSr )rJrr r r r%”szUnpacker.get_buffercCs|jt|jƒkrtdƒ‚dS)Nzunextracted data remains)rKr<rJrrr r r Údone—sz Unpacker.donecCsB|j}|d|_}|j||…}t|ƒdkr2t‚t d|¡dS)Nr9r&r©rKrJr<ÚEOFErrorrÚunpack©r ÚiÚjr?r r r Ú unpack_uint›s  zUnpacker.unpack_uintcCsB|j}|d|_}|j||…}t|ƒdkr2t‚t d|¡dS)Nr9r-rrPrSr r r Ú unpack_int£s  zUnpacker.unpack_intcCs t| ¡ƒSr )ÚboolrWrr r r Ú unpack_bool­szUnpacker.unpack_boolcCs | ¡}| ¡}t|ƒd>|BS)Nr0)rVÚint)r ÚhiÚlor r r Ú unpack_uhyper°szUnpacker.unpack_uhypercCs| ¡}|dkr|d}|S)Nll)r]r*r r r Ú unpack_hyperµszUnpacker.unpack_hypercCsB|j}|d|_}|j||…}t|ƒdkr2t‚t d|¡dS)Nr9r3rrPrSr r r Ú unpack_float»s  zUnpacker.unpack_floatcCsB|j}|d|_}|j||…}t|ƒdkr2t‚t d|¡dS)Nér5rrPrSr r r Ú unpack_doubleÃs  zUnpacker.unpack_doublecCsT|dkrtdƒ‚|j}||ddd}|t|jƒkr|dkr,td|fƒ‚|ƒ}| |¡q|S)NrrBz0 or 1 expected, got %r)rVrÚappend)r Ú unpack_itemrCr+rEr r r Ú unpack_listÞs  zUnpacker.unpack_listcCs"g}t|ƒD]}| |ƒ¡q |Sr )Úrangerd)r r=rerCrTr r r Ú unpack_farrayés zUnpacker.unpack_farraycCs| ¡}| ||¡Sr )rVrh)r rer=r r r Ú unpack_arrayïszUnpacker.unpack_arrayN)rrrrr"rMrNr%rOrVrWZ unpack_enumrYr]r^r_rarbZunpack_fopaquercZ unpack_opaqueZ unpack_bytesrfrhrir r r r r„s,  r) rÚiorÚ functoolsrÚ__all__Ú Exceptionrrr rrr r r r Ús   U