
    z%i6p                     8   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlZd dlZd dlZddlmZmZ ddlmZmZ ddlmZmZ ddlmZmZ ddlmZmZ d dlmZ d d	l m!Z! d d
l"m#Z# d dlm$Z$ d dl%m&Z&m'Z'm(Z(m)Z) g dZ* G d de+      Z, G d d      Z- G d d      Z. G d de.      Z/ G d de0      Z1 G d dejd                        Z3 G d d      Z4 G d d      Z5 G d de5      Z6 G d  d!e#      Z7 G d" d#      Z8 G d$ d%      Z9 G d& d'      Z: G d( d)e7      Z; G d* d+e6      Z<d, Z=d- Z>d.ej:                  fd/Z?d0 Z@ ej                  e ej                  d1      2      ZC	 d.e1fd3ZDd4 ZEd5 ZFd.e'eGe&eG   f   fd6ZHd7 ZId8 ZJy)9    N   )	_adapters_meta)FreezableDefaultDictPair)method_cache	pass_none)always_iterableunique_everseen)PackageMetadata
SimplePath)suppress)import_module)MetaPathFinder)starmap)ListMappingOptionalcast)DistributionDistributionFinderr   PackageNotFoundErrordistributiondistributionsentry_pointsfilesmetadatapackages_distributionsrequiresversionc                   $    e Zd Z	 d Zed        Zy)r   c                      d| j                    S )Nz"No package metadata was found for nameselfs    O/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/importlib/metadata/__init__.py__str__zPackageNotFoundError.__str__3   s    3DII;??    c                 "    | j                   \  }|S N)argsr&   r$   s     r'   r$   zPackageNotFoundError.name6   s    ))r)   N)__name__
__module____qualname__r(   propertyr$    r)   r'   r   r   0   s    $@  r)   r   c                       e Zd Z	  ej                  d      j                         Zed        Ze	dd       Z
e	d        Zy)	Sectionedzm
        [sec1]
        # comments ignored
        a = 1
        b = 2

        [sec2]
        a = 2
        c                 J    d | j                  || j                        D        S )Nc              3      K   | ]?  }|j                   1|j                  t        j                  |j                               A y w)N)value)r$   _replacer   parser7   ).0sections     r'   	<genexpr>z*Sectioned.section_pairs.<locals>.<genexpr>g   s=      
||' 4::gmm#<=
s   AA)filter_)readvalid)clstexts     r'   section_pairszSectioned.section_pairse   s%    
88D#))8<
 	
r)   Nc              #     K   t        |t        t        j                  | j	                                     }d }|D ]H  }|j                  d      xr |j                  d      }|r|j                  d      };t        ||       J y w)N[]z[])filtermapstrstrip
splitlines
startswithendswithr   )rA   r=   linesr$   r7   section_matchs         r'   r>   zSectioned.readm   sw     wCIIt/@ AB 	$E!,,S1IennS6IM{{4(tU##	$s   BBc                 .    | xr | j                  d       S )N#)rK   )lines    r'   r?   zSectioned.validx   s    0DOOC000r)   r+   )r.   r/   r0   textwrapdedentlstrip_sampleclassmethodrB   staticmethodr>   r?   r2   r)   r'   r4   r4   <   sf    8 hoo	
 fh  
 
 $ $ 1 1r)   r4   c                   T    e Zd Z	  ej                  ej                  ded      Zd Z	y)DeprecatedTuplezAEntryPoint tuple interface is deprecated. Access members by name.   
stacklevelc                 H    | j                          | j                         |   S r+   )_warn_key)r&   items     r'   __getitem__zDeprecatedTuple.__getitem__   s    

yy{4  r)   N)
r.   r/   r0   	functoolspartialwarningswarnDeprecationWarningr^   ra   r2   r)   r'   rY   rY   }   s0     IK	E!r)   rY   c                       e Zd ZU 	  ej                  d      Z	 eed<   eed<   eed<   dZe	d   ed<   d Z
d	 Zed
        Zed        Zed        Zd Zd Zd Zd Zd Zd Zd Zd Zy)
EntryPointzH(?P<module>[\w.]+)\s*(:\s*(?P<attr>[\w.]+)\s*)?((?P<extras>\[.*\])\s*)?$r$   r7   groupNr   distc                 >    t        |       j                  |||       y )Nr$   r7   ri   varsupdate)r&   r$   r7   ri   s       r'   __init__zEntryPoint.__init__   s    T
t5>r)   c                    	 | j                   j                  | j                        }t        |j	                  d            }t        d |j	                  d      xs dj                  d            }t        j                  t        ||      S )Nmoduleattr .)
patternmatchr7   r   ri   rF   splitrb   reducegetattr)r&   rw   rr   attrss       r'   loadzEntryPoint.load   sn    	 ""4::.u{{845tekk&17R>>sCD77r)   c                 n    | j                   j                  | j                        }|j                  d      S )Nrr   rv   rw   r7   ri   r&   rw   s     r'   rr   zEntryPoint.module   s)    ""4::.{{8$$r)   c                 n    | j                   j                  | j                        }|j                  d      S )Nrs   r~   r   s     r'   rs   zEntryPoint.attr   s)    ""4::.{{6""r)   c                     | j                   j                  | j                        }t        j                  d|j                  d      xs d      S )Nz\w+extrasrt   )rv   rw   r7   refindallri   r   s     r'   r   zEntryPoint.extras   s9    ""4::.zz&%++h"7"=2>>r)   c                 <    t        |       j                  |       | S )Nrj   rm   )r&   rj   s     r'   _forzEntryPoint._for   s    T
t$r)   c                      	  fd|D        }t        t        t        j                  |j	                         |            S )Nc              3   6   K   | ]  }t        |        y wr+   rz   )r:   paramr&   s     r'   r<   z%EntryPoint.matches.<locals>.<genexpr>   s     :%u%:s   )allrG   operatoreqvalues)r&   paramsr{   s   `  r'   matcheszEntryPoint.matches   s2    	& ;6:3x{{FMMOU;<<r)   c                 H    | j                   | j                  | j                  fS r+   rl   r%   s    r'   r_   zEntryPoint._key   s    yy$**djj00r)   c                 D    | j                         |j                         k  S r+   r_   r&   others     r'   __lt__zEntryPoint.__lt__   s    yy{UZZ\))r)   c                 D    | j                         |j                         k(  S r+   r   r   s     r'   __eq__zEntryPoint.__eq__  s    yy{ejjl**r)   c                     t        d      )Nz!EntryPoint objects are immutable.)AttributeError)r&   r$   r7   s      r'   __setattr__zEntryPoint.__setattr__  s    @AAr)   c                 V    d| j                   d| j                  d| j                  dS )NzEntryPoint(name=z, value=z, group=)rl   r%   s    r'   __repr__zEntryPoint.__repr__  s2    tyym8DJJ> BZZN!%	
r)   c                 4    t        | j                               S r+   )hashr_   r%   s    r'   __hash__zEntryPoint.__hash__  s    DIIK  r)   )r.   r/   r0   r   compilerv   rH   __annotations__rj   r   rp   r|   r1   rr   rs   r   r   r   r_   r   r   r   r   r   r2   r)   r'   rh   rh      s      bjj	%G
  IJJ%)D(>
")?8 % % # # ? ?=.1*+B
!r)   rh   c                   ^    e Zd Z	 dZd Zd Zed        Zed        Ze	d        Z
ed        Zy)	EntryPointsr2   c                 ~    	 	 t        t        | j                  |                  S # t        $ r t	        |      w xY w)Nr#   )nextiterselectStopIterationKeyErrorr-   s     r'   ra   zEntryPoints.__getitem__  s@    		!T[[d[3455 	!4. 	!s   #' <c                 .    	 t        fd| D              S )Nc              3   H   K   | ]  } |j                   di s|  y wNr2   )r   )r:   epr   s     r'   r<   z%EntryPoints.select.<locals>.<genexpr>&  s!     E"


0DV0D2Es   "")r   )r&   r   s    `r'   r   zEntryPoints.select!  s    	 EEEEr)   c                 B    	 | D ch c]  }|j                    c}S c c}w r+   r#   r&   r   s     r'   nameszEntryPoints.names(  s!    	 #''B'''   c                 B    	 | D ch c]  }|j                    c}S c c}w r+   )ri   r   s     r'   groupszEntryPoints.groups/  s!    	 $((R(((r   c                 D     | fd| j                  |      D              S )Nc              3   @   K   | ]  }|j                          y wr+   )r   )r:   r   rj   s     r'   r<   z-EntryPoints._from_text_for.<locals>.<genexpr>8  s     @R2774=@   )
_from_text)r@   rA   rj   s     `r'   _from_text_forzEntryPoints._from_text_for6  s    @3>>$+?@@@r)   c                 B    d t         j                  | xs d      D        S )Nc              3      K   | ]D  }t        |j                  j                  |j                  j                  |j                          F yw)rl   N)rh   r7   r$   )r:   r`   s     r'   r<   z)EntryPoints._from_text.<locals>.<genexpr><  s:      
 DJJOO4::3C3C499UU
s   A
Art   )r4   rB   )rA   s    r'   r   zEntryPoints._from_text:  s#    
!//
;
 	
r)   N)r.   r/   r0   	__slots__ra   r   r1   r   r   rV   r   rW   r   r2   r)   r'   r   r     sk     I!F ( ( ) ) A A 
 
r)   r   c                   "    e Zd Z	 ddZd Zd Zy)PackagePathc                     | j                         j                  |      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nencodinglocateopenr>   )r&   r   streams      r'   	read_textzPackagePath.read_textE  s9    [[]2 	!f;;=	! 	! 	!s	   ;Ac                     | j                         j                  d      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nrbr   )r&   r   s     r'   read_binaryzPackagePath.read_binaryI  s6    [[]% 	!;;=	! 	! 	!s	   :Ac                 :    	 | j                   j                  |       S r+   )rj   locate_filer%   s    r'   r   zPackagePath.locateM  s    5yy$$T**r)   N)utf-8)r.   r/   r0   r   r   r   r2   r)   r'   r   r   B  s    ,!!+r)   r   c                       e Zd Zd Zd Zy)FileHashc                 B    |j                  d      \  | _        }| _        y )N=)	partitionmoder7   )r&   spec_s      r'   rp   zFileHash.__init__S  s    #'>>##6 	1djr)   c                 <    d| j                    d| j                   dS )Nz<FileHash mode: z value: >)r   r7   r%   s    r'   r   zFileHash.__repr__V  s    !$))HTZZLBBr)   N)r.   r/   r0   rp   r   r2   r)   r'   r   r   R  s    7Cr)   r   c                        e Zd Z fdZ xZS )DeprecatedNonAbstractc           	      .   t        j                  |       D ch c]  }t        |      D ]  }|  }}}|D ch c]  }t        t        | |      dd      r| }}|rt	        j
                  d| t        d       t        | !  |       S c c}}w c c}w )N__isabstractmethod__FzUnimplemented abstract methods rZ   r[   )	inspectgetmrorn   rz   rd   re   rf   super__new__)r@   r,   kwargssubclassr$   	all_namesabstract	__class__s          r'   r   zDeprecatedNonAbstract.__new__[  s    !(!4
h
9=D

	 

 "
wsD)+A5I 
 

 MM1(<"
 ws##

s
   B B)r.   r/   r0   r   __classcell__r   s   @r'   r   r   Z  s    $ $r)   r   c                   p   e Zd Z	 ej                  dee   fd       Zej                  d        Ze	defd       Z
e	d        Zed        Zed        Zedej"                  fd	       Zed
        Zed        Zed        Zed        Zed        Zd Zd Zd Zed        Zd Zd Ze	d        Zed        Zy)r   returnc                      y r+   r2   r&   filenames     r'   r   zDistribution.read_textp  s    	r)   c                      y r+   r2   r&   paths     r'   r   zDistribution.locate_filex  s    	r)   r$   c                     	 |st        d      	 t        | j                  |            S # t        $ r t	        |      w xY w)Nz A distribution name is required.r#   )
ValueErrorr   discoverr   r   )r@   r$   s     r'   	from_namezDistribution.from_name  sM    	 ?@@	-$/00 	-&t,,	-s	   + A c                     	 |j                  dd       r|rt        d      xs t        j                  di |t        j
                  j                  fd| j                         D              S )Ncontextz cannot accept context and kwargsc              3   .   K   | ]  } |        y wr+   r2   )r:   resolverr   s     r'   r<   z(Distribution.discover.<locals>.<genexpr>  s      -
"*HW-
s   r2   )popr   r   Context	itertoolschainfrom_iterable_discover_resolvers)r@   r   r   s     @r'   r   zDistribution.discover  sq    	 **Y-v?@@A/77A&A,, -
.1.E.E.G-
 
 	
r)   c                 @    	 t        t        j                  |             S r+   )PathDistributionpathlibPathr   s    r'   atzDistribution.at  s    	
  T 233r)   c                  J    	 d t         j                  D        } t        d |       S )Nc              3   6   K   | ]  }t        |d d        yw)find_distributionsNr   )r:   finders     r'   r<   z3Distribution._discover_resolvers.<locals>.<genexpr>  s      
<BGF0$7
s   )sys	meta_pathrF   )declareds    r'   r   z Distribution._discover_resolvers  s'    1
FImm
 dH%%r)   c                     	 | j                  d      xs$ | j                  d      xs | j                  d      }t        t        |      }t        j                  t        j                  |            S )NMETADATAzPKG-INFOrt   )r   r   rH   r   Messageemailmessage_from_string)r&   opt_textrA   s      r'   r   zDistribution.metadata  sh    	 NN:& "~~j)"
 ~~b! 	 C"  !:!:4!@AAr)   c                 "    	 | j                   d   S NNamer   r%   s    r'   r$   zDistribution.name  s    F}}V$$r)   c                 B    	 t         j                  | j                        S r+   )Prepared	normalizer$   r%   s    r'   _normalized_namezDistribution._normalized_name  s    6!!$)),,r)   c                 "    	 | j                   d   S )NVersionr  r%   s    r'   r    zDistribution.version  s    I}}Y''r)   c                 L    t         j                  | j                  d      |       S )Nzentry_points.txt)r   r   r   r%   s    r'   r   zDistribution.entry_points  s    ))$..9K*LdSSr)   c                      	 d fd	t         fd       }t         d        } | | j                         xs"  j                         xs  j                                     S )Nc                 |    t        |       }|rt        |      nd |_        |rt        |      nd |_        |_        |S r+   )r   r   r   intsizerj   )r$   r   size_strresultr&   s       r'   	make_filez%Distribution.files.<locals>.make_file  s7     &F,0(4.dFK+3#h-FKFKMr)   c                 B    t        t        j                  |             S r+   )r   csvreader)rM   r"  s    r'   
make_filesz&Distribution.files.<locals>.make_files  s    9cjj&788r)   c                 .    t        t        d |             S )Nc                 >    | j                         j                         S r+   )r   existsr  s    r'   <lambda>z@Distribution.files.<locals>.skip_missing_files.<locals>.<lambda>  s    DKKM,@,@,B r)   )listrF   )package_pathss    r'   skip_missing_filesz.Distribution.files.<locals>.skip_missing_files  s    BMRSSr)   )NN)r	   _read_files_distinfo_read_files_egginfo_installed_read_files_egginfo_sources)r&   r&  r-  r"  s   `  @r'   r   zDistribution.files  s|    		 
	9 
	9 
	T 
	T "))+ 65576335
 	
r)   c                 N    	 | j                  d      }|xr |j                         S )NRECORD)r   rJ   r&   rA   s     r'   r.  z!Distribution._read_files_distinfo  s)    	 ~~h')))r)   c                      	  j                  d      }t         dd       |rsy  fd|j                         D        }t        dj                  |      S )Nzinstalled-files.txt_pathc              3      K   | ]Q  }|z  j                         j                  j                  d       j                               j                          S yw)rt   N)resolverelative_tor   as_posix)r:   r$   r&   subdirs     r'   r<   z=Distribution._read_files_egginfo_installed.<locals>.<genexpr>  sP      

 	 d]WY[))"-5578XZ
s   AA"{}")r   rz   rJ   rG   format)r&   rA   pathsr:  s   `  @r'   r/  z*Distribution._read_files_egginfo_installed  s\    		 ~~34 w-6

 )
 6==%((r)   c                 v    	 | j                  d      }|xr$ t        dj                  |j                               S )NzSOURCES.txtr;  )r   rG   r<  rJ   r3  s     r'   r0  z(Distribution._read_files_egginfo_sources  s4    
	 ~~m,=FMM4??+<==r)   c                 f    	 | j                         xs | j                         }|xr t        |      S r+   )_read_dist_info_reqs_read_egg_info_reqsr+  )r&   reqss     r'   r   zDistribution.requires.  s0    D((*Hd.F.F.H"T
"r)   c                 8    | j                   j                  d      S )NzRequires-Dist)r   get_allr%   s    r'   r@  z!Distribution._read_dist_info_reqs4  s    }}$$_55r)   c                 Z    | j                  d      } t        | j                        |      S )Nzrequires.txt)r   r	   _deps_from_requires_text)r&   sources     r'   rA  z Distribution._read_egg_info_reqs7  s(    /7y667??r)   c                 J    | j                  t        j                  |            S r+   )%_convert_egg_info_reqs_to_simple_reqsr4   r>   )r@   rG  s     r'   rF  z%Distribution._deps_from_requires_text;  s    889OPPr)   c              #      K   	 d fd}d }| D ]8  } ||j                         }|j                   |z    ||j                        z    : y w)Nc                     | xr d|  dS )Nz
extra == ""r2   r#   s    r'   make_conditionzJDistribution._convert_egg_info_reqs_to_simple_reqs.<locals>.make_conditionK  s    0ja00r)   c           	          | xs d} | j                  d      \  }}}|r|rd| d}t        t        d | |      g            }|rddj                  |      z   S dS )Nrt   :(r   z; z and )r   r+  rF   join)r;   extrasepmarkers
conditionsrM  s        r'   quoted_markerzIDistribution._convert_egg_info_reqs_to_simple_reqs.<locals>.quoted_markerN  sk    mG")"3"3C"8E3gYa.fTG^E5J+KLMJ6@4',,z22HbHr)   c                     	 dd| v z  S )N @r2   )reqs    r'   url_req_spacezIDistribution._convert_egg_info_reqs_to_simple_reqs.<locals>.url_req_spaceV  s    
 #*%%r)   )r7   r$   )sectionsrV  r[  r;   spacerM  s        @r'   rI  z2Distribution._convert_egg_info_reqs_to_simple_reqs?  sZ     		1	I	&   	FG!'--0E--%'-*EEE	Fs   AAN) r.   r/   r0   abcabstractmethodr   rH   r   r   rV   r   r   rW   r  r   r1   r   r   r   r$   r  r    r   r   r.  r/  r0  r   r@  rA  rF  rI  r2   r)   r'   r   r   m  s~   (Xc]   	  -S - -" 
 
" 4 4 & & B%// B B" % % - - ( ( T T  
  
D*)8> # #
6@ Q Q  F  Fr)   r   c                   T    e Zd Z	  G d d      Zej
                   e       fd       Zy)r   c                   *    e Zd Z	 dZ	 d Zed        Zy)DistributionFinder.ContextNc                 8    t        |       j                  |       y r+   rm   )r&   r   s     r'   rp   z#DistributionFinder.Context.__init__z  s    Jf%r)   c                 V    	 t        |       j                  dt        j                        S )Nr   )rn   getr  r   r%   s    r'   r   zDistributionFinder.Context.path}  s"     :>>&#((33r)   )r.   r/   r0   r$   rp   r1   r   r2   r)   r'   r   rb  h  s,    		 	
	& 
	4 
	4r)   r   c                      y r+   r2   )r&   r   s     r'   r  z%DistributionFinder.find_distributions  s    	r)   N)r.   r/   r0   r   r^  r_  r  r2   r)   r'   r   r   c  s1    4 4@ 	)0  r)   r   c                        e Zd Z	  ej                          fd       Zd Zd Zd Zd Z	d Z
ed        Zed        Z xZS )	FastPathc                 "    t         |   |       S r+   )r   r   )r@   rootr   s     r'   r   zFastPath.__new__  s    ws##r)   c                     || _         y r+   )rj  )r&   rj  s     r'   rp   zFastPath.__init__  s	    	r)   c                 B    t        j                  | j                  |      S r+   )r   r  rj  )r&   childs     r'   joinpathzFastPath.joinpath  s    ||DIIu--r)   c                     t        t              5  t        j                  | j                  xs d      cd d d        S # 1 sw Y   nxY wt        t              5  | j                         cd d d        S # 1 sw Y   g S xY wNru   )r   	Exceptionoslistdirrj  zip_childrenr%   s    r'   childrenzFastPath.children  sb    i  	0::dii.3/	0 	0 	0i  	'$$&	' 	' 	'	s   #=AA22A<c                     t        j                  | j                        }|j                  j                         }|j                  | _        t
        j                  d |D              S )Nc              3   b   K   | ]'  }|j                  t        j                  d       d    ) yw)r   r   N)rx   	posixpathrS  )r:   rm  s     r'   r<   z(FastPath.zip_children.<locals>.<genexpr>  s$     Q%U[[:1=Qs   -/)zipfiler  rj  namelistrn  dictfromkeys)r&   zip_pathr   s      r'   rt  zFastPath.zip_children  sH    <<		*&&( ))}}Q5QQQr)   c                 V    | j                  | j                        j                  |      S r+   )lookupmtimesearchr-   s     r'   r  zFastPath.search  s     {{4::&--d33r)   c                     t        t              5  t        j                  | j                        j
                  cd d d        S # 1 sw Y   nxY w| j                  j                          y r+   )r   OSErrorrr  statrj  st_mtimer  cache_clearr%   s    r'   r  zFastPath.mtime  sE    g 	/77499%..	/ 	/ 	/!s   )AAc                     t        |       S r+   )Lookup)r&   r  s     r'   r  zFastPath.lookup  s    d|r)   )r.   r/   r0   rb   	lru_cacher   rp   rn  ru  rt  r  r1   r  r   r  r   r   s   @r'   rh  rh    si     Y$ $.R4 " "
  r)   rh  c                       e Zd ZdefdZd Zy)r  r   c                 l   t         j                  j                  |j                        j	                         }|j                  d      }t        t              | _        t        t              | _	        |j                         D ]  }|j	                         }|j                  d      ri|j                  d      d   j                  d      d   }t        j                  |      }| j                  |   j                  |j!                  |             |s|dk(  s|j                  d      d   j                  d      d   }t        j#                  |      }| j                  |   j                  |j!                  |              | j                  j%                          | j                  j%                          y )Nz.eggz
.dist-infoz	.egg-inforu   r   -zegg-info)rr  r   basenamerj  lowerrL   r   r+  infoseggsru  
rpartitionr   r  r  appendrn  legacy_normalizefreeze)	r&   r   basebase_is_eggrm  lowr$   
normalizedlegacy_normalizeds	            r'   rp   zLookup.__init__  sL   ww		*002mmF+)$/
(.	]]_ 
	JE++-C||78~~c*1-77<Q?%//5


:&--dmmE.BC
!2s+A.88=a@$,$=$=d$C!		+,33DMM%4HI
	J 	

		r)   c                 v   |r| j                   |j                     n6t        j                  j	                  | j                   j                               }|r| j                  |j                     n6t        j                  j	                  | j                  j                               }t        j                  ||      S r+   )r  r  r   r   r   r   r  r  )r&   preparedr  r  s       r'   r  zLookup.search  s      JJx**+..tzz/@/@/BC 	  IIh001..tyy/?/?/AB 	
 ud++r)   N)r.   r/   r0   rh  rp   r  r2   r)   r'   r  r    s    X *,r)   r  c                   B    e Zd Z	 dZdZd Zed        Zed        Zd Z	y)r  Nc                 p    || _         |y | j                  |      | _        | j                  |      | _        y r+   )r$   r  r  r  r  r-   s     r'   rp   zPrepared.__init__  s4    	<...!%!6!6t!<r)   c                 n    	 t        j                  dd|       j                         j                  dd      S )Nz[-_.]+r  r   )r   subr  replacer#   s    r'   r  zPrepared.normalize  s2    	 vvid+113;;CEEr)   c                 D    	 | j                         j                  dd      S )Nr  r   )r  r  r#   s    r'   r  zPrepared.legacy_normalize  s"    	 zz|##C--r)   c                 ,    t        | j                        S r+   )boolr$   r%   s    r'   __bool__zPrepared.__bool__  s    DIIr)   )
r.   r/   r0   r  r  rp   rW   r  r  r  r2   r)   r'   r  r    sH     J= F F . .r)   r  c                   R    e Zd Zeej                         fd       Zed        Zd Zy)MetadataPathFinderc                 p    	 | j                  |j                  |j                        }t        t        |      S r+   )_search_pathsr$   r   rG   r   )r@   r   founds      r'   r  z%MetadataPathFinder.find_distributions	  s1    	 !!',,=#U++r)   c                     	 t        |      t        j                  j                  fdt	        t
        |      D              S )Nc              3   @   K   | ]  }|j                          y wr+   )r  )r:   r   r  s     r'   r<   z3MetadataPathFinder._search_paths.<locals>.<genexpr>  s      -
&*DKK!-
r   )r  r   r   r   rG   rh  )r@   r$   r=  r  s      @r'   r  z MetadataPathFinder._search_paths  s:    ?D>,, -
.1(E.B-
 
 	
r)   c                 @    t         j                  j                          y r+   )rh  r   r  )r@   s    r'   invalidate_cachesz$MetadataPathFinder.invalidate_caches  s    $$&r)   N)	r.   r/   r0   rV   r   r   r  r  r  r2   r)   r'   r  r    s9    (:(B(B(D 
, 
, 
 
'r)   r  c                        e Zd ZdefdZd Zej
                  j                  e_        d Ze	 fd       Z
ed        Z xZS )r   r   c                     	 || _         y r+   )r5  r   s     r'   rp   zPathDistribution.__init__#  s    	 
r)   c                     t        t        t        t        t        t
              5  | j                  j                  |      j                  d      cd d d        S # 1 sw Y   y xY w)Nr   r   )	r   FileNotFoundErrorIsADirectoryErrorr   NotADirectoryErrorPermissionErrorr5  rn  r   r   s     r'   r   zPathDistribution.read_text*  sT    
 	M ::&&x0::G:L	M 	M 	Ms   +AA"c                 4    | j                   j                  |z  S r+   )r5  parentr   s     r'   r   zPathDistribution.locate_file6  s    zz  4''r)   c                     	 t         j                  j                  t        | j                              } t        t        j                        | j                  |            xs
 t        | (  S r+   )rr  r   r  rH   r5  r	   r  r  _name_from_stemr   r  )r&   stemr   s     r'   r  z!PathDistribution._normalized_name9  sX    	 wwDJJ0)Ih(()$*>*>t*DE (w'	
r)   c                     	 t         j                  j                  |       \  }}|dvry |j                  d      \  }}}|S )Nr  r  )rr  r   splitextr   )r  r   extr$   rS  rests         r'   r  z PathDistribution._name_from_stemE  sH    	 ((.#11",,S1c4r)   )r.   r/   r0   r   rp   r   r   __doc__r   r1   r  rW   r  r   r   s   @r'   r   r   "  sX    Z M %..66I( 	
 	
  r)   r   c                 .    	 t         j                  |       S r+   )r   r   distribution_names    r'   r   r   W  s    
 !!"344r)   c                  .    	 t        j                  di | S r   )r   r   )r   s    r'   r   r   `  s       *6**r)   r   c                 B    	 t         j                  |       j                  S r+   )r   r   r   r  s    r'   r   r   h  s!    
 !!"34===r)   c                 .    	 t        |       j                  S r+   )r   r    r  s    r'   r    r    q  s     )*222r)   r  )keyc                      	 t         j                  j                  d t        t	                     D              } t        |      j                  di | S )Nc              3   4   K   | ]  }|j                     y wr+   )r   )r:   rj   s     r'   r<   zentry_points.<locals>.<genexpr>  s      ("(s   r2   )r   r   r   _uniquer   r   r   )r   epss     r'   r   r     sN     //
'
' (&-mo&>( C #;s"",V,,r)   c                 .    	 t        |       j                  S r+   )r   r   r  s    r'   r   r     s    
 )*000r)   c                 .    	 t        |       j                  S r+   )r   r   r  s    r'   r   r     s     )*333r)   c                      	 t        j                  t              } t               D ]@  }t	        |      xs t        |      D ]#  }| |   j                  |j                  d          % B t        |       S r  )	collectionsdefaultdictr+  r   _top_level_declared_top_level_inferredr  r   r{  )pkg_to_distrj   pkgs      r'   r   r     sr     ))$/K ;&t,I0CD0I 	;C##DMM&$9:	;; r)   c                 H    | j                  d      xs dj                         S )Nztop_level.txtrt   )r   rx   r   s    r'   r  r    s    NN?+1r88::r)   c                     t        | j                        D ch c]>  }t        |j                        dkD  r|j                  d   nt	        j
                  |      @ }}t        d        }t        ||      S c c}w )Nr   r   c                 
    d| vS rp  r2   r#   s    r'   importable_namez,_top_level_inferred.<locals>.importable_name  s    $r)   )r
   r   lenpartsr   getmodulenamer	   rF   )rj   f	opt_namesr  s       r'   r  r    sy     !, !''lQ&
G,A,A!,DDI 
   /9--s   AA5)Krr  r   r^  r$  r  r  r   ry  r   rR   rd   rb   r   rx  
contextlibr  r   rt   r   r   _collectionsr   r   
_functoolsr   r	   
_itertoolsr
   r   r   r   r   	importlibr   importlib.abcr   r   typingr   r   r   r   __all__ModuleNotFoundErrorr   r4   rY   rh   tupler   PurePosixPathr   r   r   r   r   rh  r  r  r  r   r   r   r   r    rc   
attrgetterr  r   r   r   rH   r   r  r  r2   r)   r'   <module>r     s   	 	 
 
 
              4 / 8 .  # (  0 0 	. 	>1 >1B! !6v! v!r.
% .
b+''' + C C$ $&sF( sFl- -`, ,^!, !,H D'+ '42| 2j5+>5#8#8 >3 )

./
-k -14T#Y 7 ";
.r)   