HOME


Mini Shell 1.0
DIR: /snap/certbot/4482/lib64/python3.12/site-packages/wheel/__pycache__/
Upload File :
Current File : //snap/certbot/4482/lib64/python3.12/site-packages/wheel/__pycache__/wheelfile.cpython-312.pyc
�

�S�g� ��\�ddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
mZddlm
Z
mZmZddlmZmZmZddlmZddlmZmZmZer1ddlmZmZmZdd	lmZeeej@efZ!Gd
�deee�Z"ejFdejH�Z%d
Z&ddd�Z'Gd�de�Z(y)�)�annotationsN)�StringIO�
TextIOWrapper)�IO�
TYPE_CHECKING�Literal)�ZIP_DEFLATED�ZipFile�ZipInfo)�
WheelError)�log�urlsafe_b64decode�urlsafe_b64encode)�Protocol�Sized�Union)�Bufferc��eZdZy)�SizedBufferN)�__name__�
__module__�__qualname__���/build/snapcraft-certbot-29b1212f749eeba2f1dece1adfe9a83a/parts/certbot/install/lib/python3.12/site-packages/wheel/wheelfile.pyrrs�rrz�^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]+?))(-(?P<build>\d[^\s-]*))?
     -(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>\S+)\.whl$i��c���ttjjd|xst	j���}t|t�}t	j|�ddS)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�&�&rc��eZdZdZej
Zdef					d
d�Z		d							dd�Z	d
d�Z
		d							dd�Z	d					dd�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��tjj|�}tj	|�|_|j
d�r|j
�td|����tj||||d��dj|j
jd��|_|jdz|_
i|_i|_|dk(�rd	|j|j<d	|j|jd
z<d	|j|jdz<	|j!|j�}|5t%j&t)|dd���D]}|\}}}	|s�|j+d�\}
}	t-j.|
�|
j3�dvrtd|
�d���|
t5|j7d��f|j|<��	ddd�yy#t"$rtd|j�d
��d�wxYw#t0$rtd|
���d�wxYw#1swYyxYw)Nz.whlzBad wheel filename T)�compression�
allowZip64z{}.dist-info�nameverz/RECORDr+�NNz.jwsz.p7szMissing z file��utf-8)�newline�encoding�=zUnsupported hash algorithm: >�md5�sha1zWeak 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           rr?zWheelFile.__init__3sW���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�AH7�H�AH7�4$H�H4�4H7�7INc�����	�
�d����	�
fd�}t|t�r|jn|�|dk(r.�jd�s�|jvrtd��d���t
j||||��|dk(rN�jd�s=|j�\}���)tj|��	�j|c�
�_
�S)Nc����j}�|��j|�|r#�j��k7rtd��d���yy)NzHash 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_crcssQ����'�'�C��G�$�����(��|�*�*�,�
�=� �#;�G�9�A�!F�G�G�>�srr+�/zNo hash found for file 'rZ)r^�bytes�return�None)�
isinstancer�filenamer>rDrr
rFrKrLre)rP�name_or_inforR�pwdrerWr`rarbrcrds      @@@@@rrFzWheelFile.openms����	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�.�.�+�/�����	rc��tjd|j�d|�d��g}tj|�D�]\}}}|j�t
|�D]�}tjjtjj||��}tjj|�s�`tjj||�jtjjd�}||jk(r��|jd�r|j!||f���|j#||�����|j�|D]\}}|j#||��y)Nz
creating 'z' and adding 'z' to itrfz
.dist-info)r
�inforkr �walk�sort�sortedr9�normpath�join�isfile�relpath�replace�seprCr>�append�write)	rP�base_dir�deferred�root�dirnames�	filenames�namer9�arcnames	         r�write_fileszWheelFile.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�%�	&rc���t|d�5}tj|j��}|j	�}ddd�t|xs|t
j���}tj|j�tj|j�zdz|_|xs|j|_|j||�y#1swY��xYw)N�rb��	date_time�)rFr �fstat�fileno�readrr(�st_mtime�stat�S_IMODE�st_mode�S_IFMT�
external_attrr-�
compress_type�writestr)rPrkr�r��f�st�data�zinfos        rrzzWheelFile.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|_dtjzdz|_t|t�r|jd�}tj||||�t|t�r|jn|}tjd|�d��||jk7rk|j!|�}|j"t%|j'��j)d�f|j*|<t-|�|j.|<yy)Nr�i�r�r2zadding 'rZr8)rj�strrr(r-r�r��S_IFREGr�rOr
r�rkr
rorC�_default_algorithmr�rr]�decoderD�lenrE)rP�zinfo_or_arcnamer�r��fname�hash_s      rr�zWheelFile.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�#�
%rc�����j���jdk(r��jr�t�}t	j
|ddd��}|j
�fd��jj�D��|jt�j�ddf��j�j|j��tj��y)N�w�,�"�
)�	delimiter�	quotechar�lineterminatorc3�Z�K�|]"\}\}}||dz|z�j|f���$y�w)r5N)rE)�.0r�rWr�rPs    �r�	<genexpr>z"WheelFile.close.<locals>.<genexpr>�s=������1��1�	�5��I��O�e�3�T�5E�5E�e�5L�M��s�(+r1)�fprRrDrrH�writer�	writerows�items�writerowr@rCr��getvaluer
�close)rPr�r�s`  rr�zWheelFile.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�StrPathrRzLiteral['r', 'w', 'x', 'a']r-r)r+N)rl�
str | ZipInforRzLiteral['r', 'w']rmzbytes | Nonerhz	IO[bytes])r{r�r0)rkr�r�z
str | Noner��
int | Nonerhri�N)r�r�r�zSizedBuffer | strr�r�)rrr�__doc__rK�sha256r�r	r?rFr�rzr�r�rrrr*r*,s����!����
-0�'�	8��8�*�8��	8�z#&� �	 �#� � � ��	 �

� �D&�2#�$(�	2��2��2�"�	2�

�2�*%)�	0�'�0� �0�"�	0�>rr*r�)r'zfloat | None))�
__future__rrHrK�os.pathr �rer�r#�iorr�typingrrr�zipfiler	r
r�	wheel.clir�
wheel.utilr
rrrrr�typing_extensionsrr��PathLiker�r�compile�VERBOSEr;r%r(r*rrr�<module>r�s���"�
���	���&�-�-�2�2� �@�@��-�-�(��C����S�)�)�*�G�3�e�V�X�3�
��
�
�C��J�J��
�
��'�w��wr