+
    Žf©jÖˆ  ã                  ó¬  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RIHt ^ RIHtHtHtHtHtHtH t H!t!H"t" ^ RI#H$t$ ^ RI%H&t&H't' ^ RI(H)t)H*t* ^ RI+H,t,H-t- ^ RI.H/t/ ^ RI0H1t1 ^ RI2H3t3H4t4 ^ RI5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ RI;H<t< ^ RI=H>t>H?t? ^ RI@HAtAHBtB ^ RICHDtD ^ RIEHFtFHGtGHHtHHItI ^ RIJHKtK ^ RILHMtM ^ RINHOtO ^ RIPHQtQ ]'       d   ^ R IRHStS ]<! ]T4      tUR! R" ltVR# R$ ltW]	 ! R% R&4      4       tXR7R' R( lltYR7R) R* lltZR7R+ R, llt[R8R- R. llt\R/ R0 lt]R1 R2 lt^R3 R4 lt_ ! R5 R64      t`R# )9z(Prepares a distribution for installation)ÚannotationsN)ÚIterable)Ú	dataclass)ÚPath)ÚTYPE_CHECKING)ÚInvalidRequirement©Úcanonicalize_name)ÚBuildEnvironmentInstallerÚBuildIsolationMode)Ú)make_distribution_for_install_requirement)ÚInstalledDistribution)	ÚDirectoryUrlHashUnsupportedÚHashMismatchÚHashUnpinnedÚInstallationErrorÚMetadataInconsistentÚMetadataInvalidÚNetworkConnectionErrorÚSidecarMetadataInconsistentÚVcsHashUnsupported)ÚPackageFinder)ÚBaseDistributionÚget_metadata_distribution)ÚArchiveInfoÚ	DirectUrl)ÚLinkÚjoin_within_directory)ÚWheel)Ú
Downloader)ÚHTTPRangeRequestUnsupportedÚdist_from_wheel_url)Ú
PipSession)ÚBuildTracker)ÚInstallRequirement)Ú	getLogger)Údirect_url_for_editableÚdirect_url_from_link)ÚHashesÚMissingHashes)Ú
indent_log)Údisplay_pathÚ	hash_fileÚhide_urlÚredact_auth_from_requirement)Úget_requirement)ÚTempDirectory)Úunpack_file)Úvcs)ÚBarTypec               ó4   € V ^8„  d   QhRRRRRRRRR	R
RR
RR/# )é   Úreqr$   Úbuild_trackerr#   Úbuild_env_installerr
   Úbuild_isolationr   Úcheck_build_depsÚboolÚallow_editablesÚreturnr   © )Úformats   "Ú[/var/www/html/bestweb/venv/lib/python3.14/site-packages/pip/_internal/operations/prepare.pyÚ__annotate__rA   E   sN   € ÷ 5ñ 5Ø	ð5àð5ð 3ð5ð (ð	5ð
 ð5ð ð5ð ñ5ó    c                ó$  € \        V 4      pVP                  pVeE   VP                  W4      ;_uu_ 4        VP                  W#WE4       RRR4       VP	                  4       # VP	                  4       #   + '       g   i     TP	                  4       # ; i)z(Prepare a distribution for installation.N)r   Úbuild_tracker_idÚtrackÚprepare_distribution_metadatar   )r6   r7   r8   r9   r:   r<   Úabstract_distÚ
tracker_ids   &&&&&&  r@   Ú_get_prepared_distributionrI   E   s‚   € ô >¸cÓB€MØ×/Ñ/€JØÒØ× Ñ  ×1Õ1Ø×7Ñ7Ø#Ð6Fô÷ 2ð ×2Ñ2Ó4Ð4ˆ=×2Ñ2Ó4Ð4÷	 2Ö1ð ×2Ñ2Ó4Ð4ús   µA0Á0B	c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r5   Úlinkr   ÚlocationÚstrÚ	verbosityÚintr=   ÚNoner>   )r?   s   "r@   rA   rA   X   s.   € ÷ Nñ N˜$ð N¨#ð N¸#ð NÀ$ñ NrB   c                ó    € \         P                  ! V P                  4      pVf   Q hVP                  V\	        V P
                  4      VR7       R # )N)ÚurlrN   )r2   Úget_backend_for_schemeÚschemeÚunpackr-   rR   )rK   rL   rN   Úvcs_backends   &&& r@   Úunpack_vcs_linkrW   X   s@   € Ü×,Ò,¨T¯[©[Ó9€KØÒ"Ð"Ð"Ø×Ñ�x¤X¨d¯h©hÓ%7À9ÐÖMrB   c                  ó<   € ] tR t^^t$ R]R&   RtR]R&   R R ltRtR# )	ÚFilerM   ÚpathNú
str | NoneÚcontent_typec               ó   € V ^8„  d   QhRR/# )r5   r=   rP   r>   )r?   s   "r@   rA   ÚFile.__annotate__c   s   € ÷ ñ ˜tñ rB   c                	ó¤   € V P                   f0    \        P                  ! V P                  4      ^ ,          V n         R # R #   \         d     R # i ; i©N)r\   Ú	mimetypesÚ
guess_typerZ   ÚOSError)Úselfs   &r@   Ú__post_init__ÚFile.__post_init__c   sH   € Ø×ÑÒ$ðÜ$-×$8Ò$8¸¿¹Ó$CÀAÕ$F�Ö!ñ	 %øô
 ô Úðús   �,A  Á AÁA©r\   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r\   re   Ú__static_attributes__r>   rB   r@   rY   rY   ^   s   ‡ à
ƒIØ#€L�*Ó#÷ñ rB   rY   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r5   rK   r   Údownloadr   Údownload_dirr[   ÚhashesúHashes | Noner=   rY   r>   )r?   s   "r@   rA   rA   m   s:   € ÷ )ñ )Ø
ð)àð)ð ð)ð ð	)ð
 
ñ)rB   c                óÒ   € \        R RR7      pRpV'       d   \        WV4      pV'       d   TpRpM-V! WP                  4      w  rgV'       d   VP                  V4       \	        Wg4      # )rU   T©ÚkindÚglobally_managedN)r0   Ú_check_download_dirrZ   Úcheck_against_pathrY   )rK   ro   rp   rq   Útemp_dirÚalready_downloaded_pathÚ	from_pathr\   s   &&&&    r@   Úget_http_urlr|   m   sb   € ô  (¸TÔB€Hà"ÐßÜ"5°dÈ&Ó"QÐçØ+ˆ	Ø‰ñ #+¨4·±Ó"?Ñˆ	ßØ×%Ñ% iÔ0ä�	Ó(Ð(rB   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r5   rK   r   rp   r[   rq   rr   r=   rY   r>   )r?   s   "r@   rA   rA   …   s,   € ÷ !ñ !Ø
ð!Ø(ð!Ø9Fð!à	ñ!rB   c                ó¦   € RpV'       d   \        WV4      pV'       d   TpMV P                  pV'       d   VP                  V4       \        VR4      # )z'Get file and optionally check its hash.N)rw   Ú	file_pathrx   rY   )rK   rp   rq   rz   r{   s   &&&  r@   Úget_file_urlr€   …   sK   € ð
 #ÐßÜ"5°dÈ&Ó"QÐçØ+‰	à—N‘Nˆ	÷ Ø×!Ñ! )Ô,Ü�	˜4Ó Ð rB   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r5   rK   r   rL   rM   ro   r   rN   rO   rp   r[   rq   rr   r=   zFile | Noner>   )r?   s   "r@   rA   rA   �   sN   € ÷ (ñ (Ø
ð(àð(ð ð(ð ð	(ð
 ð(ð ð(ð ñ(rB   c                ó:  € V P                   '       d   \        WVR7       R# V P                  4       '       d   Q hV P                  '       d   \	        WVR7      pM\        V VVVR7      pV P                  '       g!   \        VP                  WP                  4       V# )aK  Unpack link into location, downloading if required.

:param hashes: A Hashes object, one of whose embedded hashes must match,
    or HashMismatch will be raised. If the Hashes is empty, no matches are
    required, and unhashable types of requirements (like VCS ones, which
    would ordinarily raise HashUnsupported) are allowed.
)rN   N©rq   )
Úis_vcsrW   Úis_existing_dirÚis_filer€   r|   Úis_wheelr1   rZ   r\   )rK   rL   ro   rN   rp   rq   Úfiles   &&&&&& r@   Ú
unpack_urlr‰   �   s‚   € ð  ‡{‡{€{Ü˜°)Õ<Ùà×#Ñ#×%Ò%Ð%Ð%ð ‡|‡|€|Ü˜D°vÔ>‰ô ØØØØô	
ˆð �=�=ˆ=Ü�D—I‘I˜x×):Ñ):Ô;à€KrB   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r5   rK   r   rp   rM   rq   rr   Úwarn_on_hash_mismatchr;   r=   r[   r>   )r?   s   "r@   rA   rA   È   s:   € ÷ ñ Ø
ðàðð ðð  ð	ð
 ñrB   c                ón  € \        WP                  4      p\        P                  P	                  V4      '       g   R# \
        P                  RV4       V'       d    VP                  V4       V# V#   \         d9    T'       d   \
        P                  RT4       \        P                  ! T4        R# i ; i)zyCheck download_dir for previously downloaded file with correct hash
If a correct file is found return its path else None
NzFile was already downloaded %sz;Previously-downloaded file %s has bad hash. Re-downloading.)r   ÚfilenameÚosrZ   ÚexistsÚloggerÚinforx   r   ÚwarningÚunlink)rK   rp   rq   r‹   Údownload_paths   &&&& r@   rw   rw   È   s“   € ô *¨,¿¹ÓF€Mä�7‰7�>‰>˜-×(Ò(Ùô ‡K�KÐ0°-Ô@ßð		Ø×%Ñ% mÔ4ð Ðˆ=Ðøô ô 	ß$Ü—‘ØQØ!ôô �IŠI�mÔ$Úð	ús   ÁA1 Á1B4Â,B4Â3B4c               ó    € V ^8„  d   QhRRRR/# )r5   ÚrawrM   r=   r>   )r?   s   "r@   rA   rA   æ   s   € ÷ ñ  3ð ¨3ñ rB   c                ó6  € \        V 4      p\        VP                  4      .pVP                  '       dA   \	        R VP                   4       4      pVP                  RRP                  V4       R24       VP                  '       d%   VP                  \        VP                  4      4       VP                  '       d   VP                  RVP                   24       VP                  '       d   VP                  RVP                   24       RP                  V4      # )a=  Return a normalized form of a PEP 508 requirement string.

Used to compare ``Requires-Dist`` entries from two sources of metadata
for the same distribution without being confused by superficial
differences in name casing, extra casing, or extras ordering. May raise
``InvalidRequirement`` if ``raw`` is not a valid PEP 508 string.

TODO: once https://github.com/pypa/packaging/pull/1278 is released and
vendored, ``Requirement.__eq__`` will canonicalize requested extras and
this manual normalization can be dropped in favour of comparing
``Requirement`` objects directly.
c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir`   r   )Ú.0Úes   & r@   Ú	<genexpr>Ú,_canonicalize_requirement.<locals>.<genexpr>ö   s   é € Ð"OÁ¸AÔ#4°Q×#7Ð#7Ãùs   ‚Ú[Ú,Ú]z @ z; Ú )r/   r	   ÚnameÚextrasÚsortedÚappendÚjoinÚ	specifierrM   rR   Úmarker)r–   ÚparsedÚpartsÚnormalized_extrass   &   r@   Ú_canonicalize_requirementr«   æ   sÎ   € ô ˜SÓ!€FÜ)¨&¯+©+Ó6Ð7€EØ‡}‡}€}Ü"Ñ"OÀÇÂÓ"OÓOÐØ�‰�q˜Ÿ™Ð"3Ó4Ð5°QÐ7Ô8Ø××ÐØ�‰”S˜×)Ñ)Ó*Ô+Ø‡z‡z€zØ�‰�s˜6Ÿ:™:˜,Ð'Ô(Ø‡}‡}€}Ø�‰�r˜&Ÿ-™-˜Ð)Ô*Ø�7‰7�5‹>ÐrB   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r5   r6   r$   Údistr   ÚsourcerM   r=   zfrozenset[str]r>   )r?   s   "r@   rA   rA     s,   € ÷  ñ  Ø	ð Ø#3ð Ø=@ð àñ rB   c           	     óö   € \        4       pVP                  4        F,  p VP                  \        VP	                  4       4      4       K.  	  \        V4      #   \
         d   p\        T RT RT 24      hRp?ii ; i)zŸReturn the canonicalized ``Requires-Dist`` entries of ``dist``.

``source`` describes which metadata file ``dist`` was parsed from, for
use in error messages.
zRequires-Dist in z: N)ÚsetÚiter_raw_dependenciesÚaddr«   Ústripr   r   Ú	frozenset)r6   r­   r®   Ú	canonicalr–   rš   s   &&&   r@   Ú_canonical_requiresr¶     sz   € ô ›%€IØ×)Ñ)Ö+ˆð	Jð �M‰MÔ3°C·I±I³KÓ@ÖAñ ,ô �YÓÐøô "ô 	JÜ! #Ð):¸6¸(À"ÀQÀCÐ'HÓIÐIûð	Jús   Ÿ(AÁA8Á!A3Á3A8c               ó(   € V ^8„  d   QhRRRRRRRR/# )r5   r6   r$   Úsidecar_distr   Ú
wheel_distr=   rP   r>   )r?   s   "r@   rA   rA     s0   € ÷ >
ñ >
Ø	ð>
à"ð>
ð !ð>
ð 
ñ	>
rB   c                ó�  € \        VP                  4      p\        VP                  4      pW48w  d   \        V RW44      hVP                  VP                  8w  d5   \        V R\	        VP                  4      \	        VP                  4      4      h\        WR4      p\        WR4      pWV8w  dK   \        V RRP                  \        WV,
          4      4      RP                  \        We,
          4      4      4      hVP                  VP                  8w  d5   \        V R\	        VP                  4      \	        VP                  4      4      h\        VP                  4       4      p\        VP                  4       4      pWx8w  dK   \        V RRP                  \        Wx,
          4      4      RP                  \        W‡,
          4      4      4      hR	# )
aL  Check that a .metadata-based distribution matches the wheel's METADATA.

Compare ``Name``, ``Version``, ``Requires-Dist``, ``Requires-Python``
and ``Provides-Extra`` between the two and abort the install on any
mismatch as PEP 658 requires the metadata files "MUST be identical".

While the PEP doesn't mandate that consumers enforce the identical
requirement, it's good nonetheless to check to prevent confusing
behaviour when an index misbehaves.

Also note for name and version, pip usually rejects wheels if they're
inconsistent already. Checking them again here is purely defensive.
ÚNameÚVersionzthe PEP 658 .metadata filezthe wheel's METADATAzRequires-Distz, zRequires-PythonzProvides-ExtraN)r	   Úraw_namer   ÚversionrM   r¶   r¥   r£   Úrequires_pythonr´   Úiter_provided_extras)	r6   r¸   r¹   Úsidecar_nameÚ
wheel_nameÚsidecar_requiresÚwheel_requiresÚsidecar_extrasÚwheel_extrass	   &&&      r@   Ú_check_sidecar_matches_wheelrÇ     s“  € ô& % \×%:Ñ%:Ó;€LÜ" :×#6Ñ#6Ó7€JØÔ!Ü)¨#¨v°|ÓPÐPà×Ñ˜z×1Ñ1Ô1Ü)ØØÜ�×$Ñ$Ó%Ü�
×"Ñ"Ó#ó	
ð 	
ô +ØÐ7óÐô )¨Ð:PÓQ€NØÔ)Ü)ØØØ�I‰I”fÐ-Õ>Ó?Ó@Ø�I‰I”f˜^Õ>Ó?Ó@ó	
ð 	
ð ×#Ñ# z×'AÑ'AÔAÜ)ØØÜ�×,Ñ,Ó-Ü�
×*Ñ*Ó+ó	
ð 	
ô ˜|×@Ñ@ÓBÓC€NÜ˜Z×<Ñ<Ó>Ó?€LØÔ%Ü)ØØØ�I‰I”f˜^Õ:Ó;Ó<Ø�I‰I”f˜\Õ:Ó;Ó<ó	
ð 	
ñ &rB   c                  óÚ   a € ] tR tRtRtR V 3R lltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R R lltR R R lltR R R lltR R ltR R ltR R ltR R ltRtV ;t# )!ÚRequirementPrepareriV  zPrepares a Requirementc          "     ó\   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRR/# )r5   Ú	build_dirrM   rp   r[   Úsrc_dirr9   r   Úbuild_isolation_installerr
   r:   r;   r7   r#   Úsessionr"   Úprogress_barr3   Úfinderr   Úrequire_hashesÚuse_user_siteÚ
lazy_wheelrN   rO   Úlegacy_resolverr<   r=   rP   r>   )r?   s   "r@   rA   Ú RequirementPreparer.__annotate__Y  s¶   € ÷ ?/ñ ?/ð ð?/ð !ð	?/ð
 ð?/ð ,ð?/ð $=ð?/ð ð?/ð $ð?/ð ð?/ð ð?/ð ð?/ð ð?/ð ð?/ð ð?/ð  ð!?/ð" ð#?/ð$ ð%?/ð& 
ñ'?/rB   c               	ó  <€ \         SV `  4        W0n        Wn        Wpn        W€n        \        W‰4      V n        W n        W n	        W@n
        WPn        W`n        W°n        WÀn        WÐn        Wàn        Wðn        / V n        RV n        VV n        R# )r    N)r    r    )ÚsuperÚ__init__rÌ   rË   r7   Ú_sessionr   Ú	_downloadrÐ   rp   r9   r8   r:   rÑ   rÒ   Úuse_lazy_wheelrN   rÔ   Ú_downloadedÚ_previous_requirement_headerr<   )rd   rË   rp   rÌ   r9   rÍ   r:   r7   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rN   rÔ   r<   Ú	__class__s   &$$$$$$$$$$$$$$$$€r@   rØ   ÚRequirementPreparer.__init__Y  s™   ø€ ô( 	‰ÑÔàŒØ"ŒØ*ÔØŒÜ# GÓ:ˆŒØŒð )Ôð  /ÔØ#<Ô ð !1Ôð -Ôð +Ôð )Ôð #Œð  /Ôð ,.ˆÔð -5ˆÔ)ð  /ˆÖrB   c               ó    € V ^8„  d   QhRRRR/# ©r5   r6   r$   r=   rP   r>   )r?   s   "r@   rA   rÕ   š  s   € ÷ Bñ BÐ'9ð B¸dñ BrB   c                óX  € VP                   P                  '       d>   VP                  '       g,   Rp\        \	        VP                   P
                  4      4      pM4RpVP                  '       d   \        VP                  4      M
\        V4      pVP                  '       do   VP                  '       d]   \        VP                  \        4      '       d   VP                  pMVP                  P                  4       pV'       d   VRV R2,          pW#3V P                  8w  d   W#3V n        \        P                  W#4       VP                  '       dH   \        4       ;_uu_ 4        \        P                  RVP                   P                  4       RRR4       R# R#   + '       g   i     R# ; i)z3Provide context for the requirement being prepared.zProcessing %szCollecting %sz (from Ú)zUsing cached %sN)rK   r†   Úis_wheel_from_cacherM   r+   r   r6   r.   Ú
comes_fromÚ
isinstancer{   rÝ   r�   r‘   r*   r�   )rd   r6   ÚmessageÚinformationrå   s   &&   r@   Ú_log_preparing_linkÚ'RequirementPreparer._log_preparing_linkš  s  € à�8‰8××Ð C×$;×$;Ð$;Ø%ˆGÜœl¨3¯8©8×+=Ñ+=Ó>Ó?‰Kà%ˆGØCFÇ7Ç7À7Ô6°s·w±wÔ?ÔPSÐTWÓPXˆKð �7�7ˆ7�s—~—~�~Ü˜#Ÿ.™.¬#×.Ò.Ø),¯©‘
à Ÿ^™^×5Ñ5Ó7�
ßØ ¨¨°AÐ6Õ6�àÐ! T×%FÑ%FÔFØ18Ð0FˆDÔ-Ü�K‰K˜Ô-à×"×"Ð"Ü—•Ü—‘Ð-¨s¯x©x×/@Ñ/@ÔA÷ ‘ñ #ß—�ús   Å!+FÆF)	c               ó$   € V ^8„  d   QhRRRRRR/# )r5   r6   r$   Úparallel_buildsr;   r=   rP   r>   )r?   s   "r@   rA   rÕ   µ  s$   € ÷ .ñ .Ø%ð.Ø8<ð.à	ñ.rB   c                ó8  € VP                   P                  '       d   R# VP                  e   Q hVP                   P                  4       '       d   VP                   P                  Vn        R# VP                  V P                  RVR7       VP                  4        R# )z1Ensure source_dir of a linked InstallRequirement.NT)Ú
autodeleterì   )rK   r‡   Ú
source_dirr…   r   Úensure_has_source_dirrË   Úensure_pristine_source_checkout)rd   r6   rì   s   &&&r@   Ú_ensure_link_req_src_dirÚ,RequirementPreparer._ensure_link_req_src_dirµ  s€   € ð
 �8‰8××Ðñ Ø�~‰~Ò%Ð%Ð%Ø�8‰8×#Ñ#×%Ò%à ŸX™X×/Ñ/ˆCŒNÙð 	×!Ñ!Ø�N‰NØØ+ð 	"ô 	
ð
 	×+Ñ+Ö-rB   c               ó    € V ^8„  d   QhRRRR/# )r5   r6   r$   r=   r(   r>   )r?   s   "r@   rA   rÕ   Ì  s   € ÷ Cñ CÐ*<ð CÀñ CrB   c                	óŽ  € V P                   '       g   VP                  R R7      # VP                  P                  '       d   \	        4       hVP                  P                  4       '       d   \        4       hVP                  '       g   VP                  '       g   \        4       hVP                  RR7      ;'       g    \        4       # )T)Útrust_internetF)rÑ   rq   rK   r„   r   r…   r   Ú	is_directÚ	is_pinnedr   r)   ©rd   r6   s   &&r@   Ú_get_linked_req_hashesÚ*RequirementPreparer._get_linked_req_hashesÌ  s�   € ð ×"×"Ð"Ø—:‘:¨T�:Ó2Ð2ð �8‰8�?�?ˆ?Ü$Ó&Ð&Ø�8‰8×#Ñ#×%Ò%Ü-Ó/Ð/ð �}�}ˆ} S§]§] ]Ü“.Ð ð �z‰z¨ˆzÓ/×BÐB´=³?ÐBrB   c               ó    € V ^8„  d   QhRRRR/# ©r5   r6   r$   r=   úBaseDistribution | Noner>   )r?   s   "r@   rA   rÕ   ì  s   € ÷ =ñ =àð=ð 
!ñ=rB   c                	ó  € V P                   '       d   \        P                  R 4       R# V P                  '       d   \        P                  R4       R# V P	                  V4      ;'       g    V P                  VP                  4      # )z9Metadata-only fetching is not used in the legacy resolverNz?Metadata-only fetching is not used as hash checking is required)rÔ   r�   ÚdebugrÑ   Ú$_fetch_metadata_using_link_data_attrÚ _fetch_metadata_using_lazy_wheelrK   rù   s   &&r@   Ú_fetch_metadata_onlyÚ(RequirementPreparer._fetch_metadata_onlyì  sv   € ð ××ÐÜ�L‰LØKôñ Ø××ÐÜ�L‰LØQôñ à×8Ñ8Øó
÷ =ð =à×2Ñ2°3·8±8Ó<ð	=rB   c               ó    € V ^8„  d   QhRRRR/# rý   r>   )r?   s   "r@   rA   rÕ   ÿ  s   € ÷ 'ñ 'àð'ð 
!ñ'rB   c                ó¸  € VP                   P                  4       pVf   R# VP                  f   Q h\        P	                  RVP                  V4       \        VV P                  VP                  4       R7      p\        VP                  R4      ;_uu_ 4       pVP                  4       pRRR4       \        XVP                   P                  VP                  P                  4      p\        VP                  4      \        VP                  P                  4      8w  d-   \!        VRVP                  P                  VP                  4      hV#   + '       g   i     Lª; i)zGFetch metadata from the data-dist-info-metadata attribute, if possible.Nz/Obtaining dependency information for %s from %srƒ   Úrbr»   )rK   Úmetadata_linkr6   r�   Úverboser|   rÚ   Ú	as_hashesÚopenrZ   Úreadr   r�   r¡   r	   r½   r   )rd   r6   r  Úmetadata_fileÚfÚmetadata_contentsÚmetadata_dists   &&     r@   r  Ú8RequirementPreparer._fetch_metadata_using_link_data_attrÿ  s  € ð Ÿ™×.Ñ.Ó0ˆØÒ ÙØ�w‰wÒ"Ð"Ð"Ü�‰Ø=Ø�G‰GØô	
ô %ØØ�N‰NØ ×*Ñ*Ó,ô
ˆô
 �-×$Ñ$ d×+Ô+¨qØ !§¡£Ð÷ ,ô 2ØØ�H‰H×ÑØ�G‰G�L‰Ló
ˆô ˜]×3Ñ3Ó4Ô8IÈ#Ï'É'Ï,É,Ó8WÔWÜ&Ø�V˜SŸW™WŸ\™\¨=×+AÑ+Aóð ð Ð÷% ,×+ús   ÂE	Å	E	c               ó    € V ^8„  d   QhRRRR/# )r5   rK   r   r=   rþ   r>   )r?   s   "r@   rA   rÕ   (  s   € ÷ ñ àðð 
!ñrB   c                óê  € V P                   '       g   R# VP                  '       g   VP                  '       g   \        P	                  RV4       R# \        VP                  4      pVP                  p\        P                  RVVP                  4       VP                  P                  R^4      ^ ,          p \        W4V P                  4      #   \         d    \        P	                  RT4        R# i ; i)z-Fetch metadata using lazy wheel, if possible.Nz=Lazy wheel is not used as %r does not point to a remote wheelz+Obtaining dependency information from %s %sÚ#z"%s does not support range requests)rÛ   r†   r‡   r�   r   r   r�   r¡   r‘   r¾   rR   Úsplitr!   rÙ   r    )rd   rK   Úwheelr¡   rR   s   &&   r@   r  Ú4RequirementPreparer._fetch_metadata_using_lazy_wheel(  s½   € ð ×"×"Ð"ÙØ�<�<ˆ<˜tŸ}Ÿ}˜}Ü�L‰LØOØôñ ä�d—m‘mÓ$ˆØ�z‰zˆÜ�‰Ø9ØØ�M‰Mô	
ð
 �h‰h�n‰n˜S !Ó$ QÕ'ˆð	Ü& t°$·-±-Ó@Ð@øÜ*ô 	Ü�L‰LÐ=¸sÔCÚð	ús   Â7C Ã!C2Ã1C2c               ó$   € V ^8„  d   QhRRRRRR/# )r5   Úpartially_downloaded_reqsúIterable[InstallRequirement]rì   r;   r=   rP   r>   )r?   s   "r@   rA   rÕ   E  s-   € ÷ 'Cñ 'Cà#?ð'Cð ð'Cð 
ñ	'CrB   c                ó  € \        RRR7      P                  p/ pV F%  pVP                  '       g   Q hWTVP                  &   K'  	  V P                  P	                  VP                  4       V4      pV F|  w  pw  r‰\        P                  RWx4       WG,          pW…n        W€P                  VP                  P                  &   VP                  '       d   Kb  VP                  \        V4      4       K~  	  V F  pV P                  WR4       K  	  R# )z>Download any requirements which were only fetched by metadata.rU   Trt   zDownloading link %s to %sN)r0   rZ   rK   rÚ   ÚbatchÚkeysr�   r   Úlocal_file_pathrÜ   rR   r‡   Úneeds_unpacked_archiver   Ú_prepare_linked_requirement)
rd   r  rì   ry   Úlinks_to_fully_downloadr6   Úbatch_downloadrK   ÚfilepathÚ_s
   &&&       r@   Ú_complete_partial_requirementsÚ2RequirementPreparer._complete_partial_requirementsE  sä   € ô ! hÀÔF×KÑKˆð
 CEÐÛ,ˆCØ—8—8�8ˆO�8Ø03 C§H¡HÓ-ñ -ð Ÿ™×-Ñ-Ð.E×.JÑ.JÓ.LÈhÓWˆÛ#1ÑˆD‘-�8Ü�L‰LÐ4°dÔEØ)Õ/ˆCð #+Ôð .6×Ñ˜SŸX™XŸ\™\Ñ*ð —<—<’<Ø×*Ñ*¬4°«>Ö:ñ $2ó& -ˆCØ×,Ñ,¨SÖBó -rB   c               ó$   € V ^8„  d   QhRRRRRR/# ©r5   r6   r$   rì   r;   r=   r   r>   )r?   s   "r@   rA   rÕ   n  s)   € ÷ *Jñ *JØ%ð*JØ8<ð*Jà	ñ*JrB   c           	     óÔ  € VP                   '       g   Q hV P                  V4       \        4       ;_uu_ 4        RpV P                  e`   VP                   P                  '       dD   V P                  V4      p\        VP                   V P                  VVP                  '       * R7      pVe$   W0P                  VP                   P                  &   MlV P                  V4      pVeX   RVn        VP                  V4       VP                  f&   \        VP                   VP                  4      Vn        VuuRRR4       # V P!                  W4      uuRRR4       #   + '       g   i     R# ; i)z3Prepare a requirement to be obtained from req.link.N)r‹   T)rK   ré   r*   rp   r‡   rú   rw   rä   rÜ   rR   r  Úneeds_more_preparationÚset_distÚdownload_infor'   rï   r   )rd   r6   rì   r   rq   r  s   &&&   r@   Úprepare_linked_requirementÚ.RequirementPreparer.prepare_linked_requirementn  s  € ð �x�xˆxˆˆxØ× Ñ  Ô%Ü�\�\ð ˆIØ× Ñ Ò,°·±×1B×1BÐ1BØ×4Ñ4°SÓ9�Ü/Ø—H‘HØ×%Ñ%Øð /2×.EÑ.EÔ*Eô�	ð Ò$à1:× Ñ  §¡§¡Ò.ð !%× 9Ñ 9¸#Ó >�Ø Ò,Ø15�CÔ.Ø—L‘L Ô/à×(Ñ(Ò0Ü,@ØŸH™H c§n¡nó-˜Ô)ð )÷C Š\ðH ×3Ñ3°CÓI÷I �\�\‹\ús   ¸,EÁ%CEÄ;EÅE'	c               ó$   € V ^8„  d   QhRRRRRR/# )r5   Úreqsr  rì   r;   r=   rP   r>   )r?   s   "r@   rA   rÕ   š  s$   € ÷ 
ñ 
Ø0ð
ØCGð
à	ñ
rB   c                ó0  € V Uu. uF  q3P                   '       g   K  VNK  	  ppV F’  pV P                  f   K  VP                  P                  '       g   K1  V P	                  V4      p\        VP                  V P                  V4      pVf   Ki  WPP                  VP                  P                  &   RVn         K”  	  . pV F9  pVP                   '       d   VP                  V4       K(  V P                  W24       K;  	  V P                  VVR7       R# u upi )z,Prepare linked requirements more, if needed.NF)rì   )r*  rp   rK   r‡   rú   rw   rÜ   rR   r¤   r   r%  )rd   r0  rì   r6   rq   r   r  s   &&&    r@   Ú prepare_linked_requirements_moreÚ4RequirementPreparer.prepare_linked_requirements_moreš  sí   € ñ  $ÓB™t˜×'AÕ'A—�™tˆÐBÛˆCà× Ñ Ô,°·±×1B×1BÒ1BØ×4Ñ4°SÓ9�Ü/°·±¸$×:KÑ:KÈVÓT�	ØÔ(Ø5>×$Ñ$ S§X¡X§\¡\Ñ2Ø16�CÖ.ñ ð ?AÐ!ÛˆCØ×)×)Ð)Ø)×0Ñ0°Ö5à×0Ñ0°ÖFñ	 ð 	×+Ñ+Ø%Ø+ð 	,ö 	
ùò+ Cs
   …D�Dc               ó$   € V ^8„  d   QhRRRRRR/# r(  r>   )r?   s   "r@   rA   rÕ   ¸  s)   € ÷ tñ tØ%ðtØ8<ðtà	ñtrB   c           	     	óŠ  € VP                   '       g   Q hVP                   pV P                  V4      pV'       d÷   VP                  '       då   VP                  f   Q hVP                  '       g   Q hVP
                  '       g   Q hVP                  P                  '       d_   VP                  P                  P                  '       d9   VP                  VP                  P                  P                  4      '       d   R pM2\        P                  R4       VP                  Vn         VP                   pV P                  W4       VP                  4       '       d   R pM˜VP                  V P                  9  d;    \!        VVP"                  V P$                  V P&                  V P(                  V4      pMCV P                  VP                  ,          pV'       d   VP/                  V4       \1        VR R7      pVP                  fê   VP2                  '       d   Q h\5        W1P"                  4      Vn        VP                  P                  '       d    VP                  P                  P                  '       gz   V'       dr   \7        VP8                  4      ^ ,          P;                  4       p\=        VP                  P                  \?        RV/R7      VP                  P@                  R7      Vn        V'       d   VP8                  Vn!        \E        VV PF                  V PH                  V PJ                  V PL                  V PN                  4      p	VP                  '       dG   VPP                  e9   VPP                  V	Jd)   VPS                  4       e   \U        WPP                  V	4       V	#   \*         d   p\-        RT RT RT 24      hR p?ii ; i)	NzyThe hashes of the source archive found in cache entry don't match, ignoring cached built wheel and re-downloading source.zCould not install requirement z because of HTTP error z	 for URL rg   Úsha256rƒ   )rR   Úarchive_infoÚsubdirectory)+rK   rú   rä   r,  r‡   r†   r7  rq   Ú
has_one_ofr�   r’   Úcached_wheel_source_linkrò   r…   rR   rÜ   r‰   rï   rÚ   rN   rp   r   r   rx   rY   Úeditabler'   r,   rZ   Ú	hexdigestr   r   r8  r  rI   r7   r8   r9   r:   r<   Ú_distributionr  rÇ   )
rd   r6   rì   rK   rq   Ú
local_fileÚexcr   Úhashr­   s
   &&&       r@   r   Ú/RequirementPreparer._prepare_linked_requirement¸  s  € ð �x�xˆxˆˆxØ�x‰xˆà×,Ñ,¨SÓ1ˆç�c×-×-Ð-Ø×$Ñ$Ò0Ð0Ð0Ø—=—=�=Ð �=Ø—<—<�<Ð�<ð ×!Ñ!×.×.Ð.Ø×%Ñ%×2Ñ2×9×9Ð9Ø×%Ñ% c×&7Ñ&7×&DÑ&D×&KÑ&K×LÒLð ‘ä—‘ð1ôð
 ×7Ñ7�”Ø—x‘x�à×%Ñ% cÔ;à×Ñ×!Ò!Ø‰JØ�X‰X˜T×-Ñ-Ô-ðÜ'ØØ—N‘NØ—N‘NØ—N‘NØ×%Ñ%Øó‘
ð ×(Ñ(¨¯©Õ2ˆIßØ×)Ñ)¨)Ô4Ü˜i°dÔ;ˆJð ×ÑÒ$ð —|—|�|Ð#Ð#Ü 4°T¿>¹>Ó JˆCÔð ×!Ñ!×.×.Ð.Ø×)Ñ)×6Ñ6×=×=Ð=ßä  §¡Ó1°!Õ4×>Ñ>Ó@�ô %.Ø×)Ñ)×-Ñ-Ü!,°X¸tÐ4DÔ!EØ!$×!2Ñ!2×!?Ñ!?ô%�Ô!÷ Ø",§/¡/ˆCÔä)ØØ×ÑØ×$Ñ$Ø× Ñ Ø×!Ñ!Ø× Ñ ó
ˆð, �M�MˆMØ×!Ñ!Ò-Ø×!Ñ!¨Ó-Ø×"Ñ"Ó$Ò0ä(¨×.?Ñ.?ÀÔFàˆøôK *ô Ü'Ø4°S°Eð :Ø ˜E ¨4¨&ð2óð ûðús   Å68N ÎOÎ)N=Î=Oc               ó    € V ^8„  d   QhRRRR/# rá   r>   )r?   s   "r@   rA   rÕ   .  s   € ÷ 3ñ 3Ð+=ð 3À$ñ 3rB   c                	óš  € V P                   f   Q hVP                  f   Q hVP                  pVP                  '       g)   VP                  4       '       d0   VP                  '       d   VP                  V P                   4       R # VP                  4       '       d   \        P                  RV4       R # VP                  f   R # \        V P                   VP                  4      p\        P                  P                  V4      '       gE   \        P                  ! VP                  V4       \!        V4      p\        P#                  RV4       R # R # )NzENot copying link to destination directory since it is a directory: %szSaved %s)rp   rK   r„   r…   r;  Úarchiver�   r   r  r   r�   rŽ   rZ   r�   ÚshutilÚcopyr+   r‘   )rd   r6   rK   Údownload_locationr”   s   &&   r@   Úsave_linked_requirementÚ+RequirementPreparer.save_linked_requirement.  sö   € Ø× Ñ Ò,Ð,Ð,Ø�x‰xÒ#Ð#Ð#Ø�x‰xˆØ�;�;ˆ;˜4×/Ñ/×1Ò1°c·l·l°là�K‰K˜×)Ñ)Ô*Ùà×Ñ×!Ò!Ü�L‰Lð.àôñ
 Ø×ÑÒ&áä1°$×2CÑ2CÀTÇ]Á]ÓSÐÜ�w‰w�~‰~Ð/×0Ò0Ü�KŠK˜×+Ñ+Ð->Ô?Ü(Ð):Ó;ˆMÜ�K‰K˜
 MÖ2ñ 1rB   c               ó    € V ^8„  d   QhRRRR/# )r5   r6   r$   r=   r   r>   )r?   s   "r@   rA   rÕ   H  s   € ÷  ñ  àð ð 
ñ rB   c           
     óp  € VP                   '       g   Q R4       h\        P                  RV4       \        4       ;_uu_ 4        V P                  '       d   \        RV R24      hVP                  V P                  4       VP                  4        VP                  '       g   Q h\        VP                  4      Vn        \        VV P                  V P                  V P                   V P"                  V P$                  4      pVP'                  V P(                  4       RRR4       V#   + '       g   i     X# ; i)z Prepare an editable requirement.z-cannot prepare a non-editable req as editablezObtaining %szThe editable requirement zT cannot be installed when requiring hashes, because there is no single file to hash.N)r;  r�   r‘   r*   rÑ   r   rð   rÌ   Úupdate_editablerï   r&   Úunpacked_source_directoryr,  rI   r7   r8   r9   r:   r<   Úcheck_if_existsrÒ   )rd   r6   r­   s   && r@   Úprepare_editable_requirementÚ0RequirementPreparer.prepare_editable_requirementH  s  € ð
 �|�|ˆ|ÐLÐLÓLˆ|ä�‰�N CÔ(ä�\�\Ø×"×"Ð"Ü'Ø/°¨uð 5ð óð ð
 ×%Ñ% d§l¡lÔ3Ø×ÑÔ!Ø—>—>�>Ð!�>Ü 7¸×8UÑ8UÓ VˆCÔä-ØØ×"Ñ"Ø×(Ñ(Ø×$Ñ$Ø×%Ñ%Ø×$Ñ$óˆDð ×Ñ × 2Ñ 2Ô3÷+ ð. ˆ÷/ Ž\ð. ˆús   ÁAD$Â!A9D$Ä$D5	c               ó$   € V ^8„  d   QhRRRRRR/# )r5   r6   r$   Úskip_reasonrM   r=   r   r>   )r?   s   "r@   rA   rÕ   j  s-   € ÷ Jñ JàðJð ðJð 
ñ	JrB   c                óœ  € VP                   '       g   Q R4       hVf   Q RVP                    24       h\        P                  RW!VP                   P                  4       \	        4       ;_uu_ 4        V P
                  '       d   \        P                  R4       \        V4      P                  4       uuRRR4       #   + '       g   i     R# ; i)z)Prepare an already-installed requirement.z(req should have been satisfied but isn'tNz?did not get skip reason skipped but req.satisfied_by is set to zRequirement %s: %s (%s)z§Since it is already installed, we are trusting this package without checking its hash. To ensure a completely repeatable environment, install into an empty virtualenv.)	Úsatisfied_byr�   r‘   r¾   r*   rÑ   r   r   r   )rd   r6   rR  s   &&&r@   Úprepare_installed_requirementÚ1RequirementPreparer.prepare_installed_requirementj  s«   € ð ××ÐÐKÐ!KÓKÐØÒ&ð 	
ðØ×)Ñ)Ð*ð,ó	
Ð&ô 	�‰Ø% {¸×9IÑ9I×9QÑ9Qô	
ô �\�\Ø×"×"Ð"Ü—‘ð(ôô )¨Ó-×GÑGÓI÷ �\�\‹\ús   Á/A B:Â:C	)rÚ   rÜ   rÝ   rÙ   r<   rË   r8   r9   r7   r:   rp   rÐ   rÔ   rÑ   rÌ   rÛ   rÒ   rN   )F)rh   ri   rj   rk   Ú__doc__rØ   ré   rò   rú   r  r  r  r%  r-  r2  r   rH  rO  rU  rm   Ú__classcell__)rÞ   s   @r@   rÉ   rÉ   V  sd   ø† Ù ÷?/ð ?/õBBõ6.õ.Cõ@=õ&'õR÷:'C÷R*J÷X
õ<tõl3õ4 ÷DJó JrB   rÉ   )NN)T)arW  Ú
__future__r   ra   rŽ   rE  Úcollections.abcr   Údataclassesr   Úpathlibr   Útypingr   Ú"pip._vendor.packaging.requirementsr   Úpip._vendor.packaging.utilsr	   Úpip._internal.build_envr
   r   Úpip._internal.distributionsr   Ú%pip._internal.distributions.installedr   Úpip._internal.exceptionsr   r   r   r   r   r   r   r   r   Ú"pip._internal.index.package_finderr   Úpip._internal.metadatar   r   Úpip._internal.models.direct_urlr   r   Úpip._internal.models.linkr   r   Úpip._internal.models.wheelr   Úpip._internal.network.downloadr   Ú pip._internal.network.lazy_wheelr    r!   Úpip._internal.network.sessionr"   Ú,pip._internal.operations.build.build_trackerr#   Úpip._internal.req.req_installr$   Úpip._internal.utils._logr%   Ú&pip._internal.utils.direct_url_helpersr&   r'   Úpip._internal.utils.hashesr(   r)   Úpip._internal.utils.loggingr*   Úpip._internal.utils.miscr+   r,   r-   r.   Úpip._internal.utils.packagingr/   Úpip._internal.utils.temp_dirr0   Úpip._internal.utils.unpackingr1   Úpip._internal.vcsr2   Úpip._internal.cli.progress_barsr3   rh   r�   rI   rW   rY   r|   r€   r‰   rw   r«   r¶   rÇ   rÉ   r>   rB   r@   Ú<module>rx     só   ðÙ .õ #ã Û 	Û Ý $Ý !Ý Ý  å AÝ 9ç QÝ QÝ G÷
÷ 
õ 
õ =ß Nß Bß AÝ ,Ý 5÷õ 5Ý EÝ <Ý .÷÷ =Ý 2÷ó õ :Ý 6Ý 5Ý !çÝ7á	�8Ó	€õ5õ&Nð ÷ð ó ð÷)÷0!÷0(÷Võ<õ6 õ(>
÷BjJó jJrB   