o ?Og3 @s gdZddlZddlZddlZddlTddlmZmZddlZdZdZ dZ Gdddej Z ddd dddddd d d Z ed ddfddZeddfddZdS))$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_ARMZFILTER_ARMTHUMBZFILTER_POWERPCZ FILTER_SPARC FORMAT_AUTO FORMAT_XZZ FORMAT_ALONEZ FORMAT_RAWZMF_HC3ZMF_HC4ZMF_BT2ZMF_BT3ZMF_BT4Z MODE_FASTZ MODE_NORMALZPRESET_DEFAULTZPRESET_EXTREMELZMACompressorLZMADecompressorLZMAFile LZMAErroropencompress decompressZis_check_supportedN)*)_encode_filter_properties_decode_filter_propertiesc@seZdZ d!dddddddZddZed d Zd d Zd dZddZ ddZ d"ddZ d"ddZ d"ddZ d"ddZddZejfddZdd ZdS)#rNrformatcheckpresetfiltersc Cs* d|_d|_t|_|dvr'|dkrtd|durtd|dur$t}t}n |dvr@|dur1t}t}t ||||d|_ d|_ ntd |t |tttjfrfd |vrX|d 7}t|||_d |_||_nt|d spt|d rw||_||_ntd|jtkrtj|jtt||d}t||_dSdS)NF)rrbrzACannot specify an integrity check when opening a file for readingzICannot specify a preset compression level when opening a file for reading)wwbaZabxZxbrr zInvalid mode: {!r}bTreadwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorrr)_fp_closefp _MODE_CLOSED_mode ValueErrorr _MODE_READr _MODE_WRITEr _compressor_posr isinstancestrbytesosPathLikebuiltinsrhasattr TypeError _compressionZDecompressReaderrrioBufferedReader_buffer) selffilenamemoderrrrZ mode_coderawr8+/opt/alt/python310/lib64/python3.10/lzma.py__init__1sJ*  zLZMAFile.__init__cCs |jtkrdSzK|jtkr|jd|_n|jtkr(|j|j d|_Wz |j r>|jWd|_d|_ t|_dSWd|_d|_ t|_dSd|_d|_ t|_wz|j rh|jWd|_d|_ t|_wWd|_d|_ t|_wd|_d|_ t|_w)NF) r"r!r$r3closer%rrr&flushr r4r8r8r9r;sJ        zLZMAFile.closecCs |jtkSN)r"r!r=r8r8r9closeds zLZMAFile.closedcCs ||jSr>)_check_not_closedrfilenor=r8r8r9rA zLZMAFile.filenocCs |o |jSr>)readabler3seekabler=r8r8r9rDszLZMAFile.seekablecC ||jtkSr>)r@r"r$r=r8r8r9rCrBzLZMAFile.readablecCrEr>)r@r"r%r=r8r8r9writablerBzLZMAFile.writablecC ||j|Sr>)_check_can_readr3peekr4sizer8r8r9rIs z LZMAFile.peekcCrGr>)rHr3rrJr8r8r9rs z LZMAFile.readcCs$ ||dkr tj}|j|S)Nr )rHr1DEFAULT_BUFFER_SIZEr3read1rJr8r8r9rMs  zLZMAFile.read1cCrGr>)rHr3readlinerJr8r8r9rNs zLZMAFile.readlinecCsZ |t|ttfrt|}nt|}|j}|j|}|j ||j |7_ |Sr>) Z_check_can_writer(r* bytearraylen memoryviewnbytesr&rrrr')r4dataZlengthZ compressedr8r8r9rs   zLZMAFile.writecCs ||j||Sr>)Z_check_can_seekr3seek)r4offsetwhencer8r8r9rTsz LZMAFile.seekcCs$ ||jtkr|jS|jSr>)r@r"r$r3tellr'r=r8r8r9rWs   z LZMAFile.tell)Nr)r)__name__ __module__ __qualname__r:r;propertyr?rArDrCrFrIrrMrNrr1SEEK_SETrTrWr8r8r8r9r&s&  U     rrr)rrrrencodingerrorsnewlinec Cs d|vrd|vrtd|fn|durtd|dur!td|dur)td|dd} t|| ||||d} d|vrJt|}t| |||S| S) NtrzInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moder)r#replacerr1 text_encoding TextIOWrapper) r5r6rrrrr]r^r_Zlz_modeZ binary_filer8r8r9rs&   rcCs" t||||}|||Sr>)rrr<)rSrrrrcompr8r8r9r?srcCsl g} t|||}z||}Wn ty|rYnw|||js*td|j}|s0nqd|S)NTzACompressed data ended before the end-of-stream marker was reached)rr rappendeofZ unused_datajoin)rSrZmemlimitrZresultsZdecompresr8r8r9r Ks&    r )r)__all__r-r1r+Z_lzmar r r0r!r$r%Z BaseStreamrrrrrr r8r8r8r9s&  j 0