Ë
    •2ÚiÛ   ã                  ó\  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
mZ d dlmZmZmZ d dlmZmZmZ d dlmZ d dlmZmZmZ er1d dlmZmZmZ d d	lmZ eeej@                  e   f   Z! G d
„ deee«      Z" ejF                  dejH                  «      Z%dZ&ddd„Z' G d„ de«      Z(y)é    )ÚannotationsN)ÚStringIOÚTextIOWrapper)ÚIOÚTYPE_CHECKINGÚLiteral)ÚZIP_DEFLATEDÚZipFileÚZipInfo)Ú
WheelError)ÚlogÚurlsafe_b64decodeÚurlsafe_b64encode)ÚProtocolÚSizedÚUnion)ÚBufferc                  ó   — e Zd Zy)ÚSizedBufferN)Ú__name__Ú
__module__Ú__qualname__© ó    úF/var/www/html/acx/venv/lib/python3.12/site-packages/wheel/wheelfile.pyr   r      s   … r   r   zŠ^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]+?))(-(?P<build>\d[^\s-]*))?
     -(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>\S+)\.whl$i ¦Îc                óÐ   — t        t        j                  j                  d| xs t	        j                  «       «      «      } t        | t        «      } t	        j                  | «      dd S )NÚSOURCE_DATE_EPOCHr   é   )ÚintÚosÚenvironÚgetÚtimeÚmaxÚMINIMUM_TIMESTAMPÚgmtime)Ú	timestamps    r   Úget_zipinfo_datetimer(   $   sL   € ô ”B—J‘J—N‘NÐ#6¸	Ò8PÄTÇYÁYÃ[ÓQÓR€IÜ�IÔ0Ó1€IÜ�;‰;�yÓ! ! AÐ&Ð&r   c                  óœ   — e Zd ZdZej
                  Zdef	 	 	 	 	 d
d„Z	 	 d	 	 	 	 	 	 	 dd„Z	dd„Z
	 	 d	 	 	 	 	 	 	 dd„Z	 d	 	 	 	 	 dd„Zd	„ Zy)Ú	WheelFilez‚A ZipFile derivative class that also reads SHA-256 hashes from
    .dist-info/RECORD and checks any read files against those.
    Úrc                ó†  — t         j                  j                  |«      }t        j	                  |«      | _        |j                  d«      r| j
                  €t        d|›�«      ‚t        j                  | |||d¬«       dj                  | j
                  j                  d«      «      | _        | j                  dz   | _        i | _        i | _        |dk(  �rd	| j                  | j                  <   d	| j                  | j                  d
z   <   d	| j                  | j                  dz   <   	 | j!                  | j                  «      }|5  t%        j&                  t)        |dd¬«      «      D ]  }|\  }}}	|sŒ|j+                  d«      \  }
}	 t-        j.                  |
«       |
j3                  «       dv rt        d|
› d�«      ‚|
t5        |j7                  d«      «      f| j                  |<   Œ� 	 d d d «       y y # t"        $ r t        d| j                  › d�«      d ‚w xY w# t0        $ r t        d|
› �«      d ‚w xY w# 1 sw Y   y xY w)Nz.whlzBad wheel filename T)ÚcompressionÚ
allowZip64z{}.dist-infoÚnameverz/RECORDr+   ©NNz.jwsz.p7szMissing z fileÚ úutf-8)ÚnewlineÚencodingú=zUnsupported hash algorithm: >   Úmd5Úsha1zWeak hash algorithm (z) is not permitted by PEP 427Úascii)r    ÚpathÚbasenameÚWHEEL_INFO_REÚmatchÚparsed_filenameÚendswithr   r
   Ú__init__ÚformatÚgroupÚdist_info_pathÚrecord_pathÚ_file_hashesÚ_file_sizesÚopenÚKeyErrorÚcsvÚreaderr   ÚsplitÚhashlibÚnewÚ
ValueErrorÚlowerr   Úencode)ÚselfÚfileÚmoder-   r:   ÚrecordÚliner9   Úhash_sumÚsizeÚ	algorithms              r   r?   zWheelFile.__init__3   sW  € ô —7‘7×#Ñ# DÓ)ˆÜ,×2Ñ2°8Ó<ˆÔØ× Ñ  Ô(¨D×,@Ñ,@Ð,HÜÐ2°8°,Ð?Ó@Ð@ä×Ñ˜˜t T°{ÈtÕTà,×3Ñ3Ø× Ñ ×&Ñ& yÓ1ó
ˆÔð  ×.Ñ.°Ñ:ˆÔØNPˆÔØˆÔØ�3‹;à2<ˆD×Ñ˜d×.Ñ.Ñ/Ø;EˆD×Ñ˜d×.Ñ.°Ñ7Ñ8Ø;EˆD×Ñ˜d×.Ñ.°Ñ7Ñ8ðOØŸ™ 4×#3Ñ#3Ó4�ð ñ ÜŸJ™JÜ! &°"¸wÔGóò �Dð ,0Ñ(�D˜( DÙ#Ø à*2¯.©.¸Ó*=Ñ'�I˜xð$ÜŸ™ IÔ.ð !—‘Ó(¨OÑ;Ü(Ø3°I°;ð ?&ð 'óð ð "Ü)¨(¯/©/¸'Ó*BÓCð/�D×%Ñ% dÒ+ñ+÷ð ð øô ò OÜ  8¨D×,<Ñ,<Ð+=¸UÐ!CÓDÈ$ÐNðOûô &ò $Ü(Ø:¸9¸+ÐFóà#ð$ð$ú÷ð ús2   Ä(G4 ÅAH7ÆHÆAH7Ç4$HÈH4È4H7È7I Nc                óœ  ‡‡‡‡	‡
— dˆˆˆˆ	ˆ
fd„}t        |t        «      r|j                  n|Š|dk(  r.‰j                  d«      s‰| j                  vrt        d‰› d�«      ‚t        j                  | |||«      Š|dk(  rN‰j                  d«      s=| j                  ‰   \  }Š‰�)t        j                  |«      Š	‰j                  |cŠ
‰_
        ‰S )Nc                óš   •— ‰j                   } ‰| «       ‰j                  | «       |r#‰j                  «       ‰k7  rt        d‰› d�«      ‚y y )NzHash mismatch for file 'ú')Ú_eofÚupdateÚdigestr   )ÚnewdataÚeofÚefÚef_nameÚexpected_hashÚrunning_hashÚupdate_crc_origs     €€€€€r   Ú_update_crcz#WheelFile.open.<locals>._update_crcs   sQ   ø€ Ø—'‘'ˆCÙ˜GÔ$Ø×Ñ Ô(Ù�|×*Ñ*Ó,°Ò=Ü Ð#;¸G¸9ÀAÐ!FÓGÐGð >ˆsr   r+   ú/zNo hash found for file 'rZ   )r^   ÚbytesÚreturnÚNone)Ú
isinstancer   Úfilenamer>   rD   r   r
   rF   rK   rL   re   )rP   Úname_or_inforR   Úpwdre   rW   r`   ra   rb   rc   rd   s         @@@@@r   rF   zWheelFile.openm   sÎ   ü€ ÷	Hñ 	Hô &0°¼gÔ%FˆL×!Ò!ÈLð 	ð �CŠKØ×$Ñ$ SÔ)Ø˜t×0Ñ0Ñ0äÐ7¸°yÀÐBÓCÐCä�\‰\˜$ ¨d°CÓ8ˆØ�3Š;˜w×/Ñ/°Ô4Ø'+×'8Ñ'8¸Ñ'AÑ$ˆI�}ØÐ(ô  'Ÿ{™{¨9Ó5�Ø24·.±.À+Ð/� ¤àˆ	r   c                ó  — t        j                  d| j                  › d|› d�«       g }t        j                  |«      D �]  \  }}}|j                  «        t        |«      D ]î  }t        j                  j                  t        j                  j                  ||«      «      }t        j                  j                  |«      sŒ`t        j                  j                  ||«      j                  t        j                  j                  d«      }|| j                  k(  rŒ¸|j                  d«      r|j!                  ||f«       ŒÝ| j#                  ||«       Œð �Œ |j                  «        |D ]  \  }}| j#                  ||«       Œ y )Nz
creating 'z' and adding 'z' to itrf   z
.dist-info)r   Úinfork   r    ÚwalkÚsortÚsortedr9   ÚnormpathÚjoinÚisfileÚrelpathÚreplaceÚseprC   r>   ÚappendÚwrite)	rP   Úbase_dirÚdeferredÚrootÚdirnamesÚ	filenamesÚnamer9   Úarcnames	            r   Úwrite_fileszWheelFile.write_files�   s(  € Ü�‰�:˜dŸm™m˜_¨N¸8¸*ÀGÐLÔMØ*,ˆÜ)+¯©°Ó):ó 	2Ñ%ˆD�(˜Ið �M‰MŒOÜ˜yÓ)ò 	2�Ü—w‘w×'Ñ'¬¯©¯©°T¸4Ó(@ÓA�Ü—7‘7—>‘> $Õ'Ü Ÿg™gŸo™o¨d°HÓ=×EÑEÄbÇgÁgÇkÁkÐSVÓW�GØ $×"2Ñ"2Ò2ØØŸ™ |Ô4Ø Ÿ™¨¨w¨Õ8àŸ
™
 4¨Õ1ò	2ð		2ð 	�‰ŒØ%ò 	&‰MˆD�'Ø�J‰J�t˜WÕ%ñ	&r   c                óÒ  — t        |d«      5 }t        j                  |j                  «       «      }|j	                  «       }d d d «       t        |xs |t        j                  «      ¬«      }t        j                  |j                  «      t        j                  |j                  «      z  dz  |_        |xs | j                  |_        | j                  ||«       y # 1 sw Y   Œ�xY w)NÚrb©Ú	date_timeé   )rF   r    ÚfstatÚfilenoÚreadr   r(   Úst_mtimeÚstatÚS_IMODEÚst_modeÚS_IFMTÚexternal_attrr-   Úcompress_typeÚwritestr)rP   rk   r�   r‘   ÚfÚstÚdataÚzinfos           r   rz   zWheelFile.write¥   s¶   € ô �(˜DÓ!ð 	 QÜ—‘˜!Ÿ(™(›*Ó%ˆBØ—6‘6“8ˆD÷	ô ØÒ�xÔ+?ÀÇÁÓ+Lô
ˆô  $Ÿ|™|¨B¯J©JÓ7¼$¿+¹+ÀbÇjÁjÓ:QÑQÐVXÑXˆÔØ+Ò?¨t×/?Ñ/?ˆÔØ�‰�e˜T =Õ1÷	ð 	ús   �4CÃC&c                óz  — t        |t        «      rAt        |t        «       ¬«      }| j                  |_        dt        j                  z  dz  |_        t        |t        «      r|j                  d«      }t        j                  | |||«       t        |t        «      r|j                  n|}t        j                  d|› d�«       || j                  k7  rk| j!                  |«      }|j"                  t%        |j'                  «       «      j)                  d«      f| j*                  |<   t-        |«      | j.                  |<   y y )Nr…   i´  r‡   r2   zadding 'rZ   r8   )rj   Ústrr   r(   r-   r‘   rŒ   ÚS_IFREGr�   rO   r
   r’   rk   r   ro   rC   Ú_default_algorithmr€   r   r]   ÚdecoderD   ÚlenrE   )rP   Úzinfo_or_arcnamer•   r‘   ÚfnameÚhash_s         r   r’   zWheelFile.writestr¶   s  € ô Ð&¬Ô,Ü&Ø Ô,@Ó,Bô Ðð .2×-=Ñ-=ÐÔ*Ø.3´d·l±lÑ.BÀrÑ-IÐÔ*ä�dœCÔ Ø—;‘;˜wÓ'ˆDä×Ñ˜Ð/°°}ÔEô Ð*¬GÔ4ð ×%Ò%à!ð 	ô
 	�‰�8˜E˜7 !Ð$Ô%Ø�D×$Ñ$Ò$Ø×+Ñ+¨DÓ1ˆEà—
‘
Ü! %§,¡,£.Ó1×8Ñ8¸ÓAð(ˆD×Ñ˜eÑ$ô '*¨$£iˆD×Ñ˜UÒ#ð %r   c                óÊ  ‡ — ‰ j                   �Á‰ j                  dk(  r²‰ j                  r¦t        «       }t	        j
                  |ddd¬«      }|j                  ˆ fd„‰ j                  j                  «       D «       «       |j                  t        ‰ j                  «      ddf«       ‰ j                  ‰ j                  |j                  «       «       t        j                  ‰ «       y )NÚwú,ú"ú
)Ú	delimiterÚ	quotecharÚlineterminatorc              3  óZ   •K  — | ]"  \  }\  }}||d z   |z   ‰j                   |   f–— Œ$ y­w)r5   N)rE   )Ú.0rž   rW   rŸ   rP   s       €r   ú	<genexpr>z"WheelFile.close.<locals>.<genexpr>Û   s=   øè ø€ ò á1˜Ñ1 	¨5ð ˜I¨™O¨eÑ3°T×5EÑ5EÀeÑ5LÔMñùs   ƒ(+r1   )ÚfprR   rD   r   rH   ÚwriterÚ	writerowsÚitemsÚwriterowr@   rC   r’   Úgetvaluer
   Úclose)rP   r•   r¬   s   `  r   r±   zWheelFile.closeÕ   s¬   ø€ à�7‰7Ð 4§9¡9°Ò#3¸×8IÒ8IÜ“:ˆDÜ—Z‘Z °¸sÐSWÔXˆFØ×Ñóà59×5FÑ5F×5LÑ5LÓ5Nôôð �O‰OœV D×$4Ñ$4Ó5°r¸2Ð>Ô?Ø�M‰M˜$×*Ñ*¨D¯M©M«OÔ<ä�‰�dÕr   )rQ   ÚStrPathrR   zLiteral['r', 'w', 'x', 'a']r-   r   )r+   N)rl   ústr | ZipInforR   zLiteral['r', 'w']rm   zbytes | Nonerh   z	IO[bytes])r{   r˜   r0   )rk   r˜   r�   z
str | Noner‘   ú
int | Nonerh   ri   ©N)r�   r³   r•   zSizedBuffer | strr‘   r´   )r   r   r   Ú__doc__rK   Úsha256rš   r	   r?   rF   r‚   rz   r’   r±   r   r   r   r*   r*   ,   sÔ   „ ñð !Ÿ™Ðð
 -0Ø'ð	8àð8ð *ð8ð ó	8ðz #&Ø ð	 à#ð ð  ð ð ð	 ð
 
ó óD&ð2 #Ø$(ð	2àð2ð ð2ð "ð	2ð
 
ó2ð* %)ð	0à'ð0ð  ð0ð "ó	0ó>r   r*   rµ   )r'   zfloat | None))Ú
__future__r   rH   rK   Úos.pathr    ÚrerŒ   r#   Úior   r   Útypingr   r   r   Úzipfiler	   r
   r   Ú	wheel.clir   Ú
wheel.utilr   r   r   r   r   r   Útyping_extensionsr   r˜   ÚPathLiker²   r   ÚcompileÚVERBOSEr;   r%   r(   r*   r   r   r   ú<module>rÄ      sœ   ðÝ "ã 
Û Û Û 	Û Û ß &ß -Ñ -ß 2Ñ 2å  ß @Ñ @áß-Ñ-å(à�C˜Ÿ™ SÑ)Ð)Ñ*€Gä3�e˜V XÔ3ð
 �—
‘
ðCà‡J�Jó€ð
 Ð ô'ôw�õ wr   