Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/__pycache__/zipfile.cpython-37.opt-2.pyc

B

YI~d�<�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
yddlZejZWne
k
r�dZe	jZYnXyddlZWne
k
r�dZYnXyddlZWne
k
r�dZYnXdddddddd	d
ddd
gZGdd�de�ZGdd
�d
e�ZeZZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#e�$e"�Z%dZ&dZ'dZ(dZ)dZ*dZ+d Z,d!Z-dZ.d"Z/d#Z0d$Z1e�$e0�Z2dZ3dZ4dZ5dZ6dZ7dZ8d Z9d!Z:dZ;d"Z<d%Z=d&Z>dZ?d'Z@dZAd(ZBd)ZCd*ZDd+ZEd,ZFd-ZGe�$eF�ZHdZIdZJdZKdZLdZMdZNd ZOd!ZPdZQd"ZRd%ZSd&ZTd.ZUd/ZVe�$eU�ZWd0ZXd1ZYe�$eX�ZZdZ[dZ\dZ]dZ^dZ_dZ`d Zad!ZbdZcd"Zdd2Zee�fd3�Zgd4d5�Zhd6d7�Zid8d	�Zjd9d:�Zkd;d<�ZlGd=d
�d
em�Zndaod>d?�Zpd@dA�ZqGdBdC�dC�ZrGdDdE�dE�ZsdFdGdHdHdHdHdIdJdKdLdIdMdNdOdPdQdRdS�ZtdTdU�ZudgdVdW�ZvdXdY�ZwGdZd[�d[�ZxGd\d]�d]�ZyGd^d_�d_ejz�Z{Gd`da�daejz�Z|Gdbd�d�Z}Gdcd�de}�Z~dhddde�Ze�dfk�r�e�dS)i�N�
BadZipFile�
BadZipfile�error�
ZIP_STORED�ZIP_DEFLATED�	ZIP_BZIP2�ZIP_LZMA�
is_zipfile�ZipInfo�ZipFile�	PyZipFile�LargeZipFilec@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�,/opt/alt/python37/lib64/python3.7/zipfile.pyr&sc@seZdZdS)r
N)rrrrrrrr
*si���i�������-�.�?s<4s4H2LHsPK��������	z<4s4B4HL2L5H2LsPK�
��
����z<4s2B4HL2L2HsPKz<4sLQLsPKz
<4sQ2H2L4QsPKiPKz<HHc
Cs�tj}d}g}d}}xf|dt|�kr|||||d��\}}|d|}	||krv||krn|�|||��|	}d}|	}qW|s�|Sd�|�S)NFrrT�)�_EXTRA_FIELD_STRUCT�unpack�len�append�join)
�extraZxidsr+Zmodified�buffer�start�iZxidZxlen�jrrr�_strip_extra�s r4cCs*yt|�rdSWntk
r$YnXdS)NTF)�_EndRecData�OSError)�fprrr�_check_zipfile�sr8c	CsVd}y8t|d�rt|d�}nt|d��}t|�}WdQRXWntk
rPYnX|S)NF�read)r7�rb)�hasattrr8�openr6)�filename�resultr7rrrr	�s
c
Csy|�|td�Wntk
r(|SX|�t�}t|�tkrD|St�t|�\}}}}|tkrd|S|dkst|dkr|t	d��|�|tt
d�|�t
�}t|�t
kr�|St�t|�\
}}}	}
}}}
}}}|tkr�|S||t
<||t<||t<|
|t<||t<||t<||t<|S)Nrrrz3zipfiles that span multiple disks are not supported)�seek�sizeEndCentDir64Locatorr6r9r,�structr+�structEndArchive64Locator�stringEndArchive64Locatorr�sizeEndCentDir64�structEndArchive64�stringEndArchive64�_ECD_SIGNATURE�_ECD_DISK_NUMBER�_ECD_DISK_START�_ECD_ENTRIES_THIS_DISK�_ECD_ENTRIES_TOTAL�	_ECD_SIZE�_ECD_OFFSET)�fpin�offset�endrec�dataZsigZdisknoZreloffZdisksZsz�create_versionZread_versionZdisk_numZdisk_dirZdircountZ	dircount2ZdirsizeZ	diroffsetrrr�
_EndRecData64�s6

 rSc	Csf|�dd�|��}y|�td�Wntk
r:dSX|��}t|�tkr�|dd�tkr�|dd�dkr�t�t	|�}t
|�}|�d�|�|t�t|t|�St
|dtd�}|�|d�|��}|�t�}|dk�rb|||t�}t|�tk�rdSt
t�t	|��}|t}||t|t|�}|�|�|�||�t|||||�SdS)Nrrr���sr)i)r?�tell�sizeEndCentDirr6r9r,�stringEndArchiverAr+�structEndArchive�listr-rS�max�rfind�_ECD_COMMENT_SIZE)	rNZfilesizerQrPZmaxCommentStartr1ZrecDataZcommentSize�commentrrrr5�s>



r5c@sReZdZdZddd�Zdd�Zdd	d
�Zdd�Zd
d�Ze	ddd��Z
dd�ZdS)r
)�
orig_filenamer=�	date_time�
compress_type�_compresslevelr]r/�
create_systemrR�extract_version�reserved�	flag_bits�volume�
internal_attr�
external_attr�
header_offset�CRC�
compress_size�	file_size�	_raw_time�NoName�i�rrrrrcCs�||_|�td��}|dkr(|d|�}tjdkrJtj|krJ|�tjd�}||_||_|ddkrjtd��t	|_
d|_d|_d|_
tjdkr�d|_nd|_t|_t|_d|_d|_d|_d|_d|_dS)Nr�/i�z+ZIP does not support timestamps before 1980r)�win32r)r^�find�chr�os�sep�replacer=r_�
ValueErrorrr`rar]r/�sys�platformrb�DEFAULT_VERSIONrRrcrdrerfrgrh)�selfr=r_Z	null_byterrr�__init__Ss0
zZipInfo.__init__cCs�d|jj|jfg}|jtkr8|�dt�|j|j��|jd?}|jd@}|rd|�dt	�
|��|rv|�d|�|��}|r�|jr�|�d|j�|r�|j
r�|jtks�|j|j
kr�|�d|j
�|�d	�d
�|�S)Nz<%s filename=%rz compress_type=%sr&i��z filemode=%rz external_attr=%#xz
 file_size=%rz compress_size=%r�>�)�	__class__rr=r`rr-�compressor_names�getrh�stat�filemode�is_dirrlrkr.)r{r>�hi�lo�isdirrrr�__repr__~s(






zZipInfo.__repr__NcCs||j}|ddd>|dd>B|dB}|dd>|d	d>B|ddB}|jd
@rfd}}}n|j}|j}|j}|j}d}	|dkr�|tkp�|tk}|r�d}
|t�|
dt�	|
�d	||�}|tks�|tkr�|s�t
d��d
}d
}t}	|jt
k�rtt|	�}	n|jtk�rtt|	�}	t|	|j�|_t|	|j�|_|��\}}t�tt|j|j||j|||||t|�t|��
}
|
||S)Nri�r!rrrrr#rrz<HHQQz'Filesize would require ZIP64 extensionsl��)r_rerjrkrlr/�ZIP64_LIMITrA�pack�calcsizer
�
ZIP64_VERSIONr`rrZ�
BZIP2_VERSIONr�LZMA_VERSIONrcrR�_encodeFilenameFlags�structFileHeader�stringFileHeaderrdr,)r{�zip64�dt�dosdate�dostimerjrkrlr/�min_version�fmtr=re�headerrrr�
FileHeader�sF$$



zZipInfo.FileHeadercCs>y|j�d�|jfStk
r8|j�d�|jdBfSXdS)N�asciizutf-8i)r=�encodere�UnicodeEncodeError)r{rrrr��szZipInfo._encodeFilenameFlagscCs�|j}tj}�xxt|�dk�r�|d|dd��\}}|dt|�krTtd||f��|dk�rt|dkrz|d|dd��}nV|dkr�|d	|dd
��}n:|dkr�|d|dd
��}n|dkr�d}ntd||f��d}|jdk�rt|�|kr�td��|||_|d7}|jdk�r:t|�|k�r(td��|||_|d7}|jdk�rtt|�|k�r\td��|j}|||_|d7}||dd�}qWdS)Nrz<HHz"Corrupt extra field %04x (size=%d)r�z<QQQ�r&z<QQrrz<Qrrr)l����l��z/Corrupt zip64 extra field. File size not found.l��z3Corrupt zip64 extra field. Compress size not found.z3Corrupt zip64 extra field. Header offset not found.)r/rAr+r,rrlrkri)r{r/r+�tpZlnZcounts�idx�oldrrr�_decodeExtra�sJ



zZipInfo._decodeExtracCs�t|tj�rt�|�}t�|�}t�|j�}t�|j	�}|dd�}|dkrP|}tj
�tj
�|�d�}x$|dtj
tjfkr�|dd�}qjW|r�|d7}|||�}|jd@d>|_|r�d|_|jdO_n|j|_|S)Nrrrrpi��r&)�
isinstancert�PathLike�fspathr��S_ISDIR�st_mode�time�	localtime�st_mtime�path�normpath�
splitdriveru�altseprhrl�st_size)�clsr=�arcname�str��mtimer_�zinforrr�	from_file�s(



zZipInfo.from_filecCs|jddkS)N���rp)r=)r{rrrr�szZipInfo.is_dir)rnro)N)N)rrr�	__slots__r|r�r�r�r��classmethodr�r�rrrrr
9s
+
.2!cCs4x.td�D]"}|d@r$|d?dA}q
|dL}q
W|S)Nrrl q[)�range)�crcr3rrr�_gen_crc&s
r�cspd�d�d�tdkr&ttttd���at��fdd������fdd��x|D]}�|�qNW��fd	d
�}|S)NixV4i�gE#i�xV4�cs|d?�||Ad@AS)Nr�r)Zchr�)�crctablerr�crc32@sz_ZipDecrypter.<locals>.crc32cs<�|�����d@d@��ddd@���d?���dS)Nr�l��i�rr�r)�c)r��key0�key1�key2rr�update_keysDs
z"_ZipDecrypter.<locals>.update_keyscsRt�}|j}x<|D]4}�dB}|||dAd?d@N}�|�||�qWt|�S)Nrrrr�)�	bytearrayr-�bytes)rQr>r-r��k)r�r�rr�	decrypterNs
z _ZipDecrypter.<locals>.decrypter)�	_crctablerY�mapr�r�)�pwd�pr�r)r�r�r�r�r�r�r�
_ZipDecrypter6s
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�LZMACompressorcCs
d|_dS)N)�_comp)r{rrrr|^szLZMACompressor.__init__cCsFt�dtji�}tjtjt�tj|�gd�|_t�dddt	|��|S)N�id)�filtersz<BBHr!r)
�lzmaZ_encode_filter_properties�FILTER_LZMA1r��
FORMAT_RAW�_decode_filter_propertiesr�rAr�r,)r{Zpropsrrr�_initaszLZMACompressor._initcCs*|jdkr|��|j�|�S|j�|�S)N)r�r��compress)r{rQrrrr�hs
zLZMACompressor.compresscCs&|jdkr|��|j��S|j��S)N)r�r��flush)r{rrrr�ms
zLZMACompressor.flushN)rrrr|r�r�r�rrrrr�\sr�c@seZdZdd�Zdd�ZdS)�LZMADecompressorcCsd|_d|_d|_dS)Nr)F)�_decomp�_unconsumed�eof)r{rrrr|uszLZMADecompressor.__init__c	Cs�|jdkr�|j|7_t|j�dkr*dSt�d|jdd��\}t|j�d|krXdStjtjt�tj	|jdd|��gd�|_|jd|d�}|`|j�
|�}|jj|_|S)Nrr)z<Hr)r�)r�r�r,rAr+r�r�r�r�r��
decompressr�)r{rQZpsizer>rrrr�zs

zLZMADecompressor.decompressN)rrrr|r�rrrrr�ssr��storeZshrink�reduceZimplode�tokenizeZdeflateZ	deflate64Zbzip2r�ZterseZlz77ZwavpackZppmd)rrrrrrrr rr!r"rrr(��a�bcCsX|tkr
nJ|tkr tsTtd��n4|tkr6tsTtd��n|tkrLtsTtd��ntd��dS)Nz.Compression requires the (missing) zlib modulez-Compression requires the (missing) bz2 modulez.Compression requires the (missing) lzma modulez(That compression method is not supported)	rr�zlib�RuntimeErrorr�bz2rr��NotImplementedError)�compressionrrr�_check_compression�sr�cCsj|tkr2|dk	r t�|tjd�St�tjtjd�S|tkrT|dk	rLt�|�St��S|tkrbt	�SdSdS)Ni�)
rr�ZcompressobjZDEFLATEDZZ_DEFAULT_COMPRESSIONrr�Z
BZ2Compressorrr�)r`�
compresslevelrrr�_get_compressor�s
r�cCsn|tkrdS|tkrt�d�S|tkr.t��S|tkr<t�St	�
|�}|r\td||f��ntd|f��dS)Ni�zcompression type %d (%s)zcompression type %d)rrr�Z
decompressobjrr�ZBZ2Decompressorrr�r�r�r�)r`Zdescrrrr�_get_decompressor�s

r�c@s0eZdZdd�Zddd�Zd
dd�Zd	d
�ZdS)�_SharedFilecCs2||_||_||_||_||_|j|_|j|_dS)N)�_file�_pos�_close�_lock�_writing�seekablerU)r{�file�pos�close�lockZwritingrrrr|�sz_SharedFile.__init__rc	CsB|j�2|��rtd��|j�||�|j��|_|jSQRXdS)Nz}Can't reposition in the ZIP file while there is an open writing handle on it. Close the writing handle before trying to read.)r�r�rwr�r?rUr�)r{rO�whencerrrr?�sz_SharedFile.seekr�c	CsL|j�<|��rtd��|j�|j�|j�|�}|j��|_|SQRXdS)NzyCan't read from the ZIP file while there is an open writing handle on it. Close the writing handle before trying to read.)r�r�rwr�r?r�r9rU)r{�nrQrrrr9�sz_SharedFile.readcCs$|jdk	r |j}d|_|�|�dS)N)r�r�)r{�fileobjrrrr��s
z_SharedFile.closeN)r)r�)rrrr|r?r9r�rrrrr��s	


r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�	_TellablecCs||_d|_dS)Nr)r7rO)r{r7rrrr|�sz_Tellable.__init__cCs|j�|�}|j|7_|S)N)r7�writerO)r{rQr�rrrr�sz_Tellable.writecCs|jS)N)rO)r{rrrrUsz_Tellable.tellcCs|j��dS)N)r7r�)r{rrrr�
sz_Tellable.flushcCs|j��dS)N)r7r�)r{rrrr�
sz_Tellable.closeN)rrrr|r�rUr�r�rrrrr��s
r�cs�eZdZdZdZdZd'dd�Zdd	�Zd
d�Zd(d
d�Z	d)dd�Z
dd�Zd*dd�Zdd�Z
dd�Zdd�Zdd�Z�fdd�Zd d!�Zd+d#d$�Zd%d&�Z�ZS),�
ZipExtFilei@iiNFcCs(||_||_||_|j|_|j|_|j|_t	|j�|_
d|_d|_d|_
d|_||_|j|_t|d�rz|j|_td�|_nd|_d|_y4|��r�|��|_|j|_|j|_|j|_d|_Wntk
r�YnXd|_|�r$|j d@r�|j!d?d@}n|jd?d@}|�"�}||k�r$t#d	|j$��dS)
NFr)rrjTrr�r�zBad password for file %r)%�_fileobj�_pwd�_close_fileobjr`�_compress_typerk�_compress_leftrl�_leftr��
_decompressor�_eof�_readbuffer�_offset�newlines�moder=�namer;rj�
_expected_crcr��_running_crc�	_seekabler�rU�_orig_compress_start�_orig_compress_size�_orig_file_size�_orig_start_crc�AttributeError�
_decrypterrerm�_init_decrypterr�r^)r{r�r	�zipinfor�Z
close_fileobjZ
check_byte�hrrrr|sF




zZipExtFile.__init__cCs4t|j�|_|j�d�}|jd8_|�|�dS)Nrr#)r�r�rr�r9r)r{r�rrrrRszZipExtFile._init_decryptercCsvd|jj|jjfg}|jsX|�d|j|jf�|jtkrb|�dt	�
|j|j��n
|�d�|�d�d�|�S)Nz<%s.%sz name=%r mode=%rz compress_type=%sz	 [closed]r}r~)rrr�closedr-r
r	rrr�r�r.)r{r>rrrr�]s


zZipExtFile.__repr__r�cCsL|dkr>|j�d|j�d}|dkr>|j|j|�}||_|Stj�||�S)Nr�
r)rrrr�io�BufferedIOBase�readline)r{�limitr2�linerrrrkszZipExtFile.readlinercCsr|t|j�|jkr\|�|�}t|�|jkrJ||j|jd�|_d|_n|jt|�8_|j|j|jd�S)Nri)r,rrr9)r{r��chunkrrr�peek{s
zZipExtFile.peekcCsdS)NTr)r{rrr�readable�szZipExtFile.readablecCs|dks|dkrL|j|jd�}d|_d|_x|jsF||�|j�7}q.W|S||j}|t|j�kr~|j|j|�}||_|S|t|j�}|j|jd�}d|_d|_x^|dk�r|j�s|�|�}|t|�kr�||_||_||d|�7}P||7}|t|�8}q�W|S)Nrr))rrr�_read1�MAX_Nr,)r{r��buf�endrQrrrr9�s4

zZipExtFile.readcCs@|jdkrdSt||j�|_|jr<|j|jkr<td|j��dS)NzBad CRC-32 for file %r)rr�rrrr
)r{�newdatarrr�_update_crc�s

zZipExtFile._update_crccCs|dks|dkrV|j|jd�}d|_d|_x$|jsP|�|j�}|r.||7}Pq.W|S||j}|t|j�kr�|j|j|�}||_|S|t|j�}|j|jd�}d|_d|_|dk�rxN|j�s
|�|�}|t|�kr�||_||_||d|�7}P|r�||7}Pq�W|S)Nrr))rrrr!r"r,)r{r�r#rQr$rrr�read1�s>



zZipExtFile.read1cCs"|js|dkrdS|jtkrH|jj}|t|�krR||�|t|��7}n
|�|�}|jtkrj|jdk|_nx|jtkr�t	||j
�}|j�||�}|jjp�|jdko�|jj|_|jr�||j�
�7}n |j�|�}|jjp�|jdk|_|d|j�}|jt|�8_|jdk�rd|_|�|�|S)Nrr)T)rrrrZunconsumed_tailr,�_read2rrrZ�
MIN_READ_SIZEr�r�r�rr&)r{r�rQrrrr!�s2





zZipExtFile._read1cCsd|jdkrdSt||j�}t||j�}|j�|�}|jt|�8_|sLt�|jdk	r`|�|�}|S)Nrr))	rrZr)�minr�r9r,�EOFErrorr)r{r�rQrrrr(�s


zZipExtFile._read2cs&z|jr|j��Wdt���XdS)N)rr�r��super)r{)rrrr�szZipExtFile.closecCs|jS)N)r
)r{rrrr�szZipExtFile.seekablercCsB|jst�d��|��}|dkr&|}n.|dkr8||}n|dkrL|j|}ntd��||jkrd|j}|dkrpd}||}||j}|dkr�|t|j�kr�||_d}nf|dk�r
|j	�
|j�|j|_
|j|_|j|_d|_d|_t|j�|_d|_|}|jdk	�r
|��x.|dk�r8t|j|�}|�|�||8}�qW|��S)Nz!underlying stream is not seekablerrrzCwhence must be os.SEEK_SET (0), os.SEEK_CUR (1), or os.SEEK_END (2)r)F)r
r�UnsupportedOperationrUrrwrr,rr�r?rrrrrrr�rrrrrr*�
MAX_SEEK_READr9)r{rOr�Zcurr_posZnew_posZread_offsetZbuff_offsetZread_lenrrrr?sH





zZipExtFile.seekcCs0|jst�d��|j|jt|j�|j}|S)Nz!underlying stream is not seekable)r
rr-rrr,rr)r{ZfileposrrrrUIs
zZipExtFile.tell)NF)r�)r)r�)r)rrrr"r)r.r|rr�rrr r9r&r'r!r(r�r�r?rU�
__classcell__rr)rrr�s&
2



!
%$
0r�cs@eZdZdd�Zedd��Zdd�Zdd�Z�fd	d
�Z�Z	S)�
_ZipWriteFilecCs8||_||_||_t|j|j�|_d|_d|_d|_	dS)Nr)
�_zinfo�_zip64�_zipfiler�r`ra�_compressor�
_file_size�_compress_size�_crc)r{�zfr�r�rrrr|Qs
z_ZipWriteFile.__init__cCs|jjS)N)r3r7)r{rrrr�[sz_ZipWriteFile._fileobjcCsdS)NTr)r{rrr�writable_sz_ZipWriteFile.writablecCsf|jrtd��t|�}|j|7_t||j�|_|jrV|j�|�}|jt|�7_|j	�
|�|S)NzI/O operation on closed file.)rrwr,r5r�r7r4r�r6r�r�)r{rQ�nbytesrrrr�bsz_ZipWriteFile.writec	sb|jr
dS�zFt���|jrR|j��}|jt|�7_|j�|�|j|j	_
n
|j|j	_
|j|j	_
|j|j	_|j	jd@r�|jr�dnd}|j�t�|t|j	j
|j	j
|j	j��|j��|j_nn|js�|jtkr�td��|jtkr�td��|j��|j_|j�|j	j�|j�|j	�|j��|j�|jj�|jj�|j	�|j	|jj|j	j<Wdd|j_ XdS)Nrz<LLQQz<LLLLz+File size unexpectedly exceeded ZIP64 limitz1Compressed size unexpectedly exceeded ZIP64 limitF)!rr,r�r4r�r6r,r�r�r1rkr5r7rjrlrer2rAr��
_DD_SIGNATURErUr3�	start_dirr�r�r?rir��filelistr-�
NameToInfor=r�)r{r#r�)rrrr�ns>






z_ZipWriteFile.close)
rrrr|�propertyr�r9r�r�r/rr)rrr0Ps

r0c@seZdZdZdZdeddfdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zd;dd�Z
dd�Zdd�Zdd�Zedd��Zejdd��Zd<dd�Zd=dd �d!d"�Zd>d#d$�Zd?d%d&�Zd@d'd(�Zed)d*��Zd+d,�Zd-d.�ZdAd/d0�ZdBd1d2�Zd3d4�Zd5d6�Z d7d8�Z!d9d:�Z"dS)CrN�rTc		CsL|dkrtd��t|�||_d|_d|_i|_g|_||_||_||_	d|_
d|_t|t
j�rjt
�|�}t|t�r�d|_||_dddd	dd
dd�}||}x^yt�||�|_Wn(tk
r�||kr�||}w��YnXPq�Wnd
|_||_t|dd�|_d
|_t��|_d|_d|_�y|dk�r0|��n�|dk�r�d|_y|j��|_ Wn2t!tfk
�r�t"|j�|_d|_ d|_Yn6Xy|j�#|j �Wn t!tfk
�r�d|_YnXnf|dk�ry|��|j�#|j �Wn6t$k
�r|j�#dd�d|_|j��|_ YnXntd��Wn$|j}d|_|�%|��YnXdS)N)r@�w�x�az+ZipFile requires mode 'r', 'w', 'x', or 'a'Frr)r:zw+bzx+bzr+b�wbZxb)r@rArBrCzr+bzw+bzx+brr
Tr@)rArBrCrz"Mode must be 'r', 'w', 'x', or 'a')&rwr��_allowZip64�
_didModify�debugr>r=r�r�r	r��_commentr�rtr�r��str�_filePassedr=rr<r7r6�getattr�_fileRefCnt�	threading�RLockr�r
r��_RealGetContentsrUr<rr�r?r�_fpclose)	r{r�r	r��
allowZip64r�ZmodeDictr�r7rrrr|�s�







zZipFile.__init__cCs|S)Nr)r{rrr�	__enter__szZipFile.__enter__cCs|��dS)N)r�)r{�type�value�	tracebackrrr�__exit__szZipFile.__exit__cCs�d|jj|jjfg}|jdk	rd|jr8|�d|j�n|jdk	rR|�d|j�|�d|j�n
|�d�|�d�d�|�S)Nz<%s.%sz file=%rz filename=%rz mode=%rz	 [closed]r}r~)	rrrr7rJr-r=r	r.)r{r>rrrr�s



zZipFile.__repr__cCs�|j}yt|�}Wntk
r.td��YnX|s<td��|jdkrNt|�|t}|t}|t|_	|t
||}|ttkr�|t
t8}|jdkr�||}td|||�|||_|�|jd�|�|�}t�|�}d}�x�||k�r�|�t�}	t|	�tk�rtd��t�t|	�}	|	ttk�r0td��|jdk�rDt|	�|�|	t�}
|	d}|d	@�rp|
�d
�}
n
|
�d�}
t|
�}|�|	t�|_|�|	t �|_!|	t"|_#|	dd�\|_$|_%|_&|_'|_(|_)}
}|_*|_+|_,|j&t-k�r�t.d
|j&d��|	dd�\|_/|_0|_1|
|_2|d?d|d?d@|d@|
d?|
d?d@|
d@df|_3|�4�|j#||_#|j5�6|�||j7|j8<|t|	t|	t|	t }|jdkr�td|�q�WdS)NzFile is not a zip filerrzgiven, inferred, offsetrzTruncated central directoryz&Bad magic number for central directoryrizutf-8�cp437rzzip file version %.1fr"r%r(r!i��r#r�total)9r7r5r6rrG�printrLrM�_ECD_COMMENTrH�
_ECD_LOCATIONrGrFrDr@r<r?r9r�BytesIO�sizeCentralDirr,rAr+�structCentralDir�
_CD_SIGNATURE�stringCentralDir�_CD_FILENAME_LENGTH�decoder
�_CD_EXTRA_FIELD_LENGTHr/�_CD_COMMENT_LENGTHr]�_CD_LOCAL_HEADER_OFFSETrirRrbrcrdrer`rjrkrl�MAX_EXTRACT_VERSIONr�rfrgrhrmr_r�r=r-r>r=)r{r7rPZsize_cdZ	offset_cd�concatZinferredrQrY�centdirr=�flagsrB�t�drrrrO%sp









4  
zZipFile._RealGetContentscCsdd�|jD�S)NcSsg|]
}|j�qSr)r=)�.0rQrrr�
<listcomp>usz$ZipFile.namelist.<locals>.<listcomp>)r=)r{rrr�namelistsszZipFile.namelistcCs|jS)N)r=)r{rrr�infolistwszZipFile.infolistcCsPtdd|d�x:|jD]0}d|jdd�}td|j||jf|d�qWdS)Nz%-46s %19s %12s)z	File NamezModified    ZSize)r�z%d-%02d-%02d %02d:%02d:%02drz
%-46s %s %12d)rZr=r_r=rl)r{r�r�Zdaterrr�printdir|szZipFile.printdirc
Cs^d}xT|jD]J}y.|�|jd��}x|�|�r0q$WWdQRXWqtk
rT|jSXqWdS)Nir@)r=r<r=r9r)r{Z
chunk_sizer��frrr�testzip�szZipFile.testzipcCs$|j�|�}|dkr td|��|S)Nz(There is no item named %r in the archive)r>r��KeyError)r{r
�inforrr�getinfo�s

zZipFile.getinfocCs6|r t|t�s tdt|�j��|r,||_nd|_dS)Nzpwd: expected bytes, got %s)r�r��	TypeErrorrSrr�)r{r�rrr�setpassword�s
zZipFile.setpasswordcCs|jS)N)rH)r{rrrr]�szZipFile.commentcCs^t|t�stdt|�j��t|�tkrNddl}|jdtdd�|dt�}||_	d|_
dS)Nzcomment: expected bytes, got %srz3Archive comment is too long; truncating to %d bytesr)�
stacklevelT)r�r�rwrSrr,�ZIP_MAX_COMMENT�warnings�warnrHrF)r{r]r{rrrr]�s
c	Cs"|�|d|��
}|��SQRXdS)Nr@)r<r9)r{r
r�r7rrrr9�szZipFile.readF)�force_zip64cs|dkrtd��|r0t|t�s0tdt|�j��|rD|dkrDtd���jsRtd��t|t�rb|}n,|dkr�t|�}�j|_	�j
|_n
��|�}|dkr��j
||d�S�jr�td���jd	7_t�j|j�j�j�fd
d��}�y|�t�}t|�tk�rtd��t�t|�}|ttk�r&td
��|�|t�}|t�rL|�|t�|jd@�r`t d��|jd@�rtt d��|jd@�r�|�!d�}	n
|�!d�}	|	|j"k�r�td|j"|f��|jd	@}
|
�r�|�sЈj#}|�s�t$d|��nd}t%||||d�S|�&��YnXdS)N>r@rAzopen() requires mode "r" or "w"zpwd: expected bytes, got %srAz'pwd is only supported for reading filesz2Attempt to use ZIP archive that was already closed)r}zyCan't read from the ZIP file while there is an open writing handle on it. Close the writing handle before trying to read.rcs�jS)N)r�r)r{rr�<lambda>�r)zZipFile.open.<locals>.<lambda>zTruncated file headerz Bad magic number for file header� z$compressed patched data (flag bit 5)�@zstrong encryption (flag bit 6)izutf-8rWz/File name in directory %r and header %r differ.z6File %r is encrypted, password required for extractionT)'rwr�r�rwrSrr7r
r�r`r�rarv�_open_to_writer�rLr�rirPr�r9�sizeFileHeaderr,rrAr+r��
_FH_SIGNATUREr��_FH_FILENAME_LENGTH�_FH_EXTRA_FIELD_LENGTHrer�rcr^r�r�r�r�)r{r
r	r�r}r�Zzef_fileZfheader�fnameZ	fname_strZis_encryptedr)r{rr<�sp








zZipFile.opencCs�|r|jstd��|jr td��t|d�s0d|_d|_d|_d|_|jt	krZ|jdO_|j
sn|jdO_|jszd|_|jo�|p�|jdtk}|j
r�|j
�|j�|j
��|_|�|�d	|_|j
�|�|��d	|_t|||�S)
NzHforce_zip64 is True, but allowZip64 was False when opening the ZIP file.zzCan't write to the ZIP file while there is another write handle open on it. Close the first handle before opening another.rlrrri�g�������?T)rErwr�r;rlrkrjrer`rr
rhr�r7r?r<rUri�_writecheckrFr�r�r0)r{r�r}r�rrrr�s4



zZipFile._open_to_writecCs*|dkrt��}n
t�|�}|�|||�S)N)rt�getcwdr��_extract_member)r{�memberr�r�rrr�extractHs

zZipFile.extractcCsL|dkr|��}|dkr"t��}n
t�|�}x|D]}|�|||�q2WdS)N)rortr�r�r�)r{r��membersr�rrrr�
extractallUs


zZipFile.extractallcCs^|j}|s(d}t�|dt|��}||_|�|�}dd�|�|�D�}|�dd�|D��}|S)Nz:<>|"?*�_css|]}|�d�VqdS)�.N)�rstrip)rmrBrrr�	<genexpr>psz1ZipFile._sanitize_windows_name.<locals>.<genexpr>css|]}|r|VqdS)Nr)rmrBrrrr�rs)�!_windows_illegal_name_trans_tablerI�	maketransr,�	translate�splitr.)r�r��pathsep�tableZillegalrrr�_sanitize_windows_namefs
zZipFile._sanitize_windows_namec
sLt|t�s|�|�}|j�dtjj�}tjjrB|�tjjtjj�}tj�	|�d}dtjj
tjjf�tjj��fdd�|�
tjj�D��}tjjdkr�|�|tjj�}tj�||�}tj�|�}tj�|�}|r�tj�|�s�t�|�|���rtj�|��st�|�|S|j||d��(}t|d��}t�||�WdQRXWdQRX|S)	Nrprr~c3s|]}|�kr|VqdS)Nr)rmrB)�invalid_path_partsrrr��sz*ZipFile._extract_member.<locals>.<genexpr>�\)r�rD)r�r
rvr=rvrtr�rur�r��curdir�pardirr.r�r�r��dirname�exists�makedirsr�r��mkdirr<�shutil�copyfileobj)r{r�Z
targetpathr�r�Z	upperdirs�source�targetr)r�rr�us.

&


 zZipFile._extract_membercCs�|j|jkr(ddl}|jd|jdd�|jdkr:td��|jsHtd��t|j�|j	s�d}t
|j�tkrpd}n|j
tkr�d	}n|jtkr�d
}|r�t|d��dS)NrzDuplicate name: %rr)ry)rArBrCz&write() requires mode 'w', 'x', or 'a'z4Attempt to write ZIP archive that was already closedzFiles countZFilesizezZipfile sizez would require ZIP64 extensions)r=r>r{r|r	rwr7r�r`rEr,r=�ZIP_FILECOUNT_LIMITrlr�rir
)r{r�r{�requires_zip64rrrr��s(



zZipFile._writecheckc
CsJ|jstd��|jrtd��t�||�}|��r>d|_d|_n0|dk	rN||_n|j	|_|dk	rf||_
n|j|_
|���r
|j��|j
r�|j�|j�|j��|_|jtkr�|jdO_|�|�d|_|j�|�||j|j<|j�|�d��|j��|_WdQRXn<t|d��,}|�|d��}t�||d	�WdQRXWdQRXdS)
Nz7Attempt to write to ZIP archive that was already closedz>Can't write to ZIP archive while an open writing handle existsrrTFr:rAi )r7rwr�r
r�r�rkrjr`r�rar�r�r
r?r<rUrirrer�rFr=r-r>r=r�r�r<r�r�)r{r=r�r`r�r��src�destrrrr��s>


z
ZipFile.writec
Cs�t|t�r|�d�}t|t�sxt|t�t���dd�d�}|j|_|j|_	|j
ddkrpd|_|jdO_q|d|_n|}|js�t
d	��|jr�t
d
��|dk	r�||_|dk	r�||_	t|�|_|j�*|j|dd��}|�|�WdQRXWdQRXdS)
Nzutf-8r)r=r_r�rpi�Ar&i�z7Attempt to write to ZIP archive that was already closedz?Can't write to ZIP archive while an open writing handle exists.rA)r	)r�rIr�r
r�r�r�r`r�rar=rhr7rwr�r,rlr�r<r�)r{Zzinfo_or_arcnamerQr`r�r�r�rrr�writestr�s4



zZipFile.writestrcCs|��dS)N)r�)r{rrr�__del__szZipFile.__del__c	Cs||jdkrdS|jrtd��zB|jdkr\|jr\|j�"|jrJ|j�|j�|�	�WdQRXWd|j}d|_|�
|�XdS)NzvCan't close the ZIP file while there is an open writing handle on it. Close the writing handle before closing the zip.)rArBrC)r7r�rwr	rFr�r
r?r<�_write_end_recordrP)r{r7rrrr�s
z
ZipFile.closecCsr�xP|jD�]D}|j}|ddd>|dd>B|dB}|dd>|d	d>B|ddB}g}|jtksv|jtkr�|�|j�|�|j�d
}d
}n|j}|j}|jtkr�|�|j�d
}n|j}|j}	d}
|�rt|	d�}	t	j
dd
t|�ddt|�f|��|	}	t}
|j
tk�r(tt|
�}
n|j
tk�r>tt|
�}
t|
|j�}t|
|j�}yZ|��\}
}t	�
tt||j||j||j
|||j||t|
�t|	�t|j�d|j|j|�}Wnltk
�rttt||j||j|j |j
|||j||t|j!�t|	�t|j�d|j|j|ft"j#d��YnX|j$�%|�|j$�%|
�|j$�%|	�|j$�%|j�q
W|j$�&�}t|j�}||j'}|j'}d}|t(k�r�d}n|tk�r�d}n|tk�r�d}|�r*|j)�s�t*|d��t	�
t+t,ddddd||||�}|j$�%|�t	�
t-t.d|d�}|j$�%|�t/|d�}t/|d
�}t/|d
�}t	�
t0t1dd||||t|j2��	}|j$�%|�|j$�%|j2�|j$�3�dS)Nri�r!rrrrr#rl��)rz<HH�Qr)r�zFiles countzCentral directory offsetzCentral directory sizez would require ZIP64 extensions�,ri��)4r=r_rlr�rkr-rir/r4rAr�r,r�r`rrZr�rr�rcrRr�r_rarbrdrjr]rgrh�DeprecationWarningrZrer=rx�stderrr7r�rUr<r�rEr
rErFrBrCr*rXrWrHr�)r{r�r�r�r�r/rlrkriZ
extra_datar�rcrRr=reriZpos2ZcentDirCountZcentDirSizeZ
centDirOffsetr�Zzip64endrecZzip64locrecrPrrrr�)s�$$



















zZipFile._write_end_recordcCs&|jd8_|js"|js"|��dS)Nr)rLrJr�)r{r7rrrrP�szZipFile._fpclose)N)N)r@N)F)NN)NNN)NNN)NN)#rrrr7r�rr|rRrVr�rOrorprqrsrvrxr?r]�setterr9r<r�r�r�r�r�r�r�r�r�r�r�r�rPrrrrr�s>XN
	
		
b
+

*
0
(fc@s0eZdZdeddfdd�Zddd	�Zd
d�ZdS)
rr@Tr�cCstj|||||d�||_dS)N)r	r�rQ)rr|�	_optimize)r{r�r	r�rQ�optimizerrrr|�szPyZipFile.__init__r~NcCs�t�|�}|rD||�sD|jr@tj�|�r,dnd}td||f�dStj�|�\}}tj�|��rptj�|d�}tj�|��r�|r�d||f}n|}|jr�td|d|�|�	|dd	�|�\}}	|jr�td
|	�|�
||	�tt�|��}
|
�
d�x�|
D]�}tj�||�}tj�|�\}
}tj�|��rTtj�tj�|d���r�|j|||d�q�|dkr�|�r�||��s�|jr�td
|�q�|�	|dd	�|�\}}	|j�r�td
|	�|�
||	�q�Wn�|j�r�td|�x�tt�|��D]�}tj�||�}tj�|�\}
}|dk�r�|�r2||��s2|j�r�td
|��q�|�	|dd	�|�\}}	|j�r\td
|	�|�
||	��q�WnP|d	d�dk�r�td��|�	|dd	�|�\}}	|j�r�td|	�|�
||	�dS)Nr�r�z%s %r skipped by filterfuncz__init__.pyz%s/%szAdding package in�asr���ZAdding)�
filterfuncz.pyzfile %r skipped by filterfunczAdding files from directoryz.Files added with writepy() must end with ".py"zAdding file)rtr�rGr�r�rZr�r.�isfile�
_get_codenamer��sorted�listdir�remove�splitext�writepyr�)r{�pathname�basenamer�Zlabel�dirr
Zinitnamer�r�Zdirlistr=r��rootZextrrrr��sx











zPyZipFile.writepyc
sd�fdd�	}|d}|d}tjj|dd�}tjj|dd�}tjj|d	d�}�jdk�r\tj�|�r�t�|�jt�|�jkr�|}	}
n�tj�|�r�t�|�jt�|�jkr�|}
|}	n�tj�|�r�t�|�jt�|�jkr�|}
|}	nvtj�|��rt�|�jt�|�jk�r|}
|}	nD||��rRt	j
jd
k�r4|}
nt	j
jdk�rH|}
n|}
|}	n|}
}	n��jd
k�rr|}
|}	n<|}	�jdk�r�|}
n&�jd	k�r�|}
nd��j�}t
|��tj�|
��r�t�|
�jt�|�jk�s�||�jd��s�|}
}	tj�|	�d}|�rd
||f}|
|fS)Nr�c
s`ddl}�jrtd|�y|j|d|d�Wn.|jk
rZ}zt|j�dSd}~XYnXdS)NrZ	CompilingT)�doraiser�F)�
py_compilerGrZ�compile�PyCompileError�msg)r�r�r��err)r{rr�_compile�s

z)PyZipFile._get_codename.<locals>._compilez.pyz.pycr~)�optimizationrrrz"invalid value for 'optimize': {!r})r�z%s/%s)r�)�	importlib�util�cache_from_sourcer�rtr�r�r�r�rxrjr��formatrwr�)
r{r�r�r�Zfile_pyZfile_pycZpycache_opt0Zpycache_opt1Zpycache_opt2r�r�r�Zarchivenamer)r{rr��s`


zPyZipFile._get_codename)r~N)rrrrr|r�r�rrrrr�s
Rc
	s�ddl}d}|j|d�}|jdd�}|jdddd	d
�|jddd
ddd�|jdddddd�|jddddd
�|�|�}|jdk	r�|j}t|d��}|��}WdQRX|r�td�	|��td��n|j
dk	r�|j
}t|d��}|��WdQRXn�|jdk	�r.|j\}}t|d��}|�
|�WdQRXn�|jdk	�r�|j�d�}	|j}
�fdd��t|	d��`}xX|
D]P}tj�|�}|�s�tj�tj�|��}|dtjtjfk�r�d}�|||��qjWWdQRXdS) Nrz3A simple command-line interface for zipfile module.)�descriptionT)�requiredz-lz--listz	<zipfile>zShow listing of a zipfile)�metavar�helpz-ez	--extractr)z	<zipfile>z<output_dir>zExtract zipfile into target dir)�nargsr�r�z-cz--create�+)z<name>z<file>zCreate zipfile from sourcesz-tz--testzTest if a zipfile is validr@z.The following enclosed file is corrupted: {!r}zDone testingcsttj�|�r|�||t�nTtj�|�rp|r8|�||�x6tt�|��D]$}�|tj�||�tj�||��qHWdS)N)	rtr�r�r�rr�r�r�r.)r8r��zippathZnm)�addToZiprrr�lszmain.<locals>.addToZiprAr~)�argparse�ArgumentParser�add_mutually_exclusive_group�add_argument�
parse_argsZtestrrsrZr�rYrqr�r�Zcreate�poprtr�r�r�r�r�)
�argsr�r��parser�groupr�r8Zbadfiler�Zzip_name�filesr�r�r)r�r�mainDsT








r��__main__)N)N)�rrt�importlib.utilr�rxr�r�r�rAZbinasciirMr�r��ImportErrorr�r��__all__�	Exceptionrr
rrr�r�rzrrrrrzr�r�r�rgrXrWr�rVrGrHrIrJrKrLrMr\r[r\r_rar^r`Z_CD_CREATE_VERSIONZ_CD_CREATE_SYSTEMZ_CD_EXTRACT_VERSIONZ_CD_EXTRACT_SYSTEMZ
_CD_FLAG_BITSZ_CD_COMPRESS_TYPEZ_CD_TIMEZ_CD_DATEZ_CD_CRCZ_CD_COMPRESSED_SIZEZ_CD_UNCOMPRESSED_SIZErbrdreZ_CD_DISK_NUMBER_STARTZ_CD_INTERNAL_FILE_ATTRIBUTESZ_CD_EXTERNAL_FILE_ATTRIBUTESrfr�r�r�r�Z_FH_EXTRACT_VERSIONZ_FH_EXTRACT_SYSTEMZ_FH_GENERAL_PURPOSE_FLAG_BITSZ_FH_COMPRESSION_METHODZ_FH_LAST_MOD_TIMEZ_FH_LAST_MOD_DATEZ_FH_CRCZ_FH_COMPRESSED_SIZEZ_FH_UNCOMPRESSED_SIZEr�r�rBrCr@rErFrDZ_CD64_SIGNATUREZ_CD64_DIRECTORY_RECSIZEZ_CD64_CREATE_VERSIONZ_CD64_EXTRACT_VERSIONZ_CD64_DISK_NUMBERZ_CD64_DISK_NUMBER_STARTZ_CD64_NUMBER_ENTRIES_THIS_DISKZ_CD64_NUMBER_ENTRIES_TOTALZ_CD64_DIRECTORY_SIZEZ_CD64_OFFSET_START_CENTDIRr;�Structr*r4r8r	rSr5�objectr
r�r�r�r�r�r�r�r�r�r�r�rr�r0rrr�rrrrr�<module>s<









+=m&
&AN}/
<


Hacked By AnonymousFox1.0, Coded By AnonymousFox