f>` ddlmZddlmZddlZddlZddlZddlZddl Zddl Z ddl m Z ddl Z gdZeddZde_d Zd Zdd Zdd Zed dZd dZeejjedZGddZGddZ ddlZddlmZd dZeeen #e $rYnwxYwdZ!d dZ"dZ#dZ$dZ%dZ&da'dZ(dS)!) namedtuple)singledispatchN) ModuleType) get_importeriter_importers get_loader find_loader walk_packages iter_modulesget_data ImpImporter ImpLoader read_code extend_path ModuleInforzmodule_finder name ispkgz.A namedtuple with minimal info about a module.c |j}||S#t$r=||}|YdStj||cYSwxYwN) find_specAttributeError find_module importlibutilspec_from_loader)findernamerloaders ./opt/alt/python311/lib64/python3.11/pkgutil.py _get_specrs|1$ y ===##D)) >44~..tV<<<<< =s!A AAcddl}|d}|tjjkrdS|d||S)Nr )marshalreadrr MAGIC_NUMBERload)streamr"magics rrr(sRNNN KKNNE +++t KKOOO <<  c#K ifdt||D]}|V|jr t|jt t j|jddpg}fd|D}t||jdz|Ed{Vx#t$r|||jYt$r|||jnYwxYwdS)Nc||vrdSd||<dS)NT)pms rseenzwalk_packages..seenRs 664!r(__path__c*g|]}| |Sr,r,).0r-r/s r z!walk_packages..is&777attAww7777r(.) r ispkg __import__rgetattrsysmodulesr ImportError Exception)pathprefixonerrorinfor/s @rr r 5sV8 T6**GG : G G49%%%s{495z4HHNB87774777(ty}gFFFFFFFFFF ' ' '&GDI&&&   &GDI&&&&'&   GGGsBC0CCc#K |t}n9t|trtdt t |}i}|D]4}t ||D]!\}}||vrd||<t|||V"5dS)Nz9path must be None or list of paths to look for modules in)r isinstancestr ValueErrormapriter_importer_modulesr)r<r= importersyieldedirr5s rr r ns |"$$ D#  ,%&& & d++ G 110F;; 1 1KD%7"" !  D%00000 111r(cPt|dsgS||S)Nr )hasattrr )importerr=s rrFrFs- 8^ , ,   ( ((r(c#K|j$tj|jsdSi}ddl} tj|j}n#t $rg}YnwxYw||D]}||}|dks||vr"tj|j|}d}|srtj|rSd|vrO|} tj|} n#t $rg} YnwxYw| D]!}||} | dkrd}n"|rd|vrd||<||z|fVdSNr__init__Fr4TrA r<osisdirinspectlistdirOSErrorsort getmodulenamejoin) rLr=rHrS filenamesfnmodnamer<r5 dircontentssubnames r_iter_file_finder_modulesr^s}BGMM(-$@$@GNNNJx}--  NN**''++ J  'W"4"4 w||HM2.. 27==.. 3b==G ! j..  ! ! !  !"  !//33J&& EE'  *s')) GG 7"E) ) ) )3**#A A A *C?? D Dctj5tjdtt jdaddddS#1swxYwYdS)Nignoreimp)warningscatch_warnings simplefilterDeprecationWarningr import_modulerbr,r(r _import_imprhs  " "--h(:;;;%e,,------------------s/AAAc(eZdZ ddZddZddZdS)r Ncdtjdtt||_dSNz[This emulation is deprecated and slated for removal in Python 3.12; use 'importlib' instead)rcwarnrfrhr<)selfr<s rrOzImpImporter.__init__s5 @  ! ! !   r(c<|dd}||kr |jdS|jd}n%tj|jg} t||\}}}n#t $rYdSwxYwt||||S)Nr4)splitr<rQrealpathrbrr:r)rmfullnamer<r]filefilenameetcs rrzImpImporter.find_modules..%%b) h  49#44 9 DDG$$TY//0D "%//'4"@"@ D(CC   44 43777sA;; B B r)c#K|j$tj|jsdSi}ddl} tj|j}n#t $rg}YnwxYw||D]}||}|dks||vr"tj|j|}d}|srtj|rSd|vrO|} tj|} n#t $rg} YnwxYw| D]!}||} | dkrd}n"|rd|vrd||<||z|fVdSrNrP) rmr=rHrSrYrZr[r<r5r\r]s rr zImpImporter.iter_moduless 9 BGMM$)$<$<  F  49--II   III   . .B++B//G ""g&8&87<< 2..DE rw}}T22 s"}}%"$*T"2"2KK%%%"$KKK%&B%33B77G ** $+ .3g--#$ w&----3 . .r_rr))__name__ __module__ __qualname__rOrr r,r(rr r sU 8 8 8 8&.&.&.&.&.&.r(r cZeZdZ dxZZdZdZdZdZdZ dZ d dZ d d Z d Z d d ZdS) rNctjdtt||_||_||_||_dSrk)rcrlrfrhrsrtrrru)rmrrrsrtrus rrOzImpLoader.__init__sI =( * * *       r(c| t||j|j|j}|jr|jn&#|jr|jwwxYw|Sr)_reopenrb load_modulersrtruclose)rmrrmods rrzImpLoader.load_modules  "//(DIt}dhOOCy " !!!y " !!!! " s ,A###Bc~t|d5}|cdddS#1swxYwYdS)Nrb)openr#)rmpathnamerss rr zImpLoader.get_data's~ (D ! ! T99;;                  s 266c|jr{|jjrq|jd}|tjkrt |jd|_dS|tjtjfvr t |jd|_dSdSdSdS)Nrr) rsclosedrurb PY_SOURCErrt PY_COMPILED C_EXTENSION)rmmod_types rr~zImpLoader._reopen+s 9 6) 6x{H&& 44 cos??? 55  6 6 6 6@?r(cd||j}n%||jkrtd|jd||S)NzLoader for module z cannot handle module )rrr:rmrrs r _fix_namezImpLoader._fix_name3sM  }HH  & &+-1]]]HHFGG Gr(cb||}|jdtjkSNr)rrurb PKG_DIRECTORYrs r is_packagezImpLoader.is_package;s'>>(++x{C---r(cF||}|j|jd}|tjkr1||}t ||jd|_n|tjkrf|  t|j |_|j nY#|j wxYw|tj kr+||_|jS)Nrexec)rcoderurbr get_sourcecompilertrr~rrsrr _get_delegateget_code)rmrrrsources rrzImpLoader.get_code?s>>(++ 9 x{H&&22#FDM6BB 3?** & )$) 4 4DIIOO%%%%DIOO%%%%3,,, ..0099;; ys CCc||}|jN|jd}|tjkrk| |j|_|jn#|jwxYw|tj kr{tj |j ddrNt|j ddd5}||_dddn #1swxYwYn;|tjkr+||_|jS)Nrror)rrrurbrr~rsr#rrrQr<existsrtrrrr)rmrrrfs rrzImpLoader.get_sourcePse>>(++ ; x{H&& &"&).."2"2DKIOO%%%%DIOO%%%%3?**7>>$-"455/dmCRC0#66/!&'ffhh ///////////////3,,,"0022==?? {sBB#?D%%D),D)cXt|j}t|d}|jS)NrO)r rtrr)rmrspecs rrzImpLoader._get_delegatebs(T]++,,{r(c||}|jd}|tjkr&|S|tjtjtjfvr|j SdSr) rrurbrr get_filenamerrrrt)rmrrrs rrzImpLoader.get_filenamegso>>(++8A; S& & &%%''4466 6 #-#/J J J= tr(r)rxryrzrrrOrr r~rrrrrrr,r(rrr sD6   666..."$ r(r) zipimporterc#NKttj|j}|j}t |}i}ddl}|D]}||s||dtj }t |dkr?|ddr$|d|vrd||d<||dzdfVt |dkr| |d}|dkr|rd|vr||vrd||<||zdfVdS) NrrrAz __init__.pyTrOr4F) sorted zipimport_zip_directory_cachearchiver=lenrS startswithrprQseprW) rLr=dirlist_prefixplenrHrSrZr[s riter_zipimport_modulesrusW78HIJJ/7|| . .B==)) DEE((B2wwzzbe..}==za5''%&GBqEN 2a5.$....2wwzz++BqE22G "" .3g--'2H2H#$ w&----) . .r(c tj|} tj|}n^#t$rQtjD]?} ||}tj||n#t$rY>xHH# h&&s++A.%h//sJ-- < F =       x!!4      !!r(c |tjvrtj|}|dSt|tr2|}t |dd}||St |dddS|j}n|}t |S)N __loader____spec__)r8r9rBrr7rxr )module_or_namemodulerrrs rrrs $$^4  !4.*-- "t44  M 6:t , , 44?! x  r(c  |dr$d|}t| tj|}nY#tt ttf$r9}d}t||t|||d}~wwxYw||j ndS)Nr4rz,Error while finding loader for {!r} ({}: {})) rrr:rrrr TypeErrorrDtyper)rrrrexs rr r s 37>>xHH#F~''11 J ?FFF=#**XtBxx<<==2E F *4;;4sAB294B--B2c 6 t|ts|S|dz}|dd}|d\}}}|r2 tj|j}n%#t tf$r|cYSwxYwtj}|D]}t|tst|}|yg} t|dr!| |} | | j pg} n(t|dr||\}} | D]} | |vr|| t j||} t j| r t'| } | 5| D]D}|d}|r|dr/||E dddn #1swxYwYV#t,$r1}tjd| d|dYd}~d}~wwxYw|S) Nz.pkgr4rr  #z Can't open z: )rBlistrr8r9r0rrr<rCrrKrsubmodule_search_locationsr appendrQrXisfilerrstriprrUstderrwrite)r<r sname_pkgparent_package_ final_name search_pathdirrportionsrportionpkgfilerliners rrrs@ dD ! ! v I 7D$(OOC$8$8!NAz +n5>KK.)   KKK  h $*$*#s##  c""  Hv{++ ='' 33##>D"H// =$00<< 8# ) )$&&KK(((',,sI.. 7>>' " " * *MM ** !**#{{400#%ts';';%$ D)))) ****************  1 1 1    ")''333"011111111 1 * Ks=AA21A2&G7AG  G G  H#&HHc tj|}|dS|j}|t |dsdSt j|ptj |}|t |dsdS| d}| dtj |jtj j|}||S)Nr __file__/r)rrrrrKr8r9get _bootstrap_loadrpinsertrQr<dirnamerrXr )packageresourcerrrparts resource_names rr r Xs* > # #G , ,D |t [F ~WVZ88~t ;??7 # # ,   % %d + + {'#z22{t NN3  E LLBGOOCL11222GL%(M ??= ) ))r(c t(ddl}d}|d|d|d|jat|}|st d||}|drItj |d}|d }|r| d ng}n| d }| d}tj |}|rN|d}|d |} tj | }| d| }n#t$rYnwxYw|N|} |D]}t| |} | S) Nrz(?!\d)(\w+)(\.(?!\d)(\w+))*z ^(?Pz)(?P:(?Pz)?)?$zinvalid format: clnrobjr4) _NAME_PATTERNrerUNICODEmatchrD groupdictrrrgrppopr:r7) rr dotted_wordsr.gdrrr[r-sresults r resolve_namers@ 5  $K|$K$K7C$K$K$K#%://  D!!A 64D44555 B vve}}%bi00u $)1 C   r 3))A,,%g.. aA  Q  A -a00 !      F $$## Ms!+E EE)Nr)N)Nr)rw)) collectionsr functoolsr simplegenericrimportlib.utilimportlib.machineryrQos.pathr8typesrrc__all__r__doc__rrr r rFr^register machinery FileFinderrhr rrrrr:rrrr rr rrr,r(rrs$""""""555555     Z &@ A A E        6G6G6G6Gr11114))))&*&*&*&*P "$=???--- H.H.H.H.H.H.H.H.VaaaaaaaaH# %%%%%%....8"";0FGGGG   D 2!!!!:!!!0555*[[[|(*(*(*V GGGGGs#$CCC