???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................a
    XC?h3                  	   @   s   g d Z ddlZddlZddlZddlT ddlmZmZ ddlZdZdZ	dZ
G dd dejZddd
ddddddddZed
ddfddZeddfddZdS ))$Z
CHECK_NONEZCHECK_CRC32ZCHECK_CRC64ZCHECK_SHA256ZCHECK_ID_MAXZCHECK_UNKNOWNZFILTER_LZMA1ZFILTER_LZMA2ZFILTER_DELTAZ
FILTER_X86ZFILTER_IA64Z
FILTER_ARMZFILTER_ARMTHUMBZFILTER_POWERPCZFILTER_SPARCFORMAT_AUTO	FORMAT_XZZFORMAT_ALONEZ
FORMAT_RAWZMF_HC3ZMF_HC4ZMF_BT2ZMF_BT3ZMF_BT4Z	MODE_FASTZMODE_NORMALZPRESET_DEFAULTZPRESET_EXTREMELZMACompressorLZMADecompressorLZMAFile	LZMAErroropencompress
decompressZis_check_supported    N)*)_encode_filter_properties_decode_filter_properties      c                   @   s   e Zd Zd!dddddddZdd Zed	d
 Zdd Zdd Zdd Z	dd Z
d"ddZd#ddZd$ddZd%ddZdd ZejfddZdd  ZdS )&r   Nrformatcheckpresetfiltersc          	      C   s&  d | _ d| _t| _|dv rL|dkr*td|d ur:td|d u rFt}t}n@|dv r~|d u r`t}t}t	||||d| _
d| _ntd	|t|tttjfrd
|vr|d
7 }t||| _ d| _|| _n*t|dst|dr|| _ || _ntd| jtkr"tj| j tt||d}t|| _d S )NF)r   rbr   zACannot specify an integrity check when opening a file for readingzICannot specify a preset compression level when opening a file for reading)wwbaZabxZxbr   r
   zInvalid mode: {!r}bTreadwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorr   r   )_fp_closefp_MODE_CLOSED_mode
ValueErrorr   
_MODE_READr   _MODE_WRITEr   _compressor_posr   
isinstancestrbytesosPathLikebuiltinsr   hasattr	TypeError_compressionZDecompressReaderr   r   ioBufferedReader_buffer)	selffilenamemoder   r   r   r   Z	mode_coderaw r8   )/opt/alt/python39/lib64/python3.9/lzma.py__init__1   sF    ,
zLZMAFile.__init__c                 C   s   | j tkrd S z~| j tkr,| j  d | _n"| j tkrN| j| j	  d | _W z&| j
rb| j  W d | _d| _
t| _ qd | _d| _
t| _ 0 n>z&| j
r| j  W d | _d| _
t| _ nd | _d| _
t| _ 0 0 d S )NF)r"   r!   r$   r3   closer%   r   r   r&   flushr    r4   r8   r8   r9   r;      s6    




zLZMAFile.closec                 C   s
   | j tkS N)r"   r!   r=   r8   r8   r9   closed   s    zLZMAFile.closedc                 C   s   |    | j S r>   )_check_not_closedr   filenor=   r8   r8   r9   rA      s    zLZMAFile.filenoc                 C   s   |   o| j S r>   )readabler3   seekabler=   r8   r8   r9   rC      s    zLZMAFile.seekablec                 C   s   |    | jtkS r>   )r@   r"   r$   r=   r8   r8   r9   rB      s    zLZMAFile.readablec                 C   s   |    | jtkS r>   )r@   r"   r%   r=   r8   r8   r9   writable   s    zLZMAFile.writablec                 C   s   |    | j|S r>   )_check_can_readr3   peekr4   sizer8   r8   r9   rF      s    zLZMAFile.peekc                 C   s   |    | j|S r>   )rE   r3   r   rG   r8   r8   r9   r      s    zLZMAFile.readc                 C   s"   |    |dk rtj}| j|S )Nr
   )rE   r1   DEFAULT_BUFFER_SIZEr3   read1rG   r8   r8   r9   rJ      s    zLZMAFile.read1c                 C   s   |    | j|S r>   )rE   r3   readlinerG   r8   r8   r9   rK      s    zLZMAFile.readlinec                 C   sX   |    t|ttfr t|}nt|}|j}| j|}| j	
| |  j|7  _|S r>   )Z_check_can_writer(   r*   	bytearraylen
memoryviewnbytesr&   r   r   r   r'   )r4   dataZlengthZ
compressedr8   r8   r9   r      s    
zLZMAFile.writec                 C   s   |    | j||S r>   )Z_check_can_seekr3   seek)r4   offsetwhencer8   r8   r9   rQ      s    zLZMAFile.seekc                 C   s"   |    | jtkr| j S | jS r>   )r@   r"   r$   r3   tellr'   r=   r8   r8   r9   rT     s    

zLZMAFile.tell)Nr   )r   )r   )r   )r   )__name__
__module____qualname__r:   r;   propertyr?   rA   rC   rB   rD   rF   r   rJ   rK   r   r1   SEEK_SETrQ   rT   r8   r8   r8   r9   r   &   s"   U


	


r   r   r   )r   r   r   r   encodingerrorsnewlinec                C   s   d|v r d|v rPt d|f n0|d ur0t d|d ur@t d|d urPt d|dd}	t| |	||||d}
d|v rt|
|||S |
S d S )	Ntr   zInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary mode r   )r#   replacer   r1   TextIOWrapper)r5   r6   r   r   r   r   rZ   r[   r\   Zlz_modeZbinary_filer8   r8   r9   r     s     
r   c                 C   s    t ||||}|| |  S r>   )r   r   r<   )rP   r   r   r   r   compr8   r8   r9   r   >  s    r   c                 C   sn   g }t |||}z|| }W n ty<   |r6Y qdn Y n0 || |jsVtd|j} | sqdqd|S )NzACompressed data ended before the end-of-stream marker was reached    )r   r	   r   appendeofZunused_datajoin)rP   r   Zmemlimitr   ZresultsZdecompresr8   r8   r9   r	   J  s    
r	   )r   )__all__r-   r1   r+   Z_lzmar   r   r0   r!   r$   r%   Z
BaseStreamr   r   r   r   r   r	   r8   r8   r8   r9   <module>   s"    j/