
    (ph0                    T    S SK Jr  S SKrSSKJr   " S S\R                  \   5      rg)    )annotationsN   )ContainerIOc                  N   ^  \ rS rSrSrSU 4S jjrS	S jrS
S jrSS jrSr	U =r
$ )TarIO   zHA file object that provides read access to a given member of a TAR file.c                  > [        US5      U l         U R                  R                  S5      n[        U5      S:w  a  Sn[	        U5      eUSS R                  S5      nUR                  S5      nUS:X  a  S	n[	        U5      eUS:  a  USU n[        US
S S5      nX%:X  a  O2U R                  R                  US-   S-  [        R                  5        M  [        TU ]1  U R                  U R                  R                  5       U5        g)zZ
Create file object.

:param tarfile: Name of TAR file.
:param file: Name of member file.
rbi   zunexpected end of tar fileNd   zutf-8 r   zcannot find subfile|         i  i )openfhreadlenOSErrordecodefindintseekioSEEK_CURsuper__init__tell)	selftarfilefilesmsgnameisize	__class__s	           </var/www/html/venv/lib/python3.13/site-packages/PIL/TarIO.pyr   TarIO.__init__   s     w%S!A1v}2cl"Tc7>>'*D		$AAv+cl"1uBQxqSz1%D|GGLL$*.<' , 	$'',,.$7    c                    U $ N r   s    r'   	__enter__TarIO.__enter__<   s    r)   c                $    U R                  5         g r+   )close)r   argss     r'   __exit__TarIO.__exit__?   s    

r)   c                8    U R                   R                  5         g r+   )r   r1   r-   s    r'   r1   TarIO.closeB   s    r)   )r   )r   strr    r7   returnNone)r8   r   )r2   objectr8   r9   )r8   r9   )__name__
__module____qualname____firstlineno____doc__r   r.   r3   r1   __static_attributes____classcell__)r&   s   @r'   r   r      s     R8D r)   r   )
__future__r   r    r   bytesr   r,   r)   r'   <module>rE      s'     # 	 ,K##E* ,r)   