ó
    Þ j¯.  ã            
       ól  • S 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	J
r
Jr  SSKJr  SSKJr  SSKJrJrJrJr  SSKJr  \R,                  " \5      r\\-   r SSKr\\-  r SSKr\\-  rS
\4S jrS\ S
\
\    4S jr!S\	\    S
\"4S jr#S\ S\ S
\"4S jr$S
\4S jr%S\ S
S4S jr&S\S
\"4S jr'S!S\ S\ S\"S
S4S jjr(S\ S\ S
S4S jr)S\ S\ S\RT                  S\"S
S4
S jr+ S"S\ S\ S\\    S
S4S  jjr,g! \ a    \R9                  S5         N­f = f! \ a    \R9                  S	5         NÀf = f)#zUtilities related archives.
é    N)ÚIterableÚListÚOptional)ÚZipInfo)ÚInstallationError)ÚBZ2_EXTENSIONSÚTAR_EXTENSIONSÚXZ_EXTENSIONSÚZIP_EXTENSIONS)Ú
ensure_dirzbz2 module is not availablezlzma module is not availableÚreturnc                  ó^   • [         R                  " S5      n [         R                  " U 5        U $ )zBGet the current umask which involves having to set it temporarily.r   )ÚosÚumask)Úmasks    ÚW/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/utils/unpacking.pyÚcurrent_umaskr   ,   s   € ä�8Š8�A‹;€DÜ‡H‚HˆT„NØ€Kó    Úpathc                 ó
  • U R                  S5      R                  S5      n SU ;   aB  SU ;   a$  U R                  S5      U R                  S5      :  d  SU ;  a  U R                  SS5      $ SU ;   a  U R                  SS5      $ U S/$ )NÚ/Ú\é   Ú )ÚlstripÚfindÚsplit©r   s    r   Úsplit_leading_dirr   3   sz   € Ø�;‰;�sÓ×"Ñ" 4Ó(€DØ
ˆdƒ{Ø	�‹˜$Ÿ)™) C›.¨4¯9©9°T«?Ó:¸tÈ4Ó?Oà�z‰z˜#˜qÓ!Ð!Ø	�‹Ø�z‰z˜$ Ó"Ð"à�bˆzÐr   Úpathsc                 ób   • SnU  H'  n[        U5      u  p4U(       d    gUc  UnM   X1:w  d  M'    g   g)zuReturns true if all the paths have the same leading path name
(i.e., everything is in one subdirectory in an archive)NFT)r   )r    Úcommon_prefixr   ÚprefixÚrests        r   Úhas_leading_dirr%   ?   s>   € ð €MÛˆÜ(¨Ó.‰ˆÞÙØÑ"Ø"ŠMØÕ$Ùñ ð r   Ú	directoryÚtargetc                 óÆ   • [         R                  R                  U 5      n[         R                  R                  U5      n[         R                  R                  X#/5      nXB:H  $ )zD
Return true if the absolute path of target is within the directory
)r   r   ÚabspathÚcommonprefix)r&   r'   Úabs_directoryÚ
abs_targetr#   s        r   Úis_within_directoryr-   N   sH   € ô —G‘G—O‘O IÓ.€MÜ—‘—‘ Ó(€Jä�W‰W×!Ñ! =Ð"=Ó>€FØÑ"Ð"r   c                  ó$   • S[        5       ) -  S-  $ )Niÿ  éI   )r   © r   r   Ú!_get_default_mode_plus_executabler1   Y   s   € Ø”M“OÐ#Ñ# eÑ+Ð+r   c                 óB   • [         R                  " U [        5       5        g)zl
Make file present at path have execute for user/group/world
(chmod +x) is no-op on windows per python docs
N)r   Úchmodr1   r   s    r   Ú2set_extracted_file_to_default_mode_plus_executabler4   ]   s   € ô
 ‡H‚HˆTÔ4Ó6Õ7r   Úinfoc                 óˆ   • U R                   S-	  n[        U=(       a"    [        R                  " U5      =(       a    US-  5      $ )Né   r/   )Úexternal_attrÚboolÚstatÚS_ISREG)r5   Úmodes     r   Úzip_item_is_executabler=   e   s6   € Ø×Ñ Ñ#€Dô �×<œŸš dÓ+×<°°u±Ó=Ð=r   ÚfilenameÚlocationÚflattenc                 ó  • [        U5        [        U S5      n [        R                  " USS9n[	        UR                  5       5      =(       a    UnUR                  5        GHA  nUR                  nUnU(       a  [        U5      S   n[        R                  R                  X5      n[        R                  R                  U5      n	[        X5      (       d  Sn
[        U
R                  XU5      5      eUR!                  S5      (       d  UR!                  S5      (       a  [        U5        MË  [        U	5        UR                  U5      n [        US5       n["        R$                  " X¼5        S	S	S	5        UR'                  5         [)        U5      (       a  [+        U5        GMA  GMD     UR'                  5         g	! , (       d  f       NR= f! UR'                  5         [)        U5      (       a  [+        U5        f f = f! UR'                  5         f = f)
aƒ  
Unzip the file (with path `filename`) to the destination `location`.  All
files are written based on system defaults and umask (i.e. permissions are
not preserved), except that regular file members with any execute
permissions (user, group, or world) have "chmod +x" applied after being
written. Note that for windows, any execute changes using os.chmod are
no-ops per the python docs.
ÚrbT)Ú
allowZip64r   zQThe zip file ({}) has a file ({}) trying to install outside target directory ({})r   r   ÚwbN)r   ÚopenÚzipfileÚZipFiler%   ÚnamelistÚinfolistr>   r   r   r   ÚjoinÚdirnamer-   r   ÚformatÚendswithÚshutilÚcopyfileobjÚcloser=   r4   )r>   r?   r@   ÚzipfpÚzipÚleadingr5   ÚnameÚfnÚdirÚmessageÚfpÚdestfps                r   Ú
unzip_filerZ   l   s‡  € ô ˆxÔÜ�˜4Ó €Eð Ü�oŠo˜e°Ñ5ˆÜ! #§,¡,£.Ó1×=°gˆØ—L‘L—NˆDØ—=‘=ˆDØˆBÞÜ& tÓ,¨QÑ/�Ü—‘—‘˜hÓ+ˆBÜ—'‘'—/‘/ "Ó%ˆCÜ& x×4Ñ4ð4ð ô (¨¯©°xÀXÓ(NÓOÐOØ�{‰{˜3×Ñ 2§;¡;¨t×#4Ñ#4ä˜2–ä˜3”ð —X‘X˜d“^�ðOÜ˜b $œ¨6Ü×*Ò*¨2Ô6÷ (ð —H‘H”JÜ-¨d×3Ñ3ÜJÈ2×Nò 4ñ5 #ð: 	�‰�÷ (�ûð —H‘H”JÜ-¨d×3Ñ3ÜJÈ2ÕNð 4ûð 	�‰�ús<   ™D.G9 ÅGÅF7Å+GÅ33G9 Æ7
G	ÇGÇ.G6Ç6G9 Ç9Hc                 ó¦  ^ ^^^• [        T5        T R                  5       R                  S5      (       d$  T R                  5       R                  S5      (       a  SnO•T R                  5       R                  [        5      (       a  SnOjT R                  5       R                  [        5      (       a  SnO?T R                  5       R                  S5      (       a  SnO[
        R                  ST 5        S	n[        R                  " T US
S9n [        UR                  5        Vs/ sH  oDR                  PM     sn5      n [        R                  m[        5       mU(       ao  UR                  5        H[  n[        UR                  5      u  pgXtl        UR                  5       (       d  M7  [        UR                   5      u  p‰X†:X  d  MU  X”l        M]     S[        R"                  S[$        S[        R"                  4UUU U4S jjn
UR'                  TU
S9  UR-                  5         gs  snf ! [(         a    [+        T TX55         N/f = f! UR-                  5         f = f)a…  
Untar the file (with path `filename`) to the destination `location`.
All files are written based on system defaults and umask (i.e. permissions
are not preserved), except that regular file members with any execute
permissions (user, group, or world) have "chmod +x" applied on top of the
default.  Note that for windows, any execute changes using os.chmod are
no-ops per the python docs.
z.gzz.tgzzr:gzzr:bz2zr:xzz.tarÚrz-Cannot determine compression type for file %szr:*zutf-8)ÚencodingÚmemberr   r   c                 ó˜  >• U R                   n  T" U T5      n U R                  5       (       a  US-  (       a	  TU l         U $ S U l         U $ ! [        R                   a2    [        R                  S S S;   a  [        R
                  " U T5      n  Nue f = f! [        R                   a"  nSn[        UR                  TU5      5      eS nAff = f)Né   >   ©r`   é   é   ©r`   é	   rc   ©r`   é
   é   ©r`   é   é   z%Invalid member in the tar file {}: {}r/   )
r<   ÚtarfileÚLinkOutsideDestinationErrorÚsysÚversion_infoÚ
tar_filterÚTarErrorr   rL   Úisfile)	r^   r   Ú	orig_modeÚexcrW   Údata_filterÚdefault_mode_plus_executabler>   r?   s	        €€€€r   Ú
pip_filterÚuntar_file.<locals>.pip_filterÍ   sØ   ø€ Ø"ŸK™K�	ðð"Ù!,¨V°XÓ!>˜ð4 —=‘=—?‘? y°5×'8Ø">�F”Kð �ð #'�F”KØ�øôC #×>Ñ>ó "Ü×+Ñ+¨B¨QÐ/ð 4ó ô &-×%7Ò%7¸ÀÓ%IšFà!ð"ûô ×'Ñ'ó 	ØE�Gô ,ØŸ™Ø$Øóóð ûð		ús0   �	A
 Á
ABÂB ÂBÂB ÂC	Â'CÃC	)ÚfilterN)r   ÚlowerrM   r   r
   ÚloggerÚwarningrl   rE   r%   Ú
getmembersrT   ru   r1   r   ÚislnkÚlinknameÚTarInfoÚstrÚ
extractallÚAttributeErrorÚ_untar_without_filterrP   )r>   r?   r<   Útarr^   rS   Ú	name_leadÚ	name_restÚlnk_leadÚlnk_restrw   ru   rv   s   ``         @@r   Ú
untar_filerŠ   š   sÔ  û€ ô ˆxÔØ‡~�~Ó× Ñ  ×'Ñ'¨8¯>©>Ó+;×+DÑ+DÀV×+LÑ+LØ‰Ø	�‰Ó	×	"Ñ	"¤>×	2Ñ	2Ø‰Ø	�‰Ó	×	"Ñ	"¤=×	1Ñ	1Ø‰Ø	�‰Ó	×	"Ñ	" 6×	*Ñ	*Ø‰ä�‰Ø;Øô	
ð ˆä
�,Š,�x °Ñ
8€CðDÜ!¸S¿^¹^Ô=MÓ"NÑ=M°6§;¤;Ñ=MÑ"NÓOˆð
;	8Ü!×-Ñ-ˆKô ,MÓ+NÐ(æð "Ÿn™nÖ.�FÜ+<¸V¿[¹[Ó+IÑ(�IØ"+”KØ—|‘|—~“~Ü->¸v¿¹Ó-OÑ*˜Ø#Õ0Ø.6žOñ /ð&¤7§?¡?ð &¼#ð &Ä'Ç/Á/÷ &ò &ðP �N‰N˜8¨JˆNÑ7ð 	�	‰	�ùòG #Oøô ó 	DÜ! (¨H°cÖCð	Dûðx 	�	‰	�úsP   ÄH> ÄHÄ2H> Ä:H! Å
AH> Æ"H> Ç AH> ÈH> È!H;È8H> È:H;È;H> È>Ir…   rS   c                 ó  • UR                  5        GHi  nUR                  nU(       a  [        U5      S   n[        R                  R                  X5      n[        X5      (       d  Sn[        UR                  XU5      5      eUR                  5       (       a  [        U5        M“  UR                  5       (       a   UR                  XF5        M¼   UR!                  U5      n	[        [        R                  R'                  U5      5        U	c   e[)        US5       n
[*        R,                  " Xš5        SSS5        U	R/                  5         UR1                  XF5        UR2                  S-  (       d  GM^  [5        U5        GMl     g! [         a.  n[        R                  SU UR                  U5         SnAGM¢  SnAff = f! ["        [$        4 a.  n[        R                  SU UR                  U5         SnAGMã  SnAff = f! , (       d  f       NÓ= f)z/Fallback for Python without tarfile.data_filterr   zQThe tar file ({}) has a file ({}) trying to install outside target directory ({})z/In the tar file %s the member %s is invalid: %sNrD   r/   )r}   rT   r   r   r   rJ   r-   r   rL   Úisdirr   ÚissymÚ_extract_memberÚ	Exceptionr{   r|   ÚextractfileÚKeyErrorrƒ   rK   rE   rN   rO   rP   Úutimer<   r4   )r>   r?   r…   rS   r^   rU   r   rW   rt   rX   rY   s              r   r„   r„   û   s—  € ð —.‘.×"ˆØ�[‰[ˆÞÜ" 2Ó& qÑ)ˆBÜ�w‰w�|‰|˜HÓ)ˆÜ" 8×2Ñ2ð0ð ô $ G§N¡N°8À8Ó$LÓMÐMØ�<‰<�>‰>Ü�tÖØ�\‰\�^‰^ðØ×#Ñ# FÖ1ðØ—_‘_ VÓ,�ô ”r—w‘w—‘ tÓ,Ô-Ø‘>Ð!�>Ü�d˜DÔ! VÜ×"Ò" 2Ô.÷ "à�H‰HŒJà�I‰I�fÔ#à�{‰{˜U×"Ò"ÜBÀ4×Hòa #øô  ó 	ô —‘ØEØØ—K‘KØô	ö ûð	ûô œnÐ-ó 	ô —‘ØEØØ—K‘KØô	ö ûð	ú÷ "Õ!ús<   Â:F ÃF;ÄG<Æ 
F8Æ
"F3Æ3F8Æ;G9Ç"G4Ç4G9Ç<
H
	Úcontent_typec                 ó"  • [         R                  R                  U 5      n US:X  dC  U R                  5       R	                  [
        5      (       d  [        R                  " U 5      (       a  [        XU R	                  S5      (       + S9  g US:X  dQ  [        R                  " U 5      (       d6  U R                  5       R	                  [        [        -   [        -   5      (       a  [        X5        g [        R!                  SU UU5        [#        SU 35      e)Nzapplication/zipz.whl)r@   zapplication/x-gzipzZCannot unpack file %s (downloaded from %s, content-type: %s); cannot detect archive formatz#Cannot determine archive format of )r   r   Úrealpathrz   rM   r   rF   Ú
is_zipfilerZ   rl   Ú
is_tarfiler	   r   r
   rŠ   r{   Úcriticalr   )r>   r?   r“   s      r   Úunpack_filer™   5  s×   € ô
 �w‰w×Ñ Ó)€HàÐ)Ó)Ø�>‰>Ó×$Ñ$¤^×4Ñ4Ü×Ò˜h×'Ñ'ä�8°8×3DÑ3DÀVÓ3LÔ/LÓMàÐ,Ó,Ü×Ò˜h×'Ñ'Ø�>‰>Ó×$Ñ$¤^´nÑ%DÄ}Ñ%T×UÑUä�8Õ&ô 	�‰ð+àØØô	
ô  Ð"EÀhÀZÐ PÓQÐQr   )T)N)-Ú__doc__Úloggingr   rN   r:   rn   rl   rF   Útypingr   r   r   r   Úpip._internal.exceptionsr   Úpip._internal.utils.filetypesr   r	   r
   r   Úpip._internal.utils.miscr   Ú	getLoggerÚ__name__r{   ÚSUPPORTED_EXTENSIONSÚbz2ÚImportErrorÚdebugÚlzmaÚintr   r�   r   r9   r%   r-   r1   r4   r=   rZ   rŠ   ÚTarFiler„   r™   r0   r   r   Ú<module>r©      s÷  ðñó Û 	Û Û Û 
Û Û ß +Ñ +Ý å 6÷ó õ 0à	×	Ò	˜8Ó	$€ð &¨Ñ6Ð ð0Ûà˜NÑ*Ðð1ãà˜MÑ)Ðð
�sô ð	˜Cð 	 D¨¡Iô 	ð˜8 C™=ð ¨Tô ð# 3ð #°ð #¸ô #ð,¨3ô ,ð8¸Sð 8ÀTô 8ð> ð >¨Tô >ñ+˜ð +¨ð +°dð +Àdõ +ð\^˜ð ^¨ð ^°ô ^ðB7IØð7Iàð7Ið 
�‰ð7Ið ð	7Ið
 
ô7Iðz #'ñRØðRàðRð ˜3‘-ðRð 
ö	Røðk ó 0Ø
‡L�LÐ.Ö/ð0ûð ó 1Ø
‡L�LÐ/Ö0ð1ús$   Á	C< Á)	D Ã<DÄDÄD3Ä2D3