
    z%ib2                     ~   	 d dl Z d dlZd dlZd dlZd dlZddgZ ee       Z G d de	      Z
 G d de	      Z	 	 	 ddZ	 	 	 dd	Zefd
Z G d de      ZddZ	 	 ddZefdZd ZddZedk(  rM ee j2                        dk  r ede j6                         ye j2                  d =  ee j2                  d           yy)    N
run_modulerun_pathc                        e Zd Z	 d Zd Zd Zy)_TempModulec                 @    || _         t        |      | _        g | _        y N)mod_name
ModuleTypemodule_saved_moduleselfr	   s     9/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/runpy.py__init__z_TempModule.__init__   s      *    c                     | j                   }	 | j                  j                  t        j                  |          | j                  t        j                  |<   | S # t
        $ r Y *w xY wr   )r	   r   appendsysmodulesKeyErrorr   r   s     r   	__enter__z_TempModule.__enter__!   sZ    ==	%%ckk(&;< !%H  		s   ,A 	A%$A%c                     | j                   r2| j                   d   t        j                  | j                  <   g | _         y t        j                  | j                  = g | _         y Nr   )r   r   r   r	   r   argss     r   __exit__z_TempModule.__exit__*   sL    )-););A)>CKK&   DMM*r   N__name__
__module____qualname__r   r   r    r   r   r   r      s    M 
 r   r   c                       e Zd Zd Zd Zd Zy)_ModifiedArgv0c                 >    || _         t               x| _        | _        y r   )valueobject_saved_value	_sentinel)r   r%   s     r   r   z_ModifiedArgv0.__init__2   s    
-3X5DNr   c                     | j                   | j                  urt        d      t        j                  d   | _         | j
                  t        j                  d<   y )NzAlready preserving saved valuer   )r'   r(   RuntimeErrorr   argvr%   )r   s    r   r   z_ModifiedArgv0.__enter__6   sA    DNN2?@@HHQKjjr   c                 `    | j                   | _        | j                  t        j                  d<   y r   )r(   r%   r'   r   r+   r   s     r   r   z_ModifiedArgv0.__exit__<   s     ^^
''r   Nr   r!   r   r   r#   r#   1   s    6!(r   r#   c           	          	 ||j                  |       |d }|}d }	n2|j                  }|j                  }|j                  }	||j                  }|j                  |||	d |||       t        | |       |S )N)r   __file__
__cached____doc__
__loader____package____spec__)updateloaderorigincachedparentexec)
coderun_globalsinit_globalsr	   mod_specpkg_namescript_namer5   fnamer7   s
             r   	_run_coderA   A   s     4<(H("'$*!%$*%-"*  , 	{r   c                 0   	 ||n|j                   }t        |      5 }t        |      5  |j                  j                  }t        | ||||||       d d d        d d d        j                         S # 1 sw Y   !xY w# 1 sw Y   j                         S xY wr   )r6   r   r#   r   __dict__rA   copy)	r:   r<   r	   r=   r>   r?   r@   temp_modulemod_globalss	            r   _run_module_coderG   [   s     @#+KE	X	 =+~e/D =!((11$\Hh	== = = = = s"   A=(A1A=1A:	6A==Bc           	         | j                  d      r |d      | j                  d      \  }}}|rc	 t        |       t
        j                  j                  |       }|6t        |d      s*ddl	m
} dj                  | |      } |t        |             	 t        j                  j                  |       }| |d| z        |j,                  0| dk(  s| j'                  d      r |d      	 | dz   }
t/        |
|      S |j0                  }| |d| z        	 |j3                  |       }| |d| z        | ||fS # t        $ rE}|j                  -|j                  |k7  r|j                  |j                  dz         s Y d }~Fd }~ww xY w# t        t         t"        t$        f$ rT}	d}| j'                  d	      r|d
| d d  d|  dz  } ||j                  | t)        |	      j*                  |	            |	d }	~	ww xY w# |$ r&}| t
        j                  vr  ||d| d      d }~ww xY w# t        $ r} |t        |            |d }~ww xY w)N.z#Relative module names not supported__path__r   )warnz{mod_name!r} found in sys.modules after import of package {pkg_name!r}, but prior to execution of {mod_name!r}; this may result in unpredictable behaviour)r	   r>   z:Error while finding module specification for {!r} ({}: {})z.pyz. Try using 'z' instead of 'z' as the module name.zNo module named %s__main__z	.__main__z%Cannot use package as __main__ modulez; z- is a package and cannot be directly executedz0%r is a namespace package and cannot be executedzNo code object available for %s)
startswith
rpartition
__import__ImportErrornamer   r   gethasattrwarningsrK   formatRuntimeWarning	importlibutil	find_specAttributeError	TypeError
ValueErrorendswithtyper   submodule_search_locations_get_module_detailsr5   get_code)r	   errorr>   _eexistingrK   msgspecexpkg_main_namer5   r:   s                r   ra   ra   i   s   39::((-NHa	x  ;;??8,*(E% #FHxFH  $%
I~~''1 |(8344&&2z!X%6%6{%C?@@	G${2M&}e<< [[F~FCKL M 	M&x( |5@AAT4g  	 vv~!&&H"4 ++AFFSL9	& J? I KU#mHSbM? 3 z!68 9CCJJxb):):B?@bHI"  	Gs{{*9:HF G G	G  &F1IA%&s`   D: F ,G; H) :	F:FFG8$AG33G8;H& !H!!H&)	I	2II	c                       e Zd Zy)_ErrorN)r   r   r    r!   r   r   rl   rl      s    Lr   rl   c                 z   	 	 |s| dk7  rt        | t              \  } }}nt        t              \  } }}t        j                  d   j                  }|rj                  t        j                  d<   t        |d d      S # t        $ r4}t        j                  d|}t        j
                  |       Y d }~d }~ww xY w)NrM   z: r   )ra   rl   _get_main_module_detailsr   
executableexitr   rC   r6   r+   rA   )r	   
alter_argvr=   r:   excrg   main_globalss          r   _run_module_as_mainrt      s    Z/':8V'L$Hh'?'G$Hh ;;z*33LooT<+ +  ..#.s   /A= =	B:*B55B:c                 h    	 t        |       \  } }}|| }|rt        ||||      S t        |i |||      S r   )ra   rG   rA   )r	   r<   run_name	alter_sysr=   r:   s         r   r   r      sN    &  38<HhlHhGG r<8DDr   c                 :   d}t         j                  |   }t         j                  |= 	 t        |      |t         j                  |<   S # t        $ r3}|t	        |      v r  | d|dt         j
                  d         | d }~ww xY w# |t         j                  |<   w xY w)NrM   zcan't find z module in r   )r   r   ra   rQ   strpath)rc   	main_name
saved_mainrr   s       r   rn   rn      s    
 IY'JI,"9- ",I  C (#((1+7 8=@A	 ",Is#   
A 	B.A==BB Bc                 z   ddl m} t        j                  j	                  t        j
                  |            }t        j                  |      5 } ||      }d d d        =t        j                  |      5 }t        |j                         |d      }d d d        ||fS ||fS # 1 sw Y   LxY w# 1 sw Y   ||fS xY w)Nr   )	read_coder9   )
pkgutilr~   osrz   abspathfsdecodeio	open_codecompileread)rv   r@   r~   decoded_pathfr:   s         r   _get_code_from_filer      s    !77??2;;u#56L	l	# q||\\,' 	411668UF3D	4;4; 	4;s   	B"6B."B+.B:c           
      :   	 |d}|j                  d      d   }ddlm}  ||       }t        |t	        d             rt        ||       \  }}t        |||||      S t        j                  j                  d|        	 t               \  }}	}t        |      5 }
t        |       5  |
j                  j                  }t        |||||	|      j!                         cd d d        cd d d        	 t        j                  j#                  |        S # t$        $ r Y S w xY w# 1 sw Y   nxY wd d d        n# 1 sw Y   nxY w	 t        j                  j#                  |        y # t$        $ r Y y w xY w# 	 t        j                  j#                  |        w # t$        $ r Y w w xY wxY w)Nz
<run_path>rI   r   )get_importer)r>   r?   )rO   r   r   
isinstancer_   r   rG   r   rz   insertrn   r   r#   r   rC   rA   rD   remover]   )	path_namer<   rv   r>   r   importerr:   r@   r	   r=   rE   rF   s               r   r   r     s    ""3'*H$I&H(DJ' *(I>elH)1uF 	F
 	9%	 (@'A$HhX& I+	*I)0099 {L$,hBBF$&	I I I	* I I I I I	* 	* s   =E) D-"4D	D-	E) )D			DDD!	D-$	E) -D62E) :E 	E&%E&)F+F
F	FFFFrM      z!No module specified for execution)file)NNNNN)T)NNF)NN)r   importlib.machineryrX   importlib.utilr   r   __all__r_   r
   r&   r   r#   rA   rG   rQ   ra   	Exceptionrl   rt   r   rn   r   r   r   lenr+   printstderrr!   r   r   <module>r      s       	 	 *
 #Y
 &  .(V (  /3&*)-4 )-,0/3 )4 ; zMY M+8 '+(-E< $/ ,&
/d z
388}q1

CHHQKCHHQK( r   