úÎL¶G2      Safe259;HState monad providing context, i.e. function we've already called before.datatype for a token returning a random string$Pretoken, aka token as first read in dataype for a key aka token name0datatype for a double representing a probabilityFunction to transform a 8 into a `Tree String` so that it can be pretty-printed. tokToTree 1.0 tok@Compare inside the state monad using only the underlying objectsMake O a monoid so we can append them together nicely (since they do generate text). d(Value "Hello") <> (List [(0.5," you"), (0.5, " me")]) (List [(0.5,"Hello you"), (0.5, "Hello me")])   None259; Draw as a syntax Tree"Get directory associated to a file1Function to apply a value on both arguments, e.g. between .$ (symbol "\'")0Normalize pre-tokens/corresponding probabilities-Helper function for creating a cdf from a pdfShow as a T.TextPretty-print a ParseErrorStrip a pre-token's name Read a file in as a Text!cAdd a PR for this? Could be useful in Megaparsec idk Allows us to use monoidal addition on parsers  !    !None25Datatype for a semantic error"5Throw custom error given by string, within the parser#Throw  error within parser$+Throws argument for circular function calls%'Throws error for insufficient arguments&Constant to start s' Convert a Text to a ( for use with a pretty-printer)*big semantics checker that sequences stuff*'helper to filter out stuff that doesn't+fTake the head of the list, or throw the appropriate error given which functions we are trying to call.,:Access argument, or throw error if the list is too short. -'checker to verify there is at most one  `:return` statement. Checks that we have at most one  `:return` template in the file/Derived via our show instance;0 display a ! nicely with coloration & whatnot"#$%&')*+,-./0"#$%&')*+,-."#$%&')*+,-./0None25 Generate randomized text from a 15Helper function to compute the cdf when we have a pdf111None252Get the :return value3(Convert the stuff after the number to a 46Build token in tree structure, without concatenating. 52Build the token without concatenating, yielding a $ suitable to be printed as a tree. 6+Given keys naming the tokens, and lists of  , build our 7PSort the keys that we have parsed so that dependencies are in the correct places8.Ordering on the keys to account for dependency 9:;2345678 9:;2345678 9:;2345678None25<1Parse a lexeme, aka deal with whitespace nicely. =*space consumer with awareness for comments>6parse a symbol, i.e. string plus surrouding whitespace?Parse a number/probability@Parse an integerA-Make sure definition blocks start un-indentedB0Make contents of definition blocks are indented.CParse between quotesDParse a keywordE Parse a varF Parse the F keyword.G Parse the G keyword.H Parse the  `:return` keyword.I&Parse a template name (what follows a  `:define` or J block)KParse a modifierLParse template into a  of referents and stringsM*Parse a probability/corresponding templateN Parse an GOParse a F blockP Parse the  `:return` blockQParse the program in terms of  and the s to link them. QParse text as a token + context (aka a reader monad with all the other functions)RParse text as token + contextS!Parse text as a list of functionsT@Parse text as a list of tokens, suitable for printing as a tree. Parse text as a token 'f <- readFile "template.mad" parseTok f| Parse text given a contextU8Parse text as a token, suitable for printing as a tree..VParse inclustions<=>?@ABCDEFGHIKLMNOPQ RST UV<=>?@ABCDEFGHIKLMNOPQ RST UV<=>?@ABCDEFGHIKLMNOPQ RST UVNone25 Parse a template file into the  data typeW'Generate text from file with inclusions :Generate randomized text from a file conatining a templateXRun in the appropriate folderYGet file as context BParse a template into a RandTok suitable to be displayed as a tree W XZY  W XZY  W XZY None25 [datatype for the subcommands\datatype for the program]/Parser for command-line options for the program^Parser for debug subcommand_Parser for the run subcommand`Parser for the lint subcommandMain program actionaWraps parser with help parserb7given a parsed record perform the appropriate IO action[cdefgh\ijk]^_`ab[cdegfh\ijk]^_`ab [cdefghh\ijk]^_`abNone25  l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg h i j k l m n o p q r s t u i v wx&madlang-2.1.1.2-B1AaDN2X3QD22rw9yg7JZz Text.MadlibsText.Madlibs.Internal.TypesText.Madlibs.Internal.UtilsText.Madlibs.Cata.SemErrText.Madlibs.Cata.RunText.Madlibs.Ana.ParseUtilsText.Madlibs.Ana.ParseText.Madlibs.Ana.ResolveText.Madlibs.Exec.MainContextRandTokListValue SemanticErrorOverloadedReturnsCircularFunctionCallsInsufficientArgsrun parseTokMparseTok parseFilerunFilemakeTree runMadlangPreTokKeyProb tokToTree $fEqStateT$fMonoidRandTokNameapply displayTreegetDir.$ normalizecdfshow'parseErrorPretty'unTok readFile'$fMonoidParsecT customErroroverloadedReturnscircularFunctionCallsinsufficientArgs semErrStarttext',ansi-wl-pprint-0.6.7.3-EqhsHSbxOT2xFHZZJCFwfText.PrettyPrint.ANSI.LeijenDoccheckSemanticssumProbhead'access checkReturn singleReturn$fExceptionSemanticError$fShowSemanticErrormkCdf takeTemplate concatTokbuildTok buildTreebuildsortKeys orderKeys modifierListjumblestriplexeme spaceConsumersymbolfloatinteger nonIndented indentGuardquotekeywordvardefineincludemainnamebaseGHC.BasereturnmodifierpreStrpair inclusions definitionfinalprogram parseTreeM parseTokF parseTreeF parseTreeparseInclusionsgetInclusionCtx runInFolderparseCtxrunText SubcommandProgramordersdebugtemplintwrappertemplateDebugRunLintversionrepclInputssubinput