
    ziRf                      d Z ddlmZ g dZdZddlZddlmZ ddlmZ	 eZ
ddlZddlZdad	aej        d
k     Zej        dk     Zej        dk     Zej        dk     ZddlZddlmZmZ ddlmZmZ ddlmZ ddl m!Z! ddl m"Z# 	 ddl m$Z% n# e&$ r dZ%Y nw xY w	 ddl m'Z( n# e&$ r dZ(Y nw xY wddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 e2Z3e4Z5 e4e6          Z7 e4e8          Z9e:Z;e4Z<e=Z>ddl)m?Z@mAZA ddlmBZBmCZCmDZDmEZEmFZF ddlGZHddlIZIddlJZJddlKZKddlLZLddlMmNZNmOZOmPZP ddlQmRZR ddlSmTZTmUZU ddlVmWZW ddlXmYZYmZZZ d	Z[ddl\Z] e^e]j_        j`                  Z`	 ddlaZadZb ecead           Zdn# e&$ r d	Zbd	ZdY nw xY wdaedafdag	 e]j_        h                                i                    d          s e&d           daedafdagn# e&$ r Y nw xY wd! Zjt          r
d" Zkd# Zld$ Zmn	d% Zkd& Zld' Zmdd(l)mnZnmoZompZpmqZqmrZrmsZs  e4 d) d          jt        d                   Zu e4 eWevd*+                    Zw e4 exey ez                                Z{ e4 eYd                    Z| e4 eZd,                    Z}	 dd-lVm~Z n# e&$ r dZY nw xY w eee4          sdZd. Zej        d/k    Z ed0d1          Z ed2d31          Zerdn ed4d31          Z ed0d31          Z ed5d31          Z	 dd6lmZ  ed2d3e7          Zerdn ed4d3e7          Z ed0d3e7          Z ed5d3e7          Zn# e&$ r dxZxZxZZY nw xY wdd8lmZ dxZZdd9lmZ dd:lmZ 	 eZdZd;Zn(# e$ r  d	Z e4e          Zn# e$ r dZY nw xY wd<ZY nw xY wddlZddlZ G d= d>e          Zdd?lmZ dd@lmZmZ dZdZd*ZdA ZddBZddCZddDZddEZ G dF dGe          Z G dH dIeeD          Z G dJ dKeeE          Z G dL dMeeF          Z G dN dOe          Z G dP dQe          Z	 ej                                        ZdR ZdS ZdT ZddUZdV Z e e                      Ze                    ewe{e|e}dW           ej        dXk     re                    dYeui            eR            ZeeeeeeeeedZ	Ze                     e4i                                            e4i                                            e4i                                            e4e                                           e4e                                           e4e                                          d[           ereed\<   er
eed]<   eed^<   	 ej        d_k    r+eds)dd`l)mZ  e4 e eeevf                              eda<   	 	 ddlZej        edb<   n# e&$ r Y nw xY we                    e            ee                                          Z[ edc e                                D                       Zdd Zde Zdf Z	 	 ddgZ G dh di          Zg djZeD ]*\  ZZZ ece*eӦ          reZeԠ                                Z n+ eeצ                              g dk          Zdl Zdm Zdn Ze(rdo Zdp Zdq Zdr Zds Zdt Z G du dve          Z G dw dxe          Z G dy dze          Z e            Zi Z	 e e@e          ez  u Zn# ey$ r d	ZY nw xY w[dZ ed{          Zdd|Zd} Zdd~Zd ZddZd ZddZd Zd Zd ZddZd ZddZd Zdej        dfdZ ee*          d             Zd Z ee          d             Zeserd Znd ZeeRfD ]WZ e            Z  ee          D ]>\  ZZ e4  ee e                                Zeej        vreej        e<   ?X[[ [[[ ee5          d             Z eej                  d             Ze(r ee(          d             Z ee!          d             Z	 ee#          d             Z
d Zd Z ee           ee           ee           ee          d                                                 Zer ee          d             ZerN ee           ee           ee          d                                     Zer ee          d             Zer* ee          d             Z ee          d             ZeddlVmZ  ee          d             Z ee{          d             Zedr ee,          d             Zn ee,          d             ZedsZ eer           een           eeq           eep           eeo          d                                                             Zn& eer           een          d                         Z eeu          d             Zer ee@          d             Zn ee@          d             Z ee;          d             Z ee>           ee7           ee9          d                                     Zd ZddZ eeN          d             Z eeO           eeP          d                         Zd Zd Z ee0          d             Zd Z d Z! ee<          dd            Z" ee#           eeKj$                  d                         Z% ee&           ee'           eeKj(                   eeKj)                  d                                                 Z* ee+          d             Z+ebrU ecead          rHeaj,        j-        Z.eaj/        eaj0        eaj/        fe._1        eaj2        e._3        eaj,        j4        Z5eaj2        eaj0        fe5_1        eaj/        e5_3        eaj,        j6        Z7eaj2        fe7_1        eaj/        e7_3        eaj,        j8        Z9eaj2        fe9_1        eaj/        e9_3        eaj,        j:        Z;eaj2        fe;_1        eaj0        e;_3        eaj,        j<        Z=eaj2        eaj0        fe=_1        eaj>        e=_3        eaj,        j?        Z@eaj2        eaj/        fe@_1        eaj,        jA        ZBeaj2        eaj/        feB_1        eaj,        jC        ZDeaj2        eaj0        feD_1        eaj,        jE        ZFeaj2        eaj/        feF_1        dZG e. eajH        e.eaj/                   eaj0        eG          d          ZI e4eI          ZJ eeJ          d             ZKeJed<   eJed<   eʐL                    eJ           ndZI ee          d             ZM eceLd          r eeLjN                  d             ZO eceLd          r$ e e4eLjP                            d             ZQ eceLd          r$ e e4eLjR                            d             ZS eceLd          r eeLjT                  d             ZUddZVdÄ ZWddĄZXdń ZYbb[dS )aK  
dill: a utility for serialization of python objects

The primary functions in `dill` are :func:`dump` and
:func:`dumps` for serialization ("pickling") to a
file or to a string, respectively, and :func:`load`
and :func:`loads` for deserialization ("unpickling"),
similarly, from a file or from a string. Other notable
functions are :func:`~dill.dump_module` and
:func:`~dill.load_module`, which are used to save and
restore module objects, including an intepreter session.

Based on code written by Oren Tirosh and Armin Ronacher.
Extended to a (near) full set of the builtin types (in types module),
and coded to the pickle interface, by <mmckerns@caltech.edu>.
Initial port to python3 by Jonathan Dobson, continued by mmckerns.
Tested against "all" python types (Std. Lib. CH 1-15 @ 2.7) by mmckerns.
Tested against CH16+ Std. Lib. ... TBD.
    )annotations)dumpdumpsloadloadscopyPickler	UnpicklerregisterpicklepicklescheckDEFAULT_PROTOCOLHIGHEST_PROTOCOLHANDLE_FMODECONTENTS_FMODE
FILE_FMODEPickleErrorPickleWarningPicklingErrorPicklingWarningUnpicklingErrorUnpicklingWarningdillN   )adapter)traceFi  i  	i  
i )_Picklerr
   )GLOBALPOP)Context)LockType)RLock)_ExceptHookArgs)_ThreadHandle)CodeTypeFunctionType
MethodTypeGeneratorTypeTracebackType	FrameType
ModuleTypeBuiltinMethodType)MappingProxyType	new_class)r   r   r   r   r   )ReferenceType	ProxyTypeCallableProxyType)OrderedDict)EnumEnumMeta)partial)
itemgetter
attrgetterT	pythonapinumpyzNo module named 'numpy'c                 *    ddl ma ddl ma ddl ma dS )Nr   )ufunc)ndarray)dtypeT)r:   r<   NumpyUfuncTyper=   NumpyArrayTyper>   
NumpyDType     U/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/dill/_dill.py__hook__rE   r   s=    ------//////))))))4rC   c                    t          d | j        D                       rdS t                       | j        t          j        us| j        t          j        urdS dS )Nc              3  :   K   | ]}|j         |j        fd k    V  dS ))r:   r=   N
__module____name__.0cs     rD   	<genexpr>z*ndarraysubclassinstance.<locals>.<genexpr>z   s1      \\aaj)-AA\\\\\\rC   FT)all__mro__rE   __reduce_ex__r@   
__reduce__obj_types    rD   ndarraysubclassinstancerU   y   s^    \\8K[\\\\\ 	5


!)EEE&n.GGG5trC   c                >    t          d | j        D                       S )Nc              3  :   K   | ]}|j         |j        fd k    V  dS ))r:   r<   NrH   rK   s     rD   rN   znumpyufunc.<locals>.<genexpr>   s1      ^^AL!*-1CC^^^^^^rC   )anyrP   rS   s    rD   
numpyufuncrY      s"    ^^XM]^^^^^^rC   c                    t          d | j        D                       rdS t                       | t          t                    u S )Nc              3  :   K   | ]}|j         |j        fd k    V  dS ))r:   r>   NrH   rK   s     rD   rN   znumpydtype.<locals>.<genexpr>   s1      ZZAaj)-??ZZZZZZrC   F)rO   rP   rE   typerA   rS   s    rD   
numpydtyper]      sE    ZZIYZZZZZ 	5


4
++++rC   c                    dS NFrB   objs    rD   rU   rU      s    UUrC   c                    dS r_   rB   r`   s    rD   rY   rY          rC   c                    dS r_   rB   r`   s    rD   r]   r]      rc   rC   )GetSetDescriptorTypeClassMethodDescriptorTypeWrapperDescriptorTypeMethodDescriptorTypeMemberDescriptorTypeMethodWrapperTypec                      fdS )Nc                    S NrB   )yxs    rD   <lambda>z<lambda>.<locals>.<lambda>   s    Q rC   rB   ro   s   `rD   rp   rp      s    ;;;; rC      base__repr__)_lru_cache_wrapperc                     |                     dt          j                  } |t          j        g| R i |}t          |          }|                                 |S )Nopen)pop__builtin__rx   osdevnullr\   close)argskwargsrx   fts        rD   get_file_typer      sV    ::fk.//DRZ)$)))&))AQAGGIIIHrC   
emscriptenrb)	bufferingrzr+bwb)rx   )r   rx   )BytesIO)socket)_reduce_socket)exitquitget_ipythonrB   c                  8    e Zd ZdZd	dZd Zd Zd Zd Zd Z	dS )
SentinelzH
    Create a unique sentinel object that is pickled as a constant.
    Nc                z    || _         |*t          j                    j        j        d         | _        d S || _        d S )NrJ   )nameinspectcurrentframef_back	f_globalsrI   )selfr   module_names      rD   __init__zSentinel.__init__   s9    	%244;EjQDOOO)DOOOrC   c                &    | j         dz   | j        z   S )N.)rI   r   r   s    rD   ru   zSentinel.__repr__   s    $ty00rC   c                    | S rm   rB   r   s    rD   __copy__zSentinel.__copy__       rC   c                    | S rm   rB   )r   memos     rD   __deepcopy__zSentinel.__deepcopy__   r   rC   c                    | j         S rm   r   r   s    rD   rR   zSentinel.__reduce__   
    yrC   c                    | j         S rm   r   )r   protocols     rD   rQ   zSentinel.__reduce_ex__   r   rC   rm   )
rJ   rI   __qualname____doc__r   ru   r   r   rR   rQ   rB   rC   rD   r   r      s}         * * * *1 1 1          rC   r   )_shims)ReduceGetattrc                    |                     dt          j        d                   }t          t	          | g|R i ||          S )z
    Use pickling to 'copy' an object (i.e. `loads(dumps(obj))`).

    See :func:`dumps` and :func:`loads` for keyword arguments.
    ignore)r   )ry   r
   settingsr   r   )ra   r~   kwdsr   s       rD   r   r      sJ     XXh	 28 <==Fs*T***T**6::::rC   c                    ddl m } ||d         nt          |          }|                                }|                    t	          |||                     t          ||fi |                    |            dS )zS
    Pickle an object to a file.

    See :func:`dumps` for keyword arguments.
    r   r   Nr   )byreffmoderecurse)r   intr   updatedictr	   r   )	ra   filer   r   r   r   r   r   _kwdss	            rD   r   r      s     #"""""'/'7x
##S]]HIIKKE	LLE@@@AAAD($$e$$))#...
FrC   c                j    t                      }t          | |||||fi | |                                S )a  
    Pickle an object to a string.

    *protocol* is the pickler protocol, as defined for Python *pickle*.

    If *byref=True*, then dill behaves a lot more like pickle as certain
    objects (like modules) are pickled by reference as opposed to attempting
    to pickle the object itself.

    If *recurse=True*, then objects referred to in the global dictionary
    are recursively traced and pickled, instead of the default behavior
    of attempting to store the entire global dictionary. This is needed for
    functions defined via *exec()*.

    *fmode* (:const:`HANDLE_FMODE`, :const:`CONTENTS_FMODE`,
    or :const:`FILE_FMODE`) indicates how file handles will be pickled.
    For example, when pickling a data file handle for transfer to a remote
    compute service, *FILE_FMODE* will include the file contents in the
    pickle and cursor position so that a remote method can operate
    transparently on an object with an open file handle.

    Default values for keyword arguments can be set in :mod:`dill.settings`.
    )StringIOr   getvalue)ra   r   r   r   r   r   r   s          rD   r   r     s;    0 ::DdHeUG<<t<<<==??rC   c                D    t          | fd|i|                                S )zW
    Unpickle an object from a file.

    See :func:`loads` for keyword arguments.
    r   )r
   r   )r   r   r   s      rD   r   r   $  s+     T11&1D1166888rC   c                <    t          |           }t          ||fi |S )ah  
    Unpickle an object from a string.

    If *ignore=False* then objects whose class is defined in the module
    *__main__* are updated to reference the existing class in *__main__*,
    otherwise they are left to refer to the reconstructed type, which may
    be different.

    Default values for keyword arguments can be set in :mod:`dill.settings`.
    )r   r   )strr   r   r   s       rD   r   r   ,  s'     C==Df%%%%%rC   c                      e Zd ZddZd ZdS )MetaCatchingDictNc                8    	 | |         S # t           $ r |cY S w xY wrm   )KeyError)r   keydefaults      rD   getzMetaCatchingDict.getE  s5    	9 	 	 	NNN	s   
 c                V    t          |t                    rt          S t                      rm   )
issubclassr\   	save_typer   )r   r   s     rD   __missing__zMetaCatchingDict.__missing__K  s$    c4   	**rC   rm   )rJ   rI   r   r   r   rB   rC   rD   r   r   D  s7               rC   r   c                      e Zd ZdS )r   NrJ   rI   r   rB   rC   rD   r   r   Q          DrC   r   c                      e Zd ZdS )r   Nr   rB   rC   rD   r   r   T  r   rC   r   c                      e Zd ZdS )r   Nr   rB   rC   rD   r   r   W  r   rC   r   c                      e Zd ZU dZ eej                                                  Zded<   	 dZ	ddl
m
Z
 d Zdd	Zej        j        e_        d
 Zej        j        e_        dS )r	   z1python's Pickler extended to interpreter sessionsz?typing.Dict[type, typing.Callable[[Pickler, typing.Any], None]]dispatchFr   r   c                   t           j        }|                    dd           }|                    dd           }|                    dd           }t          j        | |g|R i | t
          | _        i | _        ||d         n|| _        d| _	        ||d         n|| _
        ||d         n|| _        t                      | _        || _        d S )Nr   r   r   F)r	   r   ry   StockPicklerr   _main_module_main_diff_cache_byref	_strictio_fmode_recurser3   	_postproc_file)r   r   r~   r   r   r   r   r   s           rD   r   zPickler.__init__h  s    #'4(('4((88It,,dD848884888!
+1>hw''v+1>hw''v/7/?++X$


rC   Tc                   t          |          }t          r|t           u s|t          j        v sut	          |          rt          |          d             }t          |          rt          |          d             }t          |          rt          |          d             }t          r"|t          u rdt          z  }t          |          t          j        | ||           d S )Nc           	         t          j        | d|           t          |dt          |dd                     }t          j        | ||           t          j        | d           d S )NzNu: %sr   rJ   r   # Nu)loggerr   getattrr   save_globalpicklerra   r   s      rD   save_numpy_ufuncz&Pickler.save.<locals>.save_numpy_ufunc  sc    L(C888"3ZQU8V8VWWD ,WcEEEEL&111FrC   c                    t          j        | d|           |                     t          |j        f|           t          j        | d           d S )NzDt: %sr`   z# Dt)r   r   save_reduce_create_dtypemetar\   r   ra   s     rD   save_numpy_dtypez&Pickler.save.<locals>.save_numpy_dtype  sM    L(C888''(9CH;C'PPPL&111FrC   c                   t          j        | d|j        |j                   t	          |dd           }|                                \  }}}|                     t          ||||f|           t          j        | d           d S )NzNu: (%s, %s)__dict__r`   r   )r   r   shaper>   r   rR   r   _create_array)r   ra   npdictr   r~   states         rD   save_numpy_arrayz&Pickler.save.<locals>.save_numpy_array  s~    L.#)SYOOO$S*d;;F%(^^%5%5NAtU''$uV7LRU'VVVL&111FrC   z;Can't pickle %s: attribute lookup builtins.generator failed)r\   r@   r	   r   rY   r   r]   rU   GENERATOR_FAILr)   r   r   save)r   ra   save_persistent_idrT   r   r   r   msgs           rD   r   zPickler.savex  s   99 &	8t#3#3x7CS7S7S (## (##  $# (## (##  $# 'x00 (##  $#  	%h-77OR__C$$$$%788888rC   c                X    t          j        |            t          j        | |           d S rm   )r   trace_setupr   r   r   ra   s     rD   r   zPickler.dump  s,    4   $$$$$$rC   NT)rJ   rI   r   r   r   r   r   r   __annotations___sessionr   r   r   r   rB   rC   rD   r	   r	   [  s         ;;|499;;<<  = = = = H""""""   /9 /9 /9 /9b  $,DL% % %  $,DLLLrC   r	   c                  V    e Zd ZdZddlmZ dZd Zd Zd Ze	j        j        e_        dS )	r
   zBpython's Unpickler extended to interpreter sessions and more typesr   r   Fc                    ||fdk    r| j         j        S ||fdk    rt          d           S |dk    rd}t          j        | ||          S )N)rz   __main__)rz   NoneTypez	dill.dill
dill._dill)r   r   r\   StockUnpickler
find_class)r   moduler   s      rD   r  zUnpickler.find_class  s]    D>888:&&d^:::::[  <&(vt<<<rC   c                    t           j        }|                    dd           }t          j        | g|R i | t
          | _        ||d         n|| _        d S )Nr   )r	   r   ry   r  r   r   r   _ignore)r   r~   r   r   r  s        rD   r   zUnpickler.__init__  s^    #((8T**4t444t444!
-4_x))'rC   c                   t          j        |           }t          |          j        t	          t
          dd          k    rK| j        sDt	          | j        t          |          j                  |_	        n# t          t          f$ r Y nw xY w|S )NrJ   r   )r  r   r\   rI   r   r   r  r   rJ   	__class__AttributeError	TypeErrorr   s     rD   r   zUnpickler.load  s{    !$''997<Z#P#PPP< 8%,TZc9K%L%LS]]&y1777447
s   ,A5 5B	B	N)
rJ   rI   r   r   r   r   r  r   r   r  rB   rC   rD   r
   r
     sk        LL""""""H= = =J J J   "&.DLDrC   r
   c                $    |t           j        | <   dS )zBexpose :attr:`~Pickler.dispatch` table for user-created extensionsNr	   r   r   funcs     rD   r   r     s    GQ
FrC   c                      fd}|S )zHdecorator to register types to Pickler's :attr:`~Pickler.dispatch` tablec                &    | t           j        <   | S rm   r  )r  r   s    rD   proxyzregister.<locals>.proxy  s    "rC   rB   )r   r  s   ` rD   r   r     s#         LrC   c                     t          t          j                                                  D ]E\  } }|j        t
          k    r0t          j        | = | t          v rt          |          t          j        | <   FdS )z7drop dill-registered types from pickle's dispatch tableN)listr   r   itemsrI   rJ   pickle_dispatch_copy)r\   r  s     rD   _revert_extensionr    sq    <0668899 I I
d?h&&%d++++.B4.H%d+	I IrC   c                j    | a t           r't          "	 ddlm} n# t          $ r ddl}Y nw xY w|adS dS dS )a  
    Reduces size of pickles by only including object which have changed.

    Decreases pickle size but increases CPU time needed.
    Also helps avoid some unpickleable objects.
    MUST be called at start of script, otherwise changes will not be recorded.
    Nr   )diffr   )	_use_diffr   ImportError)onds     rD   use_diffr    ss     I T\	####### 	 	 		 \\s    **c               #  f  K   dd l } t          t          t          j                                                  t          | j                                                  z                                             }|D ]6\  }}t          |dd           dk    rt          |          t          u r||fV  7d S )Nr   rI   builtins)typesr   r  rz   r   r  r   r\   )r!  r  r   values       rD   _create_typemapr#    s      LLLT+&,,..//%.&&(())* 	+ 	++0577   
U5,--;;KK4''u*
FrC   )PartialType	SuperTypeItemGetterTypeAttrGetterTypei CellType)	FileTypeBufferedRandomTypeBufferedReaderTypeBufferedWriterTypeTextWrapperTypePyBufferedRandomTypePyBufferedReaderTypePyBufferedWriterTypePyTextWrapperType)DictKeysTypeDictValuesTypeDictItemsTypeOdictKeysTypeOdictValuesTypeOdictItemsTypeExitType	InputType
OutputTypei )GenericAliasGenericAliasIteratorTypeHKEYTypec              #  $   K   | ]\  }}||fV  d S rm   rB   )rL   kvs      rD   rN   rN   Q  s*      <<41aA<<<<<<rC   c                *    t          j        |           S rm   )marshalr   )strings    rD   
_unmarshalrD  S  s    =   rC   c                    t           |          S rm   )_reverse_typemapr   s    rD   
_load_typerG  V  s    D!!rC   c                     | | S rm   rB   )typeobjr~   s     rD   _create_typerJ  Y  s    7D>rC   c                    t          | |pt                      |||          }||j                            |           |||_        d|j        vrt                      d         |j        d<   |S )N__builtins__)r'   r   r   r   __kwdefaults____globals__globals)fcodefglobalsfname	fdefaultsfclosurefdictfkwdefaultsr  s           rD   _create_functionrW  \  sw     x14665)XNNDU###) T---+299^+D(KrC   c                  F    e Zd ZdZd Zd Zd Zd Zed             Z	d Z
dS )	matchaI  
    Make avaialable a limited structural pattern matching-like syntax for Python < 3.10

    Patterns can be only tuples (without types) currently.
    Inspired by the package pattern-matching-PEP634.

    Usage:
    >>> with match(args) as m:
    >>>     if   m.case(('x', 'y')):
    >>>         # use m.x and m.y
    >>>     elif m.case(('x', 'y', 'z')):
    >>>         # use m.x, m.y and m.z

    Equivalent native code for Python >= 3.10:
    >>> match args:
    >>>     case (x, y):
    >>>         # use x and y
    >>>     case (x, y, z):
    >>>         # use x, y and z
    c                "    || _         d | _        d S rm   )r"  _fields)r   r"  s     rD   r   zmatch.__init__  s    
rC   c                    | S rm   rB   r   s    rD   	__enter__zmatch.__enter__  r   rC   c                    dS r_   rB   )r   exc_infos     rD   __exit__zmatch.__exit__  s    urC   c                b    t          | j                  t          |          k    rdS || _        dS )zjust handles tuple patternsFT)lenr"  r~   )r   r~   s     rD   casez
match.case  s.    tz??c$ii''5 	trC   c                v    | j         ,t          t          | j        | j                            | _         | j         S rm   )r[  r   zipr~   r"  r   s    rD   fieldszmatch.fields  s1     <DItz : :;;DL|rC   c                    | j         |         S rm   )rf  r   items     rD   __getattr__zmatch.__getattr__  s    {4  rC   N)rJ   rI   r   r   r   r]  r`  rc  propertyrf  rj  rB   rC   rD   rY  rY  l  s         (           X
! ! ! ! !rC   rY  ))      aco_endlinetablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable endlinetable columntable exceptiontable freevars cellvars)rm  rn  co_exceptiontablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable                          exceptiontable freevars cellvars)rm  rn  pco_qualnamezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable                                         freevars cellvars)rm  
   co_linetablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno linetable                                         freevars cellvars)rm     co_posonlyargcountzargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno lnotab                                            freevars cellvars)rm     co_kwonlyargcountzargcount                 kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno lnotab                                            freevars cellvars)codelnotab	linetableendlinetablecolumntableexceptiontablec                 
   t          | d         t                    s| ^}} nd}t          |           5 }|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         t          | d	         d          r| d	                                         n| d	         | d
         | d         R  cd d d            S |j        ne|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         | d	         | d
         R  cd d d            S |j        n|                    d          rt          dk    st          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         | d         | d	         R  cd d d            S |j        t          dk    r|j	        d<   n|r|n|j	        d<   n|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         | d         | d         R  cd d d            S |j        n|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         d | dd         D             | d         | d         R  cd d d            S |j        nt          d          d d d            n# 1 swxY w Y                       dd                               d|                               dd                               dd                                         d!d                               d"d                                d#d            fd$t          D             } t          |  S )%Nr   rC   )argcountposonlyargcountkwonlyargcountnlocals	stacksizeflagsr  constsnamesvarnamesfilenamer   qualnamefirstlinenor  r  freevarscellvarsrq     encoder}              )r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  rs  )r  r  r  r  r  r  r  r  r  r  r  r   r  LNOTAB_OR_LINETABLEr  r  rv  ry     r  r  )r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r|        )r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  rl  c              3  b   K   | ]*}t          |d           r|                                n|V  +dS r  N)hasattrr  )rL   ro  s     rD   rN   z_create_code.<locals>.<genexpr>  s=      UUAGAx$8$8?ahhjjjaUUUUUUrC         z$pattern match for code object failedr  r  r   r  r  r  c              3     K   | ]E}|t           v r0t          |         d           r|                                         n|         V  FdS r  )ENCODE_PARAMSr  r  )rL   r?  rf  s     rD   rN   z_create_code.<locals>.<genexpr>  sp       " " #$}"4"4H9U9U"4F1I[abc[d " " " " " "rC   )
isinstancer   rY  rc  CODE_VERSIONr&   r  r  rf  r  r   
setdefaultCODE_PARAMS)r~   LNOTABmrf  s      @rD   _create_coder    s   d1gs## 	t WJ66 
   U	J
 v%% "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 *1b8)D)DRDHOO%%%$r( H H  WJ WJ WJ WJ WJ WJ WJ WJ" XFFVV 
   D	J
 z)) "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 H H  3WJ WJ WJ WJ WJ WJ WJ WJB XFFVV 
   4	J
 v%%)>)> "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 H H  SWJ WJ WJ WJ WJ WJ WJ WJb XFv%%&'&;{##-3#N669Nx  VV 
    	J
 u$$ "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 H H  {WJ WJ WJ WJ WJ WJ WJ WJJ XFFVV 
   	J
 z)) "1"X(/Q(B(BODGNN$$$Q !B$Z VUbQSeUUU	
 H H  [WJ WJ WJ WJ WJ WJ WJ WJj XFF!"HIIIoWJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJt '+++
h'''
k3'''
j&.111
&,,,
nd+++
mT***" " " " " " "DT?s4   C6R06CR0	CR0'C+R0B!R0R00R47R4c                *    |i }|d} | |g|R i |S )NrB   rB   )ftypeobjr  r~   r   s       rD   _create_ftyper    s6    ||8D(4(((4(((rC   c                    | s%t           j        d                             d          S | dk    rt           j        d         S t           j        |          S )NrB   rB   )typingTuple	copy_with)argzr~   s     rD   _create_typing_tupler    sH     .|B))"---u}}|B<rC   c                T    ddl m}  ||           }|r|                                 |S )Nr   )_make_thread_handle)	threadingr  	_set_done)identdoner~   r  handles        rD   _create_thread_handler  %  sC    111111$$U++ 	rC   c                r    ddl m}  |            }| r$|                    d          st          d          |S )Nr   )LockFCannot acquire lock)r  r  acquirer   )lockedr~   r  locks       rD   _create_lockr  ,  sO    466D 9||E"" 	9!"7888KrC   c                    t                      }||                    | |f           |r#|                                st          d          |S )Nr  )	RLockType_acquire_restore	_is_ownedr   )countownerr~   r  s       rD   _create_rlockr  4  sV    ;;Duen--- 5T^^%% 53444KrC   c                   t           j        t           j        t           j        d}| t	          |                                          v r
||          }	n?| dk    rt          j                    }	n$| dk    rdd l}
|
	                    |          }	n	 t          j
                            |           }n# t          $ r d}Y nw xY w|s(|rt          d| z            d|v r|t          k    rd} d}nt          j
                            |           }||k    r|rt!          d          |t"          k    r|}	 |t          k    rL || d	|v r|nd	          }	|	                    |           d	|vr |	                                  || |          }	n| dk    rdd l}
|
	                    |          }	n|t"          k    rd	|v sd
|v rt          j        }d|v r|t          j        z  }n|t          j        z  }t          j        t          j        | |          |          }	t3          |	d|	          }t3          |d|          }| |_        |	j        | k    sJ n || |          }	n=# t6          t          f$ r) t          j                    d         }t;          |          w xY w|r|	                                 n&|dk    r |t<          k    r|	                    |           |	S )N)z<stdin>z<stdout>z<stderr>z	<tmpfile>z<fdopen>r   Fz)[Errno 2] No such file or directory: '%s'r   zinvalid buffer sizewro   +bufferrawr   ) sys	__stdin__
__stdout__
__stderr__r  keysr{   tmpfiletempfileTemporaryFilepathexists	ExceptionFileNotFoundErrorr   getsize
ValueErrorr   writer}   O_CREATO_RDWRO_WRONLYfdopenrx   r   r   IOErrorr_  r   r   seek)r   modepositionclosedrx   strictior   fdatar  r   r  r  current_sizer  r   errs                   rD   _create_filehandler  =  s
    }( (EtEJJLL!!!!$K			JLL			""4((	W^^D))FF 	 	 	FFF	 	1 "'(SVZ(Z[[[*!4!4!LL7??400Ll"" ( !6777.(('	'
""Dsd{{tt<<d??GGIIIT4((A##**400.((4KK3$;;
$;;RY&EER[(EIbgdE22D99Ax++Aua((v~~~~~Dt$$*+ 	' 	' 	',..#C!#&&&	'  						Q5L00	xHs   B/ /B>=B>/D$I :Jc                |    t          |           }|r|                                 n|                    |           |S rm   )r   r}   r  r"  r  r  r   s       rD   _create_stringir    s:    A qwwyyyy
&&


HrC   c                    t                      }|r|                                 n*|                    |            |                    |           |S rm   )r   r}   r  r  r  s       rD   _create_stringor    sG    

A qwwyyyywwu~~~vvhHrC   c                      e Zd Zd Zd ZdS )_itemgetter_helperc                    g | _         d S rm   r  r   s    rD   r   z_itemgetter_helper.__init__  s    


rC   c                :    | j                             |           d S rm   )r  appendrh  s     rD   __getitem__z_itemgetter_helper.__getitem__  s    
$rC   N)rJ   rI   r   r   r  rB   rC   rD   r  r    s2              rC   r  c                      e Zd ZddZd ZdS )_attrgetter_helperNc                "    || _         || _        d S rm   )attrsindex)r   r  r  s      rD   r   z_attrgetter_helper.__init__  s    



rC   c                .   t                               | d          }t                               | d          }|%t          |          }|                    |           n d                    ||         |g          ||<    t          |           ||          S )Nr  r  r   )object__getattribute__rb  r  joinr\   )r   attrr  r  s       rD   r  z#_attrgetter_helper.__getattribute__  s    ''g66''g66=JJELL88U5\4$899E%LtDzz%'''rC   rm   )rJ   rI   r   r   r  rB   rC   rD   r  r    s7           ( ( ( ( (rC   r  c                      e Zd Zd ZdS )_dictproxy_helperc                    |S rm   rB   )r   ro  s     rD   __ror__z_dictproxy_helper.__ror__  s    rC   N)rJ   rI   r   r  rB   rC   rD   r  r    s#            rC   r  _CELL_EMPTYc                :    | t           ur| fdj        d         S )Nc                      S rm   rB   )r"  s   rD   rp   z_create_cell.<locals>.<lambda>  s    E rC   r   )r  __closure__)contentsr"  s    @rD   _create_cellr    s'    {""MMM&q))rC   c                R    ddl m} | ddlm}  | |            g|R  S  || g|R  S )Nr   )refUserDict)weakrefr  collectionsr  )ra   r~   r  r  s       rD   _create_weakrefr    s]    
{((((((s88::%%%%%3s?T???rC   c                j    ddl m} | #|r
 |d g|R  S ddlm}  | |            g|R  S  || g|R  S )Nr   )r  c                    | S rm   rB   rq   s    rD   rp   z#_create_weakproxy.<locals>.<lambda>  s    1 rC   r  )r  r  r  r  )ra   callabler~   r  r  s        rD   _create_weakproxyr    s    
{4EE**4t4444((((((uXXZZ'$''''5trC   c                     t          |           S rm   )eval)repr_strs    rD   
_eval_reprr    s    >>rC   c                r     | | }|                     |           ||j                            |           |S rm   )__setstate__r   r   )r   r~   r   r   arrays        rD   r   r     sB    AtHE	uf%%%LrC   c                z    t           du rt                       | t           S t          t          |                     S )NT)rA   rE   r\   )scalar_types    rD   r   r     s7    T8:::
;''(((rC   c                v    t          |dz   | z   d          }||S dd l}|                    | |||          }|S )Nr   Tsafer   )defaultsr  )_import_moduler  
namedtuple)r   
fieldnames
modulenamer%  class_r  r   s          rD   _create_namedtupler+    sV    J,t3$???FtZ(:VVAHrC   c                   d}	 |                     d          }t          d|                    d          dz             D ]b}|                    d|          }	 t	          |d                   }n# t
          $ r Y nw xY w|}	|dd          D ]}
t          |	|
          }	|	}d} n# t          $ r Y nw xY w|r4t          ||          r|S t          t          |          d|d          t          | ||          }t          ||           |S )	NFutf8r   r   r   Tz object exists at z% but a PyCapsule object was expected.)decoderanger  rsplit
__import__r  r   r  _PyCapsule_IsValidr   r\   _PyCapsule_New_PyCapsule_SetContext)pointerr   context
destructor
attr_foundunameir  r  ra   r  capsules               rD   _create_capsuler<    s`   JF##q%++c**1,-- 	 	ALLa((E#E!H--   Cabb	 ) )c4((GJ     gt,, 	N_cdk_l_l_l_lnrnrnrsttt !$
;;gw///s6   AB# A.-B# .
A;8B# :A;;'B# #
B0/B0c                   	 |                     d          d         }t          |dz   |z   dz             S # t          $ r 	 | j        }t	          |          t
          u r0t          j        dk    r|dv rt          j        |         }n||         }nt          | |          }n'# t          t          f$ r t          | |          }Y nw xY w|cY S w xY w)N'rm  z.__dict__["z"]i )__weakref__r   )splitr  r  r   r\   DictProxyTyper  
hexversionr  r   r	  r   )objclassr   r  r  s       rD   _getattrrD  
  s    ~~c""1%D&t+D0111   
	*$DDzz]**>I--$:T2T2T,5d;DD:DDx--) 	* 	* 	*8D))DDD	*s4   25 
C
 ABC
!C?C
CC
	C
c                N    t          | |d           pt          t          |          S rm   )r   rz   )r   r   s     rD   	_get_attrrF    s#    4t$$BT(B(BBrC   c                   	 |                      d          rt          j        |          S d| v r|                     d          }d                    |d d                   }|d         }t          t          |d d |g          |          }t          |t          t          f          r|S t          | d d |g          S t          |           S # t          t          t          f$ r |rY d S  w xY w)Nz__runtime__.r   r   )
startswithr  modulesr@  r  r   r1  r  r,   r\   r  r	  r   )import_namer$  r  r  ra   	submodules         rD   r&  r&  !  s    !!.11 	+;{++K%%c**EXXeCRCj))F)C
64u E EsKKI)j$%788 !  k4u===k***2    	44s#   &C A<C &C 9C C&$C&c                   |                     d          D ]o}|dk    r#t          d                    ||                     	 | }t          | |          } ?# t          $ r$ t          d                    ||                     w xY w| |fS )Nr   z<locals>z&Can't get local attribute {!r} on {!r}z Can't get attribute {!r} on {!r})r@  r	  formatr   )ra   r   subpathparents       rD   _getattributerP  5  s    ::c?? 	5 	5j   !I"(&s"3"35 5 5	5F#w''CC 	5 	5 	5 !C"(&s"3"35 5 5	5 ;s   A.Bc                b   t          | dd           }|dv s*|r*t          |d          r|j        r||j        j        k    rdS t          | d          r?t          |d          }	 t          || j                  \  }}|| u S # t          $ r Y dS w xY wt          |dz   | j        z   d          }|| u S )	NrI   )r   NFchildr   Tr#  r   )
r   is_dillr   r   rJ   r  r&  rP  r   r	  )ra   r   r   r  found_s         rD   _locate_functionrW  B  s    #|T22K((( )u555 ):A:J )OZ^e^k^tOtOtusN## 	$777	$VS-=>>HE1C< 	 	 	55	 {S03<?dKKK|s   $B   
BBc                D    |                                 D ]
\  }}|| |<   d S rm   r  )destsourcer?  r@  s       rD   	_setitemsr[  S  s2      1Q rC   c           	     B   |t           j        u rt          |          }|t          | d          }|r|g }t	          |          | j        v rkt          |d          r!|j        dt          |d|j	                  dnd}t          j        d|d	|d
t                     |                     |           d S || j        t	          |          <    | j        |d|i |r>| j                            t	          |                    }t!          |          D ]}|d         t"          u r|d         \  }}|r|                     |                     | j        t	          |                   d                              t*          j        dk     r5|                     t1          |                                                     nB|                     t1          |                                          |           n | j        |  |                     t4                     d S d S )NTrR  rI   r   r    r  Cannot pickle : z<has recursive self-references that trigger a RecursionError.ra   r   r   i r`   )r   
NO_DEFAULTr   rT  idr   r  rI   r   rJ   warningswarnr   r   r   ry   reversedr[  r  r   r   r  rB  _batch_setitemsiterr  r    )	r   	reductionis_pickler_dillra   postproc_listr   postprocrY  rZ  s	            rD   _save_with_postprocrk  X  sN   
g   Y!'666 3
  M c77g'''^efikw^x^x  As~~~wsNCL/Y/Y/Y/YZZ  ADMMpspspsuyuyuyz  }L  M  M  M$$$F%2"S''" G,,,,  $((C11!(++ 	 	I|y((  )|f MM'++gl2d88.DQ.G"H"HIII~	11//V\\^^0D0DEEEE//V\\^^0D0D#/NNNN ##Y//MM#- 
	 	rC   c                   t          j        | d|           t          |d          r|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}nt          |d          rt1          j                    5  t4          st1          j        dt8                     |j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}d d d            n# 1 swxY w Y   nt          |d          rp|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}nHt          |d          ri|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}nt          |d          rc|j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}n\|j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}|                     t<          ||	           t          j        | d
           d S )NzCo: %srp  rr  r   )categoryru  rx  r{  r`   z# Co)r   r   r  	co_lnotabco_argcountr{  r~  
co_nlocalsco_stacksizeco_flagsco_code	co_constsco_namesco_varnamesco_filenameco_nameru  co_firstlinenorx  rp  co_columntablerr  co_freevarsco_cellvarsrb  catch_warningsOLD312a7filterwarningsDeprecationWarningr   r  r   ra   r~   s      rD   	save_coder    sV   
L(C(((s%&& ;
MOS3!3>33CL#+s}clOS_ck3? 0#2E 5sO	
 
)	*	* 0
$&& 	 	 O';MNNNN!7%s~s7Gck3=#,#+s"C$4c6KD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
m	$	$ #
M3?C,B!3>33CL#+s}clOS_ck3? 0#/O
 
n	%	% 
MOS3!3>33CL#+s}clOS_ck 0#/O
 
*	+	+ 
OS3!3>33CL#+s}clOS_cksO
 OS2CNclCKL#/3?K+S]OS_
 d444
L&!!!
Fs   BE//E36E3c                N    dt          |           j        t          |           fz  S )z3Make a short string representation of a dictionary.z<%s object at %#012x>)r\   rJ   ra  r`   s    rD   
_repr_dictr    s!    "d3ii&8"S''%BBBrC   c                j   t          | d          r{|| j        j        k    rk| j        r| j        s]t          j        | dt          |                     |                     t          dd                     t          j        | d           nt          | d          sm|t          j        k    r]t          j        | dt          |                     |                     t          dd                     t          j        | d	           n(d
|v r|t          j        k    rt          |d
                   t          u r|t          t          |d
         d          dd           u ret          j        | dt          |                     |                     t          d|d
         z  d                     t          j        | d           nlt          j        | dt          |                     t          | d          r| j        rd| _        t          j        | |           t          j        | d           d S )NFrR  zD1: %szc__builtin__
__main__
zUTF-8z# D1zD3: %szc__main__
__dict__
z# D3rJ   Tr   zD4: %szc%s
__dict__
z# D4zD2: %sz# D2)rT  r   r   r   _first_passr   r   r  r  bytesr   r\   r   r   r&  r   	save_dictr   s     rD   save_module_dictr    s   we$$$ &0F)F)F! *G&-&9 *GWh
3888e6@@AAAWf%%%%gU+++ &#9N2N2NWh
3888e3W==>>>Wf%%%%	s		sl&;;;S_%%,,w~c*odCCZQUVVVVWh
3888e-J?IIJJJWf%%%%Wh
38887%((( 	(W-= 	("'Gw,,,Wf%%%
FrC   c                *     d  fddD             S )Nc                      fd}|S )Nc                    t          j        | d|           |j        t          z  }|                     |f|           t          j        | d           d S )Nz
Dkvi: <%s>r`   z# Dkvi)r   r   mapping_dictproxy_helper_instancer   )r   ra   r  r  s      rD   _save_dict_viewzLsave_dict_view.<locals>.save_dict_view_for_function.<locals>._save_dict_view  sY    WlC888+(BB##D7*##>>>Wh/////rC   rB   )r  r  s   ` rD   save_dict_view_for_functionz3save_dict_view.<locals>.save_dict_view_for_function  s$    0 0 0 0 0
 #"rC   c           	     F    g | ]}| t          |                    fS rB   )r   )rL   funcnamedicttyper  s     rD   
<listcomp>z"save_dict_view.<locals>.<listcomp>   sD     
 
 
 2278X3N3NOOP
 
 
rC   )r  valuesr  rB   )r  r  s   `@rD   save_dict_viewr    sC    	# 	# 	#
 
 
 
 
7
 
 
 	
rC   c                8      fd} fd} fd}d|fd|fd|ffS )Nc                    t          j        | d|           t          j        j        t          |          f          }|                     j        |f|           t          j        | d           d S )NzDk: <%s>r`   z# Dk)r   r   r   r   fromkeysr  r   r  r   ra   dict_constructorr  s      rD   save_dict_keysz&save_dict_view.<locals>.save_dict_keys  sm    L*c222%}X->cMM0@/BLLLL&)))))rC   c                    t          j        | d|           t          j        t	          |          f          }|                     j        |f|           t          j        | d           d S )NzDv: <%s>r`   z# Dv)r   r   r   r   	enumerater   r  r  s      rD   save_dict_valuesz(save_dict_view.<locals>.save_dict_values  sk    L*c222%}X	#7HII2B1D#NNNL&)))))rC   c                    t          j        | d|           |                     j         |          f|           t          j        | d           d S )NzDi: <%s>r`   z# Di)r   r   r   r  )r   ra   r  s     rD   save_dict_itemsz'save_dict_view.<locals>.save_dict_items  sW    L*c222#0@cJJJL&)))))rC   r  r  r  rB   )r  r  r  r  s   `   rD   r  r  
  ss    	* 	* 	* 	* 	*	* 	* 	* 	* 	*	* 	* 	* 	* 	* ^$'(o&
 	
rC   c           	        t          ||           s[t          j        | d|           |                     t          |j        |j        |j        f|           t          j        | d           nbt          j        | d|           t          |dt          |dd                     }t          j
        | ||           t          j        | d           d S )	NzC1: %sr`   z# C1zC2: %sr   rJ   r   z# C2)rW  r   r   r   	ClassTyperJ   	__bases__r   r   r   r   r   s      rD   save_classobjr  .  s    C)) 
&Wh,,,Icm(+(6;> 	 	@ 	@ 	@ 	Wf%%%%Wh,,,sNGCT,J,JKK #D9999Wf%%%
FrC   c                r   |j         }t          |                                          t          u rUt	          j        | d|           t          j        | ||                                           t	          j        | d           n|j        t          u rR|r|dk    rJt	          j        | d|           | 
                    t          |f|           t	          j        | d           nRt	          j        | d|           t          j
        | g|                                R d	|i t	          j        | d
           d S )NzGa0: %sr   z# Ga0r  zGa1: %sr`   z# Ga1zGa2: %sra   z# Ga2)__args__r\   rR   r   r   r   r   r   
__origin__tupler   r  r  s      rD   save_generic_aliasr  =  s(   <DCNN$$Wi--- #CNN4D4DEEEEWg&&&&	5	 	 $	 $%--Wi---04'sCCCWg&&&&Wi--- E3>>+;+;EEEEEEWg&&&
FrC   c                    t          j        | d|           |                     t          |j        |                                f|           t          j        | d           d S )NzTh: %sr`   z# Th)r   r   r   r  r  is_doner   s     rD   save_thread_handler  O  sY    Wh,,,1CIs{{}}3MSVWWWWf%%%rC   c                    t          j        | d|           |                     t          |                                f|           t          j        | d           d S )NzLo: %sr`   z# Lo)r   r   r   r  r  r   s     rD   	save_lockr  V  sR    
L(C(((szz||o3???
L&!!!
FrC   c                   t          j        | d|           |                                }t          |                    d          d                                         d                             d                    }t          |                    d          d                                         d                   }|                     t          ||f|           t          j        | d           d S )	NzRL: %szcount=r   r   >zowner=r`   z# RL)r   r   ru   r   r@  rstripr   r  )r   ra   r   r  r  s        rD   
save_rlockr  ]  s    
L(C(((A!!!$**,,Q/66s;;<<E!!!$**,,Q/00Ee~3???
L&!!!
FrC   c                    t          j        | d|            | j        t          |            t          j        | d           d S )NzSo: %sz# So)r   r   r   reduce_socketr   s     rD   save_socketr  h  sE    
L(C(((Gs++,,
L&!!!
FrC   c                $   |j         rd}nP|                                 |t          j        t          j        t          j        fv rd}n|                                }t          | d          rJ| j        t          k    r: ||j
        d          }|                                }|                                 nd}t          | d          r| j        }| j        }nd}d}|                     t          |j
        |j        ||j         ||||f|           d S )	Nr   r   TrR  r   r  Fr`   )r  flushr  r  r  r  tellrT  r   r   r   readr}   r   r   r  r  )r   ra   open_r  r   r  r  r   s           rD   
_save_filer  n  s   
z "		3>3>3=AAAHHxxzzHwd### *(D(DE#(C  					wd### $*SXsx-0Z-2E-;@C  E E E FrC   c                    t          j        | d|           t          | |t                    }t          j        | d           |S NzFi: %sz# Fir   r   r  rx   r   ra   r   s      rD   	save_filer    s@    
 L(C(((7C&&A
L&!!!HrC   c                    t          j        | d|           t          | |t                    }t          j        | d           |S r  r  r  s      rD   r  r    s>    Wh,,,wT**Wf%%%rC   c                    t          j        | d|           t          | |t                    }t          j        | d           |S r  r   r   r  _openr  s      rD   r  r    s@     	Wh,,,wU++Wf%%%rC   c                    t          j        | d|           t          | |t                    }t          j        | d           |S r  r  r  s      rD   r  r    s>    L(C0007C//AL&)))HrC   c                   t          j        | d|           |j        rd}d}n(|                                }|                                }|                     t          |||j        f|           t          j        | d           d S NzIo: %sr  r   r`   z# Io)r   r   r  r   r  r   r  r   ra   r"  r  s       rD   save_stringir        Wh,,,: 	:E1LLNNEsxxzzHOeX.1j.:?B 	 	D 	D 	DWf%%%rC   c                   t          j        | d|           |j        rd}d}n(|                                }|                                }|                     t          |||j        f|           t          j        | d           d S r  )r   r   r  r   r  r   r  r  s       rD   save_stringor    r  rC   )	lru_cachec                   t          j        | d|           t          r|                                }|j        f}n$|                                }|d         |d         f}|t          j        k    rt          t          |d          }nt          }| 	                    ||j
        f|           t          j        | d           d S )NzLRU: %smaxsizetypedT)is_callabler`   z# LRU)r   r   OLD39
cache_infor  cache_parametersr  __defaults__r   r   __wrapped__)r   ra   r   r~   wrappers        rD   save_lru_cacher    s    Wi--- 	8^^%%FN$DD))++F9%vg7D9)))Y$???GGGGco%7SAAAWg&&&rC   c                    t          j        | d|           |                     t          |j        |j        f|           t          j        | d           d S )NzSu: %sr`   z# Su)r   r   r   super__thisclass____self__r   s     rD   
save_superr    sR    
L(C((( 13<@cJJJ
L&!!!
FrC   c                   t          |j        dd           }|t          |          t          urtt          |j        |j                  |k    rVt          j        | d|           |                     t           |j        |j        f|           t          j        | d           d S t          j        | d|           |                     t          |j        |j        f|           t          j        | d           d S )N__code__zMe2: %sr`   z# Me2Me1: %s# Me1)
r   __func__r\   r&   r  rJ   r   r   r   r(   )r   ra   r  s      rD   save_instancemethod0r    s    s|Z66T

( : :#,55<<L)S111#,)E3OOOL'***FWi---Js|(D#NNNWg&&&rC   c                    t          j        | d|           |                     t          |j        |j        f|           t          j        | d           d S )Nr  r`   r  )r   r   r   r(   r  r  r   s     rD   r  r    sQ    Wi---Js|(D#NNNWg&&&rC   c                    t          j        | d|           |                     t          |j        |j        |                                f|           t          j        | d           d S NzWr: %sr`   z# Wrr   r   r   rD  __objclass__rJ   ru   r   s     rD   save_wrapper_descriptorr    sm     	Wh,,,Hs'7'*||~~'7<? 	 	A 	A 	AWf%%%rC   c                    t          j        | d|           |                     t          |j        |j        |                                f|           t          j        | d           d S r  r  r   s     rD   r  r    sm     	Wh,,,Hs'7'*||~~'7<? 	 	A 	A 	AWf%%%rC   c                   	 |j         }n# t          $ r t          j        | d|           |                     t
          t          j        f|           |                     t          j        |df           | 	                    t                     t          j        | d           Y d S w xY wt          | d          rt          |          | j        v r| j        t          |                   }n4t          t          | j                                                  d           }|tt          j        | d|           |                     t
          t"          f|           |                    t          j        |d|ff           t          j        | d           d S t          j        | d	|           |                     t
          |f|           t          j        | d
           d S )NzCe3: %sr`   cell_contentsz# Ce3TrR  zCe2: %sz# Ce2zCe1: %sz# Ce1)r  r  r   r   r   r  r   r  _delattrr  r    rT  ra  r   nextrf  r  	_CELL_REFr  _setattr)r   ra   r   rj  s       rD   	save_cellr    s      Wi--- 	L6+=*?SIII 	FOc?-CDDDcWg&&&%& wd### a55G%%%(A/HH D!2!9!9!;!;<<dCCHL)S111 ylDDDOOV_sOQ.GHIIIL'***F
L)S)))qd444
L'"""
Fs   
 BB'&B'c                    t          j        | dt          |                     |t          z  }|                     t
          |f|           t          j        | d           d S NzMp: %sr`   z# Mp)r   r   r  r  r   rA  )r   ra   r  s      rD   save_dictproxyr  B  s[    Wh
388822MG:3???Wf%%%rC   c                    t          j        | dt          |                     |                     t          |                                f|           t          j        | d           d S r  )r   r   r  r   rA  r   r   s     rD   r  r  J  sX    Wh
3888MCHHJJ=cBBBWf%%%rC   c                    t          j        | d|           |                     t          |j        |j        |j        f|           t          j        | d           d S )NzSl: %sr`   z# Sl)r   r   r   slicestartstopstepr   s     rD   
save_slicer  Q  sU    
L(C(((	38SX>CHHH
L&!!!
FrC   c                    t          j        | d|           |                     t          |                                f|           t          j        | d           d S )NzSi: %sr`   z# Si)r   r   r   r  ru   r   s     rD   save_singletonr  X  sU     L(C(((
S\\^^$53???
L&!!!
FrC   c                   t          |           }t          |           }n# t          $ r t          d          cY S w xY w||k    rt          |           S 	 t	          |                    d                              d          d         d          }n# t          $ r t          s>t	          |                    d                              d          d         d          }nlt          t          j                              }|D ](}t          |          |k    rt          |          c cY S )dt          |           z  }t          |          Y nw xY w|S )z.get memory address of proxy's reference objectNr  z at r   r  rs   z)Cannot reference object for proxy at '%s')reprr   ReferenceErrorra  r   r  r@  r  IS_PYPYrf  gcget_objects)ra   _repr_straddressobjects_objr   s          rD   _proxy_helperr
  a  s[   IIEC   $xxu}}RWWn&dkk#&&,,V44R8rBBB 	& 	& 	& 	&%,,s++11&99"=BGGGGG2>++,,G 7 7::%%bhh%=3GC %%% G	& Ns%     <<=B BE,"EEc                   g d}|D ]}| t          |          k    r|c S |r't          |j                                                  }n t          t	          j                              }|D ]}| t          |          k    r|c S t          |           } n-# t          $ r  t          dt          |           z            w xY wt          d| z            )zCget object located at the given memory address (inverse of id(obj)))NTFz"'%s' is not a valid memory addresszCannot reference object at '%s')
ra  rf  r   r  r  r  hexr
  r   r  )r  r  specialra   r  s        rD   _locate_objectr  v  s    !!!G * *bggczzz +v--//00))**' * *bggczzzw<< M M M<s7||KLLLM
:WD
E
EEs   B *C c                     |            }t          j        | d|           |                     t          |f|           t          j        | d           d S )NzR1: %sr`   z# R1)r   r   r   r  r   ra   refobjs      rD   save_weakrefr    sU    SUUF
L(C(((&<<<
L&!!!
FrC   c                    t          j        | d|z             t          t          |                    }|                     t
          |t          |          f|           t          j        | d           d S )NzR2: %rr`   z# R2)r   r   r  r
  r   r  r  r  s      rD   save_weakproxyr    sm     L(S.)))M#..//F)FHSMM+BLLL
L&!!!
FrC   c                     t           d          sdS  j        dS g d}t          j        j        t           fd|D                       p' j                            t                    pd j        v S )N__file__TF)base_prefixbase_exec_prefixexec_prefixprefixreal_prefixc           	   3    K   | ]}t          t          |          j                            t	          t          |                    p> j                                       t	          t          |                              V  d S rm   )r  r  r  rH  r   )rL   r   r  rps     rD   rN   z%_is_builtin_module.<locals>.<genexpr>  s       
 
 sD!!	
O&&wsD'9'9:: Fr&/""--bbd1C1C.D.DEE
 
 
 
 
 
rC   zsite-packages)r  r  r{   r  realpathrX   endswithEXTENSION_SUFFIXES)r  r  r  s   ` @rD   _is_builtin_moduler!    s    6:&&3ttuu XWWE		B 	 
 
 
 
 
 
 
 
 	
 	
 	. ?##$677	. fo-	rC   c                h    t          | dd           d up| t          j                                        v S )N
__loader__)r   r  rI  r  )r  s    rD   _is_imported_moduler$    s1    6<..d:\fHZHZH\H\>\\rC   c                r   	 t          |          }t          | d          o|| j        u }|j         dvr|r|rt          j        | d|           t          |          r|j         n	d|j         z  }|j                                        }dD ]}|                    |d            t&          D ]<}t)          |                    |          dd                              d          r||= =| 	                    t          |f||	           t          j        | d           n|j         dk    rCt          j        | d|           |                     |d           t          j        | d
           nNt          j        | d|           | 	                    t          |j         f|           t          j        | d
           d S )NFr   r   r   r   )seenzM2: %s with diffzDiff: %s)ra   r   z# M2zM1: %sr`   z# M1TrR  )r   r   r  z__runtime__.%s)rL  r#  rI   r  IPythonr  zM2: %s_dillr   )rJ   r@  r  whats_changedr   r   r   infor  r   r&  RuntimeErrorr!  rT  r   r$  r   r   ry   IPYTHON_SINGLETONSr   r   rH  r   )r   ra   changedbuiltin_modis_session_mainmod_name	main_dictri  s           rD   save_moduler2    s   )*$ )--!'666O3'-;OL BBB;B" CL(C000':3'?'?ds||EUX[XdEdH))++I6 * *dD))))* ( (9==..bAALLYWW (!$IVVVL&))))\\))L(C000'222L&))))L(C000SIIIL&)))
FrC   c                j   t          | j                  dk    r| j        d         j        }n3i }t          | j                  D ]}|                    |j                   g }t
                              |          D ]G\  }}	 ||         }	||	u r%t          |d          r|                    |           8# t          $ r Y Dw xY w|D ]}t
          
                    ||           t          t          |           t                    r,|
                    dd           |
                    dd           ||fS )zDRetrieve a copy of the dict of a class without the inherited methodsr   r   r   r   Nr?  )rb  r  r   rd  r   r   r  r  r  r   ry   r   r\   )
clsclsdictr  ri  inherited_dictrt   	to_remover   r"  
base_values
             rD   _get_typedict_typer9    sQ   
3=Qq)2S]++ 	1 	1D!!$-0000Izz'**  e	'-J
""wun'E'E"  &&& 	 	 	D	    $$s))T"" )J%%%M4(((E>s   1B33
C ?C c                   t          t          d          rBt          j        |           \  }}}}| j        |                    fd|D                        nPt          | d          r0| j        }| j        |                    fd|D                        nt          d|           d|v rC|                    dd            |                    dd            |                    dd            n|                    dd            ||fS )	N	_get_dumpc              3  2   K   | ]} |            ffV  d S rm   rB   rL   regr   s     rD   rN   z$_get_typedict_abc.<locals>.<genexpr>  s0      FFch1FFFFFFrC   _abc_registryc              3  "   K   | ]	}|ffV  
d S rm   rB   r=  s     rD   rN   z$_get_typedict_abc.<locals>.<genexpr>  s*      DDCh/DDDDDDrC   zCannot find registry of ABC %s
_abc_cache_abc_negative_cache	_abc_impl)r  abcr;  r   extendr?  r   ry   )ra   _dictr  ri  registryrV  r   s         @rD   _get_typedict_abcrH    s+   sK   	C!mC001a<FFFFXFFFFFFF	o	&	& C$<DDDD8DDDDDDD<cBBB%		/4(((		,%%%		'.... 			+t$$$%<rC   c           	     n   t           v rVt          j        | d           |                     t          t                    f           t          j        | d           nԉj        t          fk    r
t          fddD                       rt          j        | d           t          dt          dd                     }j	        |k    r#|g }|
                    t          d|ff           j        s-t          | t          j	        j        j        ff|	           n@fd
j        D             }t          | t          j	        j        j        |ff|	           t          j        | d           d S t#          d           u rJt          j        | d           |                     t&          dz              t          j        | d           n]t(          u rPt          j        | d           |                     t"          t*          f           t          j        | d           nt,          u rPt          j        | d           |                     t"          t.          f           t          j        | d           nt0          u rJt          j        | d           |                     t&          dz              t          j        | d           nXt2          u rJt          j        | d           |                     t&          dz              t          j        | d           nt          | dd           }t5                    t          | dd          v }t7          |            }|s|s|r	|g }t          j        | d           t9          j                                        d |          \  }}	|                    dd          }
t#          |
          t@          k    r|
f}
|
D ]}|!                    |d            tE          tF          j$                  r@t          j        | d           tK          ||	|          \  }}	t          j        | d           t          dd           }|	9|	&                                D ]$\  }}|
                    t          ||ff           %||
                    t          d|ff           tO          d          s6t          | tP          t#                    j	        j        |ff|	           nTdt#                    i}|rtS          tT          |          }nd }t          | tV          j	        j,        ||ff|	           t          j        | d           nt          dt          dd                     }t          j        | d           |r t[          j.        ddt^          d            |r+t[          j.        d!d"j        d|d#t^          d            ta          j1        | |$           t          j        | d%           d S )&NzT1: %sr`   z# T1c                0    g | ]}t          |          S rB   )r  )rL   r  ra   s     rD   r  zsave_type.<locals>.<listcomp>  s#    +t+t+t4GC,>,>+t+t+trC   )r[  _asdict_make_replacezT6: %sr   rJ   ra   ri  c                <    g | ]}|j         v j         |         S rB   )_field_defaults)rL   fieldra   s     rD   r  zsave_type.<locals>.<listcomp>$  s/    llluuX[XkOkOk+E2OkOkOkrC   z# T6zT7: %ss   __builtin__
NoneType
z# T7s   enum
EnumMeta
s   threading
ExceptHookArgs
r   r   rB   zT2: %s	__slots__zABC: %sz# ABC__orig_bases__	metaclass)rZ  z# T2zT4: %szCannot locate reference to r   rm  )
stacklevelr^  r_  z= has recursive self-references that trigger a RecursionError.r   z# T4)2_typemapr   r   r   rG  r  r  rO   r   rJ   r  setattrrP  rk  r+  r[  rI   r\   r  r   NotImplementedTypeNotImplementedEllipsisTypeEllipsisr5   ExceptHookArgsTypera  rW  r9  r   r   r   r   ry   r  rD  ABCMetarH  r  r  rJ  r$  r[  r/   rS  rb  rc  r   r   r   )r   ra   ri  obj_namer%  r   obj_recursiveincorrectly_namedrF  r  slotsr   r  r?  r@  	_metadict_dict_updates    `               rD   r   r     s   
hWh,,, 	J#(8cBBBWf%%%%	5(	"	"s+t+t+t+tKs+t+t+t'u'u	"Wh,,,3Z0N0NOO<8##$ "  'C+J!KLLL" 	\*<s|S[Z]Zh>i)jps  DQ  R  R  R  R  RlllllllH*<s|S[Z]Zhjr>s)tz}  N[  \  \  \  \Wf%%% 
T

		Wh,,,f99:::Wf%%%%	"	"	"Wh,,,D>"3===Wf%%%%			Wh,,,D8+3777Wf%%%%	Wh,,,f22333Wf%%%%	"	"	"Wh,,,f==>>>Wf%%%% (D11377K#D#DD 0g > >> G	*m G	*0A G	*$ " L(C000-c3<3D3D3F3Fm\\LE5
 IIk2..EE{{c!! & &		$%%%%#s{++ /Wi5550eUMRRuWg...sND99H !KKMM A ADAq!(('CA;)?@@@@#$$g^X/N%OPPP3 011 :#GlIIs|S]E= .=: : : : :  c	  (#.y#G#G#GLL#'L#GiL#"4i: .=: : : : L&))))sNGCT4R4RSSHL(C000  8;=#    
  3633R# 	    $WcAAAAL&)))
FrC   c                    t          j        | d|           |                     t          |          |j        |j        |j        |j        f|           t          j        | d           d S )NzPr: %sr`   z# Pr)r   r   r   r\   fgetfsetfdelr   r   s     rD   save_propertyrh    sk     L(C(((S		CHch#+#N  ! ! !
L&!!!!!rC   c                    t          j        | d|           |j        }|                     t	          |          |f|           t          j        | d           d S )NzCm: %sr`   z# Cm)r   r   r  r   r\   )r   ra   	orig_funcs      rD   save_classmethodrk    s\    
 L(C(((I S		I<S999
L&!!!!!rC   c           	        t          ||           st          |j                  t          urt	          |dd           }|t
          j        }t          |d          }d}	 t          ||j	                  \  }}t	          |dd           |u rd}n# t          $ r Y nw xY w|rLt          j        | d|           |                     t          |df|           t          j        | d           d S t          j        | d	|           t	          | d
d           }t	          | dd           }t	          | dd           }	t	          | dt
                    }
g }|rddlm}  ||dd          }d|j        i}nf|j        }|	r"||
j        u rt	          | d|
          j        }|}n;|0|j        )t	          t          |j        d          dd           |u r|}n	d|j        i}|o||urkd |                                D             }|D ],}||v r&||                             t*          ||ff            n-|                    t*          ||ff           |j        }i }dD ]}t	          ||d           }||||<   |j	        |j        k    r
|j	        |d<   d|vs|j        |d         k    r
|j        |d<   |j        }t          |          t.          ur||d<   d }|r||f}t1          | t2          |j        ||j        |j        |f|f||           |rt7          t9          |                                          d           }|r^|r\|D ]Y}t:          |d|ff}	 |                    |           n# t>          $ r Y 1w xY w | j        |  |                      tB                     Zt          j        | d           nbt          j        | d|           t	          |dt	          |dd                     }tE          j#        | ||           t          j        | d           d S )NrI   Tr#  Fr  zF3: %sr`   z# F3zF1: %sr   r   _main_modified_original_mainr   )
globalvars)r   builtinrJ   r   r   c                ,    h | ]}t          |          S rB   )ra  )rL   gs     rD   	<setcomp>z save_function.<locals>.<setcomp>  s    ;;;!1;;;rC   )r   rM  r   r   rN  r  z# F1zF2: %sr   z# F2)$rW  r\   r  r&   r   rz   rJ   r&  rP  r   r	  r   r   r   detectro  rI   rN  r   r  r  r[  r  r   rk  rW  r  r  rf  rW  remover  r  r    r   r   )r   ra   r   r  _pypy_builtinrU  rV  r   r   rm  rn  ri  ro  
globs_copyglobsglob_idsstack_elementclosure
state_dict	fattrnamefattrr   topmost_postproccellpossible_postprocr   s                             rD   save_functionr    s   C)) m&X-- "#|T::K")2#Kd;;;F!M(1ABBq5*d33s::$(M!     Wh444##GeZ-@c#JJJWf---Wh,,,7J55G[$77	 *:DAA *:KHH 	5******#CtDDDJ  0EEJ  5*0G"G"G$Wg~FFO
"'CN,FN3>4@@*dSSWaaa"#S^4!e:&=&= <;z'8'8':':;;;H!* G G H,,m,33Y
@S4TUUUE - $$i%1D%EFFF/
I 	. 	.ICD11E (-
9%s|++),)9J~&U""cnj8I&I&I'*~J|$;;d""%*Jz"E 	&:%EG&6eS\33C9
 & -	9 	9 	9 	9  	'#D)9)9););$<$<dCC '+ '# 
' 
'D)04#2N(O%!(//0ABBBB% ! ! ! ! (G'):;;MM#&&&&Wf%%%%Wh,,,sNGCT,J,JKK #D9999Wf%%%
Fs$    -B 
BBM
M%$M%s   dill._dill._testcapsulec                   t          j        | d|           t          |          }t          ||          }t	          |          }t          |          }|                     t          ||||f|           t          j        | d           d S )NzCap: %sr`   z# Cap)r   r   _PyCapsule_GetName_PyCapsule_GetPointer_PyCapsule_GetContext_PyCapsule_GetDestructorr   r<  )r   ra   r   r5  r6  r7  s         rD   save_capsuler  >  s    Wi---!#&&'T22',,-c22
OgtWj-QWZ[[[Wg&&&&&rC   PyCapsuleTypec                    t          j        | d|           |                     t          t	          |                                          |           t          j        | d           d S )NzCx: %sr`   z# Cx)r   r   r   ContextTyper  r  r   s     rD   save_contextr  N  sY    
L(C(((U399;;%7%7SAAA
L&!!!!!rC   _HAS_DEFAULT_FACTORY_CLASSc                    t          j        | d|           |                     t          dz              t          j        | d           d S )Nz	DcHDF: %ss!   dataclasses
_HAS_DEFAULT_FACTORY
z# DcHDFr   r   r  r   r   s     rD   *save_dataclasses_HAS_DEFAULT_FACTORY_CLASSr  Z  sF    Wk3///fEEFFFWi(((((rC   MISSINGc                    t          j        | d|           |                     t          dz              t          j        | d           d S )NzDcM: %ss   dataclasses
MISSING
z# DcMr  r   s     rD   save_dataclasses_MISSING_TYPEr  a  sF    Wi---f88999Wg&&&&&rC   KW_ONLYc                    t          j        | d|           |                     t          dz              t          j        | d           d S )Nz	DcKWO: %ss   dataclasses
KW_ONLY
z# DcKWOr  r   s     rD   save_dataclasses_KW_ONLY_TYPEr  h  sF    Wk3///f88999Wi(((((rC   _FIELD_BASEc                    t          j        | d|           |                     t          dz   |j                                        z   dz              t          j        | d           d S )NzDcFB: %ss   dataclasses
   
z# DcFB)r   r   r  r   r   r  r   s     rD   save_dataclasses_FIELD_BASEr  o  s\    Wj#...f//#(//2C2CCeKLLLWh'''''rC   c                   |r	t           f}n t          t          t          t          t
          f}	 t          | fi |}	 t          |                                |                                 k              }nJ# t          t          f$ r6 t          j        d           || k    }t          j        rt          j        d= Y nw xY wt          |d          r&|                                                                }|rdS |s^t          |          t          |           k    }|r|S t!          t          |                    t!          t          |                     k    S dS # |$ r Y dS w xY w)a  
    Quick check if object pickles with dill.

    If *exact=True* then an equality test is done to check if the reconstructed
    object matches the original object.

    If *safe=True* then any exception will raised in copy signal that the
    object is not picklable, otherwise only pickling errors will be trapped.

    Additional keyword arguments are as :func:`dumps` and :func:`loads`.
    r   r   toarrayTF)r  r
  AssertionErrorNotImplementedErrorr   r   r   boolrO   r	  rb  r  filtersr  r  r\   r   )ra   exactr$  r   
exceptionspikresults          rD   r   r   x  sd     f9,ZZ1DmUde
3$	9#''))swwyy011FF	* 	9 	9 	9#H---CZF8X%5a%8	9 69%% 	,^^%%))++F$$ 	6#YY$s))+F$f}S		??d499oo55u   uusA   E 7A3 2E 3AB:7E 9B::;E 7%E 9E E"!E"c                   |                     dd          }|                     dd          }|ddl}|j        }t          |t                     ddl}d}	 t          | g|R i |}d}|r|rt          d           n# |r|rt          d           w w w xY w|dt          |          d	}	|	                    |	
                    dd
                    sdnd}	|rt          |	           dS )a$  
    Check pickling of an object across another process.

    *python* is the path to the python interpreter (defaults to sys.executable)

    Set *verbose=True* to print the unpickled object in the other process.

    Additional keyword arguments are as :func:`dumps` and :func:`loads`.
    verboseFpythonNr   TzDUMP FAILEDz" -c import dill; print(dill.loads(z))rr   SUCCESSzLOAD FAILED)ry   r  
executabler  r   
subprocessr   printr   callr@  )
ra   r~   r   r  r  r  r  failr	  r   s
             rD   r   r     s/    hhy%((GXXh%%F~


vsD!S(4(((4(( 	!G 	!-     	!G 	!-    	! 	! 9?T




KC%??399T!+<+<==
P))=C c



Fs   A< <Bc                    |du st          | j        d          s	d| j        v S t          | j                                        v S )z#check the dill-ness of your picklerFmror   )r  r  rI   r	   r  )r   rS  s     rD   rT  rT    sD    ~~WW%6>>~+++g'++----rC   c                     t           j                                        D ]@\  } }	 |t          j        | <   # t          $ r t          j        t          d|            Y =w xY wdS )z1extend pickle with all of dill's registered typeszskip: %sN)r	   r   r  r   r  r   r   r   r  s     rD   _extendr    su     "((** 1 1$	1'+L!!$$ 	1 	1 	1L*a00000	1
Fs   5%AA)NNNNrm   r   )NNNNN)F)FF(Z  r   
__future__r   __all__rI   rb  r   r   r   _tracelogr{   r  r  r  rB  OLD38r  OLD310r~  r   rz   r   r   r   r
   r  r   r    _contextvarsr!   r  _threadr"   r#   r  r$   r\  r  r%   ThreadHandleTyper!  r&   r'   r(   r)   r*   r+   r,   r-   
memoryview
BufferTyper\   r  r[  rZ  rY  rX  r  	SliceTypeTypeTyper/  
XRangeTyper.   rA  r/   r   r   r   r   r   r   r   rB  r  rD  dataclassesr  r0   r1   r2   r  r3   enumr4   r5   	functoolsr6   operatorr7   r8   r   importlib.machinery	importlibr  	machineryr   ctypes
HAS_CTYPESr  r  r?   rA   r@   
PathFinder	find_specrE   rU   rY   r]   re   rf   rg   rh   ri   rj   r  r(  r   r$  r  r  r
  r%  r&  r'  rv   LRUCacheTyper  r   platform
IS_PYODIDEr)  r-  r*  r+  r,  _pyiorx   r  r1  r.  r/  r0  ior   r   r9  r:  r   
SocketTypemultiprocessing.reductionr   r  __IPYTHON__
IS_IPYTHONr8  r,  	NameErrorr   r   r  r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   Warningr   r   r   r	   r   r  r   r  r  r#  rF  r   ro   _incedental_reverse_typemapr  r  r  r;  rf  r  winregr=  set_incedental_typesrV  rD  rG  rJ  rW  rY  ALL_CODE_PARAMSversionnew_attrparamsr  r@  r  intersectionr  r  r  r  r  r  r  r  r  r  r  r  r  r  __dMAPPING_PROXY_TRICKr  r  r  r  r  r  r   r   r+  r<  rD  rF  r&  rP  rW  r[  r`  rk  r  r  r  r  
__dicttype__obj
__funcname
__savefuncr   __tviewr  _GenericAliasr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r!  r$  r2  r9  rH  r   rk  abstractpropertyrh  staticmethodclassmethodabstractstaticmethodabstractclassmethodrk  r  r9   PyCapsule_Newr3  c_void_pc_char_pargtypes	py_objectrestypePyCapsule_GetPointerr  PyCapsule_GetDestructorr  PyCapsule_GetContextr  PyCapsule_GetNamer  PyCapsule_IsValidr2  c_boolPyCapsule_SetContextr4  PyCapsule_SetDestructor_PyCapsule_SetDestructorPyCapsule_SetName_PyCapsule_SetNamePyCapsule_SetPointer_PyCapsule_SetPointer_testcapsule_namecast_testcapsuler  r  addr  r  r  r  r  r  r  r  r  r   r   rT  r  rB   rC   rD   <module>r     s   ( # " " " " "   
  % % % % % % # # # # # # 				 



		)	#	)	#
.9
$NY&     H H H H H H H H         / / / / / /       & & & & & &=======   9999999   < < < < < < < < < < < < < < < < < < < <
	tH~~T.)) 	
 > > > > > > > > b b b b b b b b b b b b b b      				 



     ? ? ? ? ? ? ? ? ? ? # # # # # #               + + + + + + + +    U9.ABB MMMJ'&+...GG   JGGG 
	))++55g>> 5k3444NJNN 	 	 	D	    &	 	 	_ _ _, , , , 322%%%%%%               
 4&&&**6q9::d773Q'''((Dy))++..//	jjmm$$jj,,--<<<<<<<   LLL z,%% L   \\)
=+++-r222'OTT]]5B-O-O-O "]42666 "]42666 b######%cReDDD#-a44==RT[`3a3a3a(=%HHH(=%HHH b b b]aaa,a/CFZFZFZb " " " " " " 	J ' ' ' ' ' ' E E E E E EJH8   JDJJ%%%hhh%	      v   ,       # # # # # # # #
  
; ; ;      89 9 9 9& & & &0    t   	 	 	 	 	G[ 	 	 		 	 	 	 	m] 	 	 		 	 	 	 	 	 	 	S- S- S- S- S-l S- S- S-j	 	 	 	 	 	 	 	@ $,1133   
  I I I   "   4))**    $$	     >IH    +--,,,&000*
 
   " "DOOd299;;''T"((**%%T!&&((^^tAHHJJ''d17799oo$ $     7.6
+ ;/8,0:-	 >Yw"""""">Bd44UY\_[aHbHbCcCc>d>d :;	MMM.4o
++ 	 	 	D	   3 4 4 4C3::<<== 4<<#3#9#9#;#;<<<<<! ! !" " "   =A<@    +! +! +! +! +! +! +! +!Z   "1  GXvwx"" llnn K  --XXXZ Zj j jX) ) )          E E EN           ( ( ( ( ( ( ( (        /.00  
 --"4"47Q"QR        	h}%%* * * *
          ) ) )     <  &C C C   (     "  
 =AgFXhl / / / /x 
(A A AFC C C 
$  4  )
% )

 
 
 
$
 
 
2  3 3J JLLE"0."<"< 3 3
J$1wwuj113344'***(2GW%3 z7J 
)   
&
      X    
(   
)      6 
(	
	
	/       X !!  "!  X"##X"##X    !  $# $#  	&	'	'	 	 
(	'	  Xi	 	 	 Xj	 	 	 ######Xl    
)    Xj     Xj    X"##X"##X"##X#$$X'((  )( %$ $# $# $#
  X"##X"##  $# $# 
(* * *X  Xm    Xm   
)   
*	,	
      *F F F F  
-   
)	
     &] ] ] 
*+ + +b  2  * 
(| | | || 
(	#
" "   " 
,	+	#
"##	#
!""" " #" $#  " 
,o o ob  1''&+.. 1%3N%QN#-N",A&,&6%H"$*O!%/G)/)9(;%'-$",A&,&6%8"$*O!);#)#3"5!');#)#3V_"E!'",A&,&6%H"%/G)/)96?(K%);#)#3V_"E",A&,&6%H"2!>NFO44)** L
 D&&MXm' ' ' 4A0(5_%-((((L	+" " " 7;455 )Xk455) ) 65)
 7;	"" 'Xdd;&''((' ' )('
 7;	"" )Xdd;&''(() ) )()
 7;&& (Xk%&&( ( '&(# # # #J' ' 'T. . . .   	)XXXs    B BBB B&%B&	E 	E)(E)3=F1 1F98F9%I, ,I65I6AL L.-L.M M4M"!M4"M,)M4+M,,M43M4#V2 2V:9V:[) )[32[3