ó
    Þ jÑ  ã                   ó~  • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKr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KJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SK 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,  S SK-J.r.  \ R^                  " SS9r0\Rb                  " \25      r3S\4S\44S jr5S\4S\ R                   4S jr6 " S S5      r7\
 " S S5      5       r8S\4S\94S jr:S\#S \Rv                  S\\4   4S! jr<S"\7S#\ R                   S$\S%\/ \\4   4   S\\8   4
S& jr=S\#S \Rv                  SS4S' jr>g)(é    N)Ú	dataclass)ÚAnyÚCallableÚDictÚOptional)ÚVersion)Úparse)ÚGroup)Úescape)ÚText)ÚLinkCollector)ÚPackageFinder)Úget_default_environment)ÚSelectionPreferences)Ú
PipSession)ÚWINDOWS)Ú get_best_invocation_for_this_pipÚ#get_best_invocation_for_this_python)Úadjacent_tmp_fileÚcheck_path_ownerÚreplace)Ú
ensure_diré   )ÚdaysÚkeyÚreturnc                 ón   • U R                  5       n[        R                  " U5      R                  5       nU$ ©N)ÚencodeÚhashlibÚsha224Ú	hexdigest)r   Ú	key_bytesÚnames      Ú[/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/self_outdated_check.pyÚ_get_statefile_namer&   $   s)   € Ø—
‘
“€IÜ�>Š>˜)Ó$×.Ñ.Ó0€DØ€Kó    Úisodatec                 ó`   • [         R                   R                  U R                  SS5      5      $ )z™Convert an ISO format string to a date.

Handles the format 2020-01-22T14:24:01Z (trailing Z)
which is not supported by older versions of fromisoformat.
ÚZz+00:00)ÚdatetimeÚfromisoformatr   )r(   s    r%   Ú_convert_dater-   *   s&   € ô ×Ñ×*Ñ*¨7¯?©?¸3ÀÓ+IÓJÐJr'   c                   ó”   • \ rS rSrS\SS4S jr\S\4S j5       rS\R                  S\	\   4S jr
S	\S\R                  SS4S
 jrSrg)ÚSelfCheckStateé3   Ú	cache_dirr   Nc                 ól  • 0 U l         S U l        U(       as  [        R                  R	                  US[        U R                  5      5      U l         [        U R                  SS9 n[        R                  " U5      U l         S S S 5        g g ! , (       d  f       g = f! [        [        [        4 a     g f = f)NÚ	selfcheckzutf-8)Úencoding)Ú_stateÚ_statefile_pathÚosÚpathÚjoinr&   r   ÚopenÚjsonÚloadÚOSErrorÚ
ValueErrorÚKeyError)Úselfr1   Ú	statefiles      r%   Ú__init__ÚSelfCheckState.__init__4   s•   € Ø&(ˆŒØ#ˆÔö Ü#%§7¡7§<¡<Ø˜;Ô(;¸D¿H¹HÓ(Eó$ˆDÔ ðÜ˜$×.Ñ.¸ÒAÀYÜ"&§)¢)¨IÓ"6�D”K÷ BÐAð ÷
 BÕAûäœZ¬Ð2ó ñ ðús0   ÁB Á$B
Â B Â

BÂB ÂB ÂB3Â2B3c                 ó"   • [         R                  $ r   )ÚsysÚprefix)r@   s    r%   r   ÚSelfCheckState.keyE   s   € ä�z‰zÐr'   Úcurrent_timec                 óÖ   • U R                   (       d  gSU R                   ;  a  gSU R                   ;  a  g[        U R                   S   5      nX-
  nU[        :”  a  gU R                   S   $ )z7Check if we have a not-outdated version loaded already.NÚ
last_checkÚpypi_version)r5   r-   Ú_WEEK)r@   rH   rJ   Útime_since_last_checks       r%   ÚgetÚSelfCheckState.getI   sb   € à�{�{Øà˜tŸ{™{Ó*Øà §¡Ó,Øô # 4§;¡;¨|Ñ#<Ó=ˆ
Ø ,Ñ 9ÐØ ¤5Ó(Øà�{‰{˜>Ñ*Ð*r'   rK   c                 ób  • U R                   (       d  g [        [        R                  R	                  U R                   5      5      (       d  g [        [        R                  R	                  U R                   5      5        U R                  UR                  5       US.n[        R                  " USSS9n[        U R                   5       nUR                  UR                  5       5        S S S 5         [        WR                  U R                   5        g ! , (       d  f       N0= f! [         a     g f = f)N)r   rJ   rK   T)Ú,Ú:)Ú	sort_keysÚ
separators)r6   r   r7   r8   Údirnamer   r   Ú	isoformatr;   Údumpsr   Úwriter   r   r$   r=   )r@   rK   rH   ÚstateÚtextÚfs         r%   ÚsetÚSelfCheckState.set\   sß   € à×#×#Øô  ¤§¡§¡°×0DÑ0DÓ E×FÑFØô 	”2—7‘7—?‘? 4×#7Ñ#7Ó8Ô9ð
 —8‘8Ø&×0Ñ0Ó2Ø(ñ
ˆô �zŠz˜%¨4¸JÑGˆä˜t×3Ñ3Ô4¸Ø�G‰G�D—K‘K“MÔ"÷ 5ð	ô �A—F‘F˜D×0Ñ0Õ1÷ 5Õ4ûô ó 	áð	ús   Ã DÃ/ D! Ä
DÄ!
D.Ä-D.)r5   r6   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚstrrB   Úpropertyr   r+   r   rN   r\   Ú__static_attributes__© r'   r%   r/   r/   3   sm   † ð #ð ¨$ô ð" ð�Só ó ðð+ × 1Ñ 1ð +°h¸s±mô +ð&  ð  °8×3DÑ3Dð  È÷  r'   r/   c                   ó8   • \ rS rSr% \\S'   \\S'   S\4S jrSrg)ÚUpgradePrompté   ÚoldÚnewr   c                 ó  • [         (       a  [        5        S3nO
[        5       nSn[        [	        5       [        R
                  " U SU R                   SU R                   S35      [        R
                  " U S[        U5       S35      5      $ )Nz -m pipz/[bold][[reset][blue]notice[reset][bold]][reset]z) A new release of pip is available: [red]z[reset] -> [green]z[reset]z To update, run: [green]z install --upgrade pip)	r   r   r   r
   r   Úfrom_markupri   rj   r   )r@   Úpip_cmdÚnotices      r%   Ú__rich__ÚUpgradePrompt.__rich__„   s—   € ßŠ7Ü<Ó>Ð?¸wÐG‰Gä6Ó8ˆGàBˆÜÜ‹FÜ×ÒØ�(ð ØŸ™�zÐ!3°D·H±H°:¸WðFóô ×ÒØ�(ð Ü  ›/Ð*Ð*@ðBóó

ð 
	
r'   re   N)	r^   r_   r`   ra   rb   Ú__annotations__r
   ro   rd   re   r'   r%   rg   rg      s   ‡ à	ƒHØ	ƒHð
˜%÷ 
r'   rg   Úpkgc                 óh   • [        5       R                  U 5      nUSL=(       a    SUR                  :H  $ )z©Checks whether pkg was installed by pip

This is used not to display the upgrade message when pip is in fact
installed by system package manager, such as dnf on Fedora.
NÚpip)r   Úget_distributionÚ	installer)rr   Údists     r%   Úwas_installed_by_piprx   ˜   s0   € ô #Ó$×5Ñ5°cÓ:€DØ�tÐ×7 ¨¯©Ñ 7Ð7r'   ÚsessionÚoptionsc                 óÔ   • [         R                  " U USS9n[        SSS9n[        R                  " UUS9nUR	                  S5      R
                  nUc  g [        UR                  5      $ )NT)rz   Úsuppress_no_indexF)Úallow_yankedÚallow_all_prereleases)Úlink_collectorÚselection_prefsrt   )r   Úcreater   r   Úfind_best_candidateÚbest_candidaterb   Úversion)ry   rz   r   r€   Úfinderrƒ   s         r%   Ú_get_current_remote_pip_versionr†   ¢   sy   € ô #×)Ò)ØØØñ€Nô +ØØ#ñ€Oô
 ×!Ò!Ø%Ø'ñ€Fð ×/Ñ/°Ó6×EÑE€NØÑØäˆ~×%Ñ%Ó&Ð&r'   rY   rH   Úlocal_versionÚget_remote_versionc                 óÊ  • U R                  U5      nUc1  U" 5       nUc  [        R                  S5        g U R                  XA5        [	        U5      n[        R                  SU5        [        R                  SU5        [        S5      n[        R                  SU5        U(       d  g X%:  =(       a    UR                  UR                  :g  nU(       a  [        [        U5      US9$ g )NzNo remote pip version foundzRemote version of pip: %szLocal version of pip:  %srt   zWas pip installed by pip? %s)ri   rj   )	rN   ÚloggerÚdebugr\   Úparse_versionrx   Úbase_versionrg   rb   )rY   rH   r‡   rˆ   Úremote_version_strÚremote_versionÚpip_installed_by_pipÚlocal_version_is_olders           r%   Ú_self_version_check_logicr’   ¾   sÑ   € ð Ÿ™ <Ó0ÐØÑ!Ù/Ó1ÐØÑ%Ü�L‰LÐ6Ô7ØØ�	‰	Ð$Ô3ä"Ð#5Ó6€NÜ
‡L�LÐ,¨nÔ=Ü
‡L�LÐ,¨mÔ<ä/°Ó6ÐÜ
‡L�LÐ/Ð1EÔFÞØð 	Ñ&÷ 	FØ×&Ñ&¨.×*EÑ*EÑEð ö Ü¤ ]Ó!3Ð9KÑLÐLàr'   c           
      óf  • [        5       R                  S5      nU(       d  g[        [        UR                  S9[
        R
                  R                  [
        R                  R                  5      UR                  [        R                  " [        X5      S9nUb  [        R                  SUSS0S9  gg)	zËCheck for an update for pip.

Limit the frequency of checks to once per week. State is stored either in
the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
of the pip script path.
rt   N)r1   )rY   rH   r‡   rˆ   z%sÚrichT)Úextra)r   ru   r’   r/   r1   r+   ÚnowÚtimezoneÚutcr„   Ú	functoolsÚpartialr†   rŠ   Úwarning)ry   rz   Úinstalled_distÚupgrade_prompts       r%   Úpip_self_version_checkrž   à   s”   € ô -Ó.×?Ñ?ÀÓF€NÞØä.Ü w×'8Ñ'8Ñ9Ü×&Ñ&×*Ñ*¬8×+<Ñ+<×+@Ñ+@ÓAØ$×,Ñ,Ü$×,Ò,Ü+¨Wó
ñ	€Nð Ñ!Ü�‰�t˜^°F¸D°>ˆÒBð "r'   )?r+   r™   r    r;   ÚloggingÚoptparseÚos.pathr7   rE   Údataclassesr   Útypingr   r   r   r   Úpip._vendor.packaging.versionr   r	   rŒ   Úpip._vendor.rich.consoler
   Úpip._vendor.rich.markupr   Úpip._vendor.rich.textr   Úpip._internal.index.collectorr   Ú"pip._internal.index.package_finderr   Úpip._internal.metadatar   Ú$pip._internal.models.selection_prefsr   Úpip._internal.network.sessionr   Úpip._internal.utils.compatr   Úpip._internal.utils.entrypointsr   r   Úpip._internal.utils.filesystemr   r   r   Úpip._internal.utils.miscr   Ú	timedeltarL   Ú	getLoggerr^   rŠ   rb   r&   r-   r/   rg   Úboolrx   ÚValuesr†   r’   rž   re   r'   r%   Ú<module>rµ      sv  ðÛ Û Û Û Û Û Û Û 
Ý !ß 0Ó 0å 1Ý @Ý *Ý *Ý &å 7Ý <Ý :Ý EÝ 4Ý .÷÷ XÑ WÝ /à×Ò Ñ"€à	×	Ò	˜8Ó	$€ð˜Sð  Sô ðK˜3ð K 8×#4Ñ#4ô K÷Iñ IðX ÷
ð 
ó ð
ð08˜cð 8 dô 8ð'Øð'Ø"*§/¡/ð'àˆc�]ô'ð8àðð ×#Ñ#ðð ð	ð
 !  X¨c¡]Ð!2Ñ3ðð ˆmÑôðDC Jð C¸¿¹ð CÈTõ Cr'   