
    daf                         	 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Zd dlZg dZ	 G d de
      Z G d de j                        Zd Z	 	 ddZd	 Zed
k(  r e        yy)    N)compilemainPyCompileErrorPycInvalidationModec                       e Zd Z	 ddZd Zy)r   c                 ,   |j                   }|t        u r;dj                  t        j                  ||            }|j                  dd|z        }nd|d|}t        j                  | |xs ||||       || _        || _	        || _
        |xs || _        y )N zFile "<string>"z	File "%s"zSorry: z: )__name__SyntaxErrorjoin	tracebackformat_exception_onlyreplace	Exception__init__exc_type_name	exc_valuefilemsg)selfexc_typer   r   r   r   tbtexterrmsgs           %/root/Python-3.12.4/Lib/py_compile.pyr   zPyCompileError.__init__.   s     )){"WWY<<)% &F^^$5{T7IJF #
 )6i@F4vmIdK*"	=&    c                     | j                   S )N)r   )r   s    r   __str__zPyCompileError.__str__>   s    xxr   N)r	   )r
   
__module____qualname__r   r    r   r   r   r      s    6! r   r   c                       e Zd ZdZdZdZy)r            N)r
   r   r   	TIMESTAMPCHECKED_HASHUNCHECKED_HASHr    r   r   r   r   B   s    ILNr   r   c                      t         j                  j                  d      rt        j                  S t        j
                  S )NSOURCE_DATE_EPOCH)osenvirongetr   r&   r%   r    r   r   _get_default_invalidation_moder-   H   s+    	zz~~)*"///",,,r   c                    	 |
t               }|O|dk\  r+|dk\  r|nd}t        j                  j                  | |      }nt        j                  j                  |       }t        j
                  j                  |      rd}t        |j                  |            t        j
                  j                  |      r;t        j
                  j                  |      sd}t        |j                  |            t        j                  j                  d|       }	|	j                  |       }
	 |	j                  |
|xs | |      }	 t        j
                  j-                  |      }|rt	        j.                  |       |t0        j2                  k(  r9|	j5                  |       }t        j6                  j9                  ||d   |d         }nQt        j                  j;                  |
      }t        j6                  j=                  |||t0        j>                  k(        }t        j6                  jA                  |       }t        j6                  jC                  |||       |S # t        $ rZ}t!        |j"                  ||xs |       }|d	k  r0|r|t$        j&                  j)                  |j*                  d
z          Y d }~y d }~ww xY w# t        $ r Y Qw xY w)Nr   r"   r	   )optimizationzc{} is a symlink and will be changed into a regular file if import writes a byte-compiled file to itzk{} is a non-regular file and will be changed into a regular one if import writes a byte-compiled file to itz<py_compile>)	_optimizer#   
mtimesize)"r-   	importlibutilcache_from_sourcer*   pathislinkFileExistsErrorformatexistsisfile	machinerySourceFileLoaderget_datasource_to_coder   r   	__class__sysstderrwriter   dirnamemakedirsr   r%   
path_stats_bootstrap_external_code_to_timestamp_pycsource_hash_code_to_hash_pycr&   
_calc_mode_write_atomic)r   cfiledfiledoraiseoptimizeinvalidation_modequietr/   r   loadersource_bytescodeerrpy_excrE   source_statsbytecoderJ   modes                      r   r   r   O   sd   *V  :<}q='/1}8"LNN44TBN 5 PE NN44T:E	ww~~e:cjj/00		rww~~e'<Acjj/00  11.$GF??4(L
$$\5=D/7 % 9''//%(KK  /999((.00GG,w'f)=?  nn00>00BB"5"B"BB

 ((33D9D!!//xFL7  sEMTB19

  d!23  s+   &I ?6J: 	J7AJ22J7:	KKc                     dd l } d}| j                  |      }|j                  dddd       |j                  d	d
d       |j                         }|j                  dgk(  r;t
        j                  j                         D cg c]  }|j                  d       }}n|j                  }|D ]  }	 t        |d        y c c}w # t        $ rD}|j                  r|j                  d       n|j                  d|j                         Y d }~ad }~wt        $ rC}|j                  r|j                  d       n|j                  dt        |             Y d }~d }~ww xY w)Nr   z6A simple command-line interface for py_compile module.)descriptionz-qz--quiet
store_truezSuppress error output)actionhelp	filenames+zFiles to compile)nargsr`   -r1   T)rP   r"   )argparseArgumentParseradd_argument
parse_argsra   rB   stdin	readlinesrstripr   r   rS   exitr   OSErrorstr)re   r]   parserargsfilenamera   errors          r   r   r      s2   JK$$$=F
i$  
   
 D~~#;>99;N;N;PQxX__T*Q	QNN	 +	+Hd++ R  	*zzAAuyy) 	+zzAAs5z*		+s*   B?/C	E:DE9EE__main__)NNFNr   )enumimportlib._bootstrap_externalr4   importlib.machineryimportlib.utilr*   os.pathrB   r   __all__r   r   Enumr   r-   r   r   r
   r    r   r   <module>r|      sv   
  $   	  
 
F-Y -`$)) - CE*+^B +F zF r   