
    ]h                    ~    S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S
S jrSS jr S       SS	 jjrg)    )annotations)ArchiveInfo	DirectUrlDirInfoVcsInfo)Link)path_to_url)vcsc                   U R                  5         US-   n/ n[        U R                  [        5      (       a@  UU R                  R                   SU R
                   SU R                  R                   3-  nO[        U R                  [        5      (       aO  X R
                  -  nU R                  R                  (       a%  UR                  U R                  R                  5        O/[        U R                  [        5      (       d   eX R
                  -  nU R                  (       a  UR                  SU R                  -   5        U(       a  USSR                  U5      -   -  nU$ )z0Convert a DirectUrl to a pip requirement string.z @ +@zsubdirectory=#&)validate
isinstanceinfor   r
   url	commit_idr   hashappendr   subdirectoryjoin)
direct_urlnamerequirement	fragmentss       X/var/www/html/env/lib/python3.13/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer   	   s   ,KI*//7++""#1Z^^$4Ajoo6O6O5PQ	
 
JOO[	1	1~~%??Z__112*//73333~~%:+B+BBCsSXXi000    c                6    [        [        U 5      [        SS9S9$ )NT)editable)r   r   )r   r	   r   )
source_dirs    r   direct_url_for_editabler#       s    
#d# r   Nc           	     l   U R                   (       a  [        R                  " U R                  5      nU(       d   eUR	                  U R
                  5      u  pEnU(       a  U(       d   eUnOU(       d   eUR                  U5      n[        U[        UR                  UUS9U R                  S9$ U R                  5       (       a'  [        U R
                  [        5       U R                  S9$ S nU R                  n	U	(       a  U	 SU R                   3n[        U R
                  [        US9U R                  S9$ )N)r
   r   requested_revision)r   r   r   =)r   )is_vcsr
   get_backend_for_schemeschemeget_url_rev_and_authurl_without_fragmentget_revisionr   r   r   subdirectory_fragmentis_existing_dirr   	hash_namer   r   )
linkr"   link_is_in_wheel_cachevcs_backendr   r%   _r   r   r/   s
             r   direct_url_from_linkr4   '   s)    {{00={%0%E%E%%&
" " &%%*I
 :#00<I$$##5
 33
 	
 
				))33
 	
 NN	[$))-D))$'33
 	
r   )r   r   r   strreturnr5   )r"   r5   r6   r   )NF)r0   r   r"   z
str | Noner1   boolr6   r   )
__future__r   pip._internal.models.direct_urlr   r   r   r   pip._internal.models.linkr   pip._internal.utils.urlsr	   pip._internal.vcsr
   r   r#   r4    r   r   <module>r>      sM    " T T * 0 !. OT0

0
&0
GK0
0
r   