§
    œ"²cC  ã                   ó(   — d dl Z  G d„ d¦  «        ZdS )é    Nc                   óL   — e Zd ZdZd„ Zd„ Zej        fd„Zd„ Z	dd„Z
d„ Zd	„ Zd
S )ÚContainerIOzm
    A file object that provides read access to a part of an existing
    file (for example a TAR file).
    c                 ór   — || _         d| _        || _        || _        | j                              |¦  «         dS )z­
        Create file object.

        :param file: Existing file.
        :param offset: Start of region, in bytes.
        :param length: Size of region, in bytes.
        r   N)ÚfhÚposÚoffsetÚlengthÚseek)ÚselfÚfiler   r	   s       ú1/usr/lib/python3/dist-packages/PIL/ContainerIO.pyÚ__init__zContainerIO.__init__   s:   € ð ˆŒØˆŒØˆŒØˆŒØŒ�Š�VÑÔÐÐÐó    c                 ó   — dS )NF© ©r   s    r   ÚisattyzContainerIO.isatty,   s   € Øˆur   c                 ó  — |dk    r| j         |z   | _         n|dk    r| j        |z   | _         n|| _         t          dt          | j         | j        ¦  «        ¦  «        | _         | j                             | j        | j         z   ¦  «         dS )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.
        é   é   r   N)r   r	   ÚmaxÚminr   r
   r   )r   r   Úmodes      r   r
   zContainerIO.seek/   s   € ð �1Š9ˆ9Ø”x &Ñ(ˆDŒHˆHØ�QŠYˆYØ”{ VÑ+ˆDŒHˆHàˆDŒHå�q�#˜dœh¨¬Ñ4Ô4Ñ5Ô5ˆŒØŒ�Š�T”[ 4¤8Ñ+Ñ,Ô,Ð,Ð,Ð,r   c                 ó   — | j         S )ze
        Get current file pointer.

        :returns: Offset from start of region, in bytes.
        )r   r   s    r   ÚtellzContainerIO.tellB   s   € ð Œxˆr   r   c                 óÚ   — |rt          || j        | j        z
  ¦  «        }n| j        | j        z
  }|sd| j        j        v rdndS | j        |z   | _        | j                             |¦  «        S )z¥
        Read data.

        :param n: Number of bytes to read. If omitted or zero,
            read until end of region.
        :returns: An 8-bit string.
        Úbr   Ú )r   r	   r   r   r   Úread)r   Úns     r   r   zContainerIO.readJ   ss   € ð ð 	'Ý�A�t”{ T¤XÑ-Ñ.Ô.ˆAˆAà”˜dœhÑ&ˆAØð 	6Ø ¤¤Ð-Ð-�3�3°2Ð5Ø”8˜a‘<ˆŒØŒw�|Š|˜A‰ŒÐr   c                 óš   — d| j         j        v rdnd}d| j         j        v rdnd}	 |                      d¦  «        }|sn||z   }||k    rnŒ%|S )zJ
        Read a line of text.

        :returns: An 8-bit string.
        r   r   r   ó   
ú
Tr   )r   r   r   )r   ÚsÚnewline_characterÚcs       r   ÚreadlinezContainerIO.readline[   sv   € ð ˜$œ'œ,Ð&Ð&ˆCˆC¨BˆØ%(¨D¬G¬LÐ%8Ð%8˜E˜E¸dÐð	Ø—	’	˜!‘”ˆAØð ØØ�A‘ˆAØÐ%Ò%Ð%Øð	ð ˆr   c                 óf   — g }	 |                       ¦   «         }|sn|                     |¦  «         Œ-|S )zZ
        Read multiple lines of text.

        :returns: A list of 8-bit strings.
        )r'   Úappend)r   Úlinesr$   s      r   Ú	readlineszContainerIO.readlinesl   sA   € ð ˆð	Ø—’‘”ˆAØð ØØ�LŠL˜‰OŒOˆOð		ð
 ˆr   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚioÚSEEK_SETr
   r   r   r'   r+   r   r   r   r   r      s˜   € € € € € ðð ð
ð ð ð"ð ð ð !#¤ð -ð -ð -ð -ð&ð ð ðð ð ð ð"ð ð ð"ð ð ð ð r   r   )r0   r   r   r   r   ú<module>r2      sL   ðð$ 
€	€	€	ðcð cð cð cð cñ cô cð cð cð cr   