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-