File: //lib64/python3.9/__pycache__/zipfile.cpython-39.opt-1.pyc
a
    �DOg�X �                   @   s�  d Z ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZzddlZejZW n ey�   dZejZY n0 zddlZW n ey�   dZY n0 zddlZW n ey�   dZY n0 g d�ZG dd� de�ZG dd� de�Ze ZZdZd	Zd	ZdZd
ZdZdZ d
Z!dZ"dZ#dZ$dZ%dZ&dZ'e
�(e&�Z)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1d
Z2dZ3dZ4dZ5e
�(e4�Z6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>d
Z?dZ@dZAdZBdZCdZDdZEd ZFd!ZGd"ZHd#ZId$ZJd%ZKe
�(eJ�ZLdZMdZNdZOdZPdZQdZRdZSdZTd
ZUdZVdZWdZXd&ZYd'ZZe
�(eY�Z[d(Z\d)Z]e
�(e\�Z^dZ_dZ`dZadZbdZcdZddZedZfd
ZgdZhd*Zie
�jd+�Zkd,d-� Zld.d/� Zmd0d1� Znd2d3� Zod4d5� ZpG d6d7� d7eq�Zrdasd8d9� Ztd:d;� ZuG d<d=� d=�ZvG d>d?� d?�Zwd@dAdBdBdBdBdCdDdEdFdCdGdHdIdJdKdLdM�ZxdNdO� ZydodPdQ�ZzdRdS� Z{G dTdU� dU�Z|G dVdW� dW�Z}G dXdY� dYej~�ZG dZd[� d[ej~�Z�G d\d]� d]�Z�G d^d_� d_e��Z�d`da� Z�dbdc� Z�e�j�Z�ddde� Z�G dfdg� dge��Z�G dhdi� die��Z�G djdk� dk�Z�dpdldm�Z�e�dnk�r�e��  dS )qzP
Read and write ZIP files.
XXX references to utf-8 need further investigation.
�    N)
�
BadZipFile�
BadZipfile�error�
ZIP_STORED�ZIP_DEFLATED�	ZIP_BZIP2�ZIP_LZMA�
is_zipfile�ZipInfo�ZipFile�	PyZipFile�LargeZipFile�Pathc                   @   s   e Zd ZdS )r   N)�__name__�
__module__�__qualname__� r   r   �/usr/lib64/python3.9/zipfile.pyr   *   s   r   c                   @   s   e Zd ZdZdS )r
   zu
    Raised when writing a zipfile, the zipfile requires ZIP64 extensions
    and those extensions are disabled.
    N)r   r   r   �__doc__r   r   r   r   r
   .   s   r
   i����  �   �   �   �   �-   �.   �?   s   <4s4H2LHs   PK�   �   �   �   �   �   �   �	   z<4s4B4HL2L5H2Ls   PK�
   �   �
   �   �   �   �   z<4s2B4HL2L2Hs   PKz<4sLQLs   PKz
<4sQ2H2L4Qs   PKiPK�<HHc           
      C   s�   t j}d}g }d }}|d t| �krz|| ||d � �\}}|d | }	||v rt||krl|�| ||� � |	}d}|	}q|s�| S d�|�S )NFr   r    T�    )�_EXTRA_FIELD_STRUCT�unpack�len�append�join)
�extraZxidsr/   Zmodified�buffer�start�iZxidZxlen�jr   r   r   �_strip_extra�   s     r8   c                 C   s*   zt | �rW dS W n ty$   Y n0 dS )NTF)�_EndRecData�OSError��fpr   r   r   �_check_zipfile�   s    
r=   c                 C   sh   d}zLt | d�rt| d�}n2t| d��}t|�}W d  � n1 sD0    Y  W n tyb   Y n0 |S )z�Quickly see if a file is a ZIP file by checking the magic number.
    The filename argument may be a file or file-like object too.
    F�readr;   �rbN)�hasattrr=   �openr:   )�filename�resultr<