<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]y-                 @   sT  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	 d d d d d	 d
 d d d d d d d d d g Z
 d  Z d Z d Z d Z d Z d Z d Z d a d a d d   Z d d   Z d d   Z d d   Z d d	   Z d d  d
  Z d! d   Z e j   Z e j   Z d" d#   Z d$ d   Z  i  Z! e j   Z" Gd% d   d e#  Z$ d d& d'  Z% d( d   Z& d a' e e e% e	 j( e	 j) d) d*  Z* e j+ e*  Gd+ d   d e#  Z, Gd, d   d e j-  Z. y e  j/ d-  Z0 Wn e1 k
 r+d. Z0 Yn Xd/ d   Z2 d0 d1   Z3 d2 d3   Z4 d S)4    N)_args_from_interpreter_flags   )process	sub_debugdebuginfosub_warning
get_loggerlog_to_stderrget_temp_dirregister_after_fork
is_exitingFinalizeForkAwareThreadLockForkAwareLocalclose_all_fds_exceptSUBDEBUG
SUBWARNING   
         multiprocessingz+[%(levelname)s/%(processName)s] %(message)sFc             G   s   t  r t  j t |  |  d  S)N)_loggerlogr   )msgargs r   )/opt/alt/python35/lib64/python3.5/util.pyr   ,   s    c             G   s   t  r t  j t |  |  d  S)N)r   r   DEBUG)r   r   r   r   r   r   0   s    c             G   s   t  r t  j t |  |  d  S)N)r   r   INFO)r   r   r   r   r   r   4   s    c             G   s   t  r t  j t |  |  d  S)N)r   r   r   )r   r   r   r   r   r   8   s    c           
   C   s   d d  l  }  |  j   z t s |  j t  a d t _ t t d  rc t j t	  t j
 t	  n2 t j j t	 f  i  f  t j j t	 f  i  f  Wd  |  j   Xt S)Nr   
unregister)logging_acquireLockr   	getLoggerLOGGER_NAME	propagatehasattratexitr!   _exit_functionregister_exithandlersremoveappend_releaseLock)r"   r   r   r   r	   <   s    
	c             C   sg   d d  l  } t   } | j t  } | j   } | j |  | j |  |  r] | j |   d a t	 S)Nr   T)
r"   r	   	FormatterDEFAULT_LOGGING_FORMATStreamHandlersetFormatter
addHandlersetLevel_log_to_stderrr   )levelr"   logger	formatterhandlerr   r   r   r
   W   s    	c              C   s   t  j   j j d  }  |  d  k r d d  l } d d  l } | j d d  }  t d |   t d  | j	 d |  g d d	 |  t  j   j d <|  S)
Ntempdirr   prefixzpymp-zcreated temp directory %sr   exitpriorityd   i)
r   current_process_configgetshutiltempfilemkdtempr   r   rmtree)r:   rA   rB   r   r   r   r   m   s    c              C   s   t  t j    }  |  j   x` |  D]X \ \ } } } } y | |  Wq# t k
 rz } z t d |  WYd  d  } ~ Xq# Xq# Wd  S)Nz after forker raised exception %s)list_afterfork_registryitemssort	Exceptionr   )rG   indexidentfuncobjer   r   r   _run_after_forkers   s    
rO   c             C   s#   |  t  t t  t |   | f <d  S)N)rF   next_afterfork_counterid)rM   rL   r   r   r   r      s    c               @   sd   e  Z d  Z f  d d d d  Z d e e e j d d  Z d d   Z	 d d	   Z
 d
 d   Z d S)r   Nc             C   sz   | d  k	 r$ t  j | |   |  _ n  | |  _ | |  _ | p? i  |  _ | t t  f |  _ t	 j
   |  _ |  t |  j <d  S)N)weakrefref_weakref	_callback_args_kwargsrP   _finalizer_counter_keyosgetpid_pid_finalizer_registry)selfrM   callbackr   kwargsr<   r   r   r   __init__   s    		zFinalize.__init__c             C   s   y | |  j  =Wn t k
 r, | d  Yn X|  j |   k rR | d  d  } n4 | d |  j |  j |  j  |  j |  j |  j   } d  |  _ |  _ |  _ |  _ |  _  | Sd  S)Nzfinalizer no longer registeredz+finalizer ignored because different processz/finalizer calling %s with args %s and kwargs %s)rZ   KeyErrorr]   rV   rW   rX   rU   )r_   wrr^   r   r\   resr   r   r   __call__   s    
	%zFinalize.__call__c             C   sL   y t  |  j =Wn t k
 r" Yn& Xd  |  _ |  _ |  _ |  _ |  _ d  S)N)r^   rZ   rc   rU   rV   rW   rX   )r_   r   r   r   cancel   s
    zFinalize.cancelc             C   s   |  j  t k S)N)rZ   r^   )r_   r   r   r   still_active   s    zFinalize.still_activec             C   s   y |  j    } Wn t t f k
 r0 d  } Yn X| d  k rK d |  j j Sd |  j j t |  j d |  j  f } |  j r | d t |  j  7} |  j	 r | d t |  j	  7} |  j
 d d  k	 r | d t |  j
 d  7} | d S)	Nz<%s object, dead>z<%s object, callback=%s__name__z, args=z	, kwargs=r   z, exitprority=>)rU   AttributeError	TypeError	__class__ri   getattrrV   rW   strrX   rZ   )r_   rM   xr   r   r   __repr__   s     			zFinalize.__repr__)ri   
__module____qualname__rb   r^   r   r[   r\   rf   rg   rh   rq   r   r   r   r   r      s   c                s   t  d  k r d  S d  k r+ d d     n  f d d       f d d   t t   D } | j d d  xl | D]d } t  j |  } | d  k	 rs t d |  y |   Wqs t k
 r d	 d  l } | j   Yqs Xqs W d  k r t  j   d  S)
Nc             S   s   |  d d  k	 S)Nr   r   )pr   r   r   <lambda>   s    z!_run_finalizers.<locals>.<lambda>c                s   |  d d  k	 o |  d   k S)Nr   r   )rt   )minpriorityr   r   ru      s    c                s"   g  |  ] }   |  r |  q Sr   r   ).0key)fr   r   
<listcomp>   s   	 z#_run_finalizers.<locals>.<listcomp>reverseTz
calling %sr   )	r^   rE   rH   r@   r   rI   	traceback	print_excclear)rv   keysrx   	finalizerr|   r   )ry   rv   r   _run_finalizers   s$    r   c               C   s   t  p t  d  k S)N)_exitingr   r   r   r   r     s    c             C   s   t  s d a  |  d  | d  | d  |   d  k	 r x7 |   D], } | j rC |  d | j  | j j   qC Wx+ |   D]  } |  d | j  | j   q} W| d  |   d  S)NTzprocess shutting downz2running all "atexit" finalizers with priority >= 0r   z!calling terminate() for daemon %szcalling join() for process %sz)running the remaining "atexit" finalizers)r   daemonname_popen	terminatejoin)r   r   r   active_childrenr>   rt   r   r   r   r)     s    	


	
r)   c               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
r   c             C   s   |  j    t |  t j   d  S)N)_resetr   r   )r_   r   r   r   rb   K  s    
zForkAwareThreadLock.__init__c             C   s1   t  j   |  _ |  j j |  _ |  j j |  _ d  S)N)	threadingLock_lockacquirerelease)r_   r   r   r   r   O  s    zForkAwareThreadLock._resetc             C   s   |  j  j   S)N)r   	__enter__)r_   r   r   r   r   T  s    zForkAwareThreadLock.__enter__c             G   s   |  j  j |   S)N)r   __exit__)r_   r   r   r   r   r   W  s    zForkAwareThreadLock.__exit__N)ri   rr   rs   rb   r   r   r   r   r   r   r   r   J  s   c               @   s(   e  Z d  Z d d   Z d d   Z d S)r   c             C   s   t  |  d d    d  S)Nc             S   s   |  j  j   S)N)__dict__r~   )rM   r   r   r   ru   ]  s    z)ForkAwareLocal.__init__.<locals>.<lambda>)r   )r_   r   r   r   rb   \  s    zForkAwareLocal.__init__c             C   s   t  |   f  f S)N)type)r_   r   r   r   
__reduce__^  s    zForkAwareLocal.__reduce__N)ri   rr   rs   rb   r   r   r   r   r   r   [  s   SC_OPEN_MAX   c             C   se   t  |   d t g }  |  j   x> t t |   d  D]& } t j |  | d |  | d  q7 Wd  S)Nr   )rE   MAXFDrH   rangelenr[   
closerange)fdsir   r   r   r   j  s    
c              C   s   t  j d  k r d  Sy t  j j   Wn t t f k
 r> Yn XyP t j t j t j  }  y t |  d d t  _ Wn t j |     Yn XWn t t f k
 r Yn Xd  S)NclosefdF)	sysstdincloseOSError
ValueErrorr[   opendevnullO_RDONLY)fdr   r   r   _close_stdint  s    r   c             C   s   d d  l  } t t t t |    } t j   \ } } zM | j | t j |   g d | d  d  d d d d d	 d
 | | d d d   SWd  t j	 |  t j	 |  Xd  S)Nr   Tr   Fr   r   r   r   r   r   )
_posixsubprocesstuplesortedmapintr[   pipe	fork_execfsencoder   )pathr   passfdsr   errpipe_readerrpipe_writer   r   r   spawnv_passfds  s    r   )5r[   	itertoolsr   rS   r(   r   
subprocessr    r   __all__NOTSETr   r   r    r   r%   r0   r   r5   r   r   r   r   r	   r
   r   WeakValueDictionaryrF   countrQ   rO   r   r^   rY   objectr   r   r   r   r   r>   r)   r*   r   localr   sysconfr   rI   r   r   r   r   r   r   r   <module>
   sd   		S,	(

