�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �%|SWntk rVYnX|sltd j|ytj|| | d|d}Wntjk r}zdd}|dkr|S|rtdj|n tddd|jjtjjdd}|j tjj}t|WYdd}~Xn~t!t"tfk rv}zLd}|dkr2|S|rHtdj|n tdddt|j#j$d|WYdd}~XnX|dkrd}|S)NTrcrr ) optimizationz.pyz<4slrbzCompiling {!r}...)r(Fz*** Error compiling {!r}...z*** )endbackslashreplace)errors:r<)%r rrrrbasenamersearchisfile importlibutilcache_from_sourcedirnameintstatst_mtimestructZpack MAGIC_NUMBERopenreadrrr py_compilecompilePyCompileErrormsgencodesysstdoutencodingdecode SyntaxError UnicodeError __class____name__)r r r%r&r r'r(r0rr!ZmocfileoptZ cache_dirheadtailmtimeZexpectZchandleZactualokerrrNer"r"r#rbsx                  $ c CsXd}xNtjD]D}| s |tjkr6|r6|dkrPtdq |oNt||d||||d}q W|S)NTrzSkipping current directory)r r'r()rPrrrrr)Z skip_curdirr r%r r'r(r0rr"r"r#rs    c Cszddl}|jdd}|jddddddd |jd td d d |jddddd|jdddddd|jddddd|jdddddd|jd d!d"dd#d|jd$d%d&d'd(|jd)d*d+d,d-|jd.d/d0td1d2|j}|j}|jrddl}|j|j|_|j dk r|j }n|j }|j ryJ|j d3kr4t j nt|j $}x|D]}|j|jqFWWdQRXWn2tk r|jd4krtd5j|j d6SX|jdk r|jpd|_d7}y|r4xj|D]b} tjj| rt| |j|j|j|j|js*d6}n*t| ||j|j|j|j|j|jd8sd6}qW|St|j|j|jd9SWn*tk rt|jd4krptd:d6SXd7S);Nrz1Utilities to support installing Python libraries.)Z descriptionz-lZ store_constrr z!don't recurse into subdirectories)actionZconstr)desthelpz-r recursionzhcontrol the maximum recursion level. if `-l` and `-r` options are specified, then `-r` takes precedence.)typerarbz-f store_truer%z/force rebuild even if timestamps are up to date)r`rarbz-qcountr zIoutput only error messages; -qq will suppress the error messages as well.)r`rar)rbz-br'z0use legacy (pre-PEP3147) compiled file locationsz-dZDESTDIRr zdirectory to prepend to file paths for use in compile-time tracebacks and in runtime tracebacks in cases where the source file is unavailable)metavarrar)rbz-xZREGEXPr&zskip files matching the regular expression; the regexp is searched for in the full path of each file considered for compilationz-iZFILEflistzzadd all the files and directories listed in FILE to the list considered for compilation; if "-", names are read from stdin)rgrarb compile_destzFILE|DIR*zrzero or more file and directory names to compile; if no arguments given, defaults to the equivalent of -l sys.path)rgnargsrbz-jz --workersr zRun compileall concurrently)r)rdrb-rzError reading file list {}FT)r.)r'r%r z [interrupted]) argparseArgumentParser add_argumentrD parse_argsrir&rerLrcr rhrPstdinrIappendstriprr rrr.rrr?rr r%r'rrKeyboardInterrupt) rmparserargsZ compile_destsrqr fliner0rar"r"r#mains~             "        rz__main__)Nrr)rNFNrFr|r r|)NFNrFr|r|)r rFrFr|)rrPimportlib.utilr@rKrG functoolsr__all__rrrrrzrWrDZ exit_statusexitr"r"r"r# s"    / R [