y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalCPP, ImpredicativeTypesSafeQV A  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Type.html#t:SimpleSimple .See  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Prism.html#t:PrismControl.Lens.Prism.Prism.See  Ohttp://hackage.haskell.org/package/lens/docs/Control-Lens-Getter.html#t:GettingControl.Lens.Getter.Getting.See  Nhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Getter.html#t:GetterControl.Lens.Getter.Getter.A  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Type.html#t:SimpleSimple .See  Jhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Lens.html#t:LensControl.Lens.Lens.Lens. Get a value from a lens.!Set a value in a lens."Modify a value in a lens.#Read a value from a prism.$&Atomically snapshot some shared state.%1Atomically snapshot and modify some shared state.  !"#$%  !"#$%(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalKFlexibleInstances, GADTs, GeneralizedNewtypeDeriving, MultiParamTypeClassesNone&';=>?K<"&EException thrown to all managed threads when the client disconnects.(bException thrown to kill the client if the timeout elapses with nothing received from the server.*"A function which handles an event.,The origin of a message./The state of the connection.3*The updateable state of an IRC connection.5 Client nick6Current channels: this list both determines the channels to join on connect, and is modified by the default event handlers when channels are joined or parted.7]The version is sent in response to the CTCP "VERSION" request by the default event handlers.8_The registered event handlers. The order in this list is the order in which they are executed.9LList of nicks (optionally restricted to channels) to ignore messages from.  ignores globally.:-The static state of an IRC server connection.<+Function to connect and start the conduits.=The server host.>The server port.?>Client username; sent to the server during the initial set-up.@>Client realname; sent to the server during the initial set-up.A>Client password; sent to the server during the initial set-up.B/The minimum time between two adjacent messages.CThe maximum time between received messages from the server. If no messages arrive from the server for this period, the client is sent a ( exception and disconnects.D Action to run after sending the PASS and USER? commands to the server. The default behaviour is to send the NICK command.E,Action to run after disconnecting from the server, both by local choice and by losing the connection. This is run after tearing down the connection. If the connection terminated due to an exception, it is given. The default behaviour is to reconnect if a timeout, otherwise rethrow any exception.F>Function to log messages sent to and received from the server.GThe state of an IRC session.I"Read-only connection configurationJMutable user stateK%Mutable instance configuration in STMLMessage send queue.MState of the connection.N9Threads which will be killed when the client disconnects.OThe IRC monad.,&'()*+,.-/2103498765:;FEDCBA@?>=<GHNMLKIJOPQ/OPQRGHIJKLMN:;<=>?@ABCDEF3456789/012,-.*+()S&'T &'()*+,-./0123456789: ;<=>?@ABCDEFGHIJKLMNOPQ(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalCPPNoneDw for I. x for J. y for K. z for M. { for =. | for >. } for ?. ~ for @.  for A.  for B.  for C.  for D.  for E.  for F.  for 5.  for 6.  for 7.  for 7.  for 9.  for 0.  for 1.  for 2.  for -.  for .. wxyz{|}~wxyz{|}~(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimental+CPP, OverloadedStrings, ScopedTypeVariablesNoneVaFConfig to connect to a server using the supplied connection function.The event loop.Forget failed decodings.>Block on receiving a message and invoke all matching handlers.$Check if an event is ignored or not.6A conduit which logs everything which goes through it.0Print messages to stdout, with the current time.1Append messages to a file, with the current time.Do no logging.]Send a message as UTF-8, using TLS if enabled. This blocks if messages are sent too rapidly.TSend a message, using TLS if enabled. This blocks if messages are sent too rapidly.UDisconnect from the server, properly tearing down the TLS session (if there is one).vDisconnect from the server (this will wait for all messages to be sent, or a minute to pass), and then connect again.hThis can be called after the client has already disconnected, in which case it will just connect again.Like  runClient and  runClientWith[, this will not return until the client terminates (ie, disconnects without reconnecting).6Interact with a client from the outside, by using its G.Access the client state.+Get the connection state from an IRC state.<Block until an action is successful or a timeout is reached.A simple wrapper around a TBMChan. As data is pushed into the channel, the source will read it and pass it down the conduit pipeline. When the channel is closed, the source will close also.HIf the channel fills up, the pipeline will stall until values are read.(From stm-conduit-3.0.0 (by Clark Gaebel  cg.wowus.cg@gmail.com)'Function to start the network conduits.Connect handlerDisconnect handlerLogging functionServer hostname Server portJ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHJIKLMNOPQ(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalportableNoner Update the nick in the instance configuration and also send an update message to the server. This doesn't attempt to resolve nick collisions, that's up to the event handlers.QUpdate the channel list in the instance configuration and also part the channel.Remove a channel from the list without sending a part command (be careful not to let the channel list get out of sync with the real-world state if you use it for anything!)Add an event handler)Send a message to the source of an event.)Send a message to the source of an event. Construct a PRIVMSG containing a CTCP Construct a NOTICE containing a CTCP!Check if the client is connected.7Check if the client is in the process of disconnecting.#Check if the client is disconnectedSnapshot the connection state.%Fork a thread which will be thrown a &( exception when the client disconnects. !"$%$% !"(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimental"CPP, OverloadedStrings, RankNTypesNoneQVEMatch the verb of a CTCP, ignoring case, and returning the arguments. matchCTCP "ping" ":foo PRIVMSG #bar :\001PING\001" ==> Just [] matchCTCP "PING" ":foo PRIVMSG #bar :\001PING\001" ==> Just [] matchCTCP "ACTION" ":foo PRIVMSG #bar :\001ACTION dances\001" ==> Just ["dances"]Match a numeric server message. Numeric messages are sent in response to most things, such as connecting to the server, or joining a channel.Numerics in the range 001 to 099 are informative messages, numerics in the range 200 to 399 are responses to commands. Some common numerics are:6001 (RPL_WELCOME), sent after successfully connecting.I331 (RPL_NOTOPIC), sent after joining a channel if it has no topic.F332 (RPL_TOPIC), sent after joining a channel if it has a topic.Q432 (ERR_ERRONEUSNICKNAME), sent after trying to change to an invalid nick.T433 (ERR_NICKNAMEINUSE), sent after trying to change to a nick already in use.^436 (ERR_NICKCOLLISION), sent after trying to change to a nick in use on another server.See Section 5 of < -https://tools.ietf.org/html/rfc2812#section-5 RFC 2812> for a complete list. wmatchNumeric 001 "001 :Welcome to irc.example.com" ==> True matchNumeric 332 "332 :#haskell: We like Haskell" ==> True*Match events of the given type. Refer to  Network.IRC.Conduit.Lens#Message for the list of s. matchType _Privmsg ":foo PRIVMSG #bar :hello world" ==> Just ("#bar", Right "hello world") matchType _Quit ":foo QUIT :goodbye world" ==> Just (Just "goodbye world")#Match a predicate against an event. \matchWhen (const True) ":foo PRIVMSG #bar :hello world" ==> Just ":foo PRIVMSG :hello world"7The default event handlers, the following are included:respond to server PING messages with a PONG;respond to CTCP PING requests;respond to CTCP VERSION" requests with the version string;respond to CTCP TIME requests with the system time;Vupdate the nick upon receiving the welcome message, in case the server modifies it;2mangle the nick if the server reports a collision;update the channel list on JOIN and KICK.*The default connect handler: set the nick.The default disconnect handler$If the client disconnected due to a ( exception, reconnect.@If the client disconnected due to another exception, rethrow it.6If the client disconnected without an exception, halt.Respond to server PING messages with a PONG.Respond to CTCP PING requests.Respond to CTCP VERSION" requests with the version string.Respond to CTCP TIME requests with the system time.{Update the nick upon welcome (numeric reply 001), as it may not be what we requested (eg, in the case of a nick too long).tJoin default channels upon welcome (numeric reply 001). If sent earlier, the server might reject the JOIN attempts.ZMangle the nick if there's a collision (numeric replies 432, 433, and 436) when we set it`Upon joining a channel (numeric reply 331 or 332), add it to the list (if not already present).*Update the channel list upon being kicked.hBreak some text on the first occurrence of a substring, removing the substring from the second portion.=    *+)*+ Safe(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalOverloadedStringsNone $How to connect to a server over TLS.Use  _http://hackage.haskell.org/package/irc-conduit/docs/Network-IRC-Conduit.html#t:defaultTLSConfig$Network.IRC.Conduit.defaultTLSConfig.PUse the given configuration. The hostname and port are stored as fields of the .Use  _http://hackage.haskell.org/package/irc-conduit/docs/Network-IRC-Conduit.html#t:defaultTLSConfig$Network.IRC.Conduit.defaultTLSConfig, with the given certificate verifier. The certificate verifier is a function which returns a list of reasons to reject the certificate. Connect to a server without TLS.Connect to a server with TLS.1Construct a default IRC configuration from a nickrConnect to the IRC server and run the client: receiving messages and handing them off to handlers as appropriate.Like  , but use the provided initial G.1Multiple clients should not be run with the same G,. The utility of this is to be able to run IRC s a@ actions in order to interact with the client from the outside.Construct a new IRC state The hostnameThe port"How to initiate the TLS connectionThe nick%The initial value for the user state.%The initial value for the user state.    !"$%&'()*+,-./0123:GOwxyz{|}~&:,-.3OG/012()&'                     ! " #$%&'()*+,-./0011223456789::;<=>?@@ABCDEFGHIJKLLMNOPQRSSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ )irc-client-1.1.0.2-JCI1qukwkzbBoEjYsix396Network.IRC.ClientNetwork.IRC.Client.Events Network.IRC.Client.Internal.Lens!Network.IRC.Client.Internal.TypesNetwork.IRC.Client.LensNetwork.IRC.Client.InternalNetwork.IRC.Client.UtilsPaths_irc_client)irc-conduit-0.3.0.1-5IGt80Ee6S5HVxd3agIhkNetwork.IRC.Conduit.Internal rawMessage toByteString_message_source_rawEventServerChannelUserSourceRawMsgNumericPongPingKickInviteTopicModeQuitPartJoinNickNoticePrivmsgMessagePrism'PrismGettingGetterLens'LensgetsetmodifypreviewsnapshotsnapshotModify DisconnectTimeout EventHandlerOrigin FromServer FromClientConnectionState Connected Disconnecting DisconnectedInstanceConfig_nick _channels_version _handlers_ignoreConnectionConfig_func_server_port _username _realname _password_flood_timeout _onconnect _ondisconnect_logfuncIRCState_connectionConfig _userState_instanceConfig _sendqueue_connectionState_runningThreadsIRCrunIRC$fMonadStatesIRC$fExceptionTimeout$fExceptionDisconnect$fBoundedConnectionState$fEnumConnectionState$fEqConnectionState$fOrdConnectionState$fReadConnectionState$fShowConnectionState$fBoundedOrigin $fEnumOrigin $fEqOrigin $fOrdOrigin $fReadOrigin $fShowOrigin $fFunctorIRC$fApplicativeIRC$fAlternativeIRC $fMonadIRC$fMonadPlusIRC $fMonadIOIRC$fMonadReaderIRC$fMonadThrowIRC$fMonadCatchIRC$fMonadMaskIRC$fBoundedTimeout $fEnumTimeout $fEqTimeout $fOrdTimeout $fReadTimeout $fShowTimeout$fBoundedDisconnect$fEnumDisconnect$fEqDisconnect$fOrdDisconnect$fReadDisconnect$fShowDisconnectconnectionConfig userStateinstanceConfigconnectionStateserverportusernamerealnamepasswordfloodtimeout onconnect ondisconnectlogfuncnickchannelsversionhandlersignore _Connected_Disconnecting _Disconnected _FromServer _FromClient setupInternalrunner forgetful eventSink isIgnored logConduit stdoutLogger fileLogger noopLoggersendsendBS disconnect reconnect runIRCAction getIRCStategetConnectionState timeoutBlock sourceTBMChansetNick leaveChanneldelChan addHandlerreplyreplyToctcp ctcpReply isConnectedisDisconnectingisDisconnected snapConnStatefork matchCTCP matchNumeric matchType matchWhendefaultEventHandlersdefaultOnConnectdefaultOnDisconnect pingHandlerctcpPingHandlerctcpVersionHandlerctcpTimeHandler welcomeNick joinOnWelcome nickMangler joinHandler TLSConfigWithDefaultConfigWithClientConfig WithVerifierplainConnection tlsConnectiondefaultInstanceConfig runClient runClientWith newIRCStatebaseGHC.BaseNothing kickHandlerbreakOn'Network.IRC.Conduit.Lens_RawMsg_Numeric_Pong_Ping_Kick_Invite_Topic_Mode_Quit_Part_Join_Nick_Notice_Privmsg_Server_Channel_Usermessagesourceraw getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName0network-conduit-tls-1.3.0-3zjkcEChWrdHy6nrO1gYNRData.Conduit.Network.TLSTLSClientConfig