0 #ˆl–ß=¿JJj"Tâ� Áãm)‹FÿÀ ƒh¹¿ÃÂ0x3E8 $ˆl–äY>” je¶…8 Cq§nµ1hßÁ „›yÿÀÄÃ1-a ´i‰Nã @s¾dZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z gd¢Z ddd„Z dddddd œd d „Zdddddd œdd„Zddd„Zdd„Zedkrºeeƒ ƒZe e¡dS)aæModule/script to byte-compile all .py files to .pyc files. When called as a script with arguments, this compiles the directories given as arguments recursively; the -l option prevents it from recursing into directories. Without arguments, if compiles all modules on sys.path, without recursing into subdirectories. (Even though it should do so for packages -- for now, you'll have to deal with packages separately.) See module py_compile for details of the actual byte-compilation. éN)Úpartial)ÚPath)Ú compile_dirÚ compile_fileÚ compile_pathccsú|dkrt|tjƒrt |¡}|s0td |¡ƒzt |¡}Wn,tyj|dkrbtd |¡ƒg}Yn0| ¡|D]|}|dkr†qxtj   ||¡}tj   |¡s¨|Vqx|dkrx|tj krx|tj krxtj   |¡rxtj  |¡sxt||d|d�EdHqxdS)NézListing {!r}...zCan't list {!r}Ú __pycache__ré)Ú maxlevelsÚquiet)Ú isinstanceÚosÚPathLikeÚfspathÚprintÚformatÚlistdirÚOSErrorÚsortÚpathÚjoinÚisdirÚcurdirÚpardirÚislinkÚ _walk_dir)Údirr r ÚnamesÚnameÚfullname©r ú"/usr/lib64/python3.9/compileall.pyrs2     ÿ ÿ ÿrFéÿÿÿÿr ©ÚstripdirÚ prependdirÚ limit_sl_destÚhardlink_dupesc CsNd}|dur$| dus| dur$tdƒ‚|dur8|} |} d}|dkrHtdƒ‚|dkrxzddlm}Wntyvd}Yn0|durˆt ¡}t|||d�}d}|dk�r|du�r|p´d}||d ��D}| tt ||||||| | | | | d � |¡}t |dd �}Wdƒn1�s 0Yn2|D],}t |||||||| | | | | d � �sd }�q|S)aÞByte-compile all modules in the given directory tree. Arguments (only dir is required): dir: the directory to byte-compile maxlevels: maximum recursion level (default `sys.getrecursionlimit()`) ddir: the directory that will be prepended to the path to the file as it is compiled into each byte-code file. force: if True, force compilation, even if timestamps are up-to-date quiet: full output with False or 0, errors only with 1, no output with 2 legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: int or list of optimization levels or -1 for level of the interpreter. Multiple levels leads to multiple compiled files each with one optimization level. workers: maximum number of parallel workers invalidation_mode: how the up-to-dateness of the pyc will be checked stripdir: part of path to left-strip from source file path prependdir: path to prepend to beginning of original file path, applied after stripdir limit_sl_dest: ignore symlinks if they are pointing outside of the defined path hardlink_dupes: hardlink duplicated pyc files NúPDestination dir (ddir) cannot be used in combination with stripdir or prependdirrz%workers must be greater or equal to 0r )ÚProcessPoolExecutor)r r T)Ú max_workers) ÚddirÚforceÚrxr ÚlegacyÚoptimizeÚinvalidation_moder$r%r&r')Údefaultr#F) Ú ValueErrorÚconcurrent.futuresr)Ú ImportErrorÚsysÚgetrecursionlimitrÚmaprrÚmin)rr r+r,r-r r.r/Úworkersr0r$r%r&r'r)ÚfilesÚsuccessÚexecutorÚresultsÚfiler r r!r0sX   ÷ ö . ürc& Cs„|dur |dus| dur tdƒ‚d} |dkrBt|tjƒrBt |¡}tj |¡} d}|durhtj || ¡}|durÆ| tjj ¡}| tjj ¡}t |ƒ}t ||ƒD]\}}||krž|  |¡qžtjj|Ž}|