
    Ug                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 i Zd Zd Z G d d          Z e e e            j                  e            e eej                  e            eed          s7d	 Z e eej                  e            e eej                  e           d
 Zd Z eej        e           ej        dk    rddlmZ nddlmZ 	 d dl m!Z! dZ"n# e#$ r dZ"Y nw xY wej$        %                    de"          Z&da'da(ddZ)d Z*d Z+ e)             ddZ,ddZ-g dZ.ej        dk    rd dl/m0Z0 e.dgz  Z.dS dS )    N)util)loadsHIGHEST_PROTOCOLc                     |t           | <   d S N)_dispatch_table)type_reduce_functions     f/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/joblib/externals/loky/backend/reduction.pyregisterr      s    ,OE    c                 x    | j         t          | j        | j        j        ffS t          | j         | j        j        ffS r   )__self__getattr	__class____func____name__ms    r   _reduce_methodr   $   s8    zaj&9:::QZ%8999r   c                   *    e Zd Zd Zed             ZdS )_Cc                     d S r    )selfs    r   fz_C.f,   s    r   c                     d S r   r   )clss    r   hz_C.h/   s    r   N)r   
__module____qualname__r   classmethodr   r   r   r   r   r   +   s>             [  r   r   pypy_version_infoc                 ,    t           | j        | j        ffS r   )r   __objclass__r   r   s    r   _reduce_method_descriptorr&   :   s    444r   c                 <    t           | j        | j        | j        pi ffS r   )_rebuild_partialfuncargskeywords)ps    r   _reduce_partialr-   B   s    afafaj.>B???r   c                 ,    t          j        | g|R i |S r   )	functoolspartial)r)   r*   r+   s      r   r(   r(   F   s#    T5D555H555r   win32   )_mk_inheritable)_win_reduction)cloudpickler5   pickleLOKY_PICKLERc                    | t           } d | dv rd} | t          k    rd S | dk    rddlm ns	 ddlm}  ||           }|j        nY# t          t          f$ rE}d|  d}|j	        d         |z   f|j	        dd          z   |_	        |j	        d         |_
        |d }~ww xY wt          j        d	| r| nd d
            G fdd          }|a| ad S )N) Nr5   r   )CloudPickler)import_modulez4
This error occurred while setting loky_pickler to 'zQ', as required by the env variable LOKY_PICKLER or the function set_loky_pickler.r2   zUsing 'z' for serialization.c                   0    e Zd Z Zd Zdef fd	Zd ZdS )-set_loky_pickler.<locals>.CustomizablePicklerc                     | j                                         D ]E}t          |dd           }t          |t          j                  r|                    | |            nF|| _        d S )Ndispatch_table)_loky_pickler_clsmror   
isinstancetypesMemberDescriptorType__set__r?   )r   r?   ancestor_classdt_attributes       r   _set_dispatch_tablezAset_loky_pickler.<locals>.CustomizablePickler._set_dispatch_table   sy    "&"8"<"<">">  &~7GNNlE,FGG  !((~>>>E  #1Dr   Nc                                         | ||           |i }t          | d          rt          | j                  }nt          j                                        }|                    t                     |                     |           |	                                D ]\  }}| 
                    ||           d S )N)protocolr?   )__init__hasattrdictr?   copyregcopyupdater   rH   itemsr   )r   writerreducersrJ   loky_dttypereduce_funcloky_pickler_clss          r   rK   z6set_loky_pickler.<locals>.CustomizablePickler.__init__   s    %%dFX%FFFt-.. 8 t233 "05577 NN?+++ $$W--- &.^^%5%5 1 1!kdK00001 1r   c                     || j         |<   dS )z@Attach a reducer function to a given type in the dispatch table.N)r?   )r   rU   rV   s      r   r   z6set_loky_pickler.<locals>.CustomizablePickler.register   s    (3D%%%r   )r   r    r!   r@   rH   r   rK   r   )rW   s   r   CustomizablePicklerr=      s_        ,	1 	1 	1* -1;K 	1 	1 	1 	1 	1 	14	4 	4 	4 	4 	4r   rY   )ENV_LOKY_PICKLER_loky_pickler_namejoblib.externals.cloudpickler:   	importlibr;   PicklerImportErrorAttributeErrorr*   msgr   debug_LokyPickler)loky_picklerr;   module_picklee
extra_inforY   rW   s         @r   set_loky_picklerrh   _   s    ' z!!$)))}$$QQQQQQQ	//////)M,77M,4^, 	 	 	A!A A A 
 fQi*,.;AFF1IAEG	 	J	,A,,M 	 	 	  
44 44 44 44 44 44 44. 44 44 44l 'L%s   A BA BBc                      t           S r   )r[   r   r   r   get_loky_pickler_namerj      s    r   c                      t           S r   )rc   r   r   r   get_loky_picklerrl      s    r   c                 P    t          |||                              |            dS )z1Replacement for pickle.dump() using _LokyPickler.rS   rJ   N)rc   dump)objfilerS   rJ   s       r   ro   ro      s-     8<<<AA#FFFFFr   c                 v    t          j                    }t          | |||           |                                S )Nrn   )ioBytesIOro   	getbuffer)rp   rS   rJ   bufs       r   dumpsrw      s4     *,,CcHx8888==??r   )ro   rw   r   r   rh   )	duplicaterx   r   )NN)1rN   rs   r/   rC   sysosmultiprocessingr   r6   r   r   r   r   r   r   rU   r   r   rL   r&   listappendint__add__r-   r(   r0   platform_posix_reductionr3   r9   r4   joblib.externalsr5   DEFAULT_ENVr_   environgetrZ   rc   r[   rh   rj   rl   ro   rw   __all__multiprocessing.reductionrx   r   r   r   <module>r      s    				      



 				             * * * * * * * *
 - - -: : :        	bbddf~ & & & bd^ $ $ $ ws'(( ;5 5 5 HTT$+ 9:::HTT#+ 9:::@ @ @6 6 6 		O , , ,<71111111      ,,,,,,KK   KKK :>>.+>>  ]& ]& ]& ]&@  
       G G G G    E
D
D<7333333}GGG s   +C4 4C>=C>