a DOg3 @sgdZddlZddlZddlZddlTddlmZmZddlZdZdZ 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@seZdZd!dddddddZddZed d Zd d Zd dZddZ ddZ d"ddZ d#ddZ d$ddZ d%ddZddZejfddZdd ZdS)&rNrformatcheckpresetfiltersc Cs&d|_d|_t|_|dvrL|dkr*td|dur:td|durFt}t}n@|dvr~|dur`t}t}t ||||d|_ d|_ ntd |t |tttjfrd |vr|d 7}t|||_d |_||_n*t|d st|d r||_||_ntd|jtkr"tj|jtt||d}t||_dS)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/python39/lib64/python3.9/lzma.py__init__1sF,  zLZMAFile.__init__cCs|jtkrdSz~|jtkr,|jd|_n"|jtkrN|j|j d|_Wz&|j rb|jWd|_d|_ t|_qd|_d|_ t|_0n>z&|j r|jWd|_d|_ t|_nd|_d|_ t|_00dS)NF) r"r!r$r3closer%rrr&flushr r4r8r8r9r;s6       zLZMAFile.closecCs |jtkSN)r"r!r=r8r8r9closedszLZMAFile.closedcCs||jSr>)_check_not_closedrfilenor=r8r8r9rAszLZMAFile.filenocCs|o|jSr>)readabler3seekabler=r8r8r9rCszLZMAFile.seekablecCs||jtkSr>)r@r"r$r=r8r8r9rBszLZMAFile.readablecCs||jtkSr>)r@r"r%r=r8r8r9writableszLZMAFile.writablecCs||j|Sr>)_check_can_readr3peekr4sizer8r8r9rFsz LZMAFile.peekcCs||j|Sr>)rEr3rrGr8r8r9rsz LZMAFile.readcCs"||dkrtj}|j|S)Nr )rEr1DEFAULT_BUFFER_SIZEr3read1rGr8r8r9rJszLZMAFile.read1cCs||j|Sr>)rEr3readlinerGr8r8r9rKszLZMAFile.readlinecCsX|t|ttfr t|}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)r4offsetwhencer8r8r9rQsz LZMAFile.seekcCs"||jtkr|jS|jSr>)r@r"r$r3tellr'r=r8r8r9rTs  z LZMAFile.tell)Nr)r)r)r)r)__name__ __module__ __qualname__r:r;propertyr?rArCrBrDrFrrJrKrr1SEEK_SETrQrTr8r8r8r9r&s"  U  rrr)rrrrencodingerrorsnewlinec Csd|vr d|vrPtd|fn0|dur0td|dur@td|durPtd|dd} t|| ||||d} d|vrt| |||S| SdS) 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 TextIOWrapper) r5r6rrrrrZr[r\Zlz_modeZ binary_filer8r8r9rs   rcCs t||||}|||Sr>)rrr<)rPrrrrcompr8r8r9r>srcCsng}t|||}z||}Wnty<|r6YqdnYn0|||jsVtd|j}|sqdqd|S)NzACompressed data ended before the end-of-stream marker was reached)rr rappendeofZ unused_datajoin)rPrZmemlimitrZresultsZdecompresr8r8r9r Js   r )r)__all__r-r1r+Z_lzmar r r0r!r$r%Z BaseStreamrrrrrr r8r8r8r9 s" j /