ó
    Þ j§  ã                   óÀ   • S SK r S SKrS SK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  S SKJrJr  \R$                  " \5      r " S S	\5      rS
\S\S\4S jrg)é    N)ÚValues)ÚList)ÚCommand)ÚERRORÚSUCCESS)ÚFAVORITE_HASHÚSTRONG_HASHES)Úread_chunksÚwrite_outputc                   óF   • \ rS rSrSrSrSrSS jrS\S	\	\
   S\4S
 jrSrg)ÚHashCommandé   z}
Compute a hash of a local package archive.

These can be used with --hash in a requirements file to do repeatable
installs.
z%prog [options] <file> ...TÚreturnNc                 óâ   • U R                   R                  SSS[        S[        SR	                  SR                  [        5      5      S9  U R                  R                  SU R                   5        g )	Nz-az--algorithmÚ	algorithmÚstorez$The hash algorithm to use: one of {}z, )ÚdestÚchoicesÚactionÚdefaultÚhelpr   )Úcmd_optsÚ
add_optionr	   r   ÚformatÚjoinÚparserÚinsert_option_group)Úselfs    ÚU/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/commands/hash.pyÚadd_optionsÚHashCommand.add_options   s_   € Ø�‰× Ñ ØØØÜ!ØÜ!Ø7×>Ñ>Ø—	‘	œ-Ó(óð 	!ñ 
	
ð 	�‰×'Ñ'¨¨4¯=©=Õ9ó    ÚoptionsÚargsc           
      óÐ   • U(       d/  U R                   R                  [        R                  5        [        $ UR
                  nU H  n[        SXC[        XC5      5        M     [        $ )Nz%s:
--hash=%s:%s)	r   Úprint_usageÚsysÚstderrr   r   r   Ú_hash_of_filer   )r   r#   r$   r   Úpaths        r   ÚrunÚHashCommand.run(   sP   € ÞØ�K‰K×#Ñ#¤C§J¡JÔ/ÜˆLà×%Ñ%ˆ	ÛˆDÜØ# T´mÀDÓ6Töñ ô ˆr"   © )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚusageÚignore_require_venvr    r   r   ÚstrÚintr+   Ú__static_attributes__r-   r"   r   r   r      s7   † ñð )€EØÐô:ð
˜6ð 
¨¨c©ð 
°s÷ 
r"   r   r*   r   r   c                 óþ   • [        U S5       n[        R                  " U5      n[        U5       H  nUR	                  U5        M     SSS5        UR                  5       $ ! , (       d  f       WR                  5       $ = f)z!Return the hash digest of a file.ÚrbN)ÚopenÚhashlibÚnewr
   ÚupdateÚ	hexdigest)r*   r   ÚarchiveÚhashÚchunks        r   r)   r)   5   sc   € ä	ˆd�DÔ	˜WÜ�{Š{˜9Ó%ˆÜ  Ö)ˆEØ�K‰K˜Öñ *÷ 
ð �>‰>ÓÐ÷	 
Ô	ð �>‰>ÓÐús   �:AÁ
A<)r;   Úloggingr'   Úoptparser   Útypingr   Úpip._internal.cli.base_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.utils.hashesr   r	   Úpip._internal.utils.miscr
   r   Ú	getLoggerr.   Úloggerr   r5   r)   r-   r"   r   Ú<module>rK      sW   ðÛ Û Û 
Ý Ý å 2ß 9ß Cß >à	×	Ò	˜8Ó	$€ô#�'ô #ðL˜ð ¨ð °õ r"   