úÎ!n@kÞ     None1 Ä network-simplePreferred host to bind.network-simpleAny available host.network-simpleAny available IPv4 host.network-simpleAny available IPv6 host. network-simpleAn explicit host name.network-simple Extract the  from a   preference, or  otherwise.network-simple+Convert IPv4-Mapped IPv6 Addresses to IPv4.network-simpleGiven a list of ls, reorder it so that ipv6 and ipv4 addresses, when available, are intercalated, with a ipv6 address first.network-simple^Move the elements that match the predicate closer to the head of the list. Sorting is stable.network-simpleLike  -, but it will accept numeric values such as "80" as input.!network-simple,The following special values are recognized:* means *4 means *6 means Any other string is   "#NoneV]k network-simple/Connect to a TCP server and use the connection.RThe connection socket is shut down and closed when done or in case of exceptions.BIf you prefer to acquire and close the socket yourself, then use  and . Note: The $ and % options are set on the socket. network-simpleLike  A, but connects to the destination server through a SOCKS5 proxy. network-simpleiStart a TCP server that accepts incoming connections and handles them concurrently in different threads.©Any acquired sockets are properly shut down and closed when done or in case of exceptions. Exceptions from the threads handling the individual connections won't cause   to die.Note: This function performs  , #, so don't perform those manually. network-simple'Bind a TCP listening socket and use it.BThe listening socket is closed when done or in case of exceptions.AIf you prefer to acquire and close the socket yourself, then use  and  , as well as  function. Note: The $, % and &[ options are set on the socket. The maximum number of incoming queued connections is 2048.network-simple5Listen for new connections of the given bound socket.network-simple/Accept a single incoming connection and use it.RThe connection socket is shut down and closed when done or in case of exceptions.network-simpleEAccept a single incoming connection and use it in a different thread.RThe connection socket is shut down and closed when done or in case of exceptions.network-simple Obtain a 2 connected to the given host and TCP service port. The obtained ! should be closed manually using v when it's not needed anymore, otherwise you risk having the connection and socket open for much longer than needed.Prefer to use  Ž if you will be using the socket within a limited scope and would like it to be closed immediately after its usage or in case of exceptions. Note: The $ and % options are set on the socket.network-simple Obtain a 3 bound to the given host name and TCP service port. The obtained ! should be closed manually using  when it's not needed anymore.Prefer to use  ¤ if you will be listening on this socket and using it within a limited scope, and would like it to be closed immediately after its usage or in case of exceptions. Note: The $, % and & options are set on the socket.network-simpleShuts down and closes the A, silently ignoring any synchronous exception that might happen.network-simpleGiven a t connected to a SOCKS5 proxy server, establish a connection to the specified destination server through that proxy.network-simple3Read up to a limited number of bytes from a socket.Returns Ÿ if the remote end closed the connection or end-of-input was reached. The number of returned bytes might be less than the specified limit, but it will never '.network-simple Writes a ( to the socket.Note: On POSIX, calling 6 once is much more efficient than repeatedly calling  on strict (s. Use  sock . )" if you have more than one strict ( to send.network-simpleWrites a lazy * to the socket.Note: This uses  writev(2) on POSIX.network-simpleWrites the given list of (s to the socket.Note: This uses  writev(2) on POSIX. network-simpleServer hostname or IP address.network-simple#Server service port name or number.network-simpleCComputation taking the communication socket and the server address. network-simple+SOCKS5 proxy server hostname or IP address.network-simple0SOCKS5 proxy server service port name or number.network-simpleDDestination server hostname or IP address. We connect to this host through6 the SOCKS5 proxy specified in the previous arguments.)Note that if hostname resolution on this S is necessary, it will happen on the proxy side for security reasons, not locally.network-simple/Destination server service port name or number.network-simpleComputation taking » connected to the SOCKS5 server (through which we can interact with the destination server), the address of that SOCKS5 server, and the address of the destination server, in that order. network-simple Host to bind.network-simple+Server service port name or number to bind.network-simple†Computation to run in a different thread once an incoming connection is accepted. Takes the connection socket and remote end address.network-simpleThis function never returns. network-simple Host to bind.network-simple+Server service port name or number to bind.network-simpleFComputation taking the listening socket and the address it's bound to.network-simple Bound socket.network-simple:Maximum number of incoming queued connections (we suggest 2048 if you don't have an opinion).network-simpleListening and bound socket.network-simplepComputation to run once an incoming connection is accepted. Takes the connection socket and remote end address.network-simpleListening and bound socket.network-simple†Computation to run in a different thread once an incoming connection is accepted. Takes the connection socket and remote end address.network-simpleServer hostname or IP address.network-simple#Server service port name or number.network-simple$Connected socket and server address.network-simple Host to bind.network-simple+Server service port name or number to bind.network-simpleBound socket and address.network-simple,Socket connected to the SOCKS5 proxy server.After a successful use of b, all traffic exchanged through this socket will be between ourselves and the destination server.network-simpleDDestination server hostname or IP address. We connect to this host through6 the SOCKS5 proxy specified in the previous arguments.)Note that if hostname resolution on this S is necessary, it will happen on the proxy side for security reasons, not locally.network-simple/Destination server service port name or number.network-simple"Address of the destination server.   +       !"#$%&'()*+,-./01231451671859+network-simple-0.4.3-DTzgTRqXI50EzM6QF9nx2HNetwork.Simple.TCPNetwork.Simple.Internal&network-2.8.0.0-JgG270TblsEHkvPEAbLhLENetwork.SocketHostName ServiceNameNetwork.Socket.Internal withSocketsDoNetwork.Socket.TypesSocketSockAddrHostPreferenceHostAnyHostIPv4HostIPv6Hostconnect connectSOCKS5servelisten listenSockaccept acceptFork connectSockbindSock closeSockconnectSockSOCKS5recvsendsendLazysendMany hpHostNamebaseGHC.BaseNothingipv4mapped_to_ipv4happyEyeballSortAddrInfo prioritizegetServicePortNumber' Network.BSDgetServicePortNumber$fIsStringHostPreference isIPv4addr isIPv6addrNoDelay KeepAlive ReuseAddrbytestring-0.10.8.2Data.ByteStringnullData.ByteString.Internal ByteStringData.ByteString.Lazy fromChunksData.ByteString.Lazy.Internal