Ë
    	š„jl  ã                   óˆ   — d Z ddlmZmZmZ ddlmZ  G d„ de«      Z G d„ de«      Z G d„ d	e«      Z	 G d
„ de«      Z
[[[[y)a  Response classes used by urllib.

The base class, addbase, defines a minimal file-like interface,
including read() and readline().  The typical response object is an
addinfourl instance, which defines an info() method that returns
headers and a geturl() method that returns the url.
é    )Úabsolute_importÚdivisionÚunicode_literals)Úobjectc                   ó4   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	Úaddbasez(Base class for addinfo and addclosehook.c                 óT  — || _         | j                   j                  | _        | j                   j                  | _        t        | j                   d«      r| j                   j                  | _        t        | j                   d«      r| j                   j
                  | _        y d„ | _        y )NÚ	readlinesÚfilenoc                   ó   — y ©N© r   ó    úW/var/www/html/GAP/venv/lib/python3.12/site-packages/future/backports/urllib/response.pyú<lambda>z"addbase.__init__.<locals>.<lambda>   s   � r   )ÚfpÚreadÚreadlineÚhasattrr
   r   )Úselfr   s     r   Ú__init__zaddbase.__init__   sl   € àˆŒØ—G‘G—L‘LˆŒ	ØŸ™×(Ñ(ˆŒä�4—7‘7˜KÔ(Ø!ŸW™W×.Ñ.ˆDŒNÜ�4—7‘7˜HÔ%ØŸ'™'Ÿ.™.ˆD�Ká&ˆD�Kr   c                 ó,   — t        | j                  «      S r   )Úiterr   ©r   s    r   Ú__iter__zaddbase.__iter__   s   € ô �D—G‘G‹}Ðr   c                 óh   — d| j                   j                  ›dt        | «      ›d| j                  ›d�S )Nú<z at z whose fp = ú>)Ú	__class__Ú__name__Úidr   r   s    r   Ú__repr__zaddbase.__repr__%   s(   � Ø-1¯^©^×-DÓ-DÜ-/°­X°t·w³wð@ð 	@r   c                 ó²   — | j                   r| j                   j                  «        d | _         d | _        d | _        d | _        d | _        d | _        d | _        y r   )r   Úcloser   r   r
   r   r   Ú__next__r   s    r   r$   zaddbase.close)   sG   € Ø�7Š7Ø�G‰G�M‰MŒOØˆŒØˆŒ	ØˆŒØˆŒØˆŒØˆŒØˆ�r   c                 ó4   — | j                   €t        d«      ‚| S )NzI/O operation on closed file)r   Ú
ValueErrorr   s    r   Ú	__enter__zaddbase.__enter__4   s   € Ø�7‰7ˆ?ÜÐ;Ó<Ð<Øˆr   c                 ó$   — | j                  «        y r   )r$   )r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__zaddbase.__exit__9   s   € Ø�
‰
�r   N)
r    Ú
__module__Ú__qualname__Ú__doc__r   r   r"   r$   r(   r-   r   r   r   r   r      s$   „ Ù2ò'òò@ò	òó
r   r   c                   ó   — e Zd ZdZd„ Zd„ Zy)Úaddclosehookz*Class to add a close hook to an open file.c                 óL   — t         j                  | |«       || _        || _        y r   )r   r   Ú	closehookÚhookargs)r   r   r4   r5   s       r   r   zaddclosehook.__init__?   s    € Ü×Ñ˜˜rÔ"Ø"ˆŒØ ˆ�r   c                 ó”   — | j                   r' | j                   | j                  Ž  d | _         d | _        t        j                  | «       y r   )r4   r5   r   r$   r   s    r   r$   zaddclosehook.closeD   s5   € Ø�>Š>ØˆD�N‰N˜DŸM™MÑ*Ø!ˆDŒNØ ˆDŒMÜ�‰�dÕr   N)r    r.   r/   r0   r   r$   r   r   r   r2   r2   <   s   „ Ù4ò!ó
r   r2   c                   ó   — e Zd ZdZd„ Zd„ Zy)Úaddinfoz.class to add an info() method to an open file.c                 ó>   — t         j                  | |«       || _        y r   )r   r   Úheaders)r   r   r:   s      r   r   zaddinfo.__init__N   s   € Ü×Ñ˜˜rÔ"Øˆ�r   c                 ó   — | j                   S r   ©r:   r   s    r   Úinfozaddinfo.infoR   ó   € Ø�|‰|Ðr   N)r    r.   r/   r0   r   r=   r   r   r   r8   r8   K   s   „ Ù8òór   r8   c                   ó*   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zy)Ú
addinfourlz9class to add info() and geturl() methods to an open file.Nc                 óZ   — t         j                  | |«       || _        || _        || _        y r   )r   r   r:   ÚurlÚcode)r   r   r:   rB   rC   s        r   r   zaddinfourl.__init__X   s'   € Ü×Ñ˜˜rÔ"ØˆŒØˆŒØˆ�	r   c                 ó   — | j                   S r   r<   r   s    r   r=   zaddinfourl.info^   r>   r   c                 ó   — | j                   S r   )rC   r   s    r   Úgetcodezaddinfourl.getcodea   s   € Ø�y‰yÐr   c                 ó   — | j                   S r   )rB   r   s    r   Úgeturlzaddinfourl.geturld   s   € Ø�x‰xˆr   r   )r    r.   r/   r0   r   r=   rF   rH   r   r   r   r@   r@   U   s   „ ÙCóòòór   r@   N)r0   Ú
__future__r   r   r   Úfuture.builtinsr   r   r2   r8   r@   r   r   r   ú<module>rK      sS   ðñ÷ CÑ BÝ "ô/ˆfô /ôb�7ô ôˆgô ô�ô ð$ �XÐ/±r   