
    uki	                         d dl Z d dlZd dlZd dlmZ 	 d dlZd dlmZ  ej                  ej                  d      dedefd       Z ej                  ej                  d	      d
edefd       Zy# e$ r dZY bw xY w)    N)Any)profilerzpickle_util.dumpsnameobjreturnc                     t         t        d       G d dt         j                        }t        j                         5 } ||      j                  |        |j                         cddd       S # 1 sw Y   yxY w)zBSee `pickle.dumps`. Used for serializing host callbacks in jaxlib.NNo module named "cloudpickle"c                       e Zd ZdZej
                  j                  j                         Zd eej                  <   d eej                  <   d eej                  <    eed      rd eej                  <   yy)dumps.<locals>.Picklerz'Customizes the behavior of cloudpickle.c                     | j                    S )Nr   )xs    O/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jax/_src/pickle_util.py<lambda>zdumps.<locals>.Pickler.<lambda>,   s    166(     c                      y)NMISSING _s    r   r   zdumps.<locals>.Pickler.<lambda>-       r   c                      y)N_HAS_DEFAULT_FACTORYr   r   s    r   r   zdumps.<locals>.Pickler.<lambda>/   r   r   _KW_ONLY_TYPEc                      y)Nr   r   r   s    r   r   zdumps.<locals>.Pickler.<lambda>3   r   r   N)__name__
__module____qualname____doc__cloudpickleCloudPicklerdispatch_tablecopydataclasses_FIELD_BASE_MISSING_TYPE_HAS_DEFAULT_FACTORY_CLASShasattrr   r   r   r   Picklerr   "   s{    1 !--<<AACN /DN;**+0CN;,,-( ;99: {O,
# [../ -r   r)   )r    ModuleNotFoundErrorr!   ioBytesIOdumpgetvalue)r   r)   files      r   dumpsr0      se     
=
>>(( , 
zz| tDMs==?  s   'A00A9zpickle_util.loadsdatac                 N    t         t        d      t        j                  |       S )zSee `pickle.loads`.r
   )r    r*   loads)r1   s    r   r3   r3   =   s'     
=
>>			4	  r   )r$   	functoolsr+   typingr   r    ImportErrorjax._srcr   partialannotate_functionbytesr0   r3   r   r   r   <module>r;      s      	   8--4GHs u  I@ 8--4GH! !# ! I!Q  +s   A1 1A;:A;