ó
    F\h9	  ã                   ó„   • S r SSKr/ SQr " S S\R                  5      r " S S\5      r " S S	\5      r " S
 S\5      rg)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.
é    N)ÚaddbaseÚaddclosehookÚaddinfoÚ
addinfourlc                   ó>   ^ • \ rS rSrSrU 4S jrS rS rS rSr	U =r
$ )r   é   zOBase class for addinfo and addclosehook. Is a good idea for garbage collection.c                 ó8   >• [         [        U ]  USSS9  Xl        g )Nz<urllib response>F)Údelete)Úsuperr   Ú__init__Úfp)Úselfr   Ú	__class__s     €Ú&/usr/lib/python3.13/urllib/response.pyr   Úaddbase.__init__   s   ø€ ÜŒg˜Ñ& rÐ+>ÀuÐ&ÑMà�ó    c                 ón   • SU R                   R                  < S[        U 5      < SU R                  < S3$ )NÚ<z at z whose fp = Ú>)r   Ú__name__ÚidÚfile©r   s    r   Ú__repr__Úaddbase.__repr__   s(   � Ø-1¯^©^×-DÔ-DÜ-/°®X°t·y´yðBð 	Br   c                 óR   • U R                   R                  (       a  [        S5      eU $ )NzI/O operation on closed file)r   ÚclosedÚ
ValueErrorr   s    r   Ú	__enter__Úaddbase.__enter__   s   € Ø�7‰7�>�>ÜÐ;Ó<Ð<Øˆr   c                 ó$   • U R                  5         g ©N)Úclose)r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__Úaddbase.__exit__!   s   € Ø�
‰
�r   )r   )r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r'   Ú__static_attributes__Ú__classcell__©r   s   @r   r   r      s    ø† ÙYõò
Bò÷
ð r   r   c                   ó8   ^ • \ rS rSrSrU 4S jrU 4S jrSrU =r$ )r   é%   z*Class to add a close hook to an open file.c                 óD   >• [         [        U ]  U5        X l        X0l        g r"   )r   r   r   Ú	closehookÚhookargs)r   r   r3   r4   r   s       €r   r   Úaddclosehook.__init__(   s   ø€ ÜŒl˜DÑ*¨2Ô.Ø"ŒØ �r   c                 ó¾   >•  U R                   nU R                  nU(       a  S U l         S U l        U" U6   [        [        U ]  5         g ! [        [        U ]  5         f = fr"   )r3   r4   r   r   r#   )r   r3   r4   r   s      €r   r#   Úaddclosehook.close-   sN   ø€ ð	.ØŸ™ˆIØ—}‘}ˆHÞØ!%�”Ø $�”Ù˜8Ñ$ä”, Ñ+Õ-øŒE”, Ñ+Õ-ús   ƒ2A ÁA)r3   r4   )	r   r)   r*   r+   r,   r   r#   r-   r.   r/   s   @r   r   r   %   s   ø† Ù4õ!÷
	.ó 	.r   r   c                   ó2   ^ • \ rS rSrSrU 4S jrS rSrU =r$ )r   é9   z.class to add an info() method to an open file.c                 ó8   >• [         [        U ]  U5        X l        g r"   )r   r   r   Úheaders)r   r   r;   r   s      €r   r   Úaddinfo.__init__<   s   ø€ ÜŒg�tÑ% bÔ)Ø�r   c                 ó   • U R                   $ r"   ©r;   r   s    r   ÚinfoÚaddinfo.info@   s   € Ø�|‰|Ðr   r>   )	r   r)   r*   r+   r,   r   r?   r-   r.   r/   s   @r   r   r   9   s   ø† Ù8õ÷ð r   r   c                   óL   ^ • \ rS rSrSrSU 4S jjr\S 5       rS rS r	Sr
U =r$ )	r   éD   z9class to add info() and geturl() methods to an open file.c                 óD   >• [         [        U ]  X5        X0l        X@l        g r"   )r   r   r   ÚurlÚcode)r   r   r;   rD   rE   r   s        €r   r   Úaddinfourl.__init__G   s   ø€ ÜŒj˜$Ñ(¨Ô5ØŒØ�	r   c                 ó   • U R                   $ r"   ©rE   r   s    r   ÚstatusÚaddinfourl.statusL   s   € à�y‰yÐr   c                 ó   • U R                   $ r"   rH   r   s    r   ÚgetcodeÚaddinfourl.getcodeP   s   € Ø�y‰yÐr   c                 ó   • U R                   $ r"   )rD   r   s    r   ÚgeturlÚaddinfourl.geturlS   s   € Ø�x‰xˆr   )rE   rD   r"   )r   r)   r*   r+   r,   r   ÚpropertyrI   rL   rO   r-   r.   r/   s   @r   r   r   D   s.   ø† ÙC÷ð
 ñó ðò÷ð r   r   )r,   ÚtempfileÚ__all__Ú_TemporaryFileWrapperr   r   r   r   © r   r   Ú<module>rV      sJ   ðñó â
>€ôˆh×,Ñ,ô ô..�7ô .ô(ˆgô ô�õ r   