úί2©ü^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]portable experimentalemertens@galois.comEncode a string using  and store the result in a ^. Decode a string using  using a ^ as input. > | This is not safe but it is necessary if UTF-8 encoded text  | has been loaded into a ^ prior to being decoded. _CEncode a Haskell String to a list of Word8 values, in UTF8 format. LDecode a UTF8 string packed into a list of Word8 values, directly to String  :Converts a Haskell string into a UTF8 encoded bytestring. 9Convert 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. /Try to extract a character from a byte string.  Returns `0 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'. *Split 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 then n) characters, then we return the whole of s. drop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. @Split a string into two parts: the first is the longest prefix F 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 M 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. 2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. &Traverse a bytestring (right biased). %Traverse a bytestring (left biased). + This fuction is strict in the acumulator. ;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. %Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. %Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also .     BThe type of strngs that are represented using tthe UTF8 encoding. E The parameters is the type of the container for the representation. a !6Converts a Haskell string into a UTF8 encoded string.  Complexity: linear. "5Convert a UTF8 encoded string into a Haskell string. $ Invalid characters are replaced by replacement_char.  Complexity: linear. #DChecks if there are no more bytes in the underlying representation. $*Split after a given number of characters. / Negative values are treated as if they are 0.  See also  bytesSplitAt. %FSplit after a given number of bytes in the underlying representation.  See also $. &HTake only the given number of bytes from the underlying representation.  See also (. 'CDrop 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 then n) characters, then we return the whole of s. )drop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. *@Split a string into two parts: the first is the longest prefix F 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 M 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. ,2Get the first character of a byte string, if any. $ Invalid characters are replaced by replacement_char. -?Extract the first character for the underlying representation, @ if one is avaialble. It also returns the number of bytes used ) in the representation of the character.  See also ,,  dropBytes. .&Traverse a bytestring (right biased). /%Traverse a bytestring (left biased). , This fuction is strict in the accumulator. 0;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. F The function is linear in the number of bytes in the representation. 1%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. 2%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also 1.  !"#$%&'()*+,-./012!" ,$()*+/.012#-%&' !"#$%&'()*+,-./012portable experimentalemertens@galois.combEncode a string in UTF8 form. cDecode a string from UTF8 d$Convert a list of bytes to a String eString to list of bytes. 3The 37 function outputs a value of any printable type to the 8 standard output device. This function differs from the L System.IO.print in that it preserves any UTF8 encoding of the shown value. 42Write a UTF8 string to the standard output device 5 The same as 4 , but adds a newline character. 60Read a UTF8 line from the standard input device 7The 7 function combines 6 and readIO, preserving UTF8 8The 8 function reads a file and 4 returns the contents of the file as a UTF8 string. - The file is read lazily, on demand, as with ?. 9The computation 9 file str! function writes the UTF8 string str,  to the file file. :The computation : file str" function appends the UTF8 string str,  to the file file. ;Read a UTF8 line from a Handle <(Lazily read a UTF8 string from a Handle =!Write a UTF8 string to a Handle. >6Write a UTF8 string to a Handle, appending a newline. ?$Lazily read stdin as a UTF8 string. 3456789:;<=>? 3456789:?;<=> 3456789:;<=>?@:Converts a Haskell string into a UTF8 encoded bytestring. A9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. B@This character is used to mark errors in a UTF8 encoded string. C/Try to extract a character from a byte string.  Returns `0 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'. D*Split after a given number of characters. / Negative values are treated as if they are 0. Etake n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. Fdrop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. G@Split a string into two parts: the first is the longest prefix F 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. H@Split a string into two parts: the first is the longest prefix M 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. I2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. J&Traverse a bytestring (right biased). K%Traverse a bytestring (left biased). + This fuction is strict in the acumulator. L;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. M%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. N%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also M. @ABCDEFGHIJKLMNCBIDEFGH@AKJLMN@ABCDEFGHIJKLMNO:Converts a Haskell string into a UTF8 encoded bytestring. P9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. Q@This character is used to mark errors in a UTF8 encoded string. R/Try to extract a character from a byte string.  Returns `0 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'. S*Split after a given number of characters. / Negative values are treated as if they are 0. Ttake n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. Udrop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. V@Split a string into two parts: the first is the longest prefix F 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. W@Split a string into two parts: the first is the longest prefix M 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. X2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. Y&Traverse a bytestring (right biased). Z%Traverse a bytestring (left biased). + This fuction is strict in the acumulator. [;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. \%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. ]%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also \. OPQRSTUVWXYZ[\]RQXSTUVWOPZY[\]OPQRSTUVWXYZ[\]f       !"#$%&'()*+ !"#$%,-./012345678 !"#$% !"#$%9:;<9=>?  @AButf8-string-0.3.1Data.ByteString.Lazy.UTF8Data.ByteString.UTF8Codec.Binary.UTF8.StringCodec.Binary.UTF8.GenericData.String.UTF8System.IO.UTF8bytestring-0.9.1.7Data.ByteString.Lazy.Internal ByteStringData.ByteString.Internal encodeString decodeStringencodedecode UTF8Bytesbsplitbdropbuncons elemIndexemptynullpacktail fromStringtoStringreplacement_charsplitAttakedropspanbreakunconsfoldrfoldllengthlineslines'UTF8fromReptoRep byteSplitAtbyteTakebyteDropprintputStrputStrLngetLinereadLnreadFile writeFile appendFilehGetLine hGetContentshPutStr hPutStrLn getContentsbaseGHC.BaseStringreplacement_character Data.MaybeNothingStr bytesToString stringToBytes