
    'j2(                       S SK Jr  S SKrS SKrS SKJrJr  S SKJr  S SK	J
r
  S SKJrJr  S SKJrJrJrJrJrJrJrJr  S SKJr  S S	KJrJr  S S
KJr  S SKJr  S SK J!r!J"r"  \
(       a  S SK#J$r$  S SK%J&r&        SS jr'      SS jr(\RR                  " S\RT                  5      r+SS jr,SS jr-        S S jr.      S!S jr/      S"S jr0      S#S jr1      S$S jr2      S%S jr3S&S jr4      S'S jr5g)(    )annotationsN)IterableIterator)Path)TYPE_CHECKING)urljoinurlsplit)PackagePackageArchivePackageDirectoryPackageSdist
PackageVcsPackageWheelPylockis_valid_pylock_path)Version)DiagnosticPipErrorInstallationError)Link)tomllib)path_to_urlurl_to_path)
PipSession)InstallRequirementc           
        UR                  5       nU R                  5       nU R                  nU(       d   eS nS nS nS nS nS n	U R                  (       Ga  UR                  (       a`  [        UR                  R                  UR                  S UR                  R                  UR                  R                  UR                  S9nGOUR                  (       a  [        [        [        UR                  5      5      R                  5       R                  U5      R!                  5       UR                  R"                  (       a  UR                  R"                  OS UR                  S9nGOPUR$                  (       aZ  UR$                  R&                  (       d
  [)        5       e[+        UR                  S UR$                  R&                  UR                  S9nO[)        5       eUR,                  nUR$                  (       a  UR$                  R&                  (       d
  [)        5       e[/        UR                  5      n
U
R0                  (       a5  [3        U
R4                  UR                  UR$                  R&                  S9/n	O>[7        U
R4                  UR                  UR$                  R&                  S9nO
[)        5       e[9        UR:                  UUUUUU	S9$ )N)typeurlpathrequested_revision	commit_idsubdirectory)r   editabler!   )r   r   hashesr!   )namer   r#   )r$   versionvcs	directoryarchivesdistwheels)resolveget_distdownload_info	is_directvcs_infor   r&   r   r   r    r!   dir_infor   r   r   relative_toas_posixr"   archive_infor#   NotImplementedErrorr   r%   r   is_wheelr   filenamer   r
   canonical_name)ireqbase_dirdistr-   package_versionpackage_vcspackage_directorypackage_archivepackage_sdistpackage_wheelslinks              R/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pip/_internal/utils/pylock.py(_pylock_package_from_install_requirementrC       sE    !H==?D&&M=OKOMN~~~!!$"++//!%%#0#9#9#L#L'00::*77K ## 0]%6%678WY [*XZ %--66 "**33*77! '' --44)++,!%%$1188*77	O &'',,%% --44)++))*D}} !]])--,99@@" !-%))(55<<! &''  #     c           	     R   ^ [        [        S5      S[        U4S jU  5       S S9S9$ )Nz1.0pipc              3  <   >#    U  H  n[        UT5      v   M     g 7fN)rC   ).0r8   r9   s     rB   	<genexpr>3pylock_from_install_requirements.<locals>.<genexpr>{   s"      0D 9xHH0s   c                    U R                   $ rH   )r$   )ps    rB   <lambda>2pylock_from_install_requirements.<locals>.<lambda>   s    !&&rD   )key)lock_version
created_bypackages)r   r   sorted)install_requirementsr9   s    `rB    pylock_from_install_requirementsrV   t   s6     U^0 !

 
rD   z^(http|https|file)://c                >    [        [        R                  U 5      5      $ rH   )bool
_SCHEME_REmatch)ss    rB   _is_urlr\      s    
  #$$rD   c                    [        U 5      (       a1  [        [        U 5      R                  R	                  S5      S   5      nO[        U 5      n[        U5      $ )N/)r\   r   r	   r   
rpartitionr   )r6   r   s     rB   is_valid_pylock_filenamera      sF    xHX&++66s;B?@H~%%rD   c                8   UGb  [         R                  R                  U5      (       d  [        U 5      (       ah  [	        X5      n[        U 5      n[        U5      nUR                  UR                  4UR                  UR                  4:w  a  [        SU< SU < 35      eU$ [        [         R                  R                  [         R                  R                  U 5      U5      5      $ [        U 5      (       a  [        SU< SU < 35      e[        U5      $ Uc   eU$ )zCompute an url from a Pylock package path and url.

Give priority to path over url. If path is relative,
compute an url using the pylock file location as base.
zPath zC in pylock file obtained from a URL resolves outside its location: zFAbsolute paths are not supported in pylock files obtained from a URL: z in )osr   isabsr\   r   r	   schemenetlocr   r   joindirname)pylock_path_or_urlr   r   dist_urlbasetargets         rB   _package_dist_urlrm      s    ww}}T"")**"#5<
   23!(+MM6==1dkk4;;5OO+x (::L9OQ   "GGLL1C!DdK 
 )**'##'($/A.DF  t$$
rD   c                    [        XR                  UR                  5      nUR                   SU SUR                   3nUR
                  (       a,  SU;   a  [        SU< SU < S35      eUSUR
                  -   -  nU$ )N+@#Package URL E cannot contain fragments in combination with subdirectory field (in )#subdirectory=)rm   r   r   r   r    r!   r   )ri   r<   rj   r   s       rB   package_vcs_requirement_urlrv      s     !!35E5E{WHaz;+@+@*A
BC#:#sg &//A.DAG  	+":":::JrD   c                    [        XR                  UR                  5      nUR                  (       a,  SU;   a  [	        SU< SU < S35      eUSUR                  -   -  nU$ )Nrq   rr   rs   rt   ru   )rm   r   r   r!   r   )ri   r>   r   s      rB   package_archive_requirement_urlrx      su     00/2E2EC ###:#sg &//A.DAG  	/">">>>JrD   c                v   [        U 5      (       a%  U R                  S5      (       d  [        SU < 35      e[        XR                  S 5      nUR                  S5      (       d   eUR                  S5      (       d  US-  nUR                  (       a)  X!R                  -  nUR                  S5      (       d  US-  nU$ )Nzfile://z:Directory entries are not supported in remote pylock.toml r^   )r\   
startswithr   rm   r   endswithr!   )ri   r=   r   s      rB   !package_directory_requirement_urlr|      s     !""+=+H+H+S+SH!$&
 	
 .0F0F
MC>>)$$$$<<s
%%---||C  3JCJrD   c                B    [        XR                  UR                  5      $ rH   rm   r   r   )ri   r?   s     rB   package_sdist_requirement_urlr           /1C1C]EVEVWWrD   c                B    [        XR                  UR                  5      $ rH   r~   )ri   package_wheels     rB   package_wheel_requirement_urlr      r   rD   c                    [        U 5      R                  nUS;   a+  SSKJn  UR	                  U 5      nU" U5        UR
                  $ [        U 5      R                  SS9$ )N)httphttpsfiler   )raise_for_statuszutf-8)encoding)r	   re   pip._internal.network.utilsr   gettextr   	read_text)path_or_urlsessionre   r   resps        rB   _get_pylock_path_or_url_contentr      sY    k"))F**@{{;'yy &&&88rD   c              #    #     [        X5      n [        R
                  " [        R                  " U5      5      n UR                  5        S h  vN   g ! [         a    e [         a  n[        SU < SU 35      UeS nAff = f! [         a  n[        SU < SU 35      UeS nAff = f NY! [         a  n[        SU < SU 35      UeS nAff = f7f)NzError reading pylock file z: zInvalid pylock file z,Cannot select requirements from pylock file )	r   r   	Exceptionr   r   	from_dictr   loadsselect)ri   r   pylock_contentexclocks        rB   select_from_pylock_path_or_urlr     s     89KUn => ;;=  #   ();(>bF
	  "#5"83%@
	 	! :;M:PPRSVRWX
	st   CA *B B* B(B* CB (A;;B  C
B%B  B%%C(B* *
C4CCC)r8   r   r9   r   returnr
   )rU   zIterable[InstallRequirement]r9   r   r   r   )r[   strr   rX   )r6   r   r   rX   )ri   r   r   
str | Noner   r   r   r   )ri   r   r<   r   r   r   )ri   r   r>   r   r   r   )ri   r   r=   r   r   r   )ri   r   r?   r   r   r   )ri   r   r   r   r   r   )r   r   r   r   r   r   )ri   r   r   r   r   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])6
__future__r   rc   recollections.abcr   r   pathlibr   typingr   urllib.parser   r	   pip._vendor.packaging.pylockr
   r   r   r   r   r   r   r   pip._vendor.packaging.versionr   pip._internal.exceptionsr   r   pip._internal.models.linkr   pip._internal.utils.compatr   pip._internal.utils.urlsr   r   pip._internal.network.sessionr   pip._internal.req.req_installr   rC   rV   compile
IGNORECASErY   r\   ra   rm   rv   rx   r|   r   r   r   r    rD   rB   <module>r      s   " 	 	 .    *	 	 	 2 J * . =8@Q
Q(,QQh6BF  ZZ/?
%&''#-'4>''T*4.< 0@&XX,8XXXX,8XX9     rD   