Ë
    _§1h–±  ã                  óV  — U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZmZmZmZmZmZ d dlZd dlZd dlmZ ddlmZ er.d d	lmZmZmZ d d
lmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z% ddl&m'Z'm(Z(  e#d«      Z) ed«      Z*eZ+de,d<    G d„ d«      Z- ej\                  d«      Z/de,d<    ej\                  d«      Z0de,d<   	 	 	 	 d6d„Z1	 	 	 	 d7d„Z2ejf                  Z4e4 e5edd «      z  Z4	 	 	 	 d8	 	 	 	 	 	 	 	 	 	 	 	 	 d9d„Z6	 	 	 	 	 	 d:d„Z7d;d„Z8d<d „Z9 eejt                  d!d!¬"«      ejv                  ejx                  d f	 	 	 	 	 	 	 	 	 d=d#„«       Z:ejz                  d$k(  ses% e>ed%«      r eej~                  d!d!¬"«      d>d&„«       Z?ejz                  d$k(  re@ZAde,d'<   e@ZBde,d(<   ejv                  ZCn*dZCd)e,d*<   ee@e	df   ZAde,d'<   eej                  e@f   ZBde,d(<    eejˆ                  d!d!¬"«      eCe
jx                  d f	 	 	 	 	 	 	 d?d+„«       ZD eej                  d!d!¬"«      ejv                  ejx                  d df	 	 	 	 	 	 	 	 	 d@d,„«       Z	 	 	 	 	 	 	 	 	 	 dAd-„ZE e5ed.d «       e5ed/d «      z   ZF	 dB	 	 	 	 	 	 	 dCd0„ZG	 	 	 	 	 	 	 	 	 	 	 	 	 	 dDd1„ZH G d2„ d«      ZIeIj”                  j—                  «       D ]m  \  ZLZMeLj�                  d3«      seMjž                  rŒ$ej                  ej’                  fD ]  ZP e5ePeLd«      ZQeQsŒeQjž                  sŒ n Œ]eQjž                  eM_O        Œo  G d4„ d5eI«      ZRy)Eé    )ÚannotationsN)Úindex)ÚAddressFamilyÚ
SocketKind)ÚTYPE_CHECKINGÚAnyÚSupportsIndexÚTypeVarÚUnionÚoverload)Úwrapsé   )Ú_core)Ú	AwaitableÚCallableÚIterable)ÚTracebackType)ÚBufferÚConcatenateÚ	ParamSpecÚSelfÚ	TypeAlias)ÚHostnameResolverÚSocketFactoryÚPÚTr   ÚAddressFormatc                  óF   — e Zd Z	 d	 	 	 dd„Zdd„Zd	d„Z	 	 	 	 	 	 	 	 d
d„Zy)Ú	_try_syncNc                ó   — || _         y ©N)Ú_blocking_exc_override)ÚselfÚblocking_exc_overrides     úJ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_socket.pyÚ__init__z_try_sync.__init__=   s   € ð '<ˆÕ#ó    c                ó\   — | j                   €t        |t        «      S | j                  |«      S r!   )r"   Ú
isinstanceÚBlockingIOError)r#   Úexcs     r%   Ú_is_blocking_io_errorz_try_sync._is_blocking_io_errorC   s,   € Ø×&Ñ&Ð.Ü˜c¤?Ó3Ð3à×.Ñ.¨sÓ3Ð3r'   c              ƒ  ó\   K  — t         j                  j                  «       ƒ d {  –—†  y 7 Œ­wr!   )ÚtrioÚlowlevelÚcheckpoint_if_cancelled©r#   s    r%   Ú
__aenter__z_try_sync.__aenter__I   s   è ø€ Ü�m‰m×3Ñ3Ó5×5Ò5ús   ‚",¤*¥,c              ƒ  ó„   K  — |�| j                  |«      ryt        j                  j                  «       ƒ d {  –—†  y7 Œ­w)NTF)r,   r.   r/   Úcancel_shielded_checkpoint©r#   Úexc_typeÚ	exc_valueÚ	tracebacks       r%   Ú	__aexit__z_try_sync.__aexit__L   s>   è ø€ ð Ð  T×%?Ñ%?À	Ô%Jð ä—-‘-×:Ñ:Ó<×<Ð<àð =ús   ‚6A ¸>¹A r!   )r$   z&Callable[[BaseException], bool] | NoneÚreturnÚNone©r+   ÚBaseExceptionr:   Úbool©r:   r;   )r6   útype[BaseException] | Noner7   úBaseException | Noner8   úTracebackType | Noner:   r>   )Ú__name__Ú
__module__Ú__qualname__r&   r,   r2   r9   © r'   r%   r   r   <   sU   „ ð IMð<àEð<ð 
ó<ó4ó6ðà,ðð (ðð (ð	ð
 
ôr'   r   Úhostname_resolverz%_core.RunVar[HostnameResolver | None]Ú	_resolverÚsocket_factoryz"_core.RunVar[SocketFactory | None]Ú_socket_factoryc                óZ   — t         j                  d«      }t         j                  | «       |S )a\  Set a custom hostname resolver.

    By default, Trio's :func:`getaddrinfo` and :func:`getnameinfo` functions
    use the standard system resolver functions. This function allows you to
    customize that behavior. The main intended use case is for testing, but it
    might also be useful for using third-party resolvers like `c-ares
    <https://c-ares.haxx.se/>`__ (though be warned that these rarely make
    perfect drop-in replacements for the system resolver). See
    :class:`trio.abc.HostnameResolver` for more details.

    Setting a custom hostname resolver affects all future calls to
    :func:`getaddrinfo` and :func:`getnameinfo` within the enclosing call to
    :func:`trio.run`. All other hostname resolution in Trio is implemented in
    terms of these functions.

    Generally you should call this function just once, right at the beginning
    of your program.

    Args:
      hostname_resolver (trio.abc.HostnameResolver or None): The new custom
          hostname resolver, or None to restore the default behavior.

    Returns:
      The previous hostname resolver (which may be None).

    N)rH   ÚgetÚset)rG   Úolds     r%   Úset_custom_hostname_resolverrO   d   s$   € ô: �-‰-˜Ó
€CÜ‡M�MÐ#Ô$Ø€Jr'   c                óZ   — t         j                  d«      }t         j                  | «       |S )aÛ  Set a custom socket object factory.

    This function allows you to replace Trio's normal socket class with a
    custom class. This is very useful for testing, and probably a bad idea in
    any other circumstance. See :class:`trio.abc.HostnameResolver` for more
    details.

    Setting a custom socket factory affects all future calls to :func:`socket`
    within the enclosing call to :func:`trio.run`.

    Generally you should call this function just once, right at the beginning
    of your program.

    Args:
      socket_factory (trio.abc.SocketFactory or None): The new custom
          socket factory, or None to restore the default behavior.

    Returns:
      The previous socket factory (which may be None).

    N)rJ   rL   rM   )rI   rN   s     r%   Úset_custom_socket_factoryrQ   †   s'   € ô0 ×
Ñ
˜dÓ
#€CÜ×Ñ˜Ô'Ø€Jr'   ÚAI_NUMERICSERVc           
   ƒ  óJ  K  — dd„}t        |«      4 ƒd{  –—†  t        j                  | |||||t        z  «      cddd«      ƒd{  –—†  S 7 Œ67 Œ# 1 ƒd{  –—†7  sw Y   nxY wt	        | t
        «      r9	 | j                  d«      } n&# t        $ r t        j                  | d¬«      } Y nw xY wt        j                  d«      }|�|j                  | |||||«      ƒ d{  –—†7  S t        j                  j                  t        j                  | |||||d¬«      ƒ d{  –—†7  S ­w)aT  Look up a numeric address given a name.

    Arguments and return values are identical to :func:`socket.getaddrinfo`,
    except that this version is async.

    Also, :func:`trio.socket.getaddrinfo` correctly uses IDNA 2008 to process
    non-ASCII domain names. (:func:`socket.getaddrinfo` uses IDNA 2003, which
    can give the wrong result in some cases and cause you to connect to a
    different host than the one you intended; see `bpo-17305
    <https://bugs.python.org/issue17305>`__.)

    This function's behavior can be customized using
    :func:`set_custom_hostname_resolver`.

    c                ót   — t        | t        j                  «      xr | j                  t        j                  k(  S r!   )r)   Ú_stdlib_socketÚgaierrorÚerrnoÚ
EAI_NONAME)r+   s    r%   Únumeric_only_failurez)getaddrinfo.<locals>.numeric_only_failureÒ   s.   € ä�sœN×3Ñ3Ó4ò 7Ø—	‘	œ^×6Ñ6Ñ6ð	
r'   NÚasciiT)Úuts46©Úabandon_on_cancelr<   )r   rU   ÚgetaddrinfoÚ_NUMERIC_ONLYr)   ÚstrÚencodeÚUnicodeEncodeErrorÚ_idnarH   rL   r.   Ú	to_threadÚrun_sync)ÚhostÚportÚfamilyÚtypeÚprotoÚflagsrY   Úhrs           r%   r^   r^   ®   s$  è ø€ óH
ô Ð-Ó.÷ 
ñ 
Ü×)Ñ)ØØØØØØ”MÑ!ó
÷
÷ 
ò 
øð 
ø÷ 
÷ 
ñ 
úô" �$œÔð	2Ø—;‘;˜wÓ'‰DøÜ!ò 	2ô —<‘< ¨DÔ1ŠDð		2úô
 
�‰�tÓ	€BØ	€~Ø—^‘^ D¨$°¸¸eÀUÓK×KÐKÐKä—^‘^×,Ñ,Ü×&Ñ&ØØØØØØØ"ð -ó 	
÷ 	
ð 	
ð 		
ùs   ‚D#–A—D#š!A»D#ÁAÁD#ÁD#ÁA#ÁAÁA#ÁD#Á7B	 ÂD#Â	 B,Â)D#Â+B,Â,3D#ÃC"Ã =D#ÄD ÄD#c              ƒ  óæ   K  — t         j                  d«      }|�|j                  | |«      ƒ d{  –—† S t        j                  j                  t        j                  | |d¬«      ƒ d{  –—† S 7 Œ=7 Œ­w)a  Look up a name given a numeric address.

    Arguments and return values are identical to :func:`socket.getnameinfo`,
    except that this version is async.

    This function's behavior can be customized using
    :func:`set_custom_hostname_resolver`.

    NTr\   )rH   rL   Úgetnameinfor.   rd   re   rU   )Úsockaddrrk   rl   s      r%   rn   rn     sm   è ø€ ô 
�‰�tÓ	€BØ	€~Ø—^‘^ H¨eÓ4×4Ð4ä—^‘^×,Ñ,Ü×&Ñ&ØØØ"ð	 -ó 
÷ 
ð 	
ð 5øð
ús!   ‚-A1¯A-°8A1Á(A/Á)A1Á/A1c              ƒ  ó~   K  — t         j                  j                  t        j                  | d¬«      ƒ d{  –—† S 7 Œ­w)zkLook up a protocol number by name. (Rarely used.)

    Like :func:`socket.getprotobyname`, but async.

    Tr\   N)r.   rd   re   rU   Úgetprotobyname)Únames    r%   rq   rq     s=   è ø€ ô —‘×(Ñ(Ü×%Ñ%ØØð )ó ÷ ð ð ús   ‚4=¶;·=Ú
SocketTypec                ó   — t        | «      S )z]Convert a standard library :class:`socket.socket` object into a Trio
    socket object.

    )Ú_SocketType)Úsocks    r%   Úfrom_stdlib_socketrw   /  s   € ô
 �tÓÐr'   rF   ©ÚassignedÚupdatedc                óz   — t        |||t        | «      «      \  }}}t        t        j                  | |||«      «      S )z=Like :func:`socket.fromfd`, but returns a Trio socket object.)Ú_sniff_sockopts_for_filenor   rw   rU   Úfromfd)Úfdrh   ri   rj   Útype_s        r%   r}   r}   7  s<   € ô 6°f¸dÀEÌ5ÐQSË9ÓUÑ€FˆE�5Üœn×3Ñ3°B¸ÀÀuÓMÓNÐNr'   Úwin32Ú	fromsharec                ó>   — t        t        j                  | «      «      S )z@Like :func:`socket.fromshare`, but returns a Trio socket object.)rw   rU   r�   )Úinfos    r%   r�   r�   G  s   € ô "¤.×":Ñ":¸4Ó"@ÓAÐAr'   ÚFamilyTÚTypeTr;   ÚFamilyDefaultc                ób   — t        j                  | ||«      \  }}t        |«      t        |«      fS )zTLike :func:`socket.socketpair`, but returns a pair of Trio socket
    objects.

    )rU   Ú
socketpairrw   )rh   ri   rj   ÚleftÚrights        r%   rˆ   rˆ   W  s2   € ô !×+Ñ+¨F°D¸%Ó@�K€Dˆ%Ü˜tÓ$Ô&8¸Ó&?Ð@Ð@r'   c                óÄ   — |€*t         j                  d«      }|�%|j                  | ||«      S t        | |||«      \  } }}t	        j                  | |||«      }t        |«      S )z™Create a new Trio socket, like :class:`socket.socket`.

    This function's behavior can be customized using
    :func:`set_custom_socket_factory`.

    N)rJ   rL   Úsocketr|   rU   rw   )rh   ri   rj   ÚfilenoÚsfÚstdlib_sockets         r%   rŒ   rŒ   e  sq   € ð €~Ü× Ñ  Ó&ˆØˆ>Ø—9‘9˜V T¨5Ó1Ð1ä8ØØØØó	
Ñˆ��eô #×)Ñ)¨&°$¸¸vÓF€MÜ˜mÓ,Ð,r'   c                ó>  — t         j                  dk7  r| ||fS ddlm}m}m}m} t        j                  | |||¬«      }	 |j                  ||«      } |j                  ||«      }|j                  ||«      }|j                  «        | ||fS # |j                  «        w xY w)zCCorrect SOCKOPTS for given fileno, falling back to provided values.Úlinuxr   )Ú	SO_DOMAINÚSO_PROTOCOLÚSO_TYPEÚ
SOL_SOCKET)r�   )
ÚsysÚplatformrŒ   r’   r“   r”   r•   rU   Ú
getsockoptÚdetach)	rh   r   rj   r�   r’   r“   r”   r•   Úsockobjs	            r%   r|   r|   �  s¡   € ô ‡|�|�wÒØ�u˜eÐ#Ð#÷ó ô ×#Ñ# F¨E°5ÀÔH€GðØ×#Ñ# J°	Ó:ˆØ×"Ñ" :¨{Ó;ˆØ×"Ñ" :¨wÓ7ˆð 	�‰ÔØ�5˜%ÐÐøð 	�‰Õús   ¿6B
 Â
BÚSOCK_NONBLOCKÚSOCK_CLOEXECc                ó®   ‡ ‡— t        ‰ dd¬«      d	ˆ ˆfd„«       }d‰ j                  › d�|_        |r#|xj                  d‰ j                  › d�z  c_        |S )
N)rC   rF   rx   c              Ÿ  óN   •K  —  | j                   ‰‰g|¢­i |¤Žƒ d {  –—† S 7 Œ­wr!   )Ú_nonblocking_helper)r#   ÚargsÚkwargsÚfnÚwait_fns      €€r%   Úwrapperz1_make_simple_sock_method_wrapper.<locals>.wrapperµ  s,   øè ø€ à-�T×-Ñ-¨g°rÐK¸DÒKÀFÑK×KÐKÐKús   ƒ%ž#Ÿ%zLike :meth:`socket.socket.z`, but async.

            z7Only available on platforms where :meth:`socket.socket.z` is available.)r#   ru   r    úP.argsr¡   úP.kwargsr:   r   )Ú_wrapsrC   Ú__doc__)r¢   r£   Úmaybe_availr¤   s   ``  r%   Ú _make_simple_sock_method_wrapperrª   °  sn   ù€ ô
 ˆB˜°Ô3õLó 4ðLð 5°R·[±[°Mð Bð €G„Oñ Ø�ŠØEÀbÇkÁkÀ]ð Sð ñ	
�ð €Nr'   c             ƒ  ó4  K  — |t         j                  k(  r)t        |t        «      rt	        |«      dk(  sºt        d«      ‚|t         j                  k(  r;t        |t        «      r dt	        |«      cxk  rdk  sxt        d«      ‚ t        d«      ‚t        t         d«      rO|t         j                  k(  r<t        |t        t        t        j                  f«      sJ ‚t        j                  |«      S |S |^}}}t        |t        «      r|�	 t        j                  ||«       |S |dk(  rd }|dk(  rd}d	}	|r|	t         j$                  z  }	|t         j                  k(  r|s|	t         j&                  z  }	t)        |||| ||	«      ƒ d {  –—† }
t	        |
«      d
k\  sJ ‚|
^�^ }}}|t         j                  k(  rRt+        |«      }t	        |«      dk(  sJ ‚t	        |«      dk\  r|d   |d<   t	        |«      dk\  r|d   |d<   t        |«      S |S # t         t"        f$ r Y Œôw xY w7 Œ—­w)Né   z&address should be a (host, port) tupleé   z=address should be a (host, port, [flowinfo, [scopeid]]) tupleÚAF_UNIXÚ z<broadcast>z255.255.255.255r   r   é   )rU   ÚAF_INETr)   ÚtupleÚlenÚ
ValueErrorÚAF_INET6Úhasattrr®   r`   ÚbytesÚosÚPathLikeÚfspathÚintÚ	inet_ptonÚOSErrorÚ	TypeErrorÚ
AI_PASSIVEÚAI_V4MAPPEDr^   Úlist)r   rh   rj   Úipv6_v6onlyÚaddressÚlocalrf   rg   Ú_rk   Úgai_resÚnormedÚlist_normeds                r%   Ú_resolve_address_nocprÉ   ×  s   è ø€ ð ”×'Ñ'Ò'Ü˜'¤5Ô)´°W³ÀÒ1BÜÐEÓFÐFØ	”>×*Ñ*Ò	*Ü˜'¤5Ô)°´c¸'³lÔ1GÀaÒ1GÜØOóð ð 2HÜØOóð ô 
” Ô	+°¼.×:PÑ:PÒ0Pä˜'¤C¬´·±Ð#<Ô=Ð=Ð=Ü�y‰y˜Ó!Ð!àˆð €N€Dˆ$�ô �$œÔ Ð!1ð	Ü×$Ñ$ V¨TÔ2ð ˆNàˆr‚zØˆØˆ}ÒØ ˆØ€EÙØ”×*Ñ*Ñ*ˆð ”×(Ñ(Ò(±Ø”×+Ñ+Ñ+ˆÜ  d¨F°E¸5À%ÓH×H€Gô ˆw‹<˜1ÒÐÐàÐ�L€aˆ�1ð ”×(Ñ(Ò(Ü˜6“lˆÜ�6‹{˜aÒÐÐÜˆw‹<˜1ÒØ$ Q™ZˆK˜‰NÜˆw‹<˜1ÒØ$ Q™ZˆK˜‰NÜ�[Ó!Ð!Ø€MøôK œÐ#ò 	Ùð	úð* Iús8   ‚DHÄH ÄA"HÅ>HÅ?BHÈHÈHÈHÈHc                  óB  ‡ — e Zd Zd2ˆ fd„Zd3d„Zd3d„Zd4d„Zd4d„Zed5d„«       Z	ed6d„«       Z		 d7	 	 	 	 	 	 	 d8d„Z	ed9d	„«       Z
e	 	 	 	 	 	 	 	 	 	 d:d
„«       Z
	 d7	 	 	 	 	 	 	 	 	 d;d„Z
 eej                  d«      fd<d„Zd=d„Zd>d„Zej$                  dk(  ses eej*                  d«      rd?d„Zd@d„Z	 	 	 	 	 	 	 	 dAd„ZedBd„«       ZedCd„«       Zed3d„«       Zed=d„«       ZdDd„ZdEd„Zd2d„Z dFd„Z!dGd„Z"d=d„Z#d2d„Z$dHd „Z%dFd!„Z&dIdJd"„Z'	 	 dK	 	 	 	 	 	 	 dLd#„Z(	 dI	 	 	 	 	 dMd$„Z)	 	 dK	 	 	 	 	 	 	 dNd%„Z*ej$                  dk7  ses! eej*                  d&«      r	 	 dK	 	 	 	 	 	 	 dOd'„Z+ej$                  dk7  ses! eej*                  d(«      r	 	 dK	 	 	 	 	 	 	 dPd)„Z,dIdQd*„Z-e	 	 	 	 	 	 dRd+„«       Z.e	 	 	 	 	 	 	 	 dSd,„«       Z.dTd-„Z.ej$                  dk7  sesN eej*                  d.«      r7 e/ej*                  j`                  d/d/¬0«      	 	 	 dU	 	 	 	 	 	 	 	 	 dVd1„«       Z0ˆ xZ1S ˆ xZ1S ˆ xZ1S )Wrs   c                óZ   •— t         ‰| �  «        t        | «      t        u rt	        d«      ‚y )Nz`SocketType is an abstract class; use trio.socket.socket if you want to construct a socket object)Úsuperr&   ri   rs   r¾   )r#   Ú	__class__s    €r%   r&   zSocketType.__init__"  s1   ø€ ä‰ÑÔä�‹:œÑ#Üð4óð ð $r'   c                ó   — t         ‚r!   ©ÚNotImplementedErrorr1   s    r%   r™   zSocketType.detach,  ó   € Ü!Ð!r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   r�   zSocketType.fileno/  rÑ   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   ÚgetpeernamezSocketType.getpeername2  rÑ   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   ÚgetsocknamezSocketType.getsockname5  rÑ   r'   c                 ó   — y r!   rF   ©r#   ÚlevelÚoptnames      r%   r˜   zSocketType.getsockopt8  ó   € Ø;>r'   c                 ó   — y r!   rF   ©r#   rÙ   rÚ   Úbuflens       r%   r˜   zSocketType.getsockopt;  ó   € ØJMr'   c                ó   — t         ‚r!   rÏ   rÝ   s       r%   r˜   zSocketType.getsockopt>  ó
   € ô "Ð!r'   c                 ó   — y r!   rF   ©r#   rÙ   rÚ   Úvalues       r%   Ú
setsockoptzSocketType.setsockoptF  ó   € ØQTr'   c                 ó   — y r!   rF   ©r#   rÙ   rÚ   rä   Úoptlens        r%   rå   zSocketType.setsockoptI  ó   € ð r'   c                ó   — t         ‚r!   rÏ   rè   s        r%   rå   zSocketType.setsockoptR  s
   € ô "Ð!r'   é€   c                ó   — t         ‚r!   rÏ   ©r#   Úbacklogs     r%   ÚlistenzSocketType.listen[  rÑ   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   Úget_inheritablezSocketType.get_inheritable^  rÑ   r'   c                ó   — t         ‚r!   rÏ   ©r#   Úinheritables     r%   Úset_inheritablezSocketType.set_inheritablea  rÑ   r'   r€   Úsharec                ó   — t         ‚r!   rÏ   ©r#   Ú
process_ids     r%   r÷   zSocketType.shareh  s   € Ü%Ð%r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   Ú	__enter__zSocketType.__enter__k  rÑ   r'   c                ó   — t         ‚r!   rÏ   r5   s       r%   Ú__exit__zSocketType.__exit__n  rá   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   rh   zSocketType.familyv  ó   € ä!Ð!r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   ri   zSocketType.typez  r   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   rj   zSocketType.proto~  r   r'   c                ó   — t         ‚)zBReturn True if the socket has been shut down with the SHUT_WR flagrÏ   r1   s    r%   Údid_shutdown_SHUT_WRzSocketType.did_shutdown_SHUT_WR‚  s
   € ô "Ð!r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   Ú__repr__zSocketType.__repr__‡  rÑ   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   ÚdupzSocketType.dupŠ  rÑ   r'   c                ó   — t         ‚r!   rÏ   r1   s    r%   ÚclosezSocketType.close�  rÑ   r'   c              ƒ  ó   K  — t         ‚­wr!   rÏ   ©r#   rÃ   s     r%   ÚbindzSocketType.bind�  ó   è ø€ Ü!Ð!ùó   ‚	c                ó   — t         ‚r!   rÏ   ©r#   Úflags     r%   ÚshutdownzSocketType.shutdown“  rÑ   r'   c                ó   — t         ‚)zpReturn True if the socket is readable. This is checked with `select.select` on Windows, otherwise `select.poll`.rÏ   r1   s    r%   Úis_readablezSocketType.is_readable–  r   r'   c              ƒ  ó   K  — t         ‚­w)zIConvenience method that calls trio.lowlevel.wait_writable for the object.rÏ   r1   s    r%   Úwait_writablezSocketType.wait_writableš  s   è ø€ ä!Ð!ùr  c              ƒ  ó   K  — t         ‚­wr!   rÏ   r1   s    r%   ÚacceptzSocketType.acceptž  r  r  c              ƒ  ó   K  — t         ‚­wr!   rÏ   r  s     r%   ÚconnectzSocketType.connect¡  r  r  c               ó   — t         ‚r!   rÏ   ©r#   rÞ   rk   s      r%   ÚrecvzSocketType.recv¤  rÑ   r'   c                ó   — t         ‚r!   rÏ   ©r#   ÚbufferÚnbytesrk   s       r%   Ú	recv_intozSocketType.recv_into§  rá   r'   c               ó   — t         ‚r!   rÏ   ©r#   Úbufsizerk   s      r%   ÚrecvfromzSocketType.recvfrom°  rá   r'   c                ó   — t         ‚r!   rÏ   r   s       r%   Úrecvfrom_intozSocketType.recvfrom_into¹  rá   r'   Úrecvmsgc               ó   — t         ‚r!   rÏ   ©r#   r&  Ú
ancbufsizerk   s       r%   r*  zSocketType.recvmsgÅ  ó
   € ô &Ð%r'   Úrecvmsg_intoc               ó   — t         ‚r!   rÏ   ©r#   Úbuffersr-  rk   s       r%   r/  zSocketType.recvmsg_intoÒ  r.  r'   c               ó   — t         ‚r!   rÏ   ©r#   r·   rk   s      r%   ÚsendzSocketType.sendÛ  rÑ   r'   c             ƒ  ó   K  — y ­wr!   rF   ©r#   ÚdatarÃ   s      r%   ÚsendtozSocketType.sendtoÞ  ó   è ø€ ð ùó   ‚c             ƒ  ó   K  — y ­wr!   rF   ©r#   r8  rk   rÃ   s       r%   r9  zSocketType.sendtoæ  ó   è ø€ ð ùr;  c              ‡  ó   K  — t         ‚­wr!   rÏ   )r#   r    s     r%   r9  zSocketType.sendtoï  r  r  ÚsendmsgrF   rx   c             ƒ  ó   K  — t         ‚­wr!   rÏ   ©r#   r2  Úancdatark   rÃ   s        r%   r@  zSocketType.sendmsgö  s   è ø€ ô &Ð%ùr  r?   ©r:   r»   ©r:   r   ©rÙ   r»   rÚ   r»   r:   r»   ©rÙ   r»   rÚ   r»   rÞ   r»   r:   r·   r!   ©rÙ   r»   rÚ   r»   rÞ   ú
int | Noner:   zint | bytes©rÙ   r»   rÚ   r»   rä   zint | Bufferr:   r;   ©
rÙ   r»   rÚ   r»   rä   r;   ré   r»   r:   r;   ©
rÙ   r»   rÚ   r»   rä   zint | Buffer | Noneré   rI  r:   r;   ©rï   r»   r:   r;   ©r:   r>   ©rõ   r>   r:   r;   ©rú   r»   r:   r·   ©r:   r   ©r6   r@   r7   rA   r8   rB   r:   r;   ©r:   r   ©r:   r   ©r:   r`   ©r:   rs   ©rÃ   r   r:   r;   ©r  r»   r:   r;   ©r:   z tuple[SocketType, AddressFormat]©r   ©rÞ   r»   rk   r»   r:   zAwaitable[bytes]©r   r   ©r!  r   r"  r»   rk   r»   r:   úAwaitable[int]©r&  r»   rk   r»   r:   z&Awaitable[tuple[bytes, AddressFormat]]©r!  r   r"  r»   rk   r»   r:   z$Awaitable[tuple[int, AddressFormat]]©r&  r»   r-  r»   rk   r»   r:   zBAwaitable[tuple[bytes, list[tuple[int, int, bytes]], int, object]]©r2  úIterable[Buffer]r-  r»   rk   r»   r:   z@Awaitable[tuple[int, list[tuple[int, int, bytes]], int, object]]©r·   r   rk   r»   r:   r^  ©r8  r   rÃ   ú!tuple[object, ...] | str | Bufferr:   r»   ©r8  r   rk   r»   rÃ   rf  r:   r»   ©r    Úobjectr:   r»   ©rF   r   N©
r2  rc  rC  z!Iterable[tuple[int, int, Buffer]]rk   r»   rÃ   zAddressFormat | Noner:   r»   )2rC   rD   rE   r&   r™   r�   rÔ   rÖ   r   r˜   rå   ÚminrU   Ú	SOMAXCONNrð   rò   rö   r–   r—   r   r¶   rŒ   r÷   rü   rþ   Úpropertyrh   ri   rj   r  r  r  r
  r  r  r  r  r  r  r  r#  r'  r)  r*  r/  r5  r9  r§   r@  Ú__classcell__)rÍ   s   @r%   rs   rs   !  s#  ø„ õó"ó"ó"ó"ð Ú>ó Ø>àÚMó ØMð "ð	"àð"ð ð"ð ð	"ð
 
ó"ð ÚTó ØTàðàðð ðð ð	ð
 ðð 
òó ðð "ð"àð"ð ð"ð #ð	"ð
 ð"ð 
ó"ñ %(¨×(@Ñ(@À#Ó$Fô "ó"ó"ð ‡|�|�wÒÙ™g n×&;Ñ&;¸WÔEó	&ó"ð"à,ð"ð (ð"ð (ð	"ð
 
ó"ð ò"ó ð"ð ò"ó ð"ð ò"ó ð"ð ò"ó ð"ó"ó"ó"ó"ó"ó"ó"ó"ó"ô"ð Øð	"àð"ð ð"ð ð	"ð
 
ó"ð ð"àð"ð ð"ð
 
0ó"ð Øð	"àð"ð ð"ð ð	"ð
 
.ó"ð ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGð  Øð		&àð	&ð ð	&ð ð		&ð Pó	&ð ‡|�|�wÒÙ™g n×&;Ñ&;¸^ÔLð  Øð		&à%ð	&ð ð	&ð ð		&ð Nó	&ô"ð ðàðð 3ðð
 
òó ðð ðàðð ðð 3ð	ð 
òó ðó"ð ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGñ 
�×%Ñ%×-Ñ-¸ÀBÔ	Gð :<ØØ,0ð	&à%ð	&ð 7ð	&ð ð		&ð
 *ð	&ð ò	&ó 
Hô	&ó	 H‹Mr'   Ú__c                  ó2  — e Zd Zd7d„Zd8d„Zd8d„Zd9d„Zd9d„Zed:d„«       Z	ed;d„«       Z		 d<	 	 	 	 	 	 	 d=d	„Z	ed>d
„«       Z
e	 	 	 	 	 	 	 	 	 	 d?d„«       Z
	 d<	 	 	 	 	 	 	 	 	 d@d„Z
 eej                  d«      fdAd„ZdBd„ZdCd„Zej$                  dk(  ses eej*                  d«      rdDd„ZdEd„Z	 	 	 	 	 	 	 	 dFd„ZedGd„«       ZedHd„«       Zed8d„«       ZedBd„«       ZdId„ZdJd„ZdKd„Z dLd„Z!dMd„Z"dBd„Z#dKd „Z$	 	 	 	 	 	 dNd!„Z%	 	 	 	 	 	 	 	 	 	 dOd"„Z& e'ej*                  jP                  e)jT                  «      Z+dPd#„Z(dLd$„Z,erdQdRd%„Z- e'ej*                  jZ                  e)jT                  «      Z-er	 	 dS	 	 	 	 	 	 	 dTd&„Z. e'ej*                  j\                  e)jT                  «      Z.er	 dQ	 	 	 	 	 dUd'„Z/ e'ej*                  j^                  e)jT                  «      Z/er	 	 dS	 	 	 	 	 	 	 dVd(„Z0 e'ej*                  j`                  e)jT                  «      Z0ej$                  dk7  sesL eej*                  d)«      r9er	 	 dS	 	 	 	 	 	 	 dWd*„Z1 e'ej*                  jb                  e)jT                  d+¬,«      Z1ej$                  dk7  sesL eej*                  d-«      r9er	 	 dS	 	 	 	 	 	 	 dXd.„Z2 e'ej*                  jd                  e)jT                  d+¬,«      Z2erdQdYd/„Z3 e'ej*                  jf                  e)jH                  «      Z3e	 	 	 	 	 	 dZd0„«       Z4e	 	 	 	 	 	 	 	 d[d1„«       Z4 e5ej*                  jh                  d2d2¬3«      d\d4„«       Z4ej$                  dk7  sesH eej*                  d5«      r4 e5ej*                  jl                  d2d2¬3«      	 	 	 d]	 	 	 	 	 	 	 	 	 d^d6„«       Z6yyy)_ru   c                óÐ   — t        |«      t        j                  ur"t        dt        |«      j                  › d�«      ‚|| _        | j
                  j                  d«       d| _        y )Nz.expected object of type 'socket.socket', not 'ú'F)ri   rU   rŒ   r¾   rC   Ú_sockÚsetblockingÚ_did_shutdown_SHUT_WR)r#   rv   s     r%   r&   z_SocketType.__init__  s^   € Ü�‹:œ^×2Ñ2Ñ2ô Ø@ÄÀdÃ×ATÑATÐ@UÐUVÐWóð ð ˆŒ
Ø�
‰
×Ñ˜uÔ%Ø%*ˆÕ"r'   c                ó6   — | j                   j                  «       S r!   )rt  r™   r1   s    r%   r™   z_SocketType.detach"  ó   € Ø�z‰z× Ñ Ó"Ð"r'   c                ó6   — | j                   j                  «       S r!   )rt  r�   r1   s    r%   r�   z_SocketType.fileno%  rx  r'   c                ó6   — | j                   j                  «       S r!   )rt  rÔ   r1   s    r%   rÔ   z_SocketType.getpeername(  ó   € Ø�z‰z×%Ñ%Ó'Ð'r'   c                ó6   — | j                   j                  «       S r!   )rt  rÖ   r1   s    r%   rÖ   z_SocketType.getsockname+  r{  r'   c                 ó   — y r!   rF   rØ   s      r%   r˜   z_SocketType.getsockopt.  rÛ   r'   c                 ó   — y r!   rF   rÝ   s       r%   r˜   z_SocketType.getsockopt1  rß   r'   Nc                óx   — |€| j                   j                  ||«      S | j                   j                  |||«      S r!   )rt  r˜   rÝ   s       r%   r˜   z_SocketType.getsockopt4  s9   € ð ˆ>Ø—:‘:×(Ñ(¨°Ó8Ð8Ø�z‰z×$Ñ$ U¨G°VÓ<Ð<r'   c                 ó   — y r!   rF   rã   s       r%   rå   z_SocketType.setsockopt>  ræ   r'   c                 ó   — y r!   rF   rè   s        r%   rå   z_SocketType.setsockoptA  rê   r'   c                ó¸   — |€*|€t        d«      ‚| j                  j                  |||«      S |�t        d|›d�«      ‚| j                  j                  ||||«      S )NzKinvalid value for argument 'value', must not be None when specifying optlenz$invalid value for argument 'value': z%, must be None when specifying optlen)r¾   rt  rå   rè   s        r%   rå   z_SocketType.setsockoptJ  sv   € ð ˆ>Øˆ}ÜØaóð ð —:‘:×(Ñ(¨°¸Ó?Ð?ØÐÜØ6°u°iÐ?dÐeóð ð �z‰z×$Ñ$ U¨G°U¸FÓCÐCr'   rì   c                ó8   — | j                   j                  |«      S r!   )rt  rð   rî   s     r%   rð   z_SocketType.listen`  s   € Ø�z‰z× Ñ  Ó)Ð)r'   c                ó6   — | j                   j                  «       S r!   )rt  rò   r1   s    r%   rò   z_SocketType.get_inheritablec  s   € Ø�z‰z×)Ñ)Ó+Ð+r'   c                ó8   — | j                   j                  |«      S r!   )rt  rö   rô   s     r%   rö   z_SocketType.set_inheritablef  s   € Ø�z‰z×)Ñ)¨+Ó6Ð6r'   r€   r÷   c                ó8   — | j                   j                  |«      S r!   )rt  r÷   rù   s     r%   r÷   z_SocketType.sharem  s   € Ø—:‘:×#Ñ# JÓ/Ð/r'   c                ó   — | S r!   rF   r1   s    r%   rü   z_SocketType.__enter__p  s   € Øˆr'   c                ó<   — | j                   j                  |||«      S r!   )rt  rþ   r5   s       r%   rþ   z_SocketType.__exit__s  s   € ð �z‰z×"Ñ" 8¨Y¸	ÓBÐBr'   c                ó.   — | j                   j                  S r!   )rt  rh   r1   s    r%   rh   z_SocketType.family{  s   € à�z‰z× Ñ Ð r'   c                ó.   — | j                   j                  S r!   )rt  ri   r1   s    r%   ri   z_SocketType.type  s   € à�z‰z�‰Ðr'   c                ó.   — | j                   j                  S r!   )rt  rj   r1   s    r%   rj   z_SocketType.protoƒ  s   € à�z‰z×ÑÐr'   c                ó   — | j                   S r!   )rv  r1   s    r%   r  z _SocketType.did_shutdown_SHUT_WR‡  s   € à×)Ñ)Ð)r'   c                óL   — t        | j                  «      j                  dd«      S )Nzsocket.socketztrio.socket.socket)Úreprrt  Úreplacer1   s    r%   r  z_SocketType.__repr__‹  s   € Ü�D—J‘JÓ×'Ñ'¨Ð9MÓNÐNr'   c                óH   — t        | j                  j                  «       «      S )z"Same as :meth:`socket.socket.dup`.)ru   rt  r  r1   s    r%   r  z_SocketType.dupŽ  s   € ä˜4Ÿ:™:Ÿ>™>Ó+Ó,Ð,r'   c                óÆ   — | j                   j                  «       dk7  rDt        j                  j	                  | j                   «       | j                   j                  «        y y )Néÿÿÿÿ)rt  r�   r.   r/   Únotify_closingr
  r1   s    r%   r
  z_SocketType.close’  sB   € Ø�:‰:×ÑÓ "Ò$Ü�M‰M×(Ñ(¨¯©Ô4Ø�J‰J×ÑÕð %r'   c              ƒ  óª  K  — | j                  |d¬«      ƒ d {  –—† }t        t        d«      r^| j                  t        j                  k(  rA|d   r<t
        j                  j                  | j                  j                  |«      ƒ d {  –—† S t
        j                  j                  «       ƒ d {  –—†  | j                  j                  |«      S 7 Œ³7 ŒG7 Œ#­w)NT©rÄ   r®   r   )rÉ   r¶   rU   rh   r®   r.   rd   re   rt  r  r/   Ú
checkpointr  s     r%   r  z_SocketType.bind—  s£   è ø€ Ø×2Ñ2°7À$Ð2ÓG×Gˆä”N IÔ.Ø—‘œ~×5Ñ5Ò5Ø˜’
ô Ÿ™×0Ñ0°·±·±À'ÓJ×JÐJô —-‘-×*Ñ*Ó,×,Ð,Ø—:‘:—?‘? 7Ó+Ð+ð Høð Køð -ús4   ‚C™CšA-CÂCÂ%CÂ-CÂ. CÃCÃCc                óŽ   — | j                   j                  |«       |t        j                  t        j                  fv rd| _        y y )NT)rt  r  rU   ÚSHUT_WRÚ	SHUT_RDWRrv  r  s     r%   r  z_SocketType.shutdown©  s;   € à�
‰
×Ñ˜DÔ!à”N×*Ñ*¬N×,DÑ,DÐEÑEØ)-ˆDÕ&ð Fr'   c                ó<  — t         j                  dk(  r2t        j                  | j                  gg g d«      \  }}}t	        |«      S t        j
                  «       }|j                  | j                  t        j                  «       t	        |j                  d«      «      S )Nr€   r   )r–   r—   Úselectrt  r>   ÚpollÚregisterÚPOLLIN)r#   ÚrreadyrÅ   Úps       r%   r  z_SocketType.is_readable°  sk   € ä�<‰<˜7Ò"Ü!Ÿ=™=¨$¯*©*¨°r¸2¸qÓA‰LˆF�A�qÜ˜“<ÐÜ�K‰K‹MˆØ	�
‰
�4—:‘:œvŸ}™}Ô-Ü�A—F‘F˜1“I‹Ðr'   c              ƒ  ó^   K  — t        j                  | j                  «      ƒ d {  –—†  y 7 Œ­wr!   )r   r  rt  r1   s    r%   r  z_SocketType.wait_writable¹  s   è ø€ Ü×!Ñ! $§*¡*Ó-×-Ò-ús   ‚#-¥+¦-c             ƒ  ó,  K  — | j                   t        j                  k(  r9| j                  j	                  t        j
                  t        j                  «      }nd}t        | j                  | j                   | j                  |||¬«      ƒ d {  –—† S 7 Œ­w)NF)rÂ   rÃ   rÄ   )
rh   rU   rµ   rt  r˜   ÚIPPROTO_IPV6ÚIPV6_V6ONLYrÉ   ri   rj   )r#   rÃ   rÄ   rÂ   s       r%   rÉ   z!_SocketType._resolve_address_nocp¼  s|   è ø€ ð �;‰;œ.×1Ñ1Ò1ØŸ*™*×/Ñ/Ü×+Ñ+Ü×*Ñ*ó‰Kð
  ˆKÜ*Ø�I‰IØ�K‰KØ�J‰JØ#ØØô
÷ 
ð 	
ð 
ús   ‚BBÂBÂBc              �  ó6  K  — t        «       4 ƒd {  –—†   || j                  g|¢­i |¤Žcd d d «      ƒd {  –—†  S 7 Œ+7 Œ# 1 ƒd {  –—†7  sw Y   nxY w	  || j                  «      ƒ d {  –—†7   	  || j                  g|¢­i |¤ŽS # t        $ r Y nw xY wŒB­wr!   )r   rt  r*   )r#   r£   r¢   r    r¡   s        r%   rŸ   z_SocketType._nonblocking_helperØ  sŸ   è ø€ ô8 “;÷ 	3ñ 	3Ù�d—j‘jÐ2 4Ò2¨6Ñ2÷	3÷ 	3ò 	3øð 	3ø÷ 	3÷ 	3ñ 	3úð Ù˜$Ÿ*™*Ó%×%Ñ%ðÙ˜$Ÿ*™*Ð6 tÒ6¨vÑ6Ð6øÜ"ò Ùðúð	 ùsn   ‚B‘=’B•A«B·?¸B¿BÁAÁA
ÁAÁBÁ,A/Á-BÁ3B	 ÂBÂ		BÂBÂBÂBc              ƒ  ó^   K  — | j                  «       ƒ d{  –—† \  }}t        |«      |fS 7 Œ­w)z-Like :meth:`socket.socket.accept`, but async.N)Ú_acceptrw   )r#   rv   Úaddrs      r%   r  z_SocketType.accept  s-   è ø€ àŸ<™<›>×)‰
ˆˆdÜ! $Ó'¨Ð-Ð-ð *ús   ‚-–+—-c           	   ƒ  ór  K  — 	 | j                  |d¬«      ƒ d {  –—† }t        «       4 ƒd {  –—†  | j                  j                  |«      cd d d «      ƒd {  –—†  S 7 ŒC7 Œ27 Œ	# 1 ƒd {  –—†7  sw Y   nxY wt	        j
                  | j                  «      ƒ d {  –—†7   n2# t        j                  $ r | j                  j                  «        ‚ w xY w| j                  j                  t        j                  t        j                  «      }|dk7  r%t        |d|›dt        j                  |«      › �«      ‚y ­w)NFr•  r   zError connecting to z: )rÉ   r   rt  r  r   r  r.   Ú	Cancelledr
  r˜   rU   r•   ÚSO_ERRORr½   r¸   Ústrerror)r#   rÃ   Úerrs      r%   r  z_SocketType.connect  s  è ø€ ð
;	Ø ×6Ñ6°wÀeÐ6ÓL×LˆGÜ “{÷ 03ñ 03ð` —z‘z×)Ñ)¨'Ó2÷a03÷ 03ñ 03ð Møð03øð 03ø÷ 03÷ 03ñ 03úôf ×%Ñ% d§j¡jÓ1×1Ò1øÜ�~‰~ò 	ð �J‰J×ÑÔØð	úð �j‰j×#Ñ#¤N×$=Ñ$=¼~×?VÑ?VÓWˆØ�!Š8Ü˜#Ð!5°g°[ÀÄ2Ç;Á;ÈsÓCSÐBTÐUÓVÐVð ùs„   ‚D7„B" šA›B" ­A ®B" ±A$ÁB" ÁA"ÁB" ÁD7ÁB" Á B" Á"B" Á$A6Á*A-Á+A6Á2)B" ÂBÂB" Â!D7Â"/CÃA&D7c                ó   — y r!   rF   r  s      r%   r  z_SocketType.recv`  ó   � r'   c                ó   — y r!   rF   r   s       r%   r#  z_SocketType.recv_intom  s   € ð !r'   c                ó   — y r!   rF   r%  s      r%   r'  z_SocketType.recvfrom€  s   € ð
 69r'   c                ó   — y r!   rF   r   s       r%   r)  z_SocketType.recvfrom_into’  s   € ð 47r'   r*  c                ó   — y r!   rF   r,  s       r%   r*  z_SocketType.recvmsg¨  s	   € ð VYr'   T)r©   r/  c                ó   — y r!   rF   r1  s       r%   r/  z_SocketType.recvmsg_into¿  s	   € ð TWr'   c                ó   — y r!   rF   r4  s      r%   r5  z_SocketType.sendÓ  r¯  r'   c             ƒ  ó   K  — y ­wr!   rF   r7  s      r%   r9  z_SocketType.sendtoÞ  r:  r;  c             ƒ  ó   K  — y ­wr!   rF   r=  s       r%   r9  z_SocketType.sendtoæ  r>  r;  rF   rx   c              ‡  óî   K  — t        |«      }| j                  |d   d¬«      ƒ d{  –—† |d<    | j                  t        j                  t
        j                  j                  g|¢­Ž ƒ d{  –—† S 7 ŒI7 Œ­w)z3Similar to :meth:`socket.socket.sendto`, but async.r’  Fr•  N)rÁ   rÉ   rŸ   r   r  rU   rŒ   r9  )r#   r    Ú	args_lists      r%   r9  z_SocketType.sendtoï  s{   è ø€ ô
 ˜“Jˆ	Ø"×8Ñ8¸¸b¹ÈÐ8ÓO×Oˆ	�"‰ð .�T×-Ñ-Ü×ÑÜ×!Ñ!×(Ñ(ð
ð ò
÷ 
ð 	
ð Pøð
ús"   ‚%A5§A1¨AA5Á,A3Á-A5Á3A5r@  c             ƒ  óÔ   K  — |�| j                  |d¬«      ƒ d{  –—† }| j                  t        j                  t        j
                  j                  ||||«      ƒ d{  –—† S 7 ŒH7 Œ­w)z©Similar to :meth:`socket.socket.sendmsg`, but async.

            Only available on platforms where :meth:`socket.socket.sendmsg` is
            available.

            NFr•  )rÉ   rŸ   r   r  rU   rŒ   r@  rB  s        r%   r@  z_SocketType.sendmsg  sn   è ø€ ð Ð"Ø $× :Ñ :¸7È%Ð :Ó P×P�Ø×1Ñ1Ü×#Ñ#Ü×%Ñ%×-Ñ-ØØØØó÷ ð ð Qøðús"   ‚A(›A$œAA(ÁA&Á A(Á&A()rv   ú_stdlib_socket.socketr:   r;   rD  rE  rF  rG  r!   rH  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r?   rW  rX  )rÃ   r   rÄ   r>   r:   r   )
r£   ú2Callable[[_stdlib_socket.socket], Awaitable[None]]r¢   ú2Callable[Concatenate[_stdlib_socket.socket, P], T]r    r¥   r¡   r¦   r:   r   rY  rZ  r[  r\  r]  r_  r`  ra  rb  rd  re  rg  rh  rj  rk  )7rC   rD   rE   r&   r™   r�   rÔ   rÖ   r   r˜   rå   rl  rU   rm  rð   rò   rö   r–   r—   r   r¶   rŒ   r÷   rü   rþ   rn  rh   ri   rj   r  r  r  r
  r  r  r  r  rÉ   rŸ   rª   r  r   Úwait_readabler§  r  r  r#  r'  r)  r*  r/  r5  r9  r§   r@  rF   r'   r%   ru   ru     sø  „ ó	+ó #ó#ó(ó(ð Ú>ó Ø>àÚMó ØMð "ð	=àð=ð ð=ð ð	=ð
 
ó=ð ÚTó ØTàðàðð ðð ð	ð
 ðð 
òó ðð "ðDàðDð ðDð #ð	Dð
 ðDð 
óDñ, %(¨×(@Ñ(@À#Ó$Fô *ó,ó7ð ‡|�|�wÒÙ™g n×&;Ñ&;¸WÔEó	0óðCà,ðCð (ðCð (ð	Cð
 
óCð ò!ó ð!ð òó ðð ò ó ð ð ò*ó ð*óOó-óó
,ó$.óó.ð
àð
ð ð	
ð
 
ó
ð8$àCð$ð ?ð$ð ð	$ð
 ð$ð 
ó$ñT /Ø×Ñ×$Ñ$Ø×Ñó€Gó
.óDWñ\ äOá+Ø×Ñ×"Ñ"Ø×Ñó€Dñ ð Øð	!ð ð	!ð ð		!ð
 ð	!ð ó	!ñ 1Ø×Ñ×'Ñ'Ø×Ñó€Iñ ð
 ð	9àð	9ð ð	9ð
 4ó	9ñ 0Ø×Ñ×&Ñ&Ø×Ñó€Hñ ð Øð	7ð ð	7ð ð		7ð
 ð	7ð 2ó	7ñ 5Ø×Ñ×+Ñ+Ø×Ñó€Mð ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGáð
 #$Øð	YàðYð  ðYð ð	Yð TóYñ 3Ø×!Ñ!×)Ñ)Ø×ÑØô
ˆð ‡|�|�wÒÙ™g n×&;Ñ&;¸^ÔLáð
 #$Øð	Wà)ðWð  ðWð ð	Wð RóWñ 8Ø×!Ñ!×.Ñ.Ø×ÑØô
ˆñ äOá+Ø×Ñ×"Ñ"Ø×Ñó€Dð ðàðð 3ðð
 
òó ðð ðàðð ðð 3ð	ð 
òó ðñ ˆN×!Ñ!×(Ñ(°2¸rÔBò
ó Cð
ð$ ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGñ 
�×%Ñ%×-Ñ-¸ÀBÔ	Gð :<ØØ,0ð	à%ð	ð 7ð	ð ð		ð
 *ð	ð ò	ó 
Hñ	ð	 HˆMr'   ru   )rG   úHostnameResolver | Noner:   r¿  )rI   úSocketFactory | Noner:   rÀ  )r   r   r   r   )rf   zbytes | str | Nonerg   zbytes | str | int | Nonerh   r»   ri   r»   rj   r»   rk   r»   r:   zqlist[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])ro   z+tuple[str, int] | tuple[str, int, int, int]rk   r»   r:   ztuple[str, str])rr   r`   r:   r»   )rv   r»  r:   rs   )
r~   r	   rh   úAddressFamily | intri   úSocketKind | intrj   r»   r:   rs   )rƒ   r·   r:   rs   )rh   r„   ri   r…   rj   r»   r:   ztuple[SocketType, SocketType])
rh   rÁ  ri   rÂ  rj   r»   r�   rI  r:   rs   )
rh   rÁ  r   rÂ  rj   r»   r�   rI  r:   z1tuple[AddressFamily | int, SocketKind | int, int])F)r¢   r½  r£   r¼  r©   r>   r:   z3Callable[Concatenate[_SocketType, P], Awaitable[T]])r   r»   rh   r   rj   r»   rÂ   z
bool | intrÃ   r   rÄ   r>   r:   r   )SÚ
__future__r   r¸   r›  rŒ   rU   r–   Úoperatorr   r   r   Útypingr   r   r	   r
   r   r   Úidnarc   r.   Ú
trio._utilr   r§   r¯   r   Úcollections.abcr   r   r   Útypesr   Útyping_extensionsr   r   r   r   r   Ú_abcr   r   r   r   r   Ú__annotations__r   ÚRunVarrH   rJ   rO   rQ   ÚAI_NUMERICHOSTr_   Úgetattrr^   rn   rq   rw   r}   r±   ÚSOCK_STREAMr—   r¶   r�   r»   r„   r…   r†   rˆ   r|   Ú_SOCK_TYPE_MASKrª   rÉ   rs   Ú__dict__Úitemsrr   ÚobjÚ
startswithr¨   Ústdlib_typeÚ
stdlib_objru   rF   r'   r%   ú<module>rØ     sÌ  ðÞ "ã 	Û Û Û 
Ý ß ,÷÷ ó ã Ý &å áß=Ñ=Ý#çQÕQç5á�#‹€Añ ˆCƒL€ð €ˆyÓ ÷ñ ðH 4@°5·<±<Ð@SÓ3T€	Ð0Ó TØ6B°e·l±lÐCSÓ6T€Ð3Ó TðØ.ðàóðDØ(ðàóðF ×-Ñ-€Ø ‘˜Ð)9¸1Ó=Ñ =€ð ØØØðP
Ø
ðP
à
"ðP
ð ðP
ð ð	P
ð
 ðP
ð ðP
ðóP
ðf
Ø9ð
àð
ð ó
ó2
ó*ñ ˆ×Ñ¨°BÔ7ð #1×"8Ñ"8Ø+×7Ñ7Øð	OØðOàðOð ðOð ð	Oð
 òOó 8ðOð ‡<�<�7ÒÙ™' .°+Ô>ñ ˆN×$Ñ$¨r¸2Ô>òBó ?ðBð
 ‡<�<�7ÒØ€GˆYÓØ€Eˆ9ÓØ"×*Ñ*�Mà€M�4ÓØ˜s M°4Ð7Ñ8€GˆYÓ8Ø˜^×2Ñ2°CÐ7Ñ8€Eˆ9Ó8ñ ˆ×!Ñ!¨B¸Ô;à#Ø×(Ñ(Øð
AØð
Aà
ð
Að ð
Að #ò	
Aó <ð
Añ ˆ×Ñ¨°BÔ7à"0×"8Ñ"8Ø+×7Ñ7ØØð	-Øð-à
ð-ð ð-ð ð	-ð
 ò-ó 8ð-ð6 Øð àð ð ð ð ð	 ð
 7ó ñT ˆN˜O¨QÓ/Ùˆn˜n¨aÓ0ñ1ð€ð ðØ:ðà?ðð ðð 9ó	ðNGØðGàðGð ðGð
 ðGð ðGð ðGð óG÷T^&ñ ^&ðD ×$Ñ$×*Ñ*Ó,ò %�I€Dˆ#à‡��tÔ §¢Øà%×,Ñ,¨n×.GÑ.GÐGò ˆÙ˜[¨$°Ó5ˆ
Ú˜*×,Ó,Ùðð
 	Ø×$Ñ$€C…Kð%ôM�*õ Mr'   