o 0¦iRýã@sâ daddlZddlZddlZddlZddlZejdkZer'ddlZ ddl Z nddl Z er2ddgZ ndgZ e dZ ee ƒZd e ¡Z dd„e DƒZdZd ZeeZd d „ZeƒZd d „Zdd„Zdd„Zerkdd„Zndd„Zdd„Zdd„Zdd„Zdd„Zdd„ZerŠdd „Z nd!d „Z dmd#d$„Z!e"e!j#ƒZ$d% %d&d'¡d(Z&e' (e&d'¡Z)d)Z*d*Z+d+gZ,er´e, -d,¡e .¡Z/d-gZ0e0Z1Z2dndd.œd/d0„Z3d1d2„Z4d3d4„Z5d5d6„Z6d7d8„Z7d9d:„Z8d;d<„Z9d=d>„Z:d?d@„Z;dAdB„ZdqdHdI„Z?dJdK„Z@eAƒZBdndeBdLœdMdN„ZCGdOdP„dPƒZDGdQdR„dRƒZEGdSdT„dTeEƒZFGdUdV„dVƒZGGdWdX„dXeGeFƒZHGdYdZ„dZeGeEƒZIGd[d\„d\eGeEƒZJGd]d^„d^ƒZKGd_d`„d`ƒZLGdadb„dbƒZMGdcdd„ddƒZNdndedf„ZOdgdh„ZPdidj„ZQdkdl„ZRdS)rNéZwin32ú\ú/ÚcCsh|]}d|›�’qS)ú:©)Ú.0ÚsrrúD/opt/alt/python310/lib64/python3.10/importlib/_bootstrap_external.pyÚ 2sr )Úwin)ÚcygwinÚdarwincs>tj t¡rtj t¡rd‰nd‰‡fdd„}|Sdd„}|S)NÚ PYTHONCASEOKs PYTHONCASEOKcs tjj o ˆtjvS©N)ÚsysÚflagsÚignore_environmentÚ_osÚenvironr©Úkeyrr Ú _relax_caseCóz%_make_relax_case.._relax_casecSs dS)NFrrrrr rGó)rÚplatformÚ startswithÚ_CASE_INSENSITIVE_PLATFORMSÚ#_CASE_INSENSITIVE_PLATFORMS_STR_KEY)rrrr Ú_make_relax_case<s   ýrcCs t|ƒd@ dd¡S)NìÿÿéÚlittle)ÚintÚto_bytes)Úxrrr Ú _pack_uint32Orr%cCó t |d¡S©Nr!©r"Ú from_bytes©Údatarrr Ú_unpack_uint32Tó r,cCr&r'r(r*rrr Ú_unpack_uint16Yr-r.cGsæ |sdSt|ƒdkr|dSd}g}ttj|ƒD]=\}}| t¡s'| t¡r4| t¡p-|}t |g}q| d¡rM|  ¡|  ¡krG|}|g}q|  |¡q|pP|}|  |¡qdd„|Dƒ}t|ƒdkrl|dsl|t S|t   |¡S)NrérrcSóg|] }|r| t¡‘qSr©ÚrstripÚpath_separators©rÚprrr Ú wsú_path_join..) ÚlenÚmaprÚ_path_splitrootrÚpath_sep_tupleÚendswithr2r3Úpath_sepÚcasefoldÚappendÚjoin)Ú path_partsÚrootÚpathZnew_rootÚtailrrr Ú _path_join`s,     rEcGs t dd„|Dƒ¡S)NcSr0rr1)rÚpartrrr r6€sÿr7)r=r@)rArrr rE~s ÿcsD t‡fdd„tDƒƒ}|dkrdˆfSˆd|…ˆ|dd…fS)Nc3s�|]}ˆ |¡VqdSr)Úrfindr4©rCrr Ú †s€z_path_split..rrr/)Úmaxr3)rCÚirrHr Ú _path_split„s rLcCs t |¡Sr)rÚstatrHrrr Ú _path_statŒs rNcCs2 zt|ƒ}Wn tyYdSw|jd@|kS)NFið)rNÚOSErrorÚst_mode)rCÚmodeÚ stat_inforrr Ú_path_is_mode_type–s  ÿrScCs t|dƒS)Ni€)rSrHrrr Ú _path_isfileŸó rTcCs |st ¡}t|dƒS)Ni@)rÚgetcwdrSrHrrr Ú _path_isdir¤s rWcCs@ |sdSt |¡d dd¡}t|ƒdko| d¡p| d¡S)NFrrrr/z\\)rr:Úreplacer8rr<)rCrBrrr Ú _path_isabs¬s  rYcCs | t¡Sr)rr3rHrrr rY´rUé¶c Cs¬ d |t|ƒ¡}t |tjtjBtjB|d@¡}z$t |d¡� }|  |¡Wdƒn1s0wYt  ||¡WdSt yUzt  |¡W‚t yTY‚ww)Nú{}.{}rZÚwb) ÚformatÚidrÚopenÚO_EXCLÚO_CREATÚO_WRONLYÚ_ioÚFileIOÚwriterXrOÚunlink)rCr+rQÚpath_tmpÚfdÚfilerrr Ú _write_atomic¹s&ÿ ÿ   þþýrjio ér!s Ú __pycache__zopt-z.pyz.pywz.pyc)Ú optimizationc CsR |durt dt¡|durd}t|ƒ‚|rdnd}t |¡}t|ƒ\}}| d¡\}}}tj j } | dur:t dƒ‚d  |r@|n||| g¡} |durWtj jdkrSd}ntj j}t|ƒ}|dkrq| ¡sjtd |¡ƒ‚d  | t|¡} | td} tjdur£t|ƒs‡tt ¡|ƒ}|dd kr™|dtvr™|d d…}ttj| t¡| ƒSt|t| ƒS) NzFthe debug_override parameter is deprecated; use 'optimization' insteadz2debug_override or optimization must be set to Nonerr/Ú.ú$sys.implementation.cache_tag is Nonerz{!r} is not alphanumericz{}.{}{}rrk)Ú _warningsÚwarnÚDeprecationWarningÚ TypeErrorrÚfspathrLÚ rpartitionrÚimplementationÚ cache_tagÚNotImplementedErrorr@rÚoptimizeÚstrÚisalnumÚ ValueErrorr]Ú_OPTÚBYTECODE_SUFFIXESÚpycache_prefixrYrErVr3ÚlstripÚ_PYCACHE) rCÚdebug_overridermÚmessageÚheadrDÚbaseÚsepÚrestÚtagÚalmost_filenameÚfilenamerrr Úcache_from_source|sJÿ        ý r‹c Cs* tjjdur tdƒ‚t |¡}t|ƒ\}}d}tjdur4tj t ¡}|  |t ¡r4|t |ƒd…}d}|sIt|ƒ\}}|t krItt ›d|›�ƒ‚| d¡}|dvrYtd|›�ƒ‚|dkr…| dd ¡d }|  t¡sqtd t›�ƒ‚|t tƒd…}| ¡s…td |›d �ƒ‚| d¡d} t|| tdƒS)NroFTz not bottom-level directory in rn>rkézexpected only 2 or 3 dots in rŒrkéþÿÿÿz5optimization portion of filename does not start with zoptimization level z is not an alphanumeric valuer)rrvrwrxrrtrLrr2r3rr=r8r�r|ÚcountÚrsplitr}r{Ú partitionrEÚSOURCE_SUFFIXES) rCr„Úpycache_filenameÚfound_in_pycache_prefixÚ stripped_pathÚpycacheÚ dot_countrmÚ opt_levelÚ base_filenamerrr Úsource_from_cacheÃs>      ÿ  ÿr™c Cs~ t|ƒdkr dS| d¡\}}}|r| ¡dd…dkr|Szt|ƒ}Wnttfy6|dd…}Ynwt|ƒr=|S|S)NrrnéýÿÿÿéÿÿÿÿÚpy)r8ruÚlowerr™rxr|rT)Ú bytecode_pathr‡Ú_Ú extensionÚ source_pathrrr Ú_get_sourcefileës  ÿr¢cCsD| ttƒ¡rzt|ƒWStyYdSw| ttƒ¡r |SdSr)r<Útupler‘r‹rxr~)rŠrrr Ú _get_cachedþs  ÿr¤cCs4 zt|ƒj}Wn tyd}Ynw|dO}|S)NrZé€)rNrPrO)rCrQrrr Ú _calc_mode s ÿr¦cs6 d‡fdd„ }tdurtj}ndd„}||ˆƒ|S)NcsH|dur|j}n|j|krtd|j|f|d�‚ˆ||g|¢Ri|¤ŽS)Nzloader for %s cannot handle %s©Úname)r¨Ú ImportError)Úselfr¨ÚargsÚkwargs©Úmethodrr Ú_check_name_wrappers ÿÿz(_check_name.._check_name_wrappercSs8dD]}t||ƒrt||t||ƒƒq|j |j¡dS)N)Ú __module__Ú__name__Ú __qualname__Ú__doc__)ÚhasattrÚsetattrÚgetattrÚ__dict__Úupdate)ÚnewÚoldrXrrr Ú_wrap+s  €z_check_name.._wrapr)Ú _bootstrapr»)r®r¯r»rr­r Ú _check_names  r½cCsJ t dt¡| |¡\}}|dur#t|ƒr#d}t | |d¡t¡|S)NzZfind_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadz,Not importing directory {}: missing __init__r)rprqrrÚ find_loaderr8r]Ú ImportWarning)rªÚfullnameÚloaderÚportionsÚmsgrrr Ú_find_module_shim5sþrÄcCs¨ |dd…}|tkr!d|›d|›�}t d|¡t|fi|¤Ž‚t|ƒdkr6d|›�}t d|¡t|ƒ‚t|dd…ƒ}|d@rRd |›d |›�}t|fi|¤Ž‚|S) Nr zbad magic number in z: ú{}éz(reached EOF while reading pyc header of ééüÿÿÿzinvalid flags z in )Ú MAGIC_NUMBERr¼Ú_verbose_messager©r8ÚEOFErrorr,)r+r¨Ú exc_detailsÚmagicrƒrrrr Ú _classify_pycIs     rÎcCs~ t|dd…ƒ|d@kr d|›�}t d|¡t|fi|¤Ž‚|dur;t|dd…ƒ|d@kr=td|›�fi|¤Ž‚dSdS)NrÇé rzbytecode is stale for rÅrÆ)r,r¼rÊr©)r+Ú source_mtimeÚ source_sizer¨rÌrƒrrr Ú_validate_timestamp_pycjs  þrÒcCs, |dd…|krtd|›�fi|¤Ž‚dS)NrÇrÆz.hash in bytecode doesn't match hash of source )r©)r+Ú source_hashr¨rÌrrr Ú_validate_hash_pyc†sÿþÿrÔcCsN t |¡}t|tƒrt d|¡|durt ||¡|Std  |¡||d�‚)Nzcode object from {!r}zNon-code object in {!r}©r¨rC) ÚmarshalÚloadsÚ isinstanceÚ _code_typer¼rÊÚ_impÚ_fix_co_filenamer©r])r+r¨ržr¡Úcoderrr Ú_compile_bytecodežs     ÿrÝcCsH ttƒ}| tdƒ¡| t|ƒ¡| t|ƒ¡| t |¡¡|S)Nr©Ú bytearrayrÉÚextendr%rÖÚdumps)rÜÚmtimerÑr+rrr Ú_code_to_timestamp_pyc«srãTcCsB ttƒ}d|d>B}| t|ƒ¡| |¡| t |¡¡|S)Nr/rÞ)rÜrÓÚcheckedr+rrrr Ú_code_to_hash_pycµs  råcCs@ ddl}t |¡j}| |¡}t dd¡}| | |d¡¡S)NrT)ÚtokenizercÚBytesIOÚreadlineÚdetect_encodingÚIncrementalNewlineDecoderÚdecode)Ú source_bytesræÚsource_bytes_readlineÚencodingÚnewline_decoderrrr Ú decode_sourceÀs    rð©rÁÚsubmodule_search_locationsc Cs8 |durd}t|dƒrz| |¡}Wn&tyYnwnt |¡}t|ƒs:z tt ¡|ƒ}Wn ty9Ynwt j |||d�}d|_ |durdt ƒD]\}}|  t|ƒ¡ra|||ƒ}||_nqLdS|tur„t|dƒrƒz| |¡}Wn ty}Yn w|rƒg|_n||_|jgkrš|ršt|ƒd}|j |¡|S)Nz Ú get_filename©ÚoriginTÚ is_packager)r´rór©rrtrYrErVrOr¼Ú ModuleSpecÚ _set_fileattrÚ_get_supported_file_loadersr<r£rÁÚ _POPULATEröròrLr?) r¨ÚlocationrÁròÚspecÚ loader_classÚsuffixesröÚdirnamerrr Úspec_from_file_locationÑsV   ÿü  ÿ  ý  ÿ€   rc@sVeZdZ dZdZeodevZedd„ƒZ e dd„ƒZ e d d d „ƒZ e dd d „ƒZ dS)ÚWindowsRegistryFinderz;Software\Python\PythonCore\{sys_version}\Modules\{fullname}zASoftware\Python\PythonCore\{sys_version}\Modules\{fullname}\Debugz_d.pydcCs2zt tj|¡WStyt tj|¡YSwr)ÚwinregÚOpenKeyÚHKEY_CURRENT_USERrOÚHKEY_LOCAL_MACHINErrrr Ú_open_registry&s  ÿz$WindowsRegistryFinder._open_registrycCs†|jr|j}n|j}|j|dtjdd…d�}z | |¡�}t |d¡}WdƒW|S1s1wYW|St yBYdSw)Nz%d.%drk)rÀÚ sys_versionr) Ú DEBUG_BUILDÚREGISTRY_KEY_DEBUGÚ REGISTRY_KEYr]rÚ version_inforrÚ QueryValuerO)ÚclsrÀÚ registry_keyrÚhkeyÚfilepathrrr Ú_search_registry-s ÿ  ÿü þÿz&WindowsRegistryFinder._search_registryNcCsx| |¡}|dur dSzt|ƒWn tyYdSwtƒD]\}}| t|ƒ¡r9tj||||ƒ|d�}|SqdS)Nrô)rrNrOrùr<r£r¼Úspec_from_loader)r rÀrCÚtargetrrÁrþrürrr Ú find_spec<s"   ÿþüÿzWindowsRegistryFinder.find_speccCs, t dt¡| ||¡}|dur|jSdS)NzpWindowsRegistryFinder.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() instead©rprqrrrrÁ©r rÀrCrürrr Ú find_moduleLsþ z!WindowsRegistryFinder.find_module©NNr)r±r°r²r r Ú _MS_WINDOWSÚEXTENSION_SUFFIXESrÚ staticmethodrÚ classmethodrrrrrrr rsÿÿ    rc@s.eZdZ dd„Zdd„Zdd„Zdd„Zd S) Ú _LoaderBasicscCsB t| |¡ƒd}| dd¡d}| d¡d}|dko |dkS)Nr/rnrrkÚ__init__)rLrór�ru)rªrÀrŠÚ filename_baseÚ tail_namerrr röbs z_LoaderBasics.is_packagecCódSrr©rªrürrr Ú create_modulejóz_LoaderBasics.create_modulecCs: | |j¡}|durtd |j¡ƒ‚t t||j¡dS)Nz4cannot load module {!r} when get_code() returns None)Úget_coder±r©r]r¼Ú_call_with_frames_removedÚexecr·)rªÚmodulerÜrrr Ú exec_modulems ÿz_LoaderBasics.exec_modulecCs t ||¡Sr)r¼Ú_load_module_shim©rªrÀrrr Ú load_moduleur-z_LoaderBasics.load_moduleN)r±r°r²rör#r)r,rrrr r]s  rc@sJeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d œd d„Zdd„Z dS)Ú SourceLoadercCs t‚r)rO©rªrCrrr Ú path_mtime}szSourceLoader.path_mtimecCs d| |¡iS)Nrâ)r/r.rrr Ú path_stats…s zSourceLoader.path_statscCs | ||¡Sr)Úset_data)rªr¡Ú cache_pathr+rrr Ú_cache_bytecode“s zSourceLoader._cache_bytecodecCr!rr)rªrCr+rrr r1�r$zSourceLoader.set_datac CsH | |¡}z | |¡}Wt|ƒSty#}ztd|d�|‚d}~ww)Nz'source not available through get_data()r§)róÚget_datarOr©rð)rªrÀrCrìÚexcrrr Ú get_source¤s  ýÿÿ€ÿzSourceLoader.get_sourcer›)Ú _optimizecCs tjt||dd|d�S)Nr'T)Ú dont_inheritry)r¼r&Úcompile)rªr+rCr7rrr Úsource_to_code®s ÿzSourceLoader.source_to_codec Cs  | |¡}d}d}d}d}d}zt|ƒ}Wn ty!d}Yn�wz| |¡} Wn ty2Ynwt| dƒ}z| |¡} Wn tyIYnhw||dœ} zGt| || ƒ} t| ƒdd…} | d@dk}|r‹| d@dk}t j d krŠ|sxt j d krŠ| |¡}t   t |¡}t | ||| ƒn t| || d || ƒWn ttfy¡Ynwt d ||¡t| |||d �S|durº| |¡}| ||¡}t d|¡tj�s|du�r|du�r|ræ|durßt   |¡}t|||ƒ} nt||t|ƒƒ} z | ||| ¡W|St�yY|Sw|S)NFTrârÕrÆr/rrkÚneverÚalwaysÚsizez {} matches {})r¨ržr¡zcode object from {})rór‹rxr0rOr"r4rÎÚ memoryviewrÚÚcheck_hash_based_pycsrÓÚ_RAW_MAGIC_NUMBERrÔrÒr©rËr¼rÊrÝr:rÚdont_write_bytecoderårãr8r3)rªrÀr¡rÐrìrÓÚ hash_basedÚ check_sourceržÚstr+rÌrÚ bytes_dataÚ code_objectrrr r%¶s¨   ÿ ÿ  ÿþ    ÿ  þÿ€û€ÿÿþ     ÿþþzSourceLoader.get_codeN) r±r°r²r/r0r3r1r6r:r%rrrr r-{s  r-csZeZdZ dd„Zdd„Zdd„Ze‡fdd„ƒZed d „ƒZd d „Z ed d„ƒZ ‡Z S)Ú FileLoadercCs ||_||_dSrrÕ)rªrÀrCrrr rs zFileLoader.__init__cCó|j|jko |j|jkSr©Ú __class__r·©rªÚotherrrr Ú__eq__ó  ÿzFileLoader.__eq__cCót|jƒt|jƒASr©Úhashr¨rC©rªrrr Ú__hash__ózFileLoader.__hash__cs tt|ƒ |¡Sr)ÚsuperrGr,r+©rJrr r,szFileLoader.load_modulecCó |jSrrHr+rrr ró)ózFileLoader.get_filenamecCs‚ t|ttfƒr%t t|ƒ¡� }| ¡WdƒS1swYdSt |d¡� }| ¡WdƒS1s:wYdS)NÚr)rØr-ÚExtensionFileLoaderrcÚ open_coderzÚreadrd)rªrCrirrr r4.s$ÿ$ÿzFileLoader.get_datacCsddlm}||ƒS)Nr)Ú FileReader)Úimportlib.readersr])rªr(r]rrr Úget_resource_reader7s zFileLoader.get_resource_reader) r±r°r²rrMrSr½r,rór4r_Ú __classcell__rrrVr rG s  rGc@s,eZdZ dd„Zdd„Zddœdd„Zd S) ÚSourceFileLoadercCs t|ƒ}|j|jdœS)N)râr=)rNÚst_mtimeÚst_size)rªrCrDrrr r0AszSourceFileLoader.path_statscCst|ƒ}|j|||d�S)N©Ú_mode)r¦r1)rªr¡ržr+rQrrr r3Fsz SourceFileLoader._cache_bytecoderZrdc Cs t|ƒ\}}g}|r t|ƒs t|ƒ\}}| |¡|r t|ƒrt|ƒD]1}t||ƒ}zt |¡Wq$ty;Yq$tyU}zt   d||¡WYd}~dSd}~wwzt |||ƒt   d|¡WdSty}zt   d||¡WYd}~dSd}~ww)Nzcould not create {!r}: {!r}z created {!r}) rLrWr?ÚreversedrErÚmkdirÚFileExistsErrorrOr¼rÊrj) rªrCr+reÚparentrŠrArFr5rrr r1Ks:     þ   ÿ€û ÿ€þzSourceFileLoader.set_dataN)r±r°r²r0r3r1rrrr ra=s rac@seZdZ dd„Zdd„ZdS)ÚSourcelessFileLoadercCsD| |¡}| |¡}||dœ}t|||ƒtt|ƒdd…||d�S)NrÕrÆ)r¨rž)rór4rÎrÝr>)rªrÀrCr+rÌrrr r%ns  þ ýzSourcelessFileLoader.get_codecCó dSrrr+rrr r6~rzSourcelessFileLoader.get_sourceN)r±r°r²r%r6rrrr rjjs rjc@sZeZdZ dd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z e dd„ƒZ dS)rZcCs||_||_dSrrÕ)rªr¨rCrrr r‹s zExtensionFileLoader.__init__cCrHrrIrKrrr rM�rNzExtensionFileLoader.__eq__cCrOrrPrRrrr rS“rTzExtensionFileLoader.__hash__cCs& t tj|¡}t d|j|j¡|S)Nz&extension module {!r} loaded from {!r})r¼r&rÚÚcreate_dynamicrÊr¨rC)rªrür(rrr r#–sÿÿz!ExtensionFileLoader.create_modulecCs& t tj|¡t d|j|j¡dS)Nz(extension module {!r} executed from {!r})r¼r&rÚÚ exec_dynamicrÊr¨rC©rªr(rrr r)žs ÿzExtensionFileLoader.exec_modulecs& t|jƒd‰t‡fdd„tDƒƒS)Nr/c3s�|] }ˆd|kVqdS)rNr©rÚsuffix©Ú file_namerr rI§s€ÿz1ExtensionFileLoader.is_package..)rLrCÚanyrr+rrqr rö¤s  ÿzExtensionFileLoader.is_packagecCrkrrr+rrr r%ªrzExtensionFileLoader.get_codecCrkrrr+rrr r6®rzExtensionFileLoader.get_sourcecCrWrrHr+rrr ró²rXz ExtensionFileLoader.get_filenameN) r±r°r²rrMrSr#r)rör%r6r½rórrrr rZƒsrZc@sjeZdZ dZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„ZdS)Ú_NamespacePathrcCs,||_||_t| ¡ƒ|_|j|_||_dSr)Ú_nameÚ_pathr£Ú_get_parent_pathÚ_last_parent_pathÚ_epochÚ _last_epochÚ _path_finder©rªr¨rCÚ path_finderrrr rÃs  z_NamespacePath.__init__cCs( |j d¡\}}}|dkrdS|dfS)Nrnr)rrCÚ__path__)ruru)rªriÚdotÚmerrr Ú_find_parent_path_namesÊs z&_NamespacePath._find_parent_path_namescCs| ¡\}}ttj||ƒSr)r�r¶rÚmodules)rªÚparent_module_nameÚpath_attr_namerrr rwÔs z_NamespacePath._get_parent_pathcCsdt| ¡ƒ}||jks|j|jkr/| |j|¡}|dur(|jdur(|jr(|j|_ ||_|j|_|j Sr) r£rwrxryrzr{rurÁròrv)rªÚ parent_pathrürrr Ú _recalculateØs z_NamespacePath._recalculatecCó t| ¡ƒSr)Úiterr†rRrrr Ú__iter__æó z_NamespacePath.__iter__cCs | ¡|Sr©r†)rªÚindexrrr Ú __getitem__érŠz_NamespacePath.__getitem__cCs||j|<dSr)rv)rªrŒrCrrr Ú __setitem__ìsz_NamespacePath.__setitem__cCr‡r)r8r†rRrrr Ú__len__ïrŠz_NamespacePath.__len__cCó d |j¡S)Nz_NamespacePath({!r}))r]rvrRrrr Ú__repr__òrŠz_NamespacePath.__repr__cCs || ¡vSrr‹©rªÚitemrrr Ú __contains__õrŠz_NamespacePath.__contains__cCs|j |¡dSr)rvr?r’rrr r?øóz_NamespacePath.appendN)r±r°r²ryrr�rwr†r‰r�rŽr�r‘r”r?rrrr rt¸s  rtc@sXeZdZdd„Zedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dS)Ú_NamespaceLoadercCst|||ƒ|_dSr)rtrvr|rrr rþsz_NamespaceLoader.__init__cCs t dt¡d |j¡S)NzR_NamespaceLoader.module_repr() is deprecated and slated for removal in Python 3.12z)rprqrrr]r±)r(rrr Ú module_reprs ÿ z_NamespaceLoader.module_reprcCódS)NTrr+rrr rö r$z_NamespaceLoader.is_packagecCr˜©Nrrr+rrr r6r$z_NamespaceLoader.get_sourcecCstddddd�S)Nrzr'T)r8)r9r+rrr r%r•z_NamespaceLoader.get_codecCr!rrr"rrr r#r$z_NamespaceLoader.create_modulecCr!rrrnrrr r)r$z_NamespaceLoader.exec_modulecCs t d|j¡t ||¡S)Nz&namespace module loaded with path {!r})r¼rÊrvr*r+rrr r,s ÿ z_NamespaceLoader.load_modulecCsddlm}||jƒS)Nr)ÚNamespaceReader)r^ršrv)rªr(ršrrr r_'s  z$_NamespaceLoader.get_resource_readerN) r±r°r²rrr—rör6r%r#r)r,r_rrrr r–ýs   r–c@steZdZ edd„ƒZedd„ƒZedd„ƒZedd„ƒZedd d „ƒZ edd d „ƒZ eddd„ƒZ edd„ƒZ d S)Ú PathFindercCsP ttj ¡ƒD]\}}|durtj|=qt|dƒr| ¡qtjd7_dS)NÚinvalidate_cachesr/)ÚlistrÚpath_importer_cacheÚitemsr´rœrtry)r¨Úfinderrrr rœ2s  €zPathFinder.invalidate_cachesc CsN tjdurtjst dt¡tjD]}z||ƒWSty$YqwdS)Nzsys.path_hooks is empty)rÚ path_hooksrprqr¿r©)rCÚhookrrr Ú _path_hooks?s   ÿzPathFinder._path_hookscCsf |dkrzt ¡}Wn tyYdSwztj|}W|Sty2| |¡}|tj|<Y|Swr™)rrVÚFileNotFoundErrorrržÚKeyErrorr£)r rCr rrr Ú_path_importer_cacheLs  ý  ý  ýzPathFinder._path_importer_cachecCsŠt|dƒrt |¡›d�}t |t¡| |¡\}}nt |¡›d�}t |t¡| |¡}g}|dur:t ||¡St  |d¡}||_ |S)Nr¾z5.find_spec() not found; falling back to find_loader()z5.find_spec() not found; falling back to find_module()) r´r¼Ú _object_namerprqr¿r¾rrr÷rò)r rÀr rÃrÁrÂrürrr Ú_legacy_get_specbs      zPathFinder._legacy_get_specNc Cs¨ g}|D]C}t|ttfƒsq| |¡}|durHt|dƒr$| ||¡}n| ||¡}|dur/q|jdur8|S|j}|durCt dƒ‚|  |¡qt   |d¡}||_|S)Nrzspec missing loader) rØrzÚbytesr¦r´rr¨rÁròr©ràr¼r÷) r rÀrCrÚnamespace_pathÚentryr rürÂrrr Ú _get_specws,     € zPathFinder._get_speccCs` |durtj}| |||¡}|durdS|jdur.|j}|r,d|_t|||jƒ|_|SdS|Sr)rrCr¬rÁròrõrt)r rÀrCrrürªrrr r—s zPathFinder.find_speccCs, t dt¡| ||¡}|durdS|jS)NzePathFinder.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadrrrrr r¯sþ zPathFinder.find_modulecOs ddlm}|j|i|¤ŽS)Nr)ÚMetadataPathFinder)Úimportlib.metadatar­Úfind_distributions)r«r¬r­rrr r¯¿s zPathFinder.find_distributionsrr) r±r°r²rrœr£rr¦r¨r¬rrr¯rrrr r›.s$       r›c@sXeZdZ dd„Zdd„ZeZdd„Zdd„Zdd d „Z d d „Z e dd„ƒZ dd„Z d S)Ú FileFindercsr g}|D]\‰}| ‡fdd„|Dƒ¡q||_|pd|_t|jƒs,tt ¡|jƒ|_d|_tƒ|_ tƒ|_ dS)Nc3s�|]}|ˆfVqdSrrro©rÁrr rIÜs€z&FileFinder.__init__..rnr›) ràÚ_loadersrCrYrErrVÚ _path_mtimeÚsetÚ _path_cacheÚ_relaxed_path_cache)rªrCÚloader_detailsÚloadersrþrr±r rÖs    zFileFinder.__init__cCs d|_dS)Nr›)r³rRrrr rœærUzFileFinder.invalidate_cachescCs8 t dt¡| |¡}|durdgfS|j|jpgfS)NzeFileFinder.find_loader() is deprecated and slated for removal in Python 3.12; use find_spec() instead)rprqrrrrÁrò)rªrÀrürrr r¾ìsþ zFileFinder.find_loadercCs|||ƒ}t||||d�S)Nrñ)r)rªrýrÀrCÚsmslrrÁrrr r¬ûs ÿzFileFinder._get_specNc Cs| d}| d¡d}z t|jpt ¡ƒj}Wn ty!d}Ynw||jkr.| ¡||_t ƒr9|j }|  ¡}n|j }|}||vrmt |j|ƒ}|jD]\} } d| } t || ƒ} t| ƒrh| | || |g|¡SqKt|ƒ}|jD]7\} } z t |j|| ƒ} Wn ty‰YdSwtjd| dd�|| |vr§t| ƒr§| | || d|¡Sqp|r¼t d|¡t |d¡} |g| _| SdS) NFrnrkr›rz trying {})Ú verbosityzpossible namespace for {})rurNrCrrVrbrOr³Ú _fill_cacherr¶r�rµrEr²rTr¬rWr|r¼rÊr÷rò)rªrÀrÚ is_namespaceÚ tail_modulerâÚcacheÚ cache_moduleÚ base_pathrprýÚ init_filenameÚ full_pathrürrr rsX ÿ    ÿ ÿ  ÿ€  zFileFinder.find_specc Cs |j}z t |p t ¡¡}Wntttfyg}Ynwtj  d¡s*t |ƒ|_ n%t ƒ}|D]}|  d¡\}}}|rDd  || ¡¡}n|}| |¡q/||_ tj  t¡r_dd„|Dƒ|_dSdS)Nr rnr[cSsh|]}| ¡’qSr)r�)rÚfnrrr r Psz)FileFinder._fill_cache..)rCrÚlistdirrVr¤ÚPermissionErrorÚNotADirectoryErrorrrrr´rµr�r]r�Úaddrr¶) rªrCÚcontentsÚlower_suffix_contentsr“r¨rrpÚnew_namerrr r»3s(ý    ÿzFileFinder._fill_cachecs ‡‡fdd„}|S)Ncs& t|ƒs td|d�‚ˆ|gˆ¢RŽS)Nzonly directories are supportedrH)rWr©rH©r r·rr Úpath_hook_for_FileFinder\s z6FileFinder.path_hook..path_hook_for_FileFinderr)r r·rÌrrËr Ú path_hookRszFileFinder.path_hookcCr�)NzFileFinder({!r}))r]rCrRrrr r‘drŠzFileFinder.__repr__r)r±r°r²rrœrÄrr¾r¬rr»rrÍr‘rrrr r°Ís 3  r°cCs�| d¡}| d¡}|s!|r|j}n||krt||ƒ}nt||ƒ}|s*t|||d�}z||d<||d<||d<||d<WdStyGYdSw)NÚ __loader__Ú__spec__r±Ú__file__Ú __cached__)ÚgetrÁrjrarÚ Exception)Únsr¨ÚpathnameÚ cpathnamerÁrürrr Ú_fix_up_modulejs$     þr×cCs( tt ¡f}ttf}ttf}|||gSr)rZrÚÚextension_suffixesrar‘rjr~)Ú extensionsÚsourceÚbytecoderrr rù�s   rùcCs|adSr)r¼)Ú_bootstrap_modulerrr Ú_set_bootstrap_moduleŒsrÝcCs4 t|ƒtƒ}tj tj|Žg¡tj t ¡dSr) rÝrùrr¡ràr°rÍÚ meta_pathr?r›)rÜÚsupported_loadersrrr Ú_install‘s rà)rZr)NNN)rr)T)Sr¼rÚrcrrprÖrrÚntrrÚposixr3r=r£r;r@Ú_pathseps_with_colonrÚ%_CASE_INSENSITIVE_PLATFORMS_BYTES_KEYrrrr%r,r.rErLrNrSrTrWrYrjÚtypeÚ__code__rÙr#rÉr"r)r@r�r}r‘r?rØrr~ÚDEBUG_BYTECODE_SUFFIXESÚOPTIMIZED_BYTECODE_SUFFIXESr‹r™r¢r¤r¦r½rÄrÎrÒrÔrÝrãrårðÚobjectrúrrrr-rGrarjrZrtr–r›r°r×rùrÝràrrrr Ús²    ÿ        G(  !    ÿIC2-5E1