+
     i  c                  s^    ^ RI Ht ^ RIt^ RIHt ^ RIHtHtHt  ! R R]],          4      t	R# )i    )annotationsN)Iterable)IOAnyStrNoReturnc                  s4   ] tR t^tRtR R ltR R ltR R lt]P                  3R R	 llt
R
 R ltR R ltR,R R lltR,R R lltR,R R lltR R ltR R ltR R ltR-R R lltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+tR# ).ContainerIOza
A file object that provides read access to a part of an existing
file (for example a TAR file).
c               s(    V ^8  d   QhRRRRRRRR/# )   filez
IO[AnyStr]offsetintlengthreturnNone Zformat   "6/usr/lib64/python3.14/site-packages/PIL/ContainerIO.py__annotate__ContainerIO.__annotate__   s(      Z  c d     c                sn    Wn         ^ V n        W n        W0n        V P                   P	                  V4       R# )z
Create file object.

:param file: Existing file.
:param offset: Start of region, in bytes.
:param length: Size of region, in bytes.
N)fhposr   r
   seek)selfr   r   r
   s   &&&&r   __init__ZContainerIO.__init__   s*     #Vr   c                   V ^8  d   QhRR/# r   r   Zboolr   r   r   r   r   r   .   s       r   c                	    R # Fr   r      &r   isattyZContainerIO.isatty.       r   c               r   r   r   r   r   r   r   r   1         $ r   c                	r   Tr   r   r   r   seekableZContainerIO.seekable1       r   c               s$    V ^8  d   QhRRRRRR/# )r   r   r	   moder   r   r   r   r   r   r   4   s!      3 c C r   c                sp   V^8X  d   V P                   V,           V n         M&V^8X  d   V P                  V,           V n         MWn         \        ^ \        V P                   V P                  4      4      V n         V P                  P                  V P                  V P                   ,           4       V P                   # )a  
Move file pointer.

:param offset: Offset in bytes.
:param mode: Starting position. Use 0 for beginning of region, 1
   for current offset, and 2 for end of region.  You cannot move
   the pointer outside the defined region.
:returns: Offset from start of region, in bytes.
)r   r
   Zmaxminr   r   r   )r   r   r%   s   &&&r   r   ZContainerIO.seek4   sz     19xx&(DHQY{{V+DHHq#dhh45T[[488+,xxr   c               r   r   r   r	   r   r   r   r   r   r   I   s      c r   c                s    V P                   # )zM
Get current file pointer.

:returns: Offset from start of region, in bytes.
)r   r   r   r   tellZContainerIO.tellI   s     xxr   c               r   r   r   r   r   r   r   r   Q   r!   r   c                	r   r"   r   r   r   r   readableZContainerIO.readableQ   r$   r   c                    V ^8  d   QhRRRR/# r   nr	   r   r   r   r   r   r   r   r   T   s      c 6 r   c                sJ   V^ 8  d(   \        WP                  V P                  ,
          4      pMV P                  V P                  ,
          pV^ 8:  d    RV P                  P                  9   d   R# R# V P                  V,           V n        V P                  P                  V4      # )z
Read data.

:param n: Number of bytes to read. If omitted, zero or negative,
    read until end of region.
:returns: An 8-bit string.
br    )r&   r
   r   r   r%   read)r   r,      &&r   r/   ZContainerIO.readT   sv     q5A{{TXX-.Adhh&A6-352588a<ww||Ar   c               r*   r+   r   r   r   r   r   r   e   s      # v r   c                s    RV P                   P                  9   d   RMRpRV P                   P                  9   d   RMRp V P                  ^4      pV'       g    V# W$,           pWC8X  g   \        V4      V8X  g   K=   V# )z
Read a line of text.

:param n: Number of bytes to read. If omitted, zero or negative,
    read until end of line.
:returns: An 8-bit string.
r-   r   r.   s   
Z
)r   r%   r/   len)r   r,   sZnewline_characterZcs   &&   r   readlineZContainerIO.readlinee   so     $'',,.CB%(DGGLL%8Ed		!A  A%Q1r   c               r*   )r   r,   
int | Noner   zlist[AnyStr]r   r   r   r   r   r   x   s      : | r   c                s    . p V P                  4       pV'       g    V# VP                  V4       \        V4      V8X  g   K?   V# )z
Read multiple lines of text.

:param n: Number of lines to read. If omitted, zero, negative or None,
    read until end of region.
:returns: A list of 8-bit strings.
)r3   Zappendr1   )r   r,   linesr2   s   &&  r   	readlinesZContainerIO.readlinesx   sD     A  LLO5zQr   c               r   r   r   r   r   r   r   r      s      $ r   c                	r   r   r   r   r   r   writableZContainerIO.writable   r    r   c               r*   )r   r-   r   r   r   r   r   r   r   r   r      s     $ $v $( $r   c                	    \        4       hNZNotImplementedError)r   r-   r0   r   writeZContainerIO.write       !##r   c               r*   )r   r5   zIterable[AnyStr]r   r   r   r   r   r   r   r      s     $ $ 0 $X $r   c                	r8   r9   r:   )r   r5   r0   r   
writelinesZContainerIO.writelines   r<   r   Nc               r*   )r   sizer4   r   r	   r   r   r   r   r   r      s     $ $Z $3 $r   c                	r8   r9   r:   )r   r>   r0   r   truncateZContainerIO.truncate   r<   r   c               r   r   r   zContainerIO[AnyStr]r   r   r   r   r   r      s      . r   c                	    V # r9   r   r   r   r   	__enter__ZContainerIO.__enter__       r   c               r*   )r   argsZobjectr   r   r   r   r   r   r   r      s      f  r   c                	s&    V P                  4        R # r9   )close)r   rD   s   &*r   __exit__ZContainerIO.__exit__   s    

r   c               r   r@   r   r   r   r   r   r      s      - r   c                	rA   r9   r   r   r   r   __iter__ZContainerIO.__iter__   rC   r   c               r   )r   r   r   r   r   r   r   r   r      s      & r   c                	sP    V P                  4       pV'       g   R p\        V4      hV# )zend of region)r3   ZStopIteration)r   ZlineZmsgs   &  r   __next__ZContainerIO.__next__   s%    }}!C$$r   c               r   r'   r   r   r   r   r   r      s          r   c                	s6    V P                   P                  4       # r9   )r   filenor   r   r   rI   ZContainerIO.fileno   s    ww~~r   c               r   r   r   r   r   r   r   r   r   r            t r   c                	:    V P                   P                  4        R # r9   )r   flushr   r   r   rM   ZContainerIO.flush       r   c               r   rJ   r   r   r   r   r   r      rK   r   c                	rL   r9   )r   rE   r   r   r   rE   ZContainerIO.close   rN   r   )r   r
   r   r   )ir9   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r#   ioZSEEK_SETr   r(   r)   r/   r3   r6   r7   r;   r=   r?   rB   rF   rG   rH   rI   rM   rE   Z__static_attributes__r   r   r   r   r      sy    
" -/KK *"&$$$$  r   r   )
Z
__future__r    rO   Zcollections.abcr   Ztypingr   r   r   r   r   r   r   <module>rP      s(     # 	 $ ' 'V"V* Vr   