úÎ!1¶,ÞG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFSafe"#7k GHIJKLMNNone"#7Mk· require%Identifies a specific line in a file.require%A type-safe wrapper for line numbers.requireBAssociates a file's contents with the path from which it was read. require\Wraps the name of a file as given by the user. Usually this corresponds to the file's path. require Returns the ' referencing the first line in a given  FileInput.VNote that the tag's line number is 1-based, which fits well with how GHC understands {-# LINE ... #-} pragmas. requireDReturns a line tag from the same file but referencing the next line. require read name. reads the contents of the file identified by name.requirewrite name lines writes all every line in lines to the file identified by name and appends a newline.require6Splits the input into lines and annotates each with a .require Returns the O corresponding a given  .   None"#7k•Safe"#4567kÅrequire=Include the contents of the Requires file directly after the module & where directive.requireGInclude the contents of the Requires file when the user specifies the  autorequire directive.requireDon't do any auto-requiring.require#Describes the contents of a parsed require directive. require riFullModuleName as  riModuleAlias (riImportedTypes) #requiredDescribes the different directives which require special processing during the transformation step.'require9A type-safe wrapper around a fully qualified module name."! #&$%'()'()#&$%"! None"#7k$*PrequireParses a haskell module name.ˆThis parser is a superset of what makes a valid module name in Haskell (e.g. we allow consecutive dots, lower-case first letters etc.).QrequireSkips a haskell line comment.This parser never fails.Rrequire…Extracts the module alias to be used when none is specified. This corresponds to the last segment of the module's hierarchical name.0defaultModuleAlias (ModuleName "Data.Text.Lazy")"Lazy"&defaultModuleAlias (ModuleName "Main")"Main"0101None"#7>k+ä7require+The monad stack used during transformation:S 2P to keep track of whether to render the next line tag, the module's name etc.T (U V)P to collect the output lines. Instead of haskell's built-in list type we use U because of it's O(1) append operation.W  to return errors.8requireOutputs a single line.9require8Outputs the pragma representation of the given line tag.:require8Ignore the given line tag, specifically don't render it. 23654789:;<=> 72365489:;<=>None"#7k,ª?@ABCD?@ABCDX        !"#$$%&'()(*++,-./01234556789:;<=>?@AABCDEFGHIJKLMNOPQRSTUVWXVYZ[\]^_`Pabc$require-0.4.9-LnsIZRt5CQrKEzrYGCzTdLRequire.Parser Require.File Require.Error Require.TypesRequire.TransformRequire Paths_require'megaparsec-8.0.0-BFw8gNuiOzWGglmtIkYt5XText.Megaparsec parseMaybeLineTag LineNumberInput inputName inputContentNameinitialLineTagadvanceLineTagread writeLines inputLines nameToPath$fEnumLineNumberErrorMissingRequiresFileMissingOptionalRequiresFileAutorequireImpossibledescribedie $fEqError $fShowErrorAutorequireModeAutorequireEnabledAutorequireOnDirectiveAutorequireDisabled RequireInforiFullModuleName riModuleAliasriImportedTypesRequireDirectiveModuleDirectiveAutorequireDirective ModuleName unModuleName$fEqModuleName$fShowModuleName$fShowRequireInfo$fFunctorAutorequireMode$fFoldableAutorequireMode$fTraversableAutorequireModeParserrequireDirectiveTransformStatetstLineTagOutput tstHostModuletstAutorequire TransformMoutput renderLineTag ignoreLineTag transformprocessprocessAutorequireContent renderImportCommandArguments findRequires requireMainautorequireMainrun$fParseRecordCommandArguments$fGenericCommandArgumentsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebaseGHC.IOFilePathmoduleNameParserskipLineCommentdefaultModuleAliastransformers-0.5.5.0 Control.Monad.Trans.State.StrictStateT!Control.Monad.Trans.Writer.StrictWriterT#dlist-0.8.0.8-7QBDs8kU8tgJhbpmYxdEL Data.DListDList text-1.2.3.1Data.Text.InternalText Data.EitherEither