a ÕDOg;ã@sGdd„dƒZdS)c@sZeZdZddd„Zdd„Zdd„Zd d „Zd d „Zddd„Zdd„Z ddd„Z dd„Z dS)ÚChunkTFc CsÐddl}d|_||_|rd}nd}||_| d¡|_t|jƒdkrFt‚z | |d| d¡¡d|_ Wn|j y€td‚Yn0|r’|j d|_ d|_ z|j  ¡|_ WnttfyÄd|_Yn0d|_dS) NéFú>ú<éÚLéT)ÚstructÚclosedÚalignÚfileÚreadÚ chunknameÚlenÚEOFErrorÚ unpack_fromÚ chunksizeÚerrorÚ size_readÚtellÚoffsetÚAttributeErrorÚOSErrorÚseekable)Úselfr r Z bigendianZ inclheaderrZstrflag©rú/usr/lib64/python3.9/chunk.pyÚ__init__4s,     zChunk.__init__cCs|jS©N)r ©rrrrÚgetnameNsz Chunk.getnamecCs|jSr)rrrrrÚgetsizeRsz Chunk.getsizecCs&|js"z| ¡Wd|_nd|_0dS)NT)r ÚskiprrrrÚcloseVs z Chunk.closecCs|jrtdƒ‚dS)NúI/O operation on closed fileF)r Ú ValueErrorrrrrÚisatty]sz Chunk.isattyrcCsv|jrtdƒ‚|jstdƒ‚|dkr0||j}n|dkrB||j}|dksT||jkrXt‚|j |j |d¡||_dS)Nr#z cannot seekéér) r r$rrrrÚ RuntimeErrorr Úseekr)rÚposÚwhencerrrr)bs  z Chunk.seekcCs|jrtdƒ‚|jS)Nr#)r r$rrrrrrusz Chunk.telléÿÿÿÿcCs¦|jrtdƒ‚|j|jkrdS|dkr2|j|j}||j|jkrN|j|j}|j |¡}|jt|ƒ|_|j|jkr¢|jr¢|jd@r¢|j d¡}|jt|ƒ|_|S)Nr#órr&)r r$rrr r rr )rÚsizeÚdataÚdummyrrrr zs$     ÿþ z Chunk.readcCs¢|jrtdƒ‚|jrlzD|j|j}|jr:|jd@r:|d}|j |d¡|j||_WdStyjYn0|j|jkržt d|j|jƒ}|  |¡}|slt ‚qldS)Nr#r&i ) r r$rrrr r r)rÚminr r)rÚnr0rrrr!‘s"     z Chunk.skipN)TTF)r)r,) Ú__name__Ú __module__Ú __qualname__rrr r"r%r)rr r!rrrrr3s   rN)rrrrrÚ3r-