
    bi                        	 d dl mZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d d	l(m)Z)m*Z*m+Z+m,Z,m-Z- d d
l.m/Z/m0Z0m(Z(m1Z1m2Z2 d dl3m3Z3  e0jh                  d       i Z5d dl.m6Z7 ddZ8ddZ9 e9        d Z:d Z;y#  ddlZddlZej                  j                  ej                  j                  ej                  j                  e
                  Zej                  j                  e       ddlmZmZmZmZ  eej                  j!                  ed            Zdez  Z eej                  j!                  ed            Z[[[[[Y QxY w)   )__version__
__author____doc____license__    N)r   r   get_license_textget_readme_as_rstLICENSEz
%sz	README.md)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)dump_moduleload_moduleload_module_asdictdump_sessionload_session)detectloggersessionsourcetemp)settingsF)objtypesc                    ddl m} ddlm} | r t        j                  |j                         n.|j                  D cg c]  }t        j                  |d       c} |r t        j                  |j                         n.|j                  D cg c]  }t        j                  |d       c} t        j                  |j                         ~t        t        j                  j                               D cg c]5  }|j                  d      dk7  rt        j                  j                  |      7 c}  |t               yc c}w c c}w c c}w )a  load pickleable and/or unpickleable types to ``dill.types``

    ``dill.types`` is meant to mimic the ``types`` module, providing a
    registry of object types.  By default, the module is empty (for import
    speed purposes). Use the ``load_types`` function to load selected object
    types to the ``dill.types`` module.

    Args:
        pickleable (bool, default=True): if True, load pickleable types.
        unpickleable (bool, default=True): if True, load unpickleable types.

    Returns:
        None
    r   )reloadr   )_objectsNType)	importlibr.    r/   objectsupdatesucceedspopfailures
registeredlisttypes__dict__keysfind)
pickleableunpickleabler.   r/   objs        H/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dill/__init__.py
load_typesrC   6   s     !x(()*2*;*;<3S	<x(()*2*;*;<3S	<NN8&&'(,U^^-@-@-B(C 8 # 0B 6 ^^ 8 5M 	= 	=8s   E E6:E
c                 6    ddl m}m} | r |        y |        y)a  add (or remove) dill types to/from the pickle registry

    by default, ``dill`` populates its types to ``pickle.Pickler.dispatch``.
    Thus, all ``dill`` types are available upon calling ``'import pickle'``.
    To drop all ``dill`` types from the ``pickle`` dispatch, *use_dill=False*.

    Args:
        use_dill (bool, default=True): if True, extend the dispatch table.

    Returns:
        None
    r   )_revert_extension_extendN)_dillrE   rF   )use_dillrE   rF   s      rB   extendrI   X   s     2
 

    c                  "    t        t               y)zprint licenseN)printr    rJ   rB   licenserN   m   s    	;
rJ   c                  (    t        t        dd        y)zprint citationiiN)rL   r   rM   rJ   rB   citationrP   r   s    	74
rJ   )TT)T)<__info__r   r   r   r   ossyspathdirnameabspath__file__parentappendversionr   r	   joinrG   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%   r3   r&   r'   r)   r*   r+   tracer4   r,   r;   rC   rI   rN   rP   rM   rJ   rB   <module>r]      s  =GG       4 3  U 
   D$ 
M=WW__RWW__RWW__X-FGHFHHOOF> >"277<<	#BCK;&KV[ ABG
C)+<s   B CE