§
    ¯õi“  ã                   ó2   — d dl mZ d dlmZmZ dedefd„ZdS )é   )Úsocket)ÚSocketListenerÚSocketStreamÚsocket_listenerÚreturnc              ƒ   ó‚  K  — | j         j        }| j                              ¦   «         }|t          j        t          j        fv r@t          |¦  «        }|d         dk    rd|d<   |d         dk    rd|d<   t          |¦  «        }t          j         |¬¦  «        }|                     |¦  «        ƒ d{V —† t          |¦  «        S )aø  Connect to the given :class:`~trio.SocketListener`.

    This is particularly useful in tests when you want to let a server pick
    its own port, and then connect to it::

        listeners = await trio.open_tcp_listeners(0)
        client = await trio.testing.open_stream_to_socket_listener(listeners[0])

    Args:
      socket_listener (~trio.SocketListener): The
          :class:`~trio.SocketListener` to connect to.

    Returns:
      SocketStream: a stream connected to the given listener.

    é    z0.0.0.0z	127.0.0.1z::z::1)ÚfamilyN)
r   r
   ÚgetsocknameÚtsocketÚAF_INETÚAF_INET6ÚlistÚtupleÚconnectr   )r   r
   ÚsockaddrÚsocks       úa/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/testing/_network.pyÚopen_stream_to_socket_listenerr      sÆ   è è € ð& Ô#Ô*€FØÔ%×1Ò1Ñ3Ô3€HØ•'”/¥7Ô#3Ð4Ð4Ð4Ý˜‘>”>ˆØ�AŒ;˜)Ò#Ð#Ø%ˆH�Q‰KØ�AŒ;˜$ÒÐØˆH�Q‰KÝ˜‘?”?ˆåŒ> Ð(Ñ(Ô(€DØ
�,Š,�xÑ
 Ô
 Ð Ð Ð Ð Ð Ð Ð Ý˜ÑÔÐó    N)Ú r   r   Ú_highlevel_socketr   r   r   © r   r   ú<module>r      s]   ðØ  Ð  Ð  Ð  Ð  Ð  Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <ðØ#ðàðð ð ð ð ð r   