rd0      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     None 29;IT[-Every function that communicates with the outside world should run in the Universe monad, which provides an ability to use mocks when testingIf you don't care about streaming you will get results in this simplified data type, in which the ErrorMessage comes from TaggedResult if it failed.Command result consits of a sequence of untagged results followed by a single tagged result that specifies if the command overall succeeded. This is a sum type to bind those two types togetherJUntagged replies are the actual data returned in response to the commands.A list of flags a mailbox has$How many messages exist in a mailbox Sequence id of a deleted message2Returned by the server when it cleanly disconnectsNumber of recent messagesNumber of messages in a mailboxNumber of unseen messagesUID of a message]A sequence id of a message |UID that will be given to the next message added to this mailboxgA triple of mailbox name, it's UIDValidity value and message UID is always unique for a given messageResult of an OK response:What server advertises that it supports |Response to the LIST commandkFetch response, contains many responses |Status of a mailbox, will contain many different responses inside!?A list of message IDs or UIDs fullfilling the search criterions"7A parsed ENVELOPE reply, prefixed to avoid name clashes$ Message size%An unsupported value&Message body, or headers'An unparsed bodystructure(wflags that a mailbox has |Character sequence that marks a new level of hierarchy in the inbox name (usually a slash)*Name of the mailbox51Tagged results can be in on of these three states9=Always the last result of the command, contains it's metadata; Id of the command that completes<!State returned by the server side=3Rest of the result, usually the human-readable partRuFirst parameter is the name of a capability and the second can contain a value, if the capability is of the form  `NAME=VALUE`hVThread that posted the request should watch this queue for responses to the request.iBId of the request, which is the same as the id sent to the server.mgThe actual connection with the server from Network.Connection. Only use if you know what you're doingnContext from Network.ConnectionoKContains requests for response that weren't yet read by the watcher thread.p(Id of the thread the watcher executes onq;All the unfulfilled requests the watcher thread knows aboutrConfiguration settingsuThe current connection stateviContains commands sent by the server which we didn't expect. Probably message and mailbox state updateswInternal state of the libraryx8Connection with the server can be in one of these states|lEach command sent to the server is identified by a random id. this alias helps noticing where this happens}&A type alias used for an error message  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ $&% !"#'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxzy{|}~}|xyz{stuvwklmnopqrjfghibcde\]^_`aSTUVWXYZ[>?@ABCDEFGHIJKLMNOPQR9:;<=5678 !"#$%&'()*+,-./01234 ~< & !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 29;IT[None 29;IT[ None 29;IT[None 29;IT[None 29;IT[None 29;IT[MReject all outstanding requests with the exception handler, close the watcher2016 Michal Kawalec BSD-style (see the file LICENSE)!Michal Kawalec <michal@monad.cat> experimental non-portableNone 29;IT[ Connects to the server and gives you a connection object that needs to be passed to any other command. You should only call it once for every connection you wish to createtAn escape hatch, gives you the ability to send any command to the server, even one not implemented by this libraryConnected state commandsuUpgrade a connection to a TLS connection from an insecure one. Accepts TLS settings you wish your connection to useaA simple authentication method, with user and password. Probably what's needed in 90% of cases.Authenticate with the server. During the authentication control is given to the library user and is returned to the library at the end of authenticationAuthenticated state commandsSelected state commands)Fetch message body by message sequence id!Fetch message body my message UID FA general fetch, you have to specify everything that goes after the FETCH keyword A general fetch using UIDs Return the untagged replies or an error message if the tagged reply is of type NO or BAD. Also return all untagged replies received if replies list contains a BYE response (when the server decided to cleanly disconnect)                           !"#$%&'()*+,-./0123456789:;<=>?@ABBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghiijkllmnoppqrstuvwwxyz{|}~     #imap-0.3.0.0-Af4NGSgwDO2LkoVIXxcRqrNetwork.IMAP.TypesNetwork.IMAP.UtilsNetwork.IMAP.Parsers.UtilsNetwork.IMAP.Parsers.UntaggedNetwork.IMAP.Parsers.FetchNetwork.IMAP.ParsersNetwork.IMAP.RequestWatcher Network.IMAPUniverseconnectionPut'connectionGetChunk'' SimpleResult CommandResultTaggedUntagged NameAttribute NoinferiorsNoselectMarkedUnmarked HasNoChildren OtherNameAttrUntaggedResultFlagsExistsExpungeBye HighestModSeqRecentMessagesUnseenPermanentFlagsUID MessageIdUIDNext UIDValidityOKResult CapabilitiesListRFetchStatusRSearchEnvelope InternalDateSizeUnknownBody BodyStructureflagshierarchyDelimiter inboxNameeDateeSubjecteFromeSendereReplyToeToeCCeBCC eInReplyTo eMessageId ResultStateOKNOBAD TaggedResult commandId resultState resultRest CapabilityCIMAP4 CUnselectCIdle CNamespaceCQuotaCId CExperimental CChildrenCUIDPlus CCompressCEnableCMove CCondstoreCEsearchCUtf8CAuth CListExtended CListStatus CAppendLimitCOtherFlagFSeen FAnsweredFFlaggedFDeletedFDraftFRecentFAnyFOther EmailAddress emailLabel emailRoute emailUsername emailDomain IMAPSettings imapTimeoutuntaggedQueueLengthResponseRequest responseQueue respRequestId ParseResult IMAPState rawConnectionconnectionContextresponseRequestsserverWatcherThreadoutstandingReqs imapSettingsIMAPConnectionconnectionState untaggedQueue imapStateConnectionStateUndefinedState Connected Disconnected CommandId ErrorMessagedefaultImapSettings$fUniverseListT$fUniverseListT0 $fUniverseIO$fShowConnectionState$fShowEmailAddress$fEqEmailAddress $fShowFlag$fEqFlag $fOrdFlag$fShowCapability$fEqCapability$fOrdCapability$fShowResultState$fEqResultState$fShowTaggedResult$fEqTaggedResult$fShowNameAttribute$fEqNameAttribute$fOrdNameAttribute$fShowUntaggedResult$fEqUntaggedResult$fShowCommandResult$fEqCommandResult$fEqResponseRequestisFSeen isFAnswered isFFlagged isFDeletedisFDraft isFRecentisFAnyisFOtherisFlagsisExists isExpungeisByeisHighestModSeqisRecent isMessagesisUnseenisPermanentFlagsisUID isMessageId isUIDNext isUIDValidity isOKResultisCapabilitiesisListRisFetch isStatusRisSearch isEnvelopeisInternalDateisSize isUnknownisBodyisBodyStructureisTagged isUntaggedisUndefinedState isConnectedisDisconnected genRequestId readResults escapeTextifNotDisconnected flagsToTexteatUntilClosingParenhadClosedAllParensparseEmailList parseNString parseEmail nilOrValueparseQuotedTextparseNameAttributeparseListLikeResp atomSpecials isAtomChartoInt parseNumberparseOk parseFlagparseFlagKeyword parseFlagList parseFlags parseExistsparseBye parseRecent parseOkResp parseUnseenparsePermanentFlags parseUidNextparseUidValidityparseHighestModSeqparseStatusItem parseStatusparseCapabilityListparseCapabilityWithValueparseNamedCapability parseExpungeparseSearchResult parseFetchparseSpecifiersparseInternalDate parseBodyparseBodyStructure parseEnvelope parseReply parseLine parseTagged parseUntaggedrequestWatcher connectServer sendCommandstartTLS capabilitynooplogoutlogin authenticateselectexaminecreatedeleterename subscribe unsubscribelistlsubstatusappendcheckcloseexpungesearch uidSearchfetchuidFetchfetchG uidFetchGstorecopy simpleFormathandleExceptions reactToReplyupdateConnState shouldIDie dispatchErrordispatchTaggeddispatchUntaggedgetOutstandingReqs omitOneLine parseChunkassembleParseErrorgetParsedChunk sendResponseoneParamCommand