asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T a bYh@stdZddlZddlmZddlmZgdZGdddeZGdd d eZ d d Z Gd d d Z GdddZ dS)zRImplements (a subset of) Sun XDR -- eXternal Data Representation. See: RFC 1014 N)BytesIOwraps)ErrorPackerUnpackerConversionErrorc@s(eZdZdZddZddZddZdS) rzException class for this module. Use: except xdrlib.Error as var: # var has the Error instance for the exception Public ivars: msg -- contains the message cCs ||_dSN)msg)selfr r "/usr/local/lib/python3.9/xdrlib.py__init__szError.__init__cCs t|jSr )reprr r r r r __repr__szError.__repr__cCs t|jSr )strr rr r r __str__sz Error.__str__N)__name__ __module__ __qualname____doc__rrrr r r r rs rc@s eZdZdS)rN)rrrr r r r r srcstfdd}|S)z5 Wrap any raised struct.errors in a ConversionError. c sHz ||WStjyB}zt|jddWYd}~n d}~00dSNr)structerrorrargs)r valueefunctionr r result&s z&raise_conversion_error..resultr)rr r rr raise_conversion_error#sr!c@seZdZdZddZddZddZeZedd Z ed d Z e Z d d Z ddZ e ZeddZeddZddZeZddZeZeZddZddZddZdS)rz0Pack various data representations into a buffer.cCs |dSr resetrr r r r2szPacker.__init__cCs t|_dSr )r _Packer__bufrr r r r#5sz Packer.resetcCs |jSr )r$getvaluerr r r get_buffer8szPacker.get_buffercCs|jtd|dS)N>Lr$writerpackr xr r r pack_uint=szPacker.pack_uintcCs|jtd|dS)N>lr(r+r r r pack_intAszPacker.pack_intcCs"|r|jdn |jddS)Nss)r$r)r+r r r pack_boolGszPacker.pack_boolc Csz||d?d@Wn:ttjfyP}zt|jddWYd}~n d}~00z||d@Wn:ttjfy}zt|jddWYd}~n d}~00dS)N lr)r- TypeErrorrrrr)r r,rr r r pack_uhyperKs&zPacker.pack_uhypercCs|jtd|dS)N>fr(r+r r r pack_floatWszPacker.pack_floatcCs|jtd|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) ValueErrorlenr$r))r nsdatar r r pack_fstring_s  zPacker.pack_fstringcCs"t|}|||||dSr )r=r-rA)r r?r>r r r pack_stringis zPacker.pack_stringcCs*|D]}|d||q|ddS)Nr)r-)r list pack_itemitemr r r pack_listqs  zPacker.pack_listcCs*t||krtd|D] }||qdS)Nzwrong array size)r=r<)r r>rDrErFr r r pack_farrayws zPacker.pack_farraycCs$t|}||||||dSr )r=r-rH)r rDrEr>r r r pack_array}s zPacker.pack_arrayN)rrrrrr#r&Zget_bufr!r-r/Z pack_enumr0r3Z pack_hyperr5r7rAZ pack_fopaquerBZ pack_opaqueZ pack_bytesrGrHrIr r r r r/s2     rc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ e Z ddZ ddZddZddZddZddZeZddZeZeZd d!Zd"d#Zd$d%Zd&S)'rz;Unpacks various data representations from the given buffer.cCs||dSr r"r r@r r r rszUnpacker.__init__cCs||_d|_dSr)_Unpacker__buf_Unpacker__posrJr r r r#szUnpacker.resetcCs|jSr rLrr r r get_positionszUnpacker.get_positioncCs ||_dSr rM)r Zpositionr r r set_positionszUnpacker.set_positioncCs|jSr )rKrr r r r&szUnpacker.get_buffercCs|jt|jkrtddS)Nzunextracted data remains)rLr=rKrrr r r donesz Unpacker.donecCsB|j}|d|_}|j||}t|dkr2ttd|dS)Nr:r'rrLrKr=EOFErrorrunpackr ijr@r r r unpack_uints  zUnpacker.unpack_uintcCsB|j}|d|_}|j||}t|dkr2ttd|dS)Nr:r.rrQrTr r r unpack_ints  zUnpacker.unpack_intcCs t|Sr )boolrXrr r r unpack_boolszUnpacker.unpack_boolcCs |}|}t|d>|BS)Nr1)rWint)r hilor r r unpack_uhyperszUnpacker.unpack_uhypercCs|}|dkr|d}|S)Nll)r^r+r r r unpack_hyperszUnpacker.unpack_hypercCsB|j}|d|_}|j||}t|dkr2ttd|dS)Nr:r4rrQrTr r r unpack_floats  zUnpacker.unpack_floatcCsB|j}|d|_}|j||}t|dkr2ttd|dS)Nr6rrQrTr r r unpack_doubles  zUnpacker.unpack_doublecCsT|dkrtd|j}||ddd}|t|jkrrUrVr r r unpack_fstringszUnpacker.unpack_fstringcCs|}||Sr )rWrc)r r>r r r unpack_stringszUnpacker.unpack_stringcCsBg}|}|dkrq>|dkr,td|f|}||q|S)NrrCz0 or 1 expected, got %r)rWrappend)r unpack_itemrDr,rFr r r unpack_lists  zUnpacker.unpack_listcCs"g}t|D]}||q |Sr )rangere)r r>rfrDrUr r r unpack_farrays zUnpacker.unpack_farraycCs|}|||Sr )rWri)r rfr>r r r unpack_arrayszUnpacker.unpack_arrayN)rrrrrr#rNrOr&rPrWrXZ unpack_enumrZr^r_r`rbrcZunpack_fopaquerdZ unpack_opaqueZ unpack_bytesrgrirjr r r r rs.  r) rrior functoolsr__all__ Exceptionrrr!rrr r r r s   U