ó
    Ð]j\  ã                  ó  • S SK Jr  S SKrS SKrSSKJr  SSKJrJr  \	\
\\\R                  \\4   4      r\R                  (       a  SSKJr  SS jr\SS4         SS	 jjr      SS
 jrSS jrSS jr\" S5      rg)é    )ÚannotationsNé   )ÚLocationParseErroré   )Ú_DEFAULT_TIMEOUTÚ_TYPE_TIMEOUT)ÚBaseHTTPConnectionc                ó$   • U R                   (       + $ )z�
Returns True if the connection is dropped and should be closed.
:param conn: :class:`urllib3.connection.HTTPConnection` object.
)Úis_connected)Úconns    ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/urllib3/util/connection.pyÚis_connection_droppedr      s   € ð
 × Ñ Ô Ð ó    c                ó¤  • U u  pEUR                  S5      (       a  UR                  S5      nSn[        5       n UR                  S5        [        R                  " XEU[        R                  5       Hu  nUu  pšp¼nSn [        R                  " XšU5      n[        Xã5        U[        La  UR                  U5        U(       a  UR                  U5        UR                  U5        SnUs  $    Ub   Ue[        S5      e! [         a    [        SU S35      Sef = f! [         a&  nUnUb  UR                  5          SnAMÍ   SnAMÓ  SnAff = f! Snf = f)aG  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ÚidnaÚ'z', label empty or too longz!getaddrinfo returns an empty list)Ú
startswithÚstripÚallowed_gai_familyÚencodeÚUnicodeErrorr   ÚsocketÚgetaddrinfoÚSOCK_STREAMÚ_set_socket_optionsr   Ú
settimeoutÚbindÚconnectÚOSErrorÚclose)ÚaddressÚtimeoutÚsource_addressÚsocket_optionsÚhostÚportÚerrÚfamilyÚresÚafÚsocktypeÚprotoÚ	canonnameÚsaÚsockÚ_s                   r   Úcreate_connectionr2      sS  € ð$ �J€DØ‡��s×ÑØ�z‰z˜$ÓˆØ
€Cô
  Ó!€FðQØ�‰�FÔô ×!Ò! $¨f´f×6HÑ6HÖIˆØ-0Ñ*ˆ�e¨Øˆð	Ü—=’= ¨uÓ5ˆDô   Ô5àÔ.Ò.Ø—‘ Ô(ÞØ—	‘	˜.Ô)Ø�L‰L˜ÔàˆCØŠKñ! Jð. �ð	ØˆIô
 Ð9Ó:Ð:øôC ó QÜ  1 T FÐ*DÐ!EÓFÈDÐPðQûô* ó 	ØˆCØÑØ—
‘
—’õ  ûð	ûð ‰Cús0   ¹C: Á<A(DÃ-E Ã:DÄ
EÄ"EÅEÅEc                ó<   • Uc  g U H  nU R                   " U6   M     g )N)Ú
setsockopt)r0   ÚoptionsÚopts      r   r   r   ]   s"   € ð �ØãˆØ�Š˜Óò r   c                 ó\   • [         R                  n [        (       a  [         R                  n U $ )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   g   s"   € ô
 �^‰^€Fß‚xÜ×!Ñ!ˆØ€Mr   c                óú   • SnSn[         R                  (       a:   [         R                   " [         R                  5      nUR                  U S45        SnU(       a  UR                  5         U$ ! [         a     N%f = f)z4Returns True if the system can bind an IPv6 address.NFr   T)r   Úhas_ipv6ÚAF_INET6r   Ú	Exceptionr!   )r&   r0   r<   s      r   Ú	_has_ipv6r?   r   sf   € à€DØ€Hä‡‡ð	Ü—=’=¤§¡Ó1ˆDØ�I‰I�t˜Q�iÔ ØˆHö Ø�
‰
ŒØ€Oøô ó 	Ùð	ús   ›9A- Á-
A:Á9A:z::1)r   r	   ÚreturnÚbool)
r"   ztuple[str, int]r#   r   r$   ztuple[str, int] | Noner%   ú_TYPE_SOCKET_OPTIONS | Noner@   úsocket.socket)r0   rC   r5   rB   r@   ÚNone)r@   zsocket.AddressFamily)r&   Ústrr@   rA   )Ú
__future__r   r   ÚtypingÚ
exceptionsr   r#   r   r   ÚlistÚtupleÚintÚUnionÚbytesÚ_TYPE_SOCKET_OPTIONSÚTYPE_CHECKINGÚ_base_connectionr	   r   r2   r   r   r?   r9   © r   r   Ú<module>rR      s»   ðÝ "ã Û å +ß 4à˜E # s¨F¯L©L¸¸e¸Ñ,DÐ"DÑEÑFÐ à	××Ý5ô!ð .Ø-1Ø26ð	?;Øð?;àð?;ð +ð?;ð 0ð	?;ð
 õ?;ðDØ
ðØ"=ðà	ôôôñ. �UÓ�r   