h$-{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij  Safe-Inferred/ string-interpolateRepresents that we can interpolate objects of type src into a an interpolation string that returns type dst.string-interpolate(Something that can be interpolated into.string-interpolate>Meant to be used only for verbatim parts of the interpolation.string-interpolate should be 'in-order'; that is, the left builder comes from a string on the left, and the right builder comes from a string on the right.string-interpolateDoes this type require special behavior when something is interpolated into it?kstring-interpolateWe wrap the builders in B so that we can add a phantom type parameter. This gives the inner s enough information to know where they're going and pick an instance, forcing all the types into lockstep. klm Safe-Inferredstring-interpolate(Convert a strict ByteString into a Text n, converting any invalid characters into the Unicode replacement character  (U+FFFD). string-interpolate&Convert a lazy ByteString into a Text n, converting any invalid characters into the Unicode replacement character  (U+FFFD). string-interpolateData.ByteString.Builder provides charUtf8 to do this, but it doesn't correctly handle invalid characters.  Safe-Inferred />R Safe-Inferred />(c) William Yao, 2019-2020BSD-3williamyaoh@gmail.com experimentalPOSIX Safe-Inferred/>    Safe-InferredMQRSTUVWSTUVWRQ  Safe-Inferred ostring-interpolateGo the other direction, from a R to the input that produced it.pstring-interpolateRemove min indentation from given lines, using the minimum indentation found within the lines. Gives back warnings for mixed indentation if any are found. qrstuvwxopyz{(c) William Yao, 2019-2021BSD-3williamyaoh@gmail.com experimentalPOSIX Safe-Inferred wZstring-interpolate%Each section here is a list of lines.Content here is defined by the contiguous sequence of lines begining with the first non-blank line and ending with the last non-blank line_string-interpolateGiven the raw input from a quasiquote, parse it into the information we need to output the actual expression.*Returns an error message if parsing fails.`string-interpolateLike _, but for cases where we need to do more complicated transformations on the input. Separates the interpolation input into its content, whitespace header, and whitespace footer.Z[\]^_`aZ[\]^`_a  Safe-Inferred W|string-interpolateCollapse all the lines given into a single line, collapsing any whitespace found into a single space and removing begining/trailing whitespace.|}~Unicode-aware string interpolation that handles all textual types.(c) William Yao, 2019-2021BSD-3williamyaoh@gmail.com experimentalPOSIXNone1dstring-interpolateThe basic, no-frills interpolator. Will interpolate anything you wrap in #{}-, and otherwise leaves what you write alone.estring-interpolateAn interpolator that handles indentation. Will interpolate anything you wrap in #{}, remove leading indentation, and remove any blank lines before and after the content.If the contained interpolation uses both tabs and spaces for indentation, __i will assume the indentation type it finds in the first nonblank line, ignoring indentation of the other type. Please don't use mixed indentation.Note that only indentation you actually write in source code will be stripped; __i does not touch any lines or whitespace inserted by interpolations themselves.0There is no extra performance penalty for using __i.fstring-interpolateLike e-, but leaves any surrounding newlines intact.The way to remember which is which is to look at the suffix character; the multiple horizontal lines of the capital E" suggests multiple textual lines.gstring-interpolateLike e?, but collapses any surrounding newlines into a single newline.The way to remember which is which is to look at the suffix character; the single horizontal line of the capital L0 suggests that it leaves only a single newline.hstring-interpolateAn interpolator that strips excess whitespace. Will collapse any sequences of multiple spaces or whitespace into a single space, putting the output onto a single line with surrounding whitespace removed.Note that only whitespace you actually write in source code will be collapsed; iii does not touch any lines or whitespace inserted by interpolations themselves.0There is no extra performance penalty for using iii.istring-interpolateLike h-, but leaves any surrounding newlines intact.The way to remember which is which is to look at the suffix character; the multiple horizontal lines of the capital E" suggests multiple textual lines.jstring-interpolateLike h?, but collapses any surrounding newlines into a single newline.The way to remember which is which is to look at the suffix character; the single horizontal line of the capital L0 suggests that it leaves only a single newline.defghijdehfgij  Safe-Inferredf   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF2GHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijkllmno p q r r s t u v w x y z { | } ~         1string-interpolate-0.3.1.0-5QEN8eGqYCUHP5w0ZPqdyn"Data.String.Interpolate.Conversion1Data.String.Interpolate.Conversion.ByteStringSink+Data.String.Interpolate.Conversion.TextSinkData.String.Interpolate.TypesData.String.Interpolate.ParseData.String.Interpolate*Data.String.Interpolate.Conversion.Classes+Data.String.Interpolate.Conversion.EncodingData.String.Interpolate.Lines"Data.String.Interpolate.WhitespacePaths_string_interpolateInterpolatable interpolate InterpSinkBuilderofStringbuildfinalize IsCustomSinkbsToTextBuilderlbsToTextBuilderencodeCharUTF8"$fInterpolatableTrueBuilderBuilder%$fInterpolatableTrueByteStringBuilder&$fInterpolatableTrueByteStringBuilder0#$fInterpolatableTrueBuilderBuilder0$fInterpolatableTrueTextBuilder $fInterpolatableTrueTextBuilder0$fInterpolatableTrue[]Builder$fInterpolatableTrueCharBuilder$fInterpolatableTruesrcBuilder%$fInterpolatableTrueBuilderByteString($fInterpolatableTrueByteStringByteString)$fInterpolatableTrueByteStringByteString0&$fInterpolatableTrueBuilderByteString0"$fInterpolatableTrueTextByteString#$fInterpolatableTrueTextByteString0 $fInterpolatableTrue[]ByteString"$fInterpolatableTrueCharByteString!$fInterpolatableTruesrcByteString&$fInterpolatableTrueBuilderByteString1)$fInterpolatableTrueByteStringByteString1)$fInterpolatableTrueByteStringByteString2&$fInterpolatableTrueBuilderByteString2#$fInterpolatableTrueTextByteString1#$fInterpolatableTrueTextByteString2!$fInterpolatableTrue[]ByteString0#$fInterpolatableTrueCharByteString0"$fInterpolatableTruesrcByteString0$fInterpSinkTrueBuilder$fInterpSinkTrueByteString$fInterpSinkTrueByteString0$fInterpolatableTrueBuilderText"$fInterpolatableTrueByteStringText#$fInterpolatableTrueByteStringText0 $fInterpolatableTrueBuilderText0$fInterpolatableTrueTextText$fInterpolatableTrueTextText0$fInterpolatableTrue[]Text$fInterpolatableTrueCharText$fInterpolatableTruesrcText $fInterpolatableTrueBuilderText1#$fInterpolatableTrueByteStringText1#$fInterpolatableTrueByteStringText2 $fInterpolatableTrueBuilderText2$fInterpolatableTrueTextText1$fInterpolatableTrueTextText2$fInterpolatableTrue[]Text0$fInterpolatableTrueCharText0$fInterpolatableTruesrcText0$fInterpSinkTrueText$fInterpSinkTrueText0$fInterpolatableFalseBuilderdst"$fInterpolatableFalseByteStringdst#$fInterpolatableFalseByteStringdst0 $fInterpolatableFalseBuilderdst0$fInterpolatableFalseTextdst$fInterpolatableFalseTextdst0$fInterpolatableFalse[]dst$fInterpolatableFalseChardst$fInterpolatableFalsesrcdst$fInterpSinkFalsestrLinesLine InterpSegment ExpressionVerbatimSpacesTabs$fEqInterpSegment$fShowInterpSegment ParseOutput poHeaderWS poContent poFooterWSparseInterpSegments parseInput dosToUnix$fEqParseOutput$fShowParseOutputi__i__i'E__i'Liiiiii'Eiii'LBunB text-1.2.3.2Data.Text.Internal.Builder displayLine handleIndents IndentWarning indentBase indentLineMindentUsesTabs UsesSpaces isBlankLine mindentation reduceIndentsfindMixedIndentscollapseWhitespace toSingleSpaceremoveSurroundingWSisSpaceversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName