
    ;ȋhC                        d dl mZ d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZ d dlmZ e
rd dlmZ  ej        d          Zd%dZd&dZe G d d                      Ze G d d                      Ze G d d                      Z e G d d                      Z!e G d d                       Z"e G d! d"                      Z#e G d# d$                      Z$dS )'    )annotationsN)Iterable)	dataclass)Path)TYPE_CHECKINGAny)tomli_w)ArchiveInfoDirInfoVcsInfo)Link)InstallRequirement)url_to_path)Selfz^pylock\.([^.]+)\.toml$pathr   returnboolc                p    | j         dk    p+t          t          j        t          | j                             S )Nzpylock.toml)namer   rematchPYLOCK_FILE_NAME_RE)r   s    X/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_internal/models/pylock.pyis_valid_pylock_file_namer      s+    9%Wbh7JDI.V.V)W)WW    datalist[tuple[str, Any]]dict[str, Any]c                    d | D             S )Nc                F    i | ]\  }}||                     dd          |S )N_-)replace).0keyvalues      r   
<dictcomp>z&_toml_dict_factory.<locals>.<dictcomp>   s1    UUUZS%5CTCKKS!!5CTCTCTr    )r   s    r   _toml_dict_factoryr)      s    UU4UUUUr   c                  B    e Zd ZU ded<   ded<   ded<   ded<   ded<   dS )	
PackageVcsstrtype
str | Noneurlrequested_revision	commit_idsubdirectoryN__name__
__module____qualname____annotations__r(   r   r   r+   r+      sE         IIIOOO""""NNNr   r+   c                  .    e Zd ZU ded<   ded<   ded<   dS )PackageDirectoryr,   r   zbool | Noneeditabler.   r2   Nr3   r(   r   r   r9   r9   )   s3         IIIr   r9   c                  .    e Zd ZU ded<   ded<   ded<   dS )PackageArchiver.   r/   dict[str, str]hashesr2   Nr3   r(   r   r   r<   r<   0   s5         OOO r   r<   c                  .    e Zd ZU ded<   ded<   ded<   dS )PackageSdistr,   r   r.   r/   r=   r>   Nr3   r(   r   r   r@   r@   :   2         IIIOOO r   r@   c                  .    e Zd ZU ded<   ded<   ded<   dS )PackageWheelr,   r   r.   r/   r=   r>   Nr3   r(   r   r   rC   rC   D   rA   r   rC   c                      e Zd ZU ded<   dZded<   dZded<   dZded	<   dZd
ed<   dZded<   dZ	ded<   e
dd            ZdS )Packager,   r   Nr.   versionzPackageVcs | NonevcszPackageDirectory | None	directoryzPackageArchive | NonearchivezPackageSdist | Nonesdistzlist[PackageWheel] | Nonewheelsireqr   base_dirr   r   r   c                   |                                 }|                                }|j        }|sJ  | |j                  }|j        rqt          |j        t                    rCt          |j        j	        |j
        |j        j        |j        j        |j                  |_	        nt          |j        t                    rt          t!          t#          |j
                                                                                 |                                          |j        j        r|j        j        nd |j                  |_        n=t          |j        t,                    rF|j        j        st1                      t3          |j
        |j        j        |j                  |_        nt1                      t7          |j                  |_        t          |j        t,                    r|j        j        st1                      t;          |j
                  }|j        r-t?          |j         |j
        |j        j                  g|_!        n:tE          |j         |j
        |j        j                  |_#        nt1                      |S )Nr   )r-   r/   r0   r1   r2   )r   r:   r2   )r/   r>   r2   )r   r/   r>   )$resolveget_distdownload_infocanonical_name	is_direct
isinstanceinfor   r+   rG   r/   r0   r1   r2   r   r9   r   r   relative_toas_posixr:   rH   r
   r>   NotImplementedErrorr<   rI   r,   rF   r   is_wheelrC   filenamerK   r@   rJ   )clsrL   rM   distrR   packagelinks          r   from_install_requirementz Package.from_install_requirement^   si   ##%%}}*#4.///> 9	,-,g66 !,(&+/%)'4'9'L+0:!.!;   M.88 ,$4[):;;<< $X..! )-6"*33!!.!;% % %!! M.<< 
,$)0 0-///"0%)(-4!.!;# # # *+++!$,//GO-,k:: ,$)0 0-///M-..= $!% - 1#0#5#<  &GNN %1!])-,18% % %GMM *+++r   )rL   r   rM   r   r   r   )r4   r5   r6   r7   rF   rG   rH   rI   rJ   rK   classmethodr`   r(   r   r   rE   rE   N   s         IIIG "C!!!!)-I----%)G))))!%E%%%%(,F,,,, @ @ @ [@ @ @r   rE   c                  x    e Zd ZU dZded<   dZded<    ej        e          Z	ded<   dd
Z
edd            ZdS )Pylockz1.0r,   lock_versionpip
created_by)default_factoryzlist[Package]packagesr   c                \    t          j        t          j        | t                              S )N)dict_factory)r	   dumpsdataclassesasdictr)   )selfs    r   as_tomlzPylock.as_toml   s#    }[/CUVVVWWWr   install_requirementsIterable[InstallRequirement]rM   r   r   c                T     | t          fd|D             d                     S )Nc              3  N   K   | ]}t                               |          V   d S N)rE   r`   )r$   rL   rM   s     r   	<genexpr>z3Pylock.from_install_requirements.<locals>.<genexpr>   sG         44T8DD     r   c                    | j         S rt   rO   )ps    r   <lambda>z2Pylock.from_install_requirements.<locals>.<lambda>   s    af r   )r%   )rh   )sorted)r\   rp   rM   s     `r   from_install_requirementsz Pylock.from_install_requirements   s^     s    4   %$  
 
 
 	
r   N)r   r,   )rp   rq   rM   r   r   r   )r4   r5   r6   rd   r7   rf   rl   fieldlistrh   ro   ra   rz   r(   r   r   rc   rc      s         L
 J/k/EEEHEEEEX X X X 
 
 
 [
 
 
r   rc   )r   r   r   r   )r   r   r   r   )%
__future__r   rl   r   collections.abcr   r   pathlibr   typingr   r   pip._vendorr	   pip._internal.models.direct_urlr
   r   r   pip._internal.models.linkr   pip._internal.req.req_installr   pip._internal.utils.urlsr   typing_extensionsr   compiler   r   r)   r+   r9   r<   r@   rC   rE   rc   r(   r   r   <module>r      s   " " " " " "     				 $ $ $ $ $ $ ! ! ! ! ! !       % % % % % % % %       I I I I I I I I I I * * * * * * < < < < < < 0 0 0 0 0 0 '&&&&&& bj!;<< X X X XV V V V                                         P P P P P P P Pf 
 
 
 
 
 
 
 
 
 
r   