Ë
    ê<6h%  ã                   ó–   — d dl mZ d dlZddlmZ ddlmZ ddlmZ ddl	m
Z
mZ d	„ Zej                  ddfd
„Zd„ Zd„ Zd„ Z ed«      Zy)é    )Úabsolute_importNé   )Ú_appengine_environ)ÚLocationParseError)Úsixé   )ÚNoWayToWaitForSocketErrorÚwait_for_readc                 óf   — t        | dd«      }|du ry|€y	 t        |d¬«      S # t        $ r Y yw xY w)a$  
    Returns True if the connection is dropped and should be closed.

    :param conn:
        :class:`http.client.HTTPConnection` object.

    Note: For platforms like AppEngine, this will always return ``False`` to
    let the platform handle connection recycling transparently for us.
    ÚsockFTg        )Útimeout)Úgetattrr
   r	   )Úconnr   s     úh/var/www/panel.atabookie.online/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.pyÚis_connection_droppedr      sH   € ô 4˜ Ó'€DØˆu}ØØ€|Øðä˜T¨3Ô/Ð/øÜ$ò Ùðús   —$ ¤	0¯0c                 óÒ  — | \  }}|j                  d«      r|j                  d«      }d}t        «       }	 |j                  d«       t        j                  |||t        j                  «      D ]z  }|\  }	}
}}}d}	 t        j                  |	|
|«      }t        ||«       |t        j                  ur|j                  |«       |r|j                  |«       |j                  |«       |c S  ||‚t        j                   d«      ‚# t        $ r% t        j                  t        d|z  «      d«      cY S w xY w# t        j                   $ r }|}||j#                  «        d}Y d}~Œõd}~ww xY w)ak  Connect to *address* and return the socket object.

    Convenience function.  Connect to *address* (a 2-tuple ``(host,
    port)``) and return the socket object.  Passing the optional
    *timeout* parameter will set the timeout on the socket instance
    before attempting to connect.  If no *timeout* is supplied, the
    global default timeout setting returned by :func:`socket.getdefaulttimeout`
    is used.  If *source_address* is set it must be a tuple of (host, port)
    for the socket to bind as a source address before making the connection.
    An host of '' or port 0 tells the OS to use the default.
    ú[z[]NÚidnaz'%s', label empty or too longz!getaddrinfo returns an empty list)Ú
startswithÚstripÚallowed_gai_familyÚencodeÚUnicodeErrorr   Ú
raise_fromr   ÚsocketÚgetaddrinfoÚSOCK_STREAMÚ_set_socket_optionsÚ_GLOBAL_DEFAULT_TIMEOUTÚ
settimeoutÚbindÚconnectÚerrorÚclose)Úaddressr   Úsource_addressÚsocket_optionsÚhostÚportÚerrÚfamilyÚresÚafÚsocktypeÚprotoÚ	canonnameÚsar   Úes                   r   Úcreate_connectionr3   %   s^  € ð$ J€Dˆ$Ø‡sÔØz‰z˜$ÓˆØ
€Cô
  Ó!€Fð
Ø‰FÔô ×!Ñ! $¨¨f´f×6HÑ6HÓIò ˆØ-0Ñ*ˆˆHe˜Y¨Øˆð	Ü—=‘=  X¨uÓ5ˆDô    nÔ5àœf×<Ñ<Ñ<Ø—‘ Ô(ÙØ—	‘	˜.Ô)ØL‰L˜ÔØŠKðð, €Øˆ	ä
,‰,Ð:Ó
;Ð;øô= ò 
Ü~‰~ÜÐ?À$ÑFÓGÈó
ò 	
ð
ûô* |‰|ò 	ØˆCØÐØ—
‘
”Øÿøð		ús*   µD Á:A+D3Ä+D0Ä/D0Ä3E&ÅE!Å!E&c                 ó6   — |€y |D ]  } | j                   |Ž  Œ y )N)Ú
setsockopt)r   ÚoptionsÚopts      r   r   r   d   s'   € Ø€Øàò ˆØˆ‰˜Òñó    c                  óR   — t         j                  } t        rt         j                  } | S )z³This function is designed to work in the context of
    getaddrinfo, where family=socket.AF_UNSPEC is the default and
    will perform a DNS search for both IPv6 and IPv4 records.)r   ÚAF_INETÚHAS_IPV6Ú	AF_UNSPEC)r+   s    r   r   r   l   s    € ô
 ^‰^€FÝÜ×!Ñ!ˆØ€Mr8   c                 ó  — d}d}t        j                  «       ryt        j                  r9	 t        j                  t        j                  «      }|j                  | df«       d}|r|j                  «        |S # t        $ r Y Œw xY w)z4Returns True if the system can bind an IPv6 address.NFr   T)r   Úis_appengine_sandboxr   Úhas_ipv6ÚAF_INET6r!   Ú	Exceptionr$   )r(   r   r?   s      r   Ú	_has_ipv6rB   w   sw   € à€DØ€Hô ×.Ñ.Ô0Øä‡‚ð	Ü—=‘=¤§¡Ó1ˆDØI‰It˜QiÔ ØˆHñ Ø
‰
ŒØ€Oøô ò 	Ùð	ús   «8A7 Á7	BÂBz::1)Ú
__future__r   r   Úcontribr   Ú
exceptionsr   Úpackagesr   Úwaitr	   r
   r   r   r3   r   r   rB   r;   © r8   r   ú<module>rI      sN   ðÝ &ã å (Ý +Ý ß :òð8 ×*Ñ*ØØó	<<ò~òòñ< UÓr8   