x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred MIME content type parameters. A MIME type.EA message identifier, which has a similar format to an email address.A Y is used to indicate senders and recipients of messages. It may either be an individual  , or a named group of  es. A   receives mail.An email address.The email header field.An email header name.A set of email headers.         Safe-Inferred,An abstract type representing a lazy layout.&Run a layout with an initial position.$Layout an element of a given length./Layout a new line and set the initial position.2Use the current line position to produce a layout.bChoose the first layout if the first line fits within the given length, and the second otherwise. None3A charset. Charset names are compared fuzzily e.g. UTF-8 is equivalent to utf8.The name of a charset.(All canonical charset names and aliases.*Lookup a charset from a name or alias, or  if no such charset exists.The default charset, UTF-8.yUnsafely load a converter from a charset. The resulting converter is not thread-safe, and may fail for invalid charsets.0Convert a Unicode string into a codepage string.0Convert a codepage string into a Unicode string.  None A formatted email header.!;The encoding used for binary characters in an encoded word."#Base 64 encoding of all characters.#Quoted-printable encoding. Spaces are represented with underscores, and undisplayable characters are represented as hex pairs.$Rendering options.&The maximum line width.'#The indent of each line, in spaces.(7The charset used to encode text outside US-ASCII range.)+The header encoding used for encoded words.*pDefault rendering options, which uses a line width of 80, and indent of 2, and utf-8 quated-printable encoding.+>Render a document with the given options and initial position.,xConstruct a primitive document from a layout function. The function takes two parameters: the rendering options, and a ^ which indicates whether the containing group is laid out horizontally instead of vertically.+Flatten a layout, removing all line breaks.-=Specify an alternative layout with all line breaks flattened.. Construct a   from a  and a length./ Construct a   from a .0 Construct a   from a .1 Construct a  from a .2A space layout.3#A newline layout. This will emit a CRLF( pair, break to a new line, and indent.4.A line break. If undone, behaves like a space.5&A line break. If undone, behaves like .6AA space if the remaining layout fits, and a line break otherwise.7: if the remaining layout fits, and a line break otherwise.8Concatenate with a 6 in between.9GSeparate a list with spaces if it fits. Otherwise, separate with lines.:punctuate p xs appends p to every element of xs but the last." !"#$%&'()*+,-./0123456789: !"#$%&'()*+,-./0123456789:$%&'()!#"* +,-./0123456789: !#"$%&'()*+,-./0123456789:8None+'Concatenate the results of two parsers.Repeat and concatenate. Return a  value, and  a  value. Return a  value, and  a  value.Run a  as a strict .;Skip folding whitespace./Parse a comment, including all nested comments.<(Skip any comments or folding whitespace.=%Parse a value followed by whitespace.>)Parse a character followed by whitespace.CQuickly (and unsafely) convert a digit to the number it represents.Parse a fixed number of digits.4Parse a number lexeme with a fixed number of digits.Parse a hexadecimal pair.qParse an token lexeme consisting of all printable characters, but disallowing the specified special characters.IParse an atom, which contains ASCII letters, digits, and the characters "!#$%&'*+-/=?^_`{|}~".7Parse a dot-atom, or an atom which may contain periods.HA MIME token, which contains ASCII letters, digits, and the characters "!#$%'*+-^_`{|}~.".A case-insensitive MIME token.Parse a quoted-string.'Parse an encoded word, as per RFC 2047.Return a quoted string as-is.>Parse an email address, stripping out whitespace and comments.1Parse an address specification in angle brackets. Parse two or more occurences of p, separated by sep.|Parse a list of elements, with possibly null entries in between separators. At least one entry or separator will be parsed.?.Parse a list of elements, separated by commas.@kParse a date and time. TODO: non-numeric timezones (such as "PDT") are considered equivalent to UTC time.)Parse an email address in angle brackets.AParse an email address.BParse a  .CParse a list of  es.DParse a .EParse a list of s.FParse a message identifier.G$Parse a list of message identifiers.cCombine a list of text elements (atoms, quoted strings, encoded words, etc.) into a larger phrase.HParse a phrase. Adjacent encoded words are concatenated. White space is reduced to a single space, except when quoted or part of an encoded word.I(Parse a comma-separated list of phrases.JParse unstructured text. Adjacent encoded words are concatenated. White space is reduced to a single space, except when part of an encoded word.K-Parse the MIME version (which should be 1.0).LParse the content type.M$Parse the content transfer encoding.+;<=>?@ABCDEFGHIJKLM;<=>?@ABCDEFGHIJKLM;<=>?@ABCDEFGHIJKLM+;<=>?@ABCDEFGHIJKLMNoneN(Lookup and parse a header with a parser.OLookup and parse a structured header with a parser. This skips initial comments and folding white space, and ensures that the entire body is consumed by the parser.PGet the value of the Date: field.QGet the value of the From: field.RGet the value of the Sender: field.SGet the value of the  Reply-To: field.TGet the value of the To: field.UGet the value of the Cc: field.VGet the value of the Bcc: field.WGet the value of the  Message-ID: field.XGet the value of the  In-Reply-To: field.YGet the value of the  References: field.ZGet the value of the Subject: field.[Get the value of the  Comments: field.\Get the value of the  Keywords: field.]Get the value of the  Resent-Date: field.^Get the value of the  Resent-From: field._Get the value of the Resent-Sender: field.`Get the value of the  Resent-To: field.aGet the value of the  Resent-Cc: field.bGet the value of the  Resent-Bcc: field.cGet the value of the Resent-Message-ID: field.dGet the value of the  MIME-Version: field.eGet the value of the  Content-Type: field.fGet the value of the Content-Transfer-Encoding: field.gGet the value of the  Content-ID: field.NOPQRSTUVWXYZ[\]^_`abcdefgNOPQRSTUVWXYZ[\]^_`abcdefgNOPQRSTUVWXYZ[\]^_`abcdefgNOPQRSTUVWXYZ[\]^_`abcdefgNonehSeparate a group with commas. Surround a   with angle brackets.Render a case-insensitive .iFormat a date and time.jFormat an address.&Format an address with angle brackets.k Format a  .lFormat a list of  es.m Format a .nFormat a list of s.oFormat a message identifierp%Format a list of message identifiers.&Convert a word to a hexadecimal value.Encode a word.bSplit nonempty text into a layout that fits the given width and the remainder. TODO: inefficientLayout text as an encoded word.Encode text as an encoded word.BEncode text, given a predicate that checks for illegal characters.q3Format a phrase. The text is encoded as is, unless:YThe text contains leading or trailing whitespace, or more than one space between wordsAny word begins with =?$Any word contains illegal charactersrFormat a list of phrases.s<Format unstructured text. The text is encoded as is, unless:YThe text contains leading or trailing whitespace, or more than one space between wordsAny word begins with =?$Any word contains illegal characterstFormat the MIME version.u'Format the content type and parameters.v%Format the content transfer encoding.hijklmnopqrstuvhijklmnopqrstuvhijklmnopqrstuvhijklmnopqrstuvNonewRender a list of headers.Render a header.Build a header field.x Create a Date: field.y Create a From: field.z Create a Sender: field.{ Create a  Reply-To: field.| Create a To: field.} Create a Cc: field.~ Create a Bcc: field. Create a  Message-ID: field. Create a  In-Reply-To: field. Create a  References: field. Create a Subject: field. Create a  Comments: field. Create a  Keywords: field. Create a  Resent-Date: field. Create a  Resent-From: field. Create a Resent-Sender: field. Create a  Resent-To: field. Create a  Resent-Cc: field. Create a  Resent-Bcc: field. Create a Resent-Message-ID: field. Create a  MIME-Version: field. Create a  Content-Type: field. Create a Content-Transfer-Encoding: field. Create a  Content-ID: field.wxyz{|}~$ !"#$%&'()*wxyz{|}~$$%&'()!#"* wxyz{|}~wxyz{|}~        !"#$%&'())*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZJ[\]^_`abcdefOPQgCDEFGHIJKLMNOPQhTUVWXYZJ[\]^_`abcdefOPQgijklmnopqrstuvwxlyzv{|}~llmlyllemail-header-0.2.0Network.Email.Header.TypesNetwork.Email.Header.LayoutNetwork.Email.CharsetNetwork.Email.Header.DocNetwork.Email.Header.ParserNetwork.Email.Header.ReadNetwork.Email.Header.PrettyNetwork.Email.Header.Render ParametersMimeTypemimeType mimeSubtype MessageID RecipientGroup IndividualMailbox displayNamemailboxAddressAddress HeaderField HeaderNameHeadersLayoutlayoutspanbreakpositionnicestCharset charsetNamecharsets lookupCharsetdefaultCharset fromUnicode toUnicodeDocEncodingBase64QP RenderOptions lineWidthindentcharsetencodingdefaultRenderOptionsrenderprimgroupbuilderstring byteStringtextspacenewlineline linebreaksoftline softbreaksep punctuatefwscfwslexemesymbolcommaSepdateTimeaddressmailbox mailboxList recipient recipientList messageID messageIDListphrase phraseList unstructured mimeVersion contentTypecontentTransferEncodingfieldstructuredFielddatefromsenderreplyTotoccbcc inReplyTo referencessubjectcommentskeywords resentDate resentFrom resentSenderresentToresentCc resentBccresentMessageID contentID renderHeaders runLayout LayoutStep$fMonoidLayoutbase Data.MaybeNothing unsafeLoad $fOrdCharset $fEqCharsetghc-prim GHC.TypesBoolflattenbytestring-0.10.4.0 Data.ByteString.Builder.InternalBuilderGHC.BaseStringData.ByteString.Internal ByteString text-1.2.0.0Data.Text.Internal.LazyText Data.MonoidmemptyUnionCatPrimEmpty $fIsStringDoc $fMonoidDoc<+> concatMany parseMaybeJustfail parseEither Data.EitherRightLeft toByteStringcomment fromDigitdigitsnumberhexPair tokenWithatomdotAtomtokentokenCI quotedString encodedWord scanStringaddrSpec angleAddrSpecsepBy2optionalSepBy1 angleAddr fromElementsangle byteStringCIhex encodeWord splitWord layoutText encodeText renderText renderHeader buildField