
    g
                     8    d dl Z d Zd Z G d d      Zd Zd Zy)    Nc                 `    ddl m}  |di | }|j                          |j                          y)z3Initialize viztracer's profiler in worker processesr   )	VizTracerN )	viztracerr   register_exitstart)init_kwargsr   tracers      W/var/www/openai/venv/lib/python3.12/site-packages/joblib/externals/loky/initializers.py_viztracer_initr      s'    #%%F

LLN    c                      	 dd l } | j                         }| t        |dd      rt        |j                  ffS y# t
        $ r Y yt        $ r"}t        j                  d|        Y d }~yd }~ww xY w)Nr   enableFz&Unable to introspect viztracer state: Nr   )	r   
get_tracergetattrr   r	   ImportError	Exceptionwarningswarn)r   r
   es      r   (_make_viztracer_initializer_and_initargsr      s    D%%''&(E"B #V%7%7$999   
 	  D 	>qcBCC	Ds   59 	A.A.A))A.c                       e Zd ZdZd Zd Zy)_ChainedInitializerzCompound worker initializer

    This is meant to be used in conjunction with _chain_initializers to
    produce  the necessary chained_args list to be passed to __call__.
    c                     || _         y N)_initializers)selfinitializerss     r   __init__z_ChainedInitializer.__init__'   s
    )r   c                 J    t        | j                  |      D ]
  \  }} ||   y r   )zipr   )r   chained_argsinitializerargss       r   __call__z_ChainedInitializer.__call__*   s'    !$T%7%7!FK "Gr   N)__name__
__module____qualname____doc__r    r&   r   r   r   r   r       s    *r   r   c                     g }g }| D ]*  \  }}|	|j                  |       |j                  |       , |syt        |      dk(  r
|d   |d   fS t        |      |fS )zyConvenience helper to combine a sequence of initializers.

    If some initializers are None, they are filtered out.
    r      r   )appendlenr   )initializer_and_argsfiltered_initializersfiltered_initargsr$   initargss        r   _chain_initializersr3   /   s    
 !5X"!((5$$X. "6
 !	"	#q	($Q'):1)==="#89;LLLr   c                 f    | t        |       st        d|       t        | |ft               g      S )Nz%initializer must be a callable, got: )callable	TypeErrorr3   r   )r$   r2   s     r   _prepare_initializerr7   C   sH    x'<3K?C
 	
 (#46	
 r   )r   r   r   r   r3   r7   r   r   r   <module>r8      s'    & M(r   