a oe @sz ddlTWneyddlmZmZmZmZddlmZddl m Z ddl Z ddl Z ddl Z dZdZdZdZd Zd Zd Zd Zd ZdZddZdddZdddZYn0dS))*) acquire_lock release_lock is_builtin is_frozen)_load) machineryN cCs<ddtjD}ddtjD}ddtjD}|||S)NcSsg|]}|dtfqSrb) C_EXTENSION.0sr4C:\Program Files\Certbot\pkgs\cffi\_imp_emulation.py !sz get_suffixes..cSsg|]}|dtfqS)r) PY_SOURCErrrrr#cSsg|]}|dtfqSr) PY_COMPILEDrrrrr$r)rEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXES) extensionssourcebytecoderrr get_suffixes s r%c Cst|tstdt|n$t|tdtfsBtdt||durt|rbddddtffSt |rzddddt ffSt j }|D]}t j ||}dtjdfD]>}d|}t j ||}t j |rd|ddtffSqtD]2\}}}||} t j || }t j |rq qqq4qt||dd} d|vr~t|d  } t| jd} Wdn1st0Yt||| d } | ||||ffS) Nz'name' must be a str, not {}z%'path' must be None or a list, not {}z.pyr__init__)namebr)encoding) isinstancestr TypeErrorformattypelist RuntimeErrorr C_BUILTINr PY_FROZENsyspathosjoinrr!isfile PKG_DIRECTORYr% ImportErroropentokenizedetect_encodingreadline) r(r5entryZpackage_directorysuffixZpackage_file_nameZ file_pathmodetype_ file_namer*filerrr find_module'sB      0rEcCs$t||}tj|||d}t|S)N)r(loaderorigin)rExtensionFileLoader ModuleSpecr)r(r5rDrFspecrrr load_dynamicPs rK)N)N)impr:_imprrrrZimportlib._bootstrapr importlibrr6r4r<Z SEARCH_ERRORrrrZ PY_RESOURCEr9r2r3ZPY_CODERESOURCEZIMP_HOOKr%rErKrrrrs*     )