Ë ‚Ö¦i1ãó„—dZddlZddlZejZGd„dej «ZGd„dej«Zy)z7Internal classes used by the gzip, lzma and bz2 moduleséNcó(—eZdZdZd„Zd„Zd„Zd„Zy)Ú BaseStreamzMode-checking helper functions.có2—|jr td«‚y)NzI/O operation on closed file)ÚclosedÚ ValueError©Úselfs ú%/usr/lib64/python3.12/_compression.pyÚ_check_not_closedzBaseStream._check_not_closed s€Ø �;Š;ÜÐ;Ó<Ð <ð ócóN—|j«stjd«‚y)NzFile not open for reading)ÚreadableÚioÚUnsupportedOperationrs r Ú_check_can_readzBaseStream._check_can_readó"€Ø�}‰}ŒÜ×)Ñ)Ð*EÓFÐ Fðr cóN—|j«stjd«‚y)NzFile not open for writing)Úwritablerrrs r Ú_check_can_writezBaseStream._check_can_writerr có˜—|j«stjd«‚|j«stjd«‚y)Nz3Seeking is only supported on files open for readingz3The underlying file object does not support seeking)rrrÚseekablers r Ú_check_can_seekzBaseStream._check_can_seeksO€Ø�}‰}ŒÜ×)Ñ)ð+FóGð Gà�}‰}ŒÜ×)Ñ)ð+EóFð Fðr N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrr©r r rr s„Ù)ò=òGòGóFr rcót‡—eZdZdZd„Zd d„Zˆfd„Zd„Zd„Zd d„Z d„Z d „Z e jfd „Zd „ZˆxZS)ÚDecompressReaderz5Adapts the decompressor API to a RawIOBase reader APIcó—y)NTrrs r rzDecompressReader.readable$s€Ør c ó¨—||_d|_d|_d|_||_||_|jdi|j ¤Ž|_||_y)NFréÿÿÿÿr)Ú_fpÚ_eofÚ_posÚ_sizeÚ_decomp_factoryÚ _decomp_argsÚ _decompressorÚ_trailing_error)r ÚfpÚdecomp_factoryÚtrailing_errorÚ decomp_argss r Ú__init__zDecompressReader.__init__'sZ€ØˆŒØˆŒ ؈Œ ðˆŒ ð .ˆÔØ'ˆÔØ1˜T×1Ñ1ÑF°D×4EÑ4EÑFˆÔð .ˆÕr có.•—d|_t‰|� «S©N)r)ÚsuperÚclose)r Ú __class__s €r r3zDecompressReader.close;sø€Ø!ˆÔ܉w‰}‹Ðr có6—|jj«Sr1)r#rrs r rzDecompressReader.seekable?s€Ø�x‰x× Ñ Ó"Ð"r có—t|«5}|jd«5}|jt|««}||dt|«ddd«ddd«t«S#1swYŒxYw#1swYt«SxYw)NÚB)Ú memoryviewÚcastÚreadÚlen)r ÚbÚviewÚ byte_viewÚdatas r ÚreadintozDecompressReader.readintoBsc€Ü ˜Œ]˜d D§I¡I¨c¤N°iØ—9‘9œS ›^Ó,ˆDØ$(ˆI�j”s˜4“yÐ !÷%3�]ô�4‹yÐ÷%3 Nú�]ô�4‹yÐús"ŒA.ž)A"ÁA.Á"A+ Á'A.Á.BcóÖ—|dkr|j«S|r |jryd} |jjry|jjxs|j j t«}|sn£|jdi|j¤Ž|_ |jj||«}n`|jjr,|j j t«}|s td«‚d}|jj||«}|rnŒó|sd|_|j|_y|xjt!|«z c_|S#|j$rYŒLwxYw)Nrr TzACompressed file ended before the end-of-stream marker was reachedr)Úreadallr$r)ÚeofÚ unused_datar#r:Ú BUFFER_SIZEr'r(Ú decompressr*Ú needs_inputÚEOFErrorr%r&r;)r Úsizer?Úrawblocks r r:zDecompressReader.readHsY€Ø �!Š8Ø—<‘<“>Ð !á�t—y’yØØˆðØ×!Ñ!×%Ò%Ø ×.Ñ.×:Ñ:ò7Ø ŸH™HŸM™M¬+Ó6ðáØà%9 T×%9Ñ%9ñ&)Ø×'Ñ'ñ&)�Ô"ðØ×-Ñ-×8Ñ8¸À4ÓH‘Dð ×%Ñ%×1Ò1Ø#Ÿx™xŸ}™}¬[Ó9�HÙ#Ü&ð(JóKðKð #�HØ×)Ñ)×4Ñ4°X¸tÓD�ÙØð1ñ2؈DŒIØŸ™ˆDŒJØØ � Š ”S˜“YÑ� ؈ øð'×+Ñ+òáðúsÂEÅE(Å'E(cóЗg}|jtj«x}r3|j|«|jtj«x}rŒ3dj |«S)Nr )r:ÚsysÚmaxsizeÚappendÚjoin)r Úchunksr?s r rBzDecompressReader.readallqsX€Øˆð—i‘i¤§ ¡ Ó,Ð,ˆdÐ,Ø �M‰M˜$Ô ð—i‘i¤§ ¡ Ó,Ð,ˆdÑ,ð�x‰x˜ÓÐr có˜—|jjd«d|_d|_|jdi|j ¤Ž|_y)NrFr)r#Úseekr$r%r'r(r)rs r Ú_rewindzDecompressReader._rewind|s>€Ø �‰� ‰ �aÔØˆŒ ؈Œ Ø1˜T×1Ñ1ÑF°D×4EÑ4EÑFˆÕr có —|tjk(rn¯|tjk(r|j|z}nŒ|tjk(r_|j dkr@|j tj«r! |j tj«rŒ!|j |z}ntdj|««‚||jkr|j«n||jz}|dkDrL|j ttj|««}|s |jS|t|«z}|dkDrŒL|jS)NrzInvalid value for whence: {}) rÚSEEK_SETÚSEEK_CURr%ÚSEEK_ENDr&r:ÚDEFAULT_BUFFER_SIZErÚformatrSÚminr;)r ÚoffsetÚwhencer?s r rRzDecompressReader.seek‚s€à ”R—[‘[Ò Ø Ø ”r—{‘{Ò "Ø—Y‘Y Ñ'‰FØ ”r—{‘{Ò "à�z‰z˜AŠ~Ø—i‘i¤× 6Ñ 6Ô7Øð—i‘i¤× 6Ñ 6Õ7à—Z‘Z &Ñ(‰FäÐ;×BÑBÀ6ÓJÓKÐ Kð �D—I‘IÒ Ø �L‰L�Nà �d—i‘iÑ ˆFð�qŠjØ—9‘9œS¤×!7Ñ!7¸Ó@ÓAˆDÙØð�y‰yÐð ”c˜$“iÑ ˆFð �q‹jð �y‰yÐr có—|jS)z!Return the current file position.)r%rs r ÚtellzDecompressReader.tell s €à�y‰yÐr )r)r")rrrrrr/r3rr@r:rBrSrrUrRr^Ú __classcell__)r4s@r rr!sCø„Ù?òó.ô(ò#òó 'òR òGð #%§+¡+óö<r r) rrrLrXrEÚBufferedIOBaserÚ RawIOBaserrr r Úrbs?ðÙ=ã Û à×$Ñ$€ ôF�×"Ñ"ôFô0A�r—|‘|õAr