úγ1®IT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS(c) Eric Mertens 2007BSD3-style (see LICENSE)emertens@galois.com experimentalportable TrustworthyEncode a string using  and store the result in a T.Decode a string using  using a Tc as input. | This is not safe but it is necessary if UTF-8 encoded text | has been loaded into a T prior to being decoded.GEncode a single Haskell Char to a list of Word8 values, in UTF8 format.BEncode a Haskell String to a list of Word8 values, in UTF8 format.KDecode a UTF8 string packed into a list of Word8 values, directly to Stringutf8Encode str. is a convenience function; checks to see if str“ isn't UTF-8 encoded before doing so. Sometimes useful, but you are better off keeping track of the encoding so as to avoid the cost of checking.isUTF8Encoded str8 tries to recognize input string as being in UTF-8 form.UU(c) Iavor S. Diatchki 2009BSD3-style (see LICENSE)emertens@galois.com experimentalportable Trustworthy24689Converts a Haskell string into a UTF8 encoded bytestring._Convert a UTF8 encoded bytestring into a Haskell string. Invalid characters are replaced with '\xFFFD'.?This character is used to mark errors in a UTF8 encoded string.8Try to extract a character from a byte string. Returns V² if there are no more bytes in the byte string. Otherwise, it returns a decoded character and the number of bytes used in its representation. Errors are replaced by character  '\0xFFFD'.XSplit after a given number of characters. Negative values are treated as if they are 0.take n s returns the first n characters of s. If s has less than n) characters, then we return the whole of s.drop n s returns the s without its first n characters. If s has less than n, characters, then we return an empty string.ÉSplit a string into two parts: the first is the longest prefix that contains only characters that satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate.ÐSplit a string into two parts: the first is the longest prefix that contains only characters that do not satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate.XGet the first character of a byte string, if any. Malformed characters are replaced by  '\0xFFFD'.%Traverse a bytestring (right biased).QTraverse a bytestring (left biased). This function is strict in the accumulator.kCounts the number of characters encoded in the bytestring. Note that this includes replacement characters.>Split a string into a list of lines. Lines are terminated by '\n'b or the end of the string. Empty lines may not be terminated by the end of the string. See also  'lines\''. >Split a string into a list of lines. Lines are terminated by '\n'Œ or the end of the string. Empty lines may not be terminated by the end of the string. This function preserves the terminators. See also .  WXYZ[       WXYZ[(c) Iavor S. Diatchki 2009BSD3-style (see LICENSE)emertens@galois.com experimentalportable Trustworthy6!…The type of strings that are represented using the UTF8 encoding. The parameter is the type of the container for the representation.$JConverts a Haskell string into a UTF8 encoded string. Complexity: linear.%YConvert a UTF8 encoded string into a Haskell string. Invalid characters are replaced by replacement_char. Complexity: linear.&CChecks if there are no more bytes in the underlying representation.'cSplit after a given number of characters. Negative values are treated as if they are 0. See also  bytesSplitAt.(PSplit after a given number of bytes in the underlying representation. See also '.)RTake only the given number of bytes from the underlying representation. See also +.*MDrop the given number of bytes from the underlying representation. See also ,.+take n s returns the first n characters of s. If s has less than n) characters, then we return the whole of s.,drop n s returns the s without its first n characters. If s has less than n, characters, then we return an empty string.-ÉSplit a string into two parts: the first is the longest prefix that contains only characters that satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate..ÐSplit a string into two parts: the first is the longest prefix that contains only characters that do not satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as replacement_char to the predicate./VGet the first character of a byte string, if any. Invalid characters are replaced by replacement_char.0²Extract the first character for the underlying representation, if one is available. It also returns the number of bytes used in the representation of the character. See also /,  dropBytes.1%Traverse a bytestring (right biased).2QTraverse a bytestring (left biased). This function is strict in the accumulator.3±Counts the number of characters encoded in the bytestring. Note that this includes replacement characters. The function is linear in the number of bytes in the representation.4>Split a string into a list of lines. Lines are terminated by '\n'b or the end of the string. Empty lines may not be terminated by the end of the string. See also  'lines\''.5>Split a string into a list of lines. Lines are terminated by '\n'Œ or the end of the string. Empty lines may not be terminated by the end of the string. This function preserves the terminators. See also 4.!\"#$%&'()*+,-./012345] !"#$%&'()*+,-./012345! $%"#/'+,-.21345&0()*!\"#$%&'()*+,-./012345](c) Iavor S. Diatchki 2009BSD3-style (see LICENSE)emertens@galois.com experimentalÿportable This module provides fast, validated encoding and decoding functions between 'ByteString's and 'String's. It does not exactly match the output of the Codec.Binary.UTF8.String output for invalid encodings as the number of replacement characters is sometimes longer. Trustworthy69Converts a Haskell string into a UTF8 encoded bytestring.7_Convert a UTF8 encoded bytestring into a Haskell string. Invalid characters are replaced with '\xFFFD'.8?This character is used to mark errors in a UTF8 encoded string.98Try to extract a character from a byte string. Returns V² if there are no more bytes in the byte string. Otherwise, it returns a decoded character and the number of bytes used in its representation. Errors are replaced by character  '\0xFFFD'.:XSplit after a given number of characters. Negative values are treated as if they are 0.;take n s returns the first n characters of s. If s has less than n) characters, then we return the whole of s.<drop n s returns the s without its first n characters. If s has less than n, characters, then we return an empty string.=ÉSplit a string into two parts: the first is the longest prefix that contains only characters that satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate.>ÐSplit a string into two parts: the first is the longest prefix that contains only characters that do not satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate.?XGet the first character of a byte string, if any. Malformed characters are replaced by  '\0xFFFD'.@%Traverse a bytestring (right biased).AQTraverse a bytestring (left biased). This function is strict in the accumulator.BkCounts the number of characters encoded in the bytestring. Note that this includes replacement characters.C>Split a string into a list of lines. Lines are terminated by '\n'b or the end of the string. Empty lines may not be terminated by the end of the string. See also  'lines\''.D>Split a string into a list of lines. Lines are terminated by '\n'Œ or the end of the string. Empty lines may not be terminated by the end of the string. This function preserves the terminators. See also C.^ Create ByteString of up to size l and use action f3 to fill it's contents which returns its true size.6789:;<=>?@ABCD_^6789:;<=>?@ABCD98?:;<=>67A@BCD6789:;<=>?@ABCD_^(c) Iavor S. Diatchki 2009BSD3-style (see LICENSE)emertens@galois.com experimentalÿportable This module provides fast, validated encoding and decoding functions between 'ByteString's and 'String's. It does not exactly match the output of the Codec.Binary.UTF8.String output for invalid encodings as the number of replacement characters is sometimes longer. TrustworthyE9Converts a Haskell string into a UTF8 encoded bytestring.F_Convert a UTF8 encoded bytestring into a Haskell string. Invalid characters are replaced with '\xFFFD'.G?This character is used to mark errors in a UTF8 encoded string.H8Try to extract a character from a byte string. Returns V² if there are no more bytes in the byte string. Otherwise, it returns a decoded character and the number of bytes used in its representation. Errors are replaced by character  '\0xFFFD'.IXSplit after a given number of characters. Negative values are treated as if they are 0.Jtake n s returns the first n characters of s. If s has less than n) characters, then we return the whole of s.Kdrop n s returns the s without its first n characters. If s has less than n, characters, then we return an empty string.LÉSplit a string into two parts: the first is the longest prefix that contains only characters that satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate.MÐSplit a string into two parts: the first is the longest prefix that contains only characters that do not satisfy the predicate; the second part is the rest of the string. Invalid characters are passed as  '\0xFFFD' to the predicate.NXGet the first character of a byte string, if any. Malformed characters are replaced by  '\0xFFFD'.O%Traverse a bytestring (right biased).PQTraverse a bytestring (left biased). This function is strict in the accumulator.QkCounts the number of characters encoded in the bytestring. Note that this includes replacement characters.R>Split a string into a list of lines. Lines are terminated by '\n'b or the end of the string. Empty lines may not be terminated by the end of the string. See also  'lines\''.S>Split a string into a list of lines. Lines are terminated by '\n'Œ or the end of the string. Empty lines may not be terminated by the end of the string. This function preserves the terminators. See also R.EFGHIJKLMNOPQRSEFGHIJKLMNOPQRSHGNIJKLMEFPOQRSEFGHIJKLMNOPQRS`      !"#$%&'()*+,- !"#$%&' !"#$%&' !"#$%&'./01.23456789:;<=utf8-string-1.0.1.1Data.ByteString.Lazy.UTF8Data.ByteString.UTF8Codec.Binary.UTF8.StringCodec.Binary.UTF8.GenericData.String.UTF8bytestring-0.10.4.0Data.ByteString.Lazy.Internal ByteStringData.ByteString.Internal encodeString decodeString encodeCharencodedecode utf8Encode isUTF8Encoded UTF8Bytesbsplitbdropbuncons elemIndexemptynullpacktail fromStringtoStringreplacement_charsplitAttakedropspanbreakunconsfoldrfoldllengthlineslines'UTF8fromReptoRep byteSplitAtbyteTakebyteDropbaseGHC.BaseStringreplacement_character Data.MaybeNothingunconsBunconsL$fUTF8Bytes[]Int$fUTF8BytesByteStringInt64$fUTF8BytesByteStringIntStr $fShowUTF8 createUptoN'unsafeCreateUptoN'