
    ,h                     0    d dl mZ d dlmZmZ dedefdZy)   )socket)SocketListenerSocketStreamsocket_listenerreturnc                   K   | j                   j                  }| j                   j                         }|t        j                  t        j
                  fv r0t        |      }|d   dk(  rd|d<   |d   dk(  rd|d<   t        |      }t        j                   |      }|j                  |       d{    t        |      S 7 w)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       W/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/testing/_network.pyopen_stream_to_socket_listenerr      s     & ##**F%%113H'//7#3#344>A;)#%HQKA;$HQK?>>(D
,,x
    !s   B-C/B?0CN) r   r   _highlevel_socketr   r   r        r   <module>r      s       <#r   