u[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZNone 9:;<=IL["A compiled Template with metadata.*Type of key used for retrieving data from  sBA collection of templates with quick access via their hashed namesConversion class Internal value representation?Representation of stateful context for the substitution processSource type for constructing sA map-like structure used in  A list-like structure used in  /Kinds of identifiers for Variables and sections Basic values composing the STree"#Syntax tree for a mustache template$4Type of errors we may encounter during substitution.%`The template contained a variable for which there was no data counterpart in the current context&UWhen substituting an implicit section the current context had an unsubstitutable type'-Inverted implicit sections should never occur(_The template contained a section for which there was no data counterpart in the current context)_The template contained a partial for which there was no data counterpart in the current context*\A complex value such as an Object or Array was directly rendered into the template (warning)+(Search for a key in the current context.The search is conducted inside out mening the current focus is searched first. If the key is not found the outer scopes are recursively searched until the key is found, then , is called on the result.,{Searches nested scopes navigating inward. Fails if it encunters something other than an object before the key is expended.][  !"#\]$%&'()*^_`a+,bcdefghijklmnopqrstuvwxyz{|}~7[   !"#\]$%&'()*^_`a+,bcd>[   !"#\]$%&'()*^_`a+,bcdefghijklmnopqrstuvwxyz{|}~Types and conversions(c) Justus Adam, 2015BSD3dev@justus.science experimentalPOSIXNoneL[-0Convenience function for creating Object values.<This function is supposed to be used in conjuction with the . and 0 operators.Examples  data Address = Address { ... } instance Address ToJSON where ... data Person = Person { name :: String, address :: Address } instance ToMustache Person where toMustache (Person { name, address }) = object [ "name" ~> name , "address" ~= address ] $Here we can see that we can use the .- operator for values that have themselves a [ instance, or alternatively if they lack such an instance but provide an instance for the ToJSON typeclass we can use the 0 operator.."Map keys to values that provide a  instance$Recommended in conjunction with the OverloadedStrings extension./Unicode version of .0"Map keys to values that provide a ToJSON instance$Recommended in conjunction with the OverloadedStrings extension.1Unicode version of 02<Converts a value that can be represented as JSON to a Value.-./01234,   !"#-./01234-!"  -./012#34-./01234.8/808184Basic functions for dealing with mustache templates.(c) Justus Adam, 2015BSD3dev@justus.science experimentalPOSIXNone#:<=L[5The parser monad in use6User state for the parser7$Initial configuration for the parser: #; / >< ^={ and }> &? =@ . ! .?Cannot be a letter, number or the nesting separation Character .Empty configurationA1Default configuration (delimiters = ("{{", "}}"))BCRuns the parser for a mustache template, returning the syntax tree.C*Parse using a custom initial configuration,56789:;<=>?@ABC56789:;<=>?@ABCBC789A56:;<=>?@!56789:;<=>?@ABCTypes and conversions(c) Justus Adam, 2015BSD3dev@justus.science experimentalPOSIXSafeL[+Functions for rendering mustache templates.(c) Justus Adam, 2015BSD3dev@justus.science experimentalPOSIXNone9;IL[DdSubstitutes all mustache defined tokens (or tags) for values found in the provided data structure.Equivalent to substituteValue . toMustache.ESubstitutes all mustache defined tokens (or tags) for values found in the provided data structure and report any errors and warnings encountered during substitution.This function always produces results, as in a fully substituted/rendered template, it never halts on errors. It simply reports them in the first part of the tuple. Sites with errors are usually substituted with empty string.The second value in the tuple is a template rendered with errors ignored. Therefore if you must enforce that there were no errors during substitution you must check that the error list in the first tuple value is empty.Equivalent to #checkedSubstituteValue . toMustache.FdSubstitutes all mustache defined tokens (or tags) for values found in the provided data structure.GSubstitutes all mustache defined tokens (or tags) for values found in the provided data structure and report any errors and warnings encountered during substitution.This function always produces results, as in a fully substituted/rendered template, it never halts on errors. It simply reports them in the first part of the tuple. Sites with errors are usually substituted with empty string.The second value in the tuple is a template rendered with errors ignored. Therefore if you must enforce that there were no errors during substitution you must check that the error list in the first tuple value is empty.H4Catch the results of running the inner substitution.ISubstitute an entire " rather than just a single JMain substitution functionK<Converts values to Text as required by the mustache standardDEFGHIJKLMNOP#$%&'()*+,DEFGHIJKDFEG$%&'()*+,#JIHKDEFGHIJKLMNOP4Basic functions for dealing with mustache templates.(c) Justus Adam, 2015BSD3dev@justus.science experimentalPOSIXNoneL[ QOCompiles a mustache template provided by name including the mentioned partials.$The same can be done manually using W, mustacheParser and V.This function also ensures each partial is only compiled once even though it may be included by other partials including itself.QA reference to the included template will be found in each including templates  section.RLCompile the template with the search space set to only the current directorySjCompile a mustache template providing a list of precompiled templates that do not have to be recompiled.T*Flatten a list of Templates into a single TemplateChacheU Compiles a  directly from > without checking for missing partials. the result will be a  with an empty  cache.V<Find the names of all included partials in a mustache STree.Same as join . fmap getPartials'Find partials in a single NodeWgetFile searchSpace file+ iteratively searches all directories in  searchSpace for a fileY returning it if found or raising an error if none of the directories contain the file. This trows 7s to be compatible with the internal Either Monad of S.XCompile a mustache  at compile time. Usage: {-# LANGUAGE QuasiQuotes #-} import Text.Mustache.Compile (mustache) foo :: Template foo = [mustache|This is my inline {{ template }} created at compile time|]-Partials are not supported in the QuasiQuoterYCompile a mustache B at compile time providing a search space for any partials. Usage: {-# LANGUAGE TemplateHaskell #-} import Text.Mustache.Compile (embedTemplate) foo :: Template foo = $(embedTemplate ["dir", "dir/partials"] "file.mustache")ZCompile a mustache  at compile time. Usage: {-# LANGUAGE TemplateHaskell #-} import Text.Mustache.Compile (embedTemplate) foo :: Template foo = $(embedTemplate "dir/file.mustache")1Partials are not supported in embedSingleTemplateQRSTUVWXYZ QRSTUVWXYZ QRSUTVWXYZQRSTUVWXYZ4Basic functions for dealing with mustache templates.(c) Justus Adam, 2015BSD3dev@justus.science experimentalPOSIXNoneL[-.0DEFGQRSUQRSUDEFG-.0      !"#$%&'()*+,-./0123456789:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^'_`abcdefghijklmnopqrOstuvwxyz{|}~:%mustache-2.2.2-JMLDroACw9NKwvjY3kGFG7Text.Mustache.TypesText.Mustache.RenderText.Mustache.ParserText.Mustache.CompileText.Mustache.Internal.TypesText.Mustache.Internal Text.MustacheTemplatenameastpartialsKey TemplateCache ToMustache toMustacheValueObjectArrayNumberStringLambdaBoolNullContext ctxtParents ctxtFocusPairDataIdentifier NamedDataImplicitNode TextBlockSectionInvertedSectionVariablePartialASTreeSTreeSubMSubstitutionErrorVariableNotFound!InvalidImplicitSectionContextTypeInvertedImplicitSectionSectionTargetNotFoundPartialNotFoundDirectlyRenderedValuesearch innerSearchobject~>↝~=⥱ mFromJSON askContext askPartialsParser MustacheState MustacheConf delimiters sectionBegin sectionEndinvertedSectionBegin unescape2 unescape1delimiterChangenestingSeparator defaultConfparse parseWithConf substitutecheckedSubstitutesubstituteValuecheckedSubstituteValuecatchSubstitute substituteASTsubstituteNodetoString$fToMustache(->)$fToMustache(->)0$fToMustache(->)1$fToMustache(->)2$fToMustache(->)3automaticCompilelocalAutomaticCompilecompileTemplateWithCache cacheFromListcompileTemplate getPartialsgetFilemustache embedTemplateembedSingleTemplatelistToMustacherunSubM' tellError tellSuccessrunSubM shiftContextlistToMustache'mapInstanceHelperhashMapInstanceHelper $fLiftText $fLiftHashMap$fToMustache(,,,,,,,)$fToMustache(,,,,,,)$fToMustache(,,,,,)$fToMustache(,,,,)$fToMustache(,,,)$fToMustache(,,)$fToMustache(,)$fToMustacheSet$fToMustacheHashSet$fToMustacheValue$fToMustacheHashMap$fToMustacheHashMap0$fToMustacheHashMap1$fToMustacheMap$fToMustacheMap0$fToMustacheMap1$fToMustacheVector$fToMustacheSeq$fToMustache[]$fToMustacheScientific$fToMustacheText$fToMustacheText0$fToMustacheMaybe$fToMustache()$fToMustacheBool$fToMustacheValue0$fToMustacheChar$fToMustacheInt$fToMustacheInteger$fToMustacheDouble$fToMustacheFloat $fShowValue$fLiftDataIdentifier $fLiftNode$fLiftTemplate partialBegincommentimplicitIteratorisAllowedDelimiterCharacter emptyState ParseTagRes SectionBegin SectionEndTag HandledTag sDelimiters textStackisBeginngingOfLinecurrentSectionNameallowedDelimiterCharacter initStatesetIsBeginning<< endOfLine parseTextappendStringStack continueLine flushText finishFile parseLinecontinueFromTag switchOnTaggenParseTagEnduncons escapeXMLText escapeXML xmlEntities showValueType handleIndentindentBy lambdaHelper#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText getPartials'$parsec-3.1.11-37j7M1YEHqtEooY7BpJdriText.Parsec.Error ParseErrorflattenPartials fileAndLinecompileTemplateTHaddDependentRelativeFile fileNotFound