grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?h˜ýã@sHdZddlmZddlmZddlmZmZmZddlm Z ddl m Z ddl Z ddl m Z dd lmZmZddlZddlZddlZddlZgd ¢Zzdd lmZe d ¡d ZWneyÈdZYn0eefZdZgd¢ZdZ dZ!Gdd„de"ƒZ#Gdd„de#ƒZ$Gdd„de#ƒZ%Gdd„de"ƒZ&zddl'm(Z(Wne�yNdZ(Yn0dZ)dZ*dZ+dZ,d Z-d!Z.d"Z/d#Z0d$Z1d%Z2d&Z3d'Z4d(Z5d)Z6d*Z7d+Z8d,Z9d-Z:d.Z;d/Zd2Z?d3Z@d4ZAd5ZBd6ZCd7ZDd8ZEd9ZFd:ZGd;ZHdZKd?ZLd@ZMdAZNdBZOdCZPdDZQdEZRdFZSdGZTdHZUdIZVdJZWdKZXdLZYdMZZdNZ[dOZ\dPZ]dQZ^dRZ_eOeYeZe[gZ`dSZadTZbdUZcdVZddWZedXZfdYZgdZZhd[Zid\Zjd]Zkd^Zld_Zmd`ZndaZoe pdbdc„eqƒDƒ¡Gddde„deƒZrGdfdg„dgƒZsdhdi„Ztdjdk„Zudldm„Zvdndo„ZwGdpdq„dqƒZxGdrds„dsƒZyd‘d ddtœdudv„Zzd’d ddtœdwdx„Z{d dydzdd{œd|d}„Z|d dydzdd{œd~d„Z}z0dd lm#Z#m$Z$m%Z%m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒWn2e�y�exeyZ~Zeze{e|e}f\Z€Z�Z‚ZƒYn0d€d�„Z„e…d‚k�rDddl†Z†e†j‡dƒd„�Zˆeˆj‰d…e† Šd†¡d‡dˆd‰�eˆj‰dŠd‹dŒd�dŽ�eˆj‰d�dŒd�dŽ�eˆ ‹¡ZŒeŒj��r e„ƒn:eŒjŽ�seˆ �¡n(ddl�Z�eŒjŽD]Z‘e‚e‘ƒZ’e� �e’¡�q*dS)“aŸCreate portable serialized representations of Python objects. See module copyreg for a mechanism for registering custom picklers. See module pickletools source for extensive comments. Classes: Pickler Unpickler Functions: dump(object, file) dumps(object) -> string load(file) -> object loads(bytes) -> object Misc variables: __version__ format_version compatible_formats é)Ú FunctionType)Údispatch_table)Ú_extension_registryÚ_inverted_registryÚ_extension_cache)Úislice)ÚpartialN)Úmaxsize)ÚpackÚunpack) Ú PickleErrorÚ PicklingErrorÚUnpicklingErrorÚPicklerÚ UnpicklerÚdumpÚdumpsÚloadÚloads)Ú PickleBufferrTFú4.0)z1.0z1.1z1.2z1.3z2.0z3.0rz5.0ééc@seZdZdZdS)r z6A common base class for the other pickling exceptions.N©Ú__name__Ú __module__Ú __qualname__Ú__doc__©rrú+/opt/alt/python39/lib64/python3.9/pickle.pyr Isr c@seZdZdZdS)r z]This exception is raised when an unpicklable object is passed to the dump() method. Nrrrrrr Msr c@seZdZdZdS)raThis exception is raised when there is a problem unpickling an object, such as a security violation. Note that other exceptions may also be raised during unpickling, including (but not necessarily limited to) AttributeError, EOFError, ImportError, and IndexError. NrrrrrrTsrc@seZdZdd„ZdS)Ú_StopcCs ||_dS©N)Úvalue©Úselfr"rrrÚ__init__bsz_Stop.__init__N)rrrr%rrrrr asr )Ú PyStringMapó(ó.ó0ó1ó2óFóIóJóKóLóMóNóPóQóRóSóTóUóVóXóaóbócódó}óeógóhóiójóló]óoópóqórósótó)óuóGsI01 sI00 ó€ó�ó‚óƒó„ó…ó†ó‡óˆó‰óŠó‹óBóCóŒó�óŽó�ó�ó‘ó’ó“ó”ó•ó–ó—ó˜cCsg|]}t d|¡r|‘qS)z[A-Z][A-Z0-9_]+$)ÚreÚmatch)Ú.0ÚxrrrÚ Åóroc@sFeZdZdZdZdd„Zdd„Zdd„Zdd d „Zd d „Z dd„Z dS)Ú_FramerricCs||_d|_dSr!)Ú file_writeÚ current_frame)r$rrrrrr%Ísz_Framer.__init__cCst ¡|_dSr!)ÚioÚBytesIOrs©r$rrrÚ start_framingÑsz_Framer.start_framingcCs*|jr&|j ¡dkr&|jdd�d|_dS)NrT©Úforce)rsÚtellÚ commit_framervrrrÚ end_framingÔs z_Framer.end_framingFcCsf|jrb|j}| ¡|jks|rb| ¡}|j}t|ƒ|jkrP|ttdt|ƒƒƒ||ƒt   ¡|_dS)Núz&Can't get local attribute {!r} on {!r}z Can't get attribute {!r} on {!r})ÚsplitÚAttributeErrorÚformatÚgetattr)ÚobjÚnameZsubpathÚparentrrrÚ _getattributeBsÿ ÿÿ r c Cs‚t|ddƒ}|dur|Stj ¡ ¡D]V\}}|dks&|dks&|durHq&z t||ƒd|urf|WSWq&tyzYq&0q&dS)z$Find the module an object belong to.rNÚ__main__Z __mp_main__r)rœÚsysÚmodulesÚcopyÚitemsr rš)r�ržÚ module_nameÚmodulerrrÚ whichmoduleOs  ÿþ r¨cCsh|dkr dS| ¡d?d}|j|ddd�}|dkrd|dkrd|dd krd|d d @dkrd|d d…}|S) aÒEncode a long to a two's complement little-endian binary string. Note that 0 is a special case, returning an empty string, to save a byte in the LONG1 pickling context. >>> encode_long(0) b'' >>> encode_long(255) b'\xff\x00' >>> encode_long(32767) b'\xff\x7f' >>> encode_long(-256) b'\x00\xff' >>> encode_long(-32768) b'\x00\x80' >>> encode_long(-128) b'\x80' >>> encode_long(127) b'\x7f' >>> rrpééÚlittleT©Ú byteorderZsignedr“éÿéþÿÿÿé€N)Ú bit_lengthÚto_bytes)rnÚnbytesÚresultrrrÚ encode_longbs rµcCstj|ddd�S)a\Decode a long from a two's complement little-endian binary string. >>> decode_long(b'') 0 >>> decode_long(b"\xff\x00") 255 >>> decode_long(b"\xff\x7f") 32767 >>> decode_long(b"\x00\xff") -256 >>> decode_long(b"\x00\x80") -32768 >>> decode_long(b"\x80") -128 >>> decode_long(b"\x7f") 127 r«Tr¬)ÚintÚ from_bytes)r„rrrÚ decode_long€sr¸c@sŽeZdZd;dddœdd„Zdd„Zdd „Zd d „Zd d „Zdd„Zdd7d8„Z-d9d:„Z.e-e e/<e.e e<dS)?Ú_PicklerNT©Ú fix_importsÚbuffer_callbackcCsÔ|dur t}|dkrt}n"d|kr.tks= 5z"file must have a 'write' attributerªr©)ÚDEFAULT_PROTOCOLÚHIGHEST_PROTOCOLÚ ValueErrorÚ_buffer_callbackr…Ú _file_writeršÚ TypeErrorrqÚframerrˆÚ_write_large_bytesÚmemor¶ÚprotoÚbinÚfastr»)r$ÚfileÚprotocolr»r¼rrrr%™s*#        z_Pickler.__init__cCs|j ¡dS)aClears the pickler's "memo". The memo is the data structure that remembers which objects the pickler has already seen, so that shared or recursive objects are pickled by reference and not by value. This method is useful when re-using picklers. N)rÅÚclearrvrrrÚ clear_memoÒsz_Pickler.clear_memocCsrt|dƒstd|jjfƒ‚|jdkr<| ttd|jƒ¡|jdkrP|j  ¡|  |¡| t ¡|j  ¡dS)z7Write a pickled representation of obj to the open file.rÁz2Pickler.__init__() was not called by %s.__init__()éú| |j u�r>tdƒ‚|dd…}|| ƒ||ƒ| tƒn||ƒ||ƒ| tƒ|du�rÂt|ƒ|jv�r¸| t| |jt|ƒd ¡ƒn | |¡|du�rÖ| |¡|du�rê| |¡|du�r@|du�r||ƒ| tƒn0||ƒ||ƒ||ƒ| tƒ| tƒ| tƒdS)Nz'args from save_reduce() must be a tuplez(func from save_reduce() must be callablerÚrÍÚ __newobj_ex__Ú__new__z#args[0] from {} args has no __new__z(args[0] from {} args has the wrong classrrÚ __newobj__rz+args[0] from __newobj__ args has no __new__z0args[0] from __newobj__ args has the wrong classrª)rórõr ÚcallablerÒr…rœrÆrÏr›rÐÚ NEWOBJ_EXrrÚREDUCEÚNEWOBJrÕrÅÚPOPrèrØÚ_batch_appendsÚ_batch_setitemsÚBUILDÚTUPLE2) r$ÚfuncÚargsÚstateZ listitemsZ dictitemsZ state_setterr�rÒr…Z func_nameÚclsÚkwargsrrrrömsz    ÿÿ    ÿÿ   "        z_Pickler.save_reducecCs| t¡dSr!)r…ÚNONErÔrrrÚ save_noneäsz_Pickler.save_nonecCs4|jdkr| |rtnt¡n| |r*tnt¡dS)NrÍ)rÆr…ÚNEWTRUEÚNEWFALSEÚTRUEÚFALSErÔrrrÚ save_boolès z_Pickler.save_boolcCs.|jr~|dkrN|dkr.| ttd|ƒ¡dS|dkrN| ttd|ƒ¡dSd|krbdkr~nn| ttd|ƒ¡dS|jd krÖt|ƒ}t|ƒ}|d krº| t td|ƒ|¡n| t td|ƒ|¡dSd|krìdk�rnn| t t |ƒ  d ¡d ¡n| tt |ƒ  d ¡d ¡dS)Nrr®rÎéÿÿúdrÛrÜ)rÇr…ÚBINFLOATr ÚFLOATrárârÔrrrÚ save_floatsz_Pickler.save_floatcCsÞ|jdkr@|s |jtd|d�n|jtjt|dƒdf|d�dSt|ƒ}|dkrj| tt d|ƒ|¡nf|dkr”|jdkr”|  t t d |ƒ|¡n<||j j kr¸|  tt d |ƒ|¡n| tt d |ƒ|¡| |¡dS) Nr©r©r�Úlatin1r®rÎìÿÿrr}rÚ)rÆröÚbytesÚcodecsrârôr€r…ÚSHORT_BINBYTESr rÄÚ BINBYTES8rÃr~ÚBINBYTESrØ©r$r�r�rrrÚ save_bytess  ÿ z_Pickler.save_bytescCs‚|jdkr:|s |jtd|d�n|jtt|ƒf|d�dSt|ƒ}||jjkrf| tt d|ƒ|¡n|  tt d|ƒ|¡dS)Nrrr+r}) rÆröÚ bytearrayr.r€rÃr~rÄÚ BYTEARRAY8r r…r3rrrÚsave_bytearray)s  z_Pickler.save_bytearraycCs¬|jdkrtdƒ‚| ¡�~}|js*tdƒ‚d}|jdurFt| |¡ƒ}|rp|jr`| | ¡¡qŠ|  | ¡¡n|  t ¡|jrŠ|  t ¡Wdƒn1sž0YdS)Nrz0PickleBuffer can only pickled with protocol >= 5zHPickleBuffer can not be pickled when pointing to a non-contiguous bufferT) rÆr ÚrawÚ contiguousrÀÚboolÚreadonlyr4Útobytesr7r…Ú NEXT_BUFFERÚREADONLY_BUFFER)r$r�ÚmZin_bandrrrÚsave_picklebuffer8s    z_Pickler.save_picklebuffercCs|jr®| dd¡}t|ƒ}|dkrF|jdkrF| ttd|ƒ|¡nf|dkrp|jdkrp| ttd|ƒ|¡n<||j j kr”| t td|ƒ|¡n| t td|ƒ|¡nT|  d d ¡}|  d d ¡}|  d d¡}|  dd¡}|  dd¡}| t | d¡d¡| |¡dS)Núutf-8Ú surrogatepassr®rrÎr-r}rÚú\z\u005cúz\u0000Ú z\u000aú z\u000dúz\u001aúraw-unicode-escaperÜ)rÇrâr€rÆr…ÚSHORT_BINUNICODEr rÄÚ BINUNICODE8rÃr~Ú BINUNICODEÚreplaceÚUNICODErØr%rrrÚsave_strRs&       ÿz_Pickler.save_strcCs:|s(|jr| t¡n| tt¡dSt|ƒ}|j}|j}|dkr²|jdkr²|D] }||ƒqRt |ƒ|vr–|  |t |ƒd¡}| t ||¡n| t |¡|  |¡dS|j}|tƒ|D] }||ƒqÄt |ƒ|v�r$|  |t |ƒd¡}|j�r |t|ƒn|t |d|ƒdS|tƒ|  |¡dS)Nr©rÍrrª)rÇr…Ú EMPTY_TUPLEÚMARKÚTUPLEr€rÒrÅrÆrÕrèr Ú_tuplesize2coderØÚPOP_MARK)r$r�r�rÒrÅZelementrèr…rrrÚ save_tupleis:     z_Pickler.save_tuplecCs8|jr| t¡n| tt¡| |¡| |¡dSr!)rÇr…Ú EMPTY_LISTrPÚLISTrØr rÔrrrÚ save_listœs   z_Pickler.save_listiècCs¨|j}|j}|js0|D]}||ƒ|tƒqdSt|ƒ}tt||jƒƒ}t|ƒ}|dkr||t ƒ|D] }||ƒqd|t ƒn|r”||dƒ|tƒ||jkr8dSq8dS©Nrªr) rÒr…rÇÚAPPENDÚiterÚlistrÚ _BATCHSIZEr€rPÚAPPENDS)r$r¥rÒr…rnÚitÚtmpr�rrrr ©s(     z_Pickler._batch_appendscCs<|jr| t¡n| tt¡| |¡| | ¡¡dSr!)rÇr…Ú EMPTY_DICTrPÚDICTrØr r¥rÔrrrÚ save_dictÄs   z_Pickler.save_dictc CsÐ|j}|j}|js<|D] \}}||ƒ||ƒ|tƒqdSt|ƒ}tt||jƒƒ}t|ƒ}|dkr”|t ƒ|D]\}}||ƒ||ƒqp|t ƒn(|r¼|d\}}||ƒ||ƒ|tƒ||jkrDdSqDdSrX) rÒr…rÇÚSETITEMrZr[rr\r€rPÚSETITEMS) r$r¥rÒr…ÚkÚvr^r_r�rrrr Ñs0       z_Pickler._batch_setitemscCs |j}|j}|jdkr0|jtt|ƒf|d�dS|tƒ| |¡t|ƒ}tt ||j ƒƒ}t |ƒ}|dkrŒ|t ƒ|D] }||ƒqv|t ƒ||j krJdSqJdS©Nrr+r)rÒr…rÆröÚsetr[Ú EMPTY_SETrØrZrr\r€rPÚADDITEMS)r$r�rÒr…r^Zbatchr�ÚitemrrrÚsave_setðs"    z_Pickler.save_setcCs’|j}|j}|jdkr0|jtt|ƒf|d�dS|tƒ|D] }||ƒq„Z5e5ee6d<d?d@„Z7e7ee8d<dAdB„Z9e9ee:d<dCdD„Z;e;eed<dGdH„Z?e?ee@d<dIdJ„ZAeAeeBd<dKdL„ZCeCeeDd<dMdN„ZEeEeeFd<dOdP„ZGeGeeHd<dQdR„ZIeIeeJd<dSdT„ZKeKeeLd<dUdV„ZMeMeeNd<dWdX„ZOeOeePd<dYdZ„ZQeQeeRd<d[d\„ZSeSeeTd<d]d^„ZUeUeeVd<d_d`„ZWeWeeXd<dadb„ZYdcdd„ZZeZee[d<dedf„Z\e\ee]d<dgdh„Z^e^ee_d<didj„Z`e`eead<dkdl„Zbebeecd<dmdn„Zdedeeed<dodp„Zfefeegd<dqdr„Zheheeid<dsdt„Zjejeekd<dudv„Zldwdx„Zmdydz„Zneneeod<d{d|„Zpepeeqd<d}d~„Zrereesd<dd€„Zteteeud<d�d‚„Zveveewd<dƒd„„Zxexeeyd<d…d†„Zzezee{d<d‡dˆ„Z|e|ee}d<d‰dŠ„Z~e~eed<d‹dŒ„Z€e€ee�d<d�dŽ„Z‚e‚eeƒd<d�d�„Z„e„ee…d<d‘d’„Z†e†ee‡d<d“d”„Zˆeˆee‰d<d•d–„ZŠeŠee‹d<d—d˜„ZŒeŒee�d<d™dš„ZŽeŽee�d<d›dœ„Z�e�ee‘d<d�dž„Z’e’ee“d<dS)ŸÚ _UnpicklerTÚASCIIÚstrictN©r»ÚencodingÚerrorsÚbufferscCsH|durt|ƒnd|_|j|_|j|_i|_||_||_d|_ ||_ dS)aÜThis takes a binary file for reading a pickle data stream. The protocol version of the pickle is detected automatically, so no proto argument is needed. The argument *file* must have two methods, a read() method that takes an integer argument, and a readline() method that requires no arguments. Both methods should return bytes. Thus *file* can be a binary file object opened for reading, an io.BytesIO object, or any other custom object that meets this interface. The file-like object must have two methods, a read() method that takes an integer argument, and a readline() method that requires no arguments. Both methods should return bytes. Thus file-like object can be a binary file object opened for reading, a BytesIO object, or any other custom object that meets this interface. If *buffers* is not None, it should be an iterable of buffer-enabled objects that is consumed each time the pickle stream references an out-of-band buffer view. Such buffers have been given in order to the *buffer_callback* of a Pickler object. If *buffers* is None (the default), then the buffers are taken from the pickle stream, assuming they are serialized there. It is an error for *buffers* to be None if the pickle stream was produced with a non-None *buffer_callback*. Other optional arguments are *fix_imports*, *encoding* and *errors*, which are used to control compatibility support for pickle stream generated by Python 2. If *fix_imports* is True, pickle will try to map the old Python 2 names to the new names used in Python 3. The *encoding* and *errors* tell pickle how to decode 8-bit string instances pickled by Python 2; these default to 'ASCII' and 'strict', respectively. *encoding* can be 'bytes' to read these 8-bit string instances as bytes objects. Nr) rZÚ_buffersr•Ú_file_readliner‘Ú _file_readrÅr…r†rÆr»)r$rÉr»r…r†r‡rrrr%rs'z_Unpickler.__init__c CsÖt|dƒstd|jjfƒ‚t|j|jƒ|_|jj|_|jj |_ |jj |_ g|_ g|_ |j j |_ d|_|j}|j}z4|dƒ}|s„t‚t|tƒs’J‚||d|ƒqtWn*tyÐ}z|jWYd}~Sd}~00dS)z‹Read a pickled object representation from the open file. Return the reconstituted object hierarchy specified in the file. rŠz4Unpickler.__init__() was not called by %s.__init__()rrªN)rÏrrÐrr‰rŠr‰Ú _unframerr‘rŽr•Ú metastackÚstackÚappendrÆrðÚEOFErrorróÚ bytes_typesr r")r$r‘rðÚkeyZstopinstrrrr¢s, ÿ    z_Unpickler.loadcCs |j}|j ¡|_|jj|_|Sr!)r�rŒÚpoprŽ©r$r¥rrrÚpop_markÁs  z_Unpickler.pop_markcCs tdƒ‚dS)Nz%unsupported persistent id encountered)rrrrrÚpersistent_loadÇsz_Unpickler.persistent_loadcCs:| d¡d}d|kr"tks0ntd|ƒ‚||_dS)Nrªrzunsupported pickle protocol: %d)r‘r¾r¿rÆ)r$rÆrrrÚ load_protoÌs z_Unpickler.load_protorcCs8td| d¡ƒ\}|tjkr(td|ƒ‚|j |¡dS)Nr}ézframe size > sys.maxsize: %d)r r‘r¢r r¿r‹r—r–rrrr—Ós  z_Unpickler.load_framecCsJz| ¡dd… d¡}Wnty4tdƒ‚Yn0| | |¡¡dS)Nr“rÛrý)r•ÚdecodeÚUnicodeDecodeErrorrrŽr•rrrrÚ load_persidÚs ÿ z_Unpickler.load_persidcCs|j ¡}| | |¡¡dSr!)r�r’rŽr•rrrrÚload_binpersidãs z_Unpickler.load_binpersidcCs| d¡dSr!©rŽrvrrrÚ load_noneèsz_Unpickler.load_nonecCs| d¡dS)NFrœrvrrrÚ load_falseìsz_Unpickler.load_falsecCs| d¡dS)NTrœrvrrrÚ load_trueðsz_Unpickler.load_truecCsL| ¡}|tdd…krd}n |tdd…kr4d}n t|dƒ}| |¡dS)NrªFTr)r•rrr¶rŽ)r$r„ÚvalrrrÚload_intôs z_Unpickler.load_intcCs| td| d¡ƒd¡dS)Nrrr©rŽr r‘rvrrrÚ load_binintÿsz_Unpickler.load_binintcCs| | d¡d¡dSrX)rŽr‘rvrrrÚ load_binint1sz_Unpickler.load_binint1cCs| td| d¡ƒd¡dS)NrrÍrr¢rvrrrÚ load_binint2sz_Unpickler.load_binint2cCs@| ¡dd…}|r,|ddkr,|dd…}| t|dƒ¡dS)Nr“éLr)r•rŽr¶)r$r rrrÚ load_long s z_Unpickler.load_longcCs*| d¡d}| |¡}| t|ƒ¡dSrX)r‘rŽr¸r’rrrÚ load_long1s z_Unpickler.load_long1cCs>td| d¡ƒ\}|dkr"tdƒ‚| |¡}| t|ƒ¡dS)Nrrrz#LONG pickle has negative byte count)r r‘rrŽr¸r’rrrÚ load_long4s  z_Unpickler.load_long4cCs| t| ¡dd…ƒ¡dS©Nr“)rŽr~r•rvrrrÚ load_float!sz_Unpickler.load_floatcCs| td| d¡ƒd¡dS)Nr'r—rr¢rvrrrÚ load_binfloat%sz_Unpickler.load_binfloatcCs"|jdkr|S| |j|j¡SdS)Nr.)r…r˜r†r#rrrÚ_decode_string)s z_Unpickler._decode_stringcCsl| ¡dd…}t|ƒdkrF|d|dkrF|ddvrF|dd…}ntdƒ‚| | t |¡d¡¡dS)Nr“rÍrs"'rªz)the STRING opcode argument must be quoted)r•r€rrŽr­r/Ú escape_decoder†rrrÚ load_string2s (z_Unpickler.load_stringcCs@td| d¡ƒ\}|dkr"tdƒ‚| |¡}| | |¡¡dS)Nrrrz(BINSTRING pickle has negative byte count)r r‘rrŽr­©r$r€r„rrrÚload_binstring<s  z_Unpickler.load_binstringcCs:td| d¡ƒ\}|tkr&tdtƒ‚| | |¡¡dS)NrÚrz2BINBYTES exceeds system's maximum size of %d bytes©r r‘r rrŽ©r$r€rrrÚ load_binbytesEs ÿz_Unpickler.load_binbytescCs | t| ¡dd…dƒ¡dS)Nr“rH)rŽrôr•rvrrrÚ load_unicodeMsz_Unpickler.load_unicodecCsBtd| d¡ƒ\}|tkr&tdtƒ‚| t| |¡ddƒ¡dS)NrÚrz4BINUNICODE exceeds system's maximum size of %d bytesrArB©r r‘r rrŽrôr³rrrÚload_binunicodeQs ÿz_Unpickler.load_binunicodecCsBtd| d¡ƒ\}|tkr&tdtƒ‚| t| |¡ddƒ¡dS)Nr}r—z5BINUNICODE8 exceeds system's maximum size of %d bytesrArBr¶r³rrrÚload_binunicode8Ys ÿz_Unpickler.load_binunicode8cCs:td| d¡ƒ\}|tkr&tdtƒ‚| | |¡¡dS)Nr}r—z3BINBYTES8 exceeds system's maximum size of %d bytesr²r³rrrÚload_binbytes8as ÿz_Unpickler.load_binbytes8cCsFtd| d¡ƒ\}|tkr&tdtƒ‚t|ƒ}| |¡| |¡dS)Nr}r—z4BYTEARRAY8 exceeds system's maximum size of %d bytes)r r‘r rr5rŽrŽ)r$r€ÚbrrrÚload_bytearray8isÿ z_Unpickler.load_bytearray8cCsJ|jdurtdƒ‚zt|jƒ}Wnty:tdƒ‚Yn0| |¡dS)NzLpickle stream refers to out-of-band data but no *buffers* argument was givenznot enough out-of-band buffers)rˆrÚnextÚ StopIterationrŽ)r$r�rrrÚload_next_bufferss  z_Unpickler.load_next_buffercCsJ|jd}t|ƒ�$}|js(| ¡|jd<Wdƒn1s<0YdSrª)r�Ú memoryviewr;Ú toreadonly)r$r�r?rrrÚload_readonly_buffer~s  z_Unpickler.load_readonly_buffercCs,| d¡d}| |¡}| | |¡¡dSrX)r‘rŽr­r°rrrÚload_short_binstring…s z_Unpickler.load_short_binstringcCs"| d¡d}| | |¡¡dSrX)r‘rŽr³rrrÚload_short_binbytes‹sz_Unpickler.load_short_binbytescCs*| d¡d}| t| |¡ddƒ¡dS)NrªrrArB)r‘rŽrôr³rrrÚload_short_binunicode�sz _Unpickler.load_short_binunicodecCs| ¡}| t|ƒ¡dSr!)r”rŽrõr“rrrÚ load_tuple•sz_Unpickler.load_tuplecCs| d¡dS)NrrœrvrrrÚload_empty_tuplešsz_Unpickler.load_empty_tuplecCs|jdf|jd<dSrª©r�rvrrrÚ load_tuple1žsz_Unpickler.load_tuple1cCs$|jd|jdfg|jdd…<dS)Nr¯r“rÇrvrrrÚ load_tuple2¢sz_Unpickler.load_tuple2cCs,|jd|jd|jdfg|jdd…<dS)Néýÿÿÿr¯r“rÇrvrrrÚ load_tuple3¦sz_Unpickler.load_tuple3cCs| g¡dSr!rœrvrrrÚload_empty_listªsz_Unpickler.load_empty_listcCs| i¡dSr!rœrvrrrÚload_empty_dictionary®sz _Unpickler.load_empty_dictionarycCs| tƒ¡dSr!)rŽrhrvrrrÚload_empty_set²sz_Unpickler.load_empty_setcCs| ¡}| t|ƒ¡dSr!)r”rŽrmr“rrrÚload_frozenset¶sz_Unpickler.load_frozensetcCs| ¡}| |¡dSr!)r”rŽr“rrrÚ load_list»sz_Unpickler.load_listcs4| ¡‰‡fdd„tdtˆƒdƒDƒ}| |¡dS)Ncsi|]}ˆ|ˆ|d“qS)rªr)rmrç©r¥rrÚ Âsÿz(_Unpickler.load_dict..rrÍ)r”Úranger€rŽ)r$ÚdrrÑrÚ load_dictÀs  ÿz_Unpickler.load_dictc Cs„|st|tƒrt|dƒrlz ||Ž}Wqvtyh}z,td|jt|ƒft ¡dƒ‚WYd}~qvd}~00n | |¡}|  |¡dS)NZ__getinitargs__zin constructor for %s: %srÍ) rórïrÏrÂrrôr¢Úexc_inforrŽ)r$Úklassrr"ÚerrrrrÚ _instantiateÌsÿ  ÿ ÿ z_Unpickler._instantiatecCsL| ¡dd… d¡}| ¡dd… d¡}| ||¡}| || ¡¡dS)Nr“rÛ)r•r˜Ú find_classrÙr”©r$r§ržr×rrrÚ load_instØs z_Unpickler.load_instcCs"| ¡}| d¡}| ||¡dS©Nr)r”r’rÙ)r$rrrrrÚload_objßs z_Unpickler.load_objcCs4|j ¡}|j ¡}|j|g|¢RŽ}| |¡dSr!©r�r’rrŽ)r$rrr�rrrÚ load_newobjæs  z_Unpickler.load_newobjcCsD|j ¡}|j ¡}|j ¡}|j|g|¢Ri|¤Ž}| |¡dSr!rß)r$rrrr�rrrÚload_newobj_exís    z_Unpickler.load_newobj_excCsF| ¡dd… d¡}| ¡dd… d¡}| ||¡}| |¡dS)Nr“rA)r•r˜rÚrŽrÛrrrÚ load_globalõs z_Unpickler.load_globalcCsJ|j ¡}|j ¡}t|ƒtus,t|ƒtur4tdƒ‚| | ||¡¡dS)NzSTACK_GLOBAL requires str)r�r’rïrôrrŽrÚ)r$ržr§rrrÚload_stack_globalüs   z_Unpickler.load_stack_globalcCs| d¡d}| |¡dSrX)r‘Ú get_extension©r$r|rrrÚ load_ext1sz_Unpickler.load_ext1cCs td| d¡ƒ\}| |¡dS)NrrÍ©r r‘rärårrrÚ load_ext2 sz_Unpickler.load_ext2cCs td| d¡ƒ\}| |¡dS)NrrrçrårrrÚ load_ext4sz_Unpickler.load_ext4cCspg}t ||¡}||ur&| |¡dSt |¡}|sP|dkrDtdƒ‚td|ƒ‚|j|Ž}|t|<| |¡dS)NrzEXT specifies code <= 0zunregistered extension code %d)rrèrŽrrr¿rÚ)r$r|Znilr�r‘rrrräs     z_Unpickler.get_extensioncCs’t d||¡|jdkrT|jrT||ftjvr@tj||f\}}n|tjvrTtj|}t|dd�|jdkr~ttj ||ƒdSt tj ||ƒSdS)Nzpickle.find_classr©rrpr) r¢ÚauditrÆr»r{Z NAME_MAPPINGZIMPORT_MAPPINGrrr r£rœ)r$r§ržrrrrÚ#s    z_Unpickler.find_classcCs&|j}| ¡}|d}||Ž|d<dSrª©r�r’)r$r�rrrrrÚ load_reduce1sz_Unpickler.load_reducecCs|jr|jd=n| ¡dSrª)r�r”rvrrrÚload_pop8s z_Unpickler.load_popcCs | ¡dSr!)r”rvrrrÚ load_pop_mark?sz_Unpickler.load_pop_markcCs| |jd¡dSrª)rŽr�rvrrrÚload_dupCsz_Unpickler.load_dupcCsTt| ¡dd…ƒ}z| |j|¡Wn&tyNd|›�}t|ƒd‚Yn0dS)Nr“úMemo value not found at index )r¶r•rŽrÅrtr)r$rçÚmsgrrrÚload_getGs   z_Unpickler.load_getc Cs`| d¡d}z| |j|¡Wn8tyZ}z d|›�}t|ƒd‚WYd}~n d}~00dS)Nrªrrð)r‘rŽrÅrtr©r$rçÚexcrñrrrÚ load_bingetPs  z_Unpickler.load_bingetc Csdtd| d¡ƒ\}z| |j|¡Wn8ty^}z d|›�}t|ƒd‚WYd}~n d}~00dS)NrÚrrð)r r‘rŽrÅrtrrórrrÚload_long_bingetYs  z_Unpickler.load_long_bingetcCs8t| ¡dd…ƒ}|dkr$tdƒ‚|jd|j|<dS)Nr“rznegative PUT argument)r¶r•r¿r�rÅrærrrÚload_putbsz_Unpickler.load_putcCs2| d¡d}|dkrtdƒ‚|jd|j|<dS)Nrªrznegative BINPUT argumentr“)r‘r¿r�rÅrærrrÚ load_binputisz_Unpickler.load_binputcCs6td| d¡ƒ\}|tkr"tdƒ‚|jd|j|<dS)NrÚrznegative LONG_BINPUT argumentr“)r r‘r r¿r�rÅrærrrÚload_long_binputpsz_Unpickler.load_long_binputcCs|j}|jd|t|ƒ<dSrª)rÅr�r€)r$rÅrrrÚ load_memoizewsz_Unpickler.load_memoizecCs$|j}| ¡}|d}| |¡dSrª)r�r’rŽ)r$r�r"r[rrrÚ load_append|sz_Unpickler.load_appendcCsX| ¡}|jd}z |j}Wnty.Yn0||ƒdS|j}|D] }||ƒqFdSrª)r”r�ÚextendršrŽ)r$r¥Zlist_objrürŽrkrrrÚ load_appendsƒs   z_Unpickler.load_appendscCs*|j}| ¡}| ¡}|d}|||<dSrªrë)r$r�r"r‘r€rrrÚ load_setitem•s z_Unpickler.load_setitemcCs@| ¡}|jd}tdt|ƒdƒD]}||d|||<q"dS)Nr“rrÍrª)r”r�rÓr€)r$r¥r€rçrrrÚ load_setitems�s z_Unpickler.load_setitemscCsD| ¡}|jd}t|tƒr(| |¡n|j}|D] }||ƒq2dSrª)r”r�rórhÚupdateÚadd)r$r¥Zset_objrrkrrrÚ load_additems¤s   z_Unpickler.load_additemsc CsÂ|j}| ¡}|d}t|ddƒ}|dur6||ƒdSd}t|tƒrXt|ƒdkrX|\}}|rœ|j}tj}|  ¡D]*\}} t |ƒt ur’| |||ƒ<qp| ||<qp|r¾|  ¡D]\}} t ||| ƒq¨dS)Nr“Ú __setstate__rÍ) r�r’rœrórõr€Ú__dict__r¢Úinternr¥rïrôÚsetattr) r$r�rÚinstÚsetstateZ slotstateZ inst_dictrrerfrrrÚ load_build¯s(   z_Unpickler.load_buildcCs"|j |j¡g|_|jj|_dSr!)rŒrŽr�rvrrrÚ load_markÇsz_Unpickler.load_markcCs|j ¡}t|ƒ‚dSr!)r�r’r r#rrrÚ load_stopÍs z_Unpickler.load_stop)”rrrr%rr”r•rðr–rÑr—r‚ršrÿr›rþr�rržrrŸrr¡r#r£r r¤rr¥rr§r$r¨r!r©r"r«r)r¬r(r­r¯ÚSTRINGr±Ú BINSTRINGr´r2rµrMr·rKr¸rJr¹r1r»r6r¾r=rÁr>rÂÚSHORT_BINSTRINGrÃr0rÄrIrÅrQrÆrOrÈÚTUPLE1rÉrrËÚTUPLE3rÌrUrÍr`rÎrirÏrnrÐrVrÕrarÙrÜÚINSTrÞÚOBJràr rárrârzrãryrærurèrvrérwrärÚrìrrír rîrSrïÚDUPròrårõrãrörär÷ràrørÞrùrßrúrÝrûrYrýr]rþrcrÿrdrrjr r r rPr rÓrrrrr�ps&ÿ 0                                                                     r�rºcCst||||d� |¡dS©Nrº)r¹r)r�rÉrÊr»r¼rrrÚ_dumpÕs ÿÿrcCs8t ¡}t||||d� |¡| ¡}t|tƒs4J‚|Sr)rtrur¹rÚgetvaluerór�)r�rÊr»r¼rƒÚresrrrÚ_dumpsÙsÿÿrr‚rƒr„cCst|||||d� ¡S)N©r»r‡r…r†)r�r)rÉr»r…r†r‡rrrÚ_loadásÿrcCs2t|tƒrtdƒ‚t |¡}t|||||d� ¡S)Nz%Can't load pickle from unicode stringr)rórôrÂrtrur�r)Úsr»r…r†r‡rÉrrrÚ_loadsæs   ÿrcCsddl}| ¡SrÝ)ÚdoctestZtestmod)rrrrÚ_testsrr¡z$display contents of the pickle files)Z descriptionÚ pickle_fileÚbrÚ*zthe pickle file)rïÚnargsÚhelpz-tz--testÚ store_truezrun self-test suite)Úactionr#z-vz)run verbosely; only affects self-test run)N)N)“rÚtypesrÚcopyregrrrrÚ itertoolsrÚ functoolsrr¢r Zstructr r rkrtr/r{Ú__all__Ú_picklerrŽrrsr.r5r�Zformat_versionZcompatible_formatsr¾r½Ú Exceptionr r rr Zorg.python.corer&rPrÓr rSrr)r#r rr$rrrÿrþrr r rrMrKrYr rzrar`r]rårãrrärVrUrràrÞrßrcrQrOrdr(rrrÑr rurvrwrrrrrr!r"rRr2r0rIrJr1rirjrnrryrÝr‚r6r=r>rüÚdirrqr‰r r¨rµr¸r¹r�rrrrrrrrrrrrÚargparseÚArgumentParserÚparserÚ add_argumentZFileTypeÚ parse_argsrÚtestrZ print_helpZpprintrƒr�rrrrÚsB             ?; ^iÿ ÿ 0   ÿ þþþ