grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?hÔ^ã@s�ddlmZddlmZddlZddlZddlZddlZddl Zddl Z ddl Z ddl m Z ddlZgd¢ZeddƒZde_d d „Zd d „Zd1dd„Zd2dd„Zed3dd„ƒZd4dd„Ze ejje¡dd„ZGdd„dƒZGdd„dƒZz.ddlZddlmZd5dd„Z e ee ¡Wne!�y.Yn0dd „Z"d6d!d"„Z#d#d$„Z$d%d&„Z%d'd(„Z&d)d*„Z'd+Z(e  )d,e(›d-e(›d.�e j*¡Z+[(d/d0„Z,dS)7é)Ú namedtuple)ÚsingledispatchN)Ú ModuleType) Ú get_importerÚiter_importersÚ get_loaderÚ find_loaderÚ walk_packagesÚ iter_modulesÚget_dataÚ ImpImporterÚ ImpLoaderÚ read_codeÚ extend_pathÚ ModuleInforzmodule_finder name ispkgz.A namedtuple with minimal info about a module.cCsPz |j}Wn8tyB| |¡}|dur0YdStj ||¡YS0||ƒSdS©N)Ú find_specÚAttributeErrorÚ find_moduleÚ importlibÚutilÚspec_from_loader)ÚfinderÚnamerÚloader©rú,/opt/alt/python39/lib64/python3.9/pkgutil.pyÚ _get_specs   rcCs6ddl}| d¡}|tjjkr"dS| d¡| |¡S)Nréé )ÚmarshalÚreadrrÚ MAGIC_NUMBERÚload)Ústreamr Úmagicrrrr)s    rÚc #sÈifdd„‰t||ƒD]¬}|V|jrzt|jƒWnJtyX|durT||jƒYqty~|durx||jƒn‚Yq0ttj|jddƒp–g}‡fdd„|Dƒ}t ||jd|ƒEdHqdS)NcSs||vr dSd||<dS)NTr)ÚpÚmrrrÚseenSszwalk_packages..seenÚ__path__csg|]}ˆ|ƒs|‘qSrr)Ú.0r'©r)rrÚ józ!walk_packages..Ú.) r ÚispkgÚ __import__rÚ ImportErrorÚ ExceptionÚgetattrÚsysÚmodulesr )ÚpathÚprefixÚonerrorÚinforr,rr 6s     r ccsr|durtƒ}nt|tƒr$tdƒ‚n tt|ƒ}i}|D]6}t||ƒD]&\}}||vrDd||<t|||ƒVqDq6dS)Nz9path must be None or list of paths to look for modules iné)rÚ isinstanceÚstrÚ ValueErrorÚmaprÚiter_importer_modulesr)r7r8Z importersÚyieldedÚirr0rrrr os    r cCst|dƒsgS| |¡S)Nr )Úhasattrr )Úimporterr8rrrr@‰s r@c cs |jdustj |j¡sdSi}ddl}zt |j¡}WntyNg}Yn0| ¡|D]¾}| |¡}|dks\||vr|q\tj |j|¡}d}|søtj |¡rød|vrø|}zt |¡} WntyÐg} Yn0| D]}| |¡} | dkrÖd}qøqÖq\|r\d|vr\d||<|||fVq\dS©NrÚ__init__Fr/Tr;© r7ÚosÚisdirÚinspectÚlistdirÚOSErrorÚsortÚ getmodulenameÚjoin) rDr8rArJÚ filenamesÚfnÚmodnamer7r0Ú dircontentsÚsubnamerrrÚ_iter_file_finder_modules‘s<       rUcCsBt ¡�&t dt¡t d¡aWdƒn1s40YdS)NÚignoreÚimp)ÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningrÚ import_modulerWrrrrÚ _import_imp½s  r]c@s*eZdZd dd„Zd dd„Zd dd„ZdS) r NcCst dt¡tƒ||_dS©Nz5This emulation is deprecated, use 'importlib' instead)rXÚwarnr[r]r7)Úselfr7rrrrFÎs ÿzImpImporter.__init__cCs~| d¡d}||kr$|jdur$dS|jdur4d}ntj |j¡g}zt ||¡\}}}WntynYdS0t||||ƒS)Nr/éÿÿÿÿ)Úsplitr7rHÚrealpathrWrr2r )r`Úfullnamer7rTÚfileÚfilenameÚetcrrrrÕs  zImpImporter.find_moduler&c cs |jdustj |j¡sdSi}ddl}zt |j¡}WntyNg}Yn0| ¡|D]¾}| |¡}|dks\||vr|q\tj |j|¡}d}|søtj |¡rød|vrø|}zt |¡} WntyÐg} Yn0| D]}| |¡} | dkrÖd}qøqÖq\|r\d|vr\d||<|||fVq\dSrErG) r`r8rArJrPrQrRr7r0rSrTrrrr äs<       zImpImporter.iter_modules)N)N)r&)Ú__name__Ú __module__Ú __qualname__rFrr rrrrr Ãs  r c@sjeZdZdZZdd„Zdd„Zdd„Zdd „Zd d „Z d d „Z ddd„Z ddd„Z dd„Z ddd„ZdS)r NcCs.t dt¡tƒ||_||_||_||_dSr^)rXr_r[r]rerfrdrg)r`rdrerfrgrrrrFsÿzImpLoader.__init__cCsJ| ¡z*t ||j|j|j¡}W|jrF|j ¡n|jrD|j ¡0|Sr)Ú_reopenrWÚ load_modulererfrgÚclose)r`rdÚmodrrrrls ÿ zImpLoader.load_modulecCs6t|dƒ�}| ¡WdƒS1s(0YdS)NÚrb)Úopenr!)r`Úpathnamererrrr &s zImpLoader.get_datacCsT|jrP|jjrP|jd}|tjkr2t|jdƒ|_n|tjtjfvrPt|jdƒ|_dS)NéÚrro) reÚclosedrgrWÚ PY_SOURCErprfÚ PY_COMPILEDÚ C_EXTENSION)r`Úmod_typerrrrk*s   zImpLoader._reopencCs0|dur|j}n||jkr,td|j|fƒ‚|S)Nz,Loader for module %s cannot handle module %s)rdr2©r`rdrrrÚ _fix_name2s ÿzImpLoader._fix_namecCs| |¡}|jdtjkS©Nrr)rzrgrWÚ PKG_DIRECTORYryrrrÚ is_package:s zImpLoader.is_packagecCsž| |¡}|jdur˜|jd}|tjkrD| |¡}t||jdƒ|_nT|tjkr€|  ¡zt |j ƒ|_W|j   ¡q˜|j   ¡0n|tj kr˜| ¡ ¡|_|jS)NrrÚexec)rzÚcodergrWruÚ get_sourceÚcompilerfrvrkrrermr|Ú _get_delegateÚget_code)r`rdrxÚsourcerrrrƒ>s       zImpLoader.get_codecCsØ| |¡}|jdurÒ|jd}|tjkrZ| ¡z|j ¡|_W|j ¡qÒ|j ¡0nx|tj krºt j   |j dd…¡rÒt|j dd…dƒ�}| ¡|_WdƒqÒ1s®0Yn|tjkrÒ| ¡ ¡|_|jS)Nrrrars)rzr„rgrWrurkrer!rmrvrHr7Úexistsrfrpr|r‚r€)r`rdrxÚfrrrr€Os     * zImpLoader.get_sourcecCst|jƒ}t|dƒ}|jS)NrF)r rfrr)r`rÚspecrrrr‚as  zImpLoader._get_delegatecCsH| |¡}|jd}|tjkr*| ¡ ¡S|tjtjtjfvrD|j SdSr{) rzrgrWr|r‚Ú get_filenamerurvrwrf)r`rdrxrrrrˆfs    zImpLoader.get_filename)N)N)N)rhrirjrr„rFrlr rkrzr}rƒr€r‚rˆrrrrr s    r )Ú zipimporterc csìttj|jƒ}|j}t|ƒ}i}ddl}|D]¸}| |¡s>q.||d… t j ¡}t|ƒdkr–|d d¡r–|d|vr–d||d<||ddfVt|ƒdkr¤q.|  |d¡}|dkr¼q.|r.d|vr.||vr.d||<||dfVq.dS) Nrrrr;z __init__.pyTrFr/F) ÚsortedÚ zipimportÚ_zip_directory_cacheÚarchiver8ÚlenrJÚ startswithrbrHÚseprN) rDr8ZdirlistÚ_prefixZplenrArJrQrRrrrÚiter_zipimport_modulests*    r’c Cstt |¡}ztj|}WnVtyntjD]8}z ||ƒ}tj ||¡WqjWq,tybYq,0q,d}Yn0|Sr)rHÚfsdecoder5Úpath_importer_cacheÚKeyErrorÚ path_hooksÚ setdefaultr2)Z path_itemrDÚ path_hookrrrr–s      rccs€| d¡rd |¡}t|ƒ‚d|vrV| d¡d}t |¡}t|ddƒ}|durhdSntjEdHtj }|D]}t |ƒVqldS)Nr/ú'Relative module name {!r} not supportedrr*) r�Úformatr2Ú rpartitionrr\r4r5Ú meta_pathr7r)rdÚmsgZpkg_nameÚpkgr7Úitemrrrr¯s     rcCsn|tjvr tj|}|dur dSt|tƒrb|}t|ddƒ}|durF|St|ddƒdurZdS|j}n|}t|ƒS)NÚ __loader__Ú__spec__)r5r6r<rr4rhr)Zmodule_or_nameÚmodulerrdrrrrÌs    rc Csˆ| d¡rd |¡}t|ƒ‚ztj |¡}WnHttttfyt}z(d}t| |t |ƒ|¡ƒ|‚WYd}~n d}~00|dur„|j SdS)Nr/r™z,Error while finding loader for {!r} ({}: {})) r�ršr2rrrrÚ TypeErrorr>Útyper)rdr�r‡Zexrrrräs  .rc Cs´t|tƒs|S|d}|dd…}| d¡\}}}|rdztj|j}Wqjttfy`|YS0ntj}|D�]>}t|t ƒs€qnt |ƒ}|durðg} t |dƒr¼|  |¡} | durÔ| j p¸g} nt |dƒrÔ| |¡\}} | D]} | |vrØ| | ¡qØtj ||¡} tj | ¡rnz t| ƒ} Wn:t�yP}z tj d| |f¡WYd}~qnd}~00| �F| D]0}| d¡}|�r\| d¡�r€�q\| |¡�q\Wdƒqn1�s¤0Yqn|S)Nz.pkgr/rrzCan't open %s: %s Ú ú#)r<Úlistr›r5r6r*r•rr7r=rrCrÚsubmodule_search_locationsrÚappendrHrOÚisfilerprLÚstderrÚwriteÚrstripr�)r7rZ sname_pkgZparent_packageÚ_Z final_nameZ search_pathÚdirrÚportionsr‡ZportionZpkgfiler†r�ÚlinerrrrùsR!            ÿ 0rcCs˜tj |¡}|durdS|j}|dus0t|dƒs4dStj |¡pJtj  |¡}|dus^t|dƒsbdS|  d¡}|  dt j  |j¡¡t j j|Ž}| |¡S)Nr Ú__file__ú/r)rrrrrCr5r6ÚgetÚ _bootstrapÚ_loadrbÚinsertrHr7Údirnamer²rOr )ÚpackageÚresourcer‡rrnÚpartsZ resource_namerrrr Ws   ÿ  r z(?!\d)(\w+)(\.(?!\d)(\w+))*z ^(?Pz)(?P:(?Pz)?)?$c Csät |¡}|std|›�ƒ‚| ¡}| d¡rZt |d¡}| d¡}|rT| d¡ng}nn| d¡}| d¡}t |¡}|rÈ|d}|›d|›�}zt |¡}| d¡|}Wqxt yÄYqÈYqx0qx|}|D]}t ||ƒ}qÐ|S)Nzinvalid format: ZclnržÚobjr/r) Ú _NAME_PATTERNÚmatchr>Ú groupdictr´rr\rbÚpopr2r4) rr(Zgdrnr»rRr'ÚsÚresultrrrÚ resolve_name†s0           rÃ)Nr&N)Nr&)r&)r&)r&)r&)-Ú collectionsrÚ functoolsrZ simplegenericrÚimportlib.utilÚimportlib.machineryrHZos.pathÚrer5ÚtypesrrXÚ__all__rÚ__doc__rrr r r@rUÚregisterÚ machineryÚ FileFinderr]r r r‹r‰r’r2rrrrrr Z _DOTTED_WORDSr�ÚUr½rÃrrrrÚsV     9   (ÿJc   ^+