
    vKg&                     |   S SK r S SKrS SK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  S SKJrJr  S SKJrJr  S SKJrJr  S SKJr  S S	KJr  \R:                  " \5      r " S
 S\	5      r        SS\
\\!      S\"S\"S\
\\!      S\"S\"S\\!   S\\!SS4   4S jjr#S\S\!4S jr$S\S\ 4S jr% " S S5      r&g)    N)	ContainerDict	GeneratorIterableList
NamedTupleOptionalSet)canonicalize_name)InvalidVersion)
BadCommandInstallationError)BaseDistributionget_environment)install_req_from_editableinstall_req_from_line)
COMMENT_RE)%direct_url_as_pep440_direct_referencec                   0    \ rS rSr% \\S'   \\   \S'   Srg)_EditableInfo   requirementcomments N)__name__
__module____qualname____firstlineno__str__annotations__r   __static_attributes__r       _/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/pip/_internal/operations/freeze.pyr   r      s    3ir"   r   r   
local_only	user_onlypathsisolatedexclude_editableskipreturnc              #     #    0 n[        U5      R                  USUS9nU H@  n	[        R                  U	5      n
U(       a  U
R                  (       a  M2  XU
R
                  '   MB     U (       Ga  [        5       n[        R                  " [        5      nU  GH|  n[        U5       nU GH]  nUR                  5       (       a:  UR                  5       R                  S5      (       d  UR                  S5      (       a,  UR                  5       nX;  a  UR                  U5        Uv   M  UR                  S5      (       d  UR                  S5      (       a`  UR                  S5      (       a  USS  R                  5       nO+U[        S5      S  R                  5       R!                  S5      n[#        UUS	9nO-[%        [&        R(                  " S
U5      R                  5       US	9nUR*                  (       d=  [,        R/                  SUUR                  5       5        [,        R/                  S5        GM  [1        UR*                  5      nUU;  a}  UUR*                     (       dH  [,        R3                  SU[&        R(                  " S
U5      R                  5       UR*                  5        GM  UUR*                     R5                  U5        GM  [7        UU   5      R                  5       v   UU	 UUR*                     R5                  U5        GM`     S S S 5        GM     UR9                  5        HO  u  nn[        U5      S:  d  M  [,        R3                  SUSR;                  [=        [        U5      5      5      5        MQ     Sv   [=        UR?                  5       S S9 H0  nUR
                  U;  d  M  [7        U5      R                  5       v   M2     g ! , (       d  f       GMF  = f7f)Nr   )r$   r)   r%   #)z-rz--requirementz-fz--find-linksz-iz--index-urlz--prez--trusted-hostz--process-dependency-linksz--extra-index-urlz--use-featurez-ez
--editable   =)r'    zWSkipping line in requirement file [%s] because it's not clear what it would install: %sz9  (add #egg=PackageName to the URL to avoid this warning)zBRequirement file [%s] contains %s, but package %r is not installed   z+Requirement %s included multiple times [%s]z, z7## The following requirements were added by pip freeze:c                 6    U R                   R                  5       $ N)namelower)xs    r#   <lambda>freeze.<locals>.<lambda>   s    QVV\\^r"   )key) r   iter_installed_distributionsFrozenRequirement	from_disteditablecanonical_namesetcollectionsdefaultdictlistopenstrip
startswithrstripaddlenlstripr   r   r   subr3   loggerinfor   warningappendr   itemsjoinsortedvalues)r   r$   r%   r&   r'   r(   r)   installationsdistsdistreqemitted_options	req_filesreq_file_pathreq_filelineline_reqline_req_canonical_namer3   filesinstallations                        r#   freezer_      s*     35ME"?? @ E
 ))$/,/c(()	  
 %(E +6*A*A$*G	(Mm$$D JJLL::<22377??    ${{}6+//5"&J t,,0M0M??400#'8>>#3D#'L(9(;#<#B#B#D#K#KC#PD#< %-$
 $9&NN2t4::<%-$
 $==G) JJL	 -
 3DHMM2R/2-G $-X]]#; &%B$1$.NN2t$<$B$B$D$,MM!" !*(-- 8 ? ? N"%m4K&L"M"T"T"VV -.E F%hmm4;;MJM % %$ )X %??,KD%5zA~AIIfSZ01 - II}335;ST&&d2l#**,, Ui %$s,   B O"I%O	0O;A*O) O	
O		OrT   c                      U R                   nU R                   SU 3$ ! [         a    U R                   SU R                   3s $ f = f)Nz==z===)versionraw_namer   raw_version)rT   dist_versions     r#   _format_as_name_versionre      sT    2||
 --<.11	  7--D$4$4#5667s    %AAc           	      |   U R                   nU(       d   e[        R                  R                  [        R                  R	                  U5      5      nSSKJnJnJn  UR                  U5      nUc1  [        U 5      n[        R                  SUU5        [        USU S3/S9$ [        U5      R                  n UR!                  X R"                  5      n	[        U	/ S9$ ! U a     [        U 5      n[        USU S	U S3/S9s $ U a6  n
[        U 5      n[        USU S
U S3SU
R$                   S3/S9s Sn
A
$ Sn
A
f[&         a.    [        R)                  SUUR*                  5        [        U/ S9s $ [,         a   n[        R)                  SU5         SnAOSnAff = f[        R)                  SU5        [        US/S9$ )zU
Compute and return values (req, comments) for use in
FrozenRequirement.from_dist().
r   )RemoteNotFoundErrorRemoteNotValidErrorvcsNz1No VCS found for editable requirement "%s" in: %rz,# Editable install with no version control ())r   r   z# Editable z install with no remote (z
 install (z4) with either a deleted local remote or invalid URI:z# ''zPcannot determine version of editable source in %s (%s command not found in path)z6Error when trying to get requirement for VCS system %sz-Could not determine repository location of %sz-## !! Could not determine repository location)editable_project_locationospathnormcaseabspathpip._internal.vcsrg   rh   ri   get_backend_for_dirre   rJ   debugr   typer   get_src_requirementrb   urlr   rL   r3   r   )rT   rl   locationrg   rh   ri   vcs_backenddisplayvcs_namerU   exexcs               r#   _get_editable_infor}      s   
 !% > >$$$ww0I JKHOO))(3K)$/?	

  DWIQOP
 	

 K ))H;--hF8 r::7  
)$/ #H:-FwiqQR
 	
  	
)$/ hZz' ;/ 0bffXQ
 	
  @-		
 B?? VOQTUUV
 NNBHMAB s6   7C #FF+D71F78F1	F:FFc                   h    \ rS rSr SS\S\S\S\\   SS4
S jjr\S	\	SS 4S
 j5       r
S\4S jrSrg)r:      r3   rU   r<   r   r*   Nc                 T    Xl         [        U5      U l        X l        X0l        X@l        g r2   )r3   r   r=   rU   r<   r   )selfr3   rU   r<   r   s        r#   __init__FrozenRequirement.__init__   s%     	/5  r"   rT   c                     UR                   nU(       a  [        U5      u  p4O6/ nUR                  nU(       a  [        XQR                  5      nO[        U5      nU " UR                  X2US9$ )N)r   )r<   r}   
direct_urlr   rb   re   )clsrT   r<   rU   r   r   s         r#   r;   FrozenRequirement.from_dist   sZ    ==.t4MCHJ;JV .d34==#(CCr"   c                     U R                   nU R                  (       a  SU 3nSR                  [        U R                  5      [        U5      /-   5      S-   $ )Nz-e 
)rU   r<   rO   rA   r   r   )r   rU   s     r#   __str__FrozenRequirement.__str__   sE    hh==u+Cyydmm,Cz9:TAAr"   )r=   r   r<   r3   rU   )r   )r   r   r   r   r   boolr   r   classmethodr   r;   r   r!   r   r"   r#   r:   r:      sv     #%!! ! 	!
 3-! 
! D- D2E D D B Br"   r:   )NFFNFFr   )'r?   loggingrm   typingr   r   r   r   r   r   r	   r
   pip._vendor.packaging.utilsr   pip._vendor.packaging.versionr   pip._internal.exceptionsr   r   pip._internal.metadatar   r   pip._internal.req.constructorsr   r   pip._internal.req.req_filer   &pip._internal.utils.direct_url_helpersr   	getLoggerr   rJ   r   r   r   r_   re   r}   r:   r   r"   r#   <module>r      s     	 X X X 9 8 B D 2 X			8	$J  (,!%"v-$s)$v-v- v- DI	v-
 v- v- C.v- sD$v-r2"2 2s 2?- ?- ?D#B #Br"   