!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq r s t u v w x y z { | } ~         !"#$%&'()*+,-./012345 6!7!8!9!:!;!<!=!>!?!@!A!B"C"DEFGHIJKLMNOPQRSTUVWXYZ[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&''''%%%%%%%%%%%%((()))))))))))))*+++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,----........................//////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0 0000000000000011111 1!2"3#3$3%3&3'3(3)3*3+3,3-4.4/404142434445464758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&667777777777777777777777777777777777777777777788888888999999:::::::::::::::::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x;y;z;{;|;};~;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<==========================>>>>>>>?????????????@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@A A!A"A#A$A%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6C7C8C9C:C;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMENEOEPEQFRFSFTFUFVFWGXGYGZG[G\H]H^H_H`HaHbHcHdIeIfIgIhIiIjJkJlJmJnJoJpJqJrJsJtKuLvMwNxNyNzO{P|P}P~QQRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTUUUUUUUUUUVWWWWWWWWWWWWXXYYYYYYZ[[\\\]^^^^^^^^__________________```aaaaaaaa a a a a aaaabbbbbbccccccccd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:e;e<e=e>e?e@eAeBeCeDeEeFeGeHeIeJeKeLfMfNgOgPgQgRgSgTgUgVgWgXhYhZh[h\h]h^h_h`iaibicidieifigihjijjjkjljmjnjojpjqkrksktkukvkwkxkykzk{k|k}k~kkkkkkkkkkkllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnopqrrrstttuuuvNone13457>CILN@Tags for each field of state in SGR (Select Graphics Rendition).It's a bit of a hack that  is included.D'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVP  !'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVP-./,*+'()320148<@DHLP59=AEIMQ6:>BFJNR7;?CGKOSTUV!  6 '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNoneCMake sure that a filename with spaces in it gets the proper quotes.WXYZ[\]^ WXYZ[\]^ WXYZ[\]^ WXYZ[\]^NoneF_Print an exception to stderr(Run an action, watching for file changesThe action provided takes a callback that is used to set the files to be watched. When any of those files are changed, we rerun the action again._`a_`a`a__`aSafe+IN bException running editor.eException running pager.hARun pager, providing a function that writes to the pager's input.i'Run pager to display a lazy ByteString.j*Run pager to display a ByteString-Builder.k(Run pager to display contents of a file.lRun pager to display a string.mRun editor to edit a file.nDRun editor, providing functions to write and read the file contents.oRun editor on a ByteString.pRun editor on a String.Short-circuit first Just.bcdefghijklmnopbcdefghijklmnophijklefgmnopbcdbcdefghijklmnop Noneq=Log running a process with its arguments, for debugging (-v).r=Log running a process with its arguments, for debugging (-v).GThis logs one message before running the process and one message after.srShow a process arg including speechmarks when necessary. Just for debugging purposes, not functionally important.qrsqrsqrsqrs Safe tuvwxyztuvwxyztuvwxzy tuvwxyz None({9Find the location of a file matching the given predicate.|>Find the location of a directory matching the given predicate.9Find the location of a path matching the given predicate.}5Find files matching predicate below a root directory.qNOTE: this skips symbolic directory links, to avoid loops. This may not make sense for all uses of file finding.VTODO: write one of these that traverses symbolic links but efficiently ignores loops.~findInParents f path applies f to path and its s until it finds a  or reaches the root directory.{ Start here.Predicate to match the file.#Do not ascend above this directory.Absolute file path.| Start here.!Predicate to match the directory.#Do not ascend above this directory.Absolute directory path.Choose path type from pair. Start here.Predicate to match the path.#Do not ascend above this directory.Absolute path.}Root directory to begin with.Predicate to match files.,Predicate for which directories to traverse.List of matching files.~{|}~{|}~{|}~ None 3Convert to FilePath but don't add a trailing slash.NCollapse intermediate "." and ".." directories from path, then parse it with 0. (probably should be moved to the Path module)NCollapse intermediate "." and ".." directories from path, then parse it with 0. (probably should be moved to the Path module);Collapse intermediate "." and ".." directories from a path. OcollapseFilePath "./foo" == "foo" collapseFilePath "/bar/../baz" == "/baz" collapseFilePath "/../baz" == "/../baz" collapseFilePath "parent/foo/baz/../bar" == "parent/foo/bar" collapseFilePath "parent/foo/baz/../../bar" == "parent/bar" collapseFilePath "parent/foo/.." == "parent" collapseFilePath "/parent/foo/../../bar" == "/bar"(adapted from Text.Pandoc.Shared)Drop the root (either / on POSIX or C:\, D:\, etc. on Windows).If given file in  does not exist, ensure we have *. This is to be used in conjunction with  and .Previously the idiom  forgivingAbsence (relsoveFile &)" alone was used, which relied on  throwing isDoesNotExistErrorm when path does not exist. As it turns out, this behavior is actually not intentional and unreliable, see  .https://github.com/haskell/directory/issues/44. This was fixed  in version 1.2.3.0 of  directoryg package (now it never throws). To make it work with all versions, we need to use the following idiom: 6forgivingAbsence (resolveFile &) >>= rejectMissingFileSee .7Convert to a lazy ByteString using toFilePath and UTF8.2Convert to a ByteString using toFilePath and UTF8.    None +4>IN/An exception while trying to read from process. % createProcess exitCode stdout stderr5Override the environment received by a child process.Environment variables as map)Environment variables as association list.List of directories searched for executables (PATH)[""] on non-Windows systems, ["", ".exe", ".bat"] on Windows&Get the environment variables from an .&Get the list of directories searched (PATH).'Modify the environment variables of an . Create a new .Helper conversion function.+Read from the process, ignoring any output. Throws a  exception if the process fails.Try to produce a strict  from the stdout of a process.Try to produce strict +s from the stderr and stdout of a process.Produce a strict  from the stdout of a process. Throws a  exception if the process fails.Produce strict *s from the stderr and stdout of a process. Throws a  exception if the process fails./Consume the stdout of a process feeding strict s to a consumer. If the process fails, spits out stdout and stderr as error log level. Should not be used for long-running processes or ones with lots of output; for that use sinkProcessStdoutLogStderr. Throws a  if unsuccessful.:Consume the stdout and stderr of a process feeding strict s to the consumers. Throws a " if unsuccessful in launching, or " if the process itself fails.TLike sinkProcessStderrStdout, but receives Handles for stderr and stdout instead of s. Throws a " if unsuccessful in launching, or " if the process itself fails.cPerform pre-call-process tasks. Ensure the working directory exists and find the executable path. Throws a  if unsuccessful.7Check if the given executable exists on the given PATH.*Find the complete path for the executable. Throws a  if unsuccessful.Reset the executable cache. Load up an  from the standard environment.AAugment the PATH environment variable with the given extra paths.Apply $ on the PATH value in the given Map.(Optional working directoryCommandCommand line argumentsOptional directory to run inCommandCommand line argumentsOptional directory to run inCommandCommand line argumentsOptional directory to run inCommandCommand line argumentsOptional directory to run inCommandCommand line argumentsOptional directory to run inCommandCommand line argumentsSink for stdoutOptional directory to run inCommandCommand line argumentsSink for stderrSink for stdoutOptional directory to run inCommandCommand line arguments)Optional directory to create if necessaryHow to override environment Command nameHow to override environmentName of executableHow to override environmentName of executable'Full path to that executable on success####None +4>IN@Cmd holds common infos needed to running a process in most casesdirectory to run incommand to runcommand line argumentsKRun the given command in the given directory, inheriting stdout and stderr.GIf it exits with anything but success, prints an error and then calls  to exit the program.Like P, but takes an optional working directory and environment override, and throws ", if the process exits unsuccessfully and a  if the executable is not found.Inherits stdout and stderr.Like P, but takes an optional working directory and environment override, and throws ", if the process exits unsuccessfully and a  if the executable is not found.Inherits stdout and stderr.Like vw, but taking a . Note that the s provided by  are not closed automatically.!optional additional error message!optional additional error message""  Safe2Generate and execute a complicated options parser.(Add a command to the options dispatcher.@Add a command that takes sub-commands to the options dispatcher.(Add a command to the options dispatcher.&Generate a complicated options parser.Non-hidden help option. numeric versionversion string hpack numeric version, as stringheaderTprogram description (displayed between usage and options listing in the help output)footercommon settings%optional handler for parser failure;  is called by defaultcommands (use )command stringtitle of commandfooter of command help2constructor to wrap up command in common data type common parsercommand parsercommand stringtitle of commandfooter of command help common parsersub-commands (use )command stringtitle of commandfooter of command help2constructor to wrap up command in common data type common parsercommand parsercommon settingscommands (use )None Enable/disable flags for a .Enable/disable flags for a 1, without a default case (to allow chaining with ).Enable/disable flags for a ( ).Like , but parsing a ."Enable/disable flags for any type.MEnable/disable flags for any type, without a default (to allow chaining with ) Show an extra help option (e.g.  --docker-help shows help for all  --docker* args).'To actually have that help appear, use " before executing the main parser.<Display extra help if extra help option passed in arguments.GSince optparse-applicative doesn't allow an arbitrary IO action for an S, this was the best way I found that doesn't require manually formatting the help., specialized to ., specialized to .Like  , but returning a .Like  , but accepting any   e on the  . Default value Flag name Help suffix Flag name Help suffix Flag name Help suffix Default value Enabled valueDisabled valueName Help suffix Enabled valueDisabled valueName Help suffix Hide from the brief description?Program name, e.g. "stack"Option glob expression, e.g.  "docker*"Help option name, e.g.  "docker-help"Command line argumentsExtra help option name, e.g.  "docker-help"&Option parser for the relevant commandOption descriptionNone Parser for  solverCmdNone!"*+7IMN2An exception regarding verification of a download./A request together with some checks to perform.7Default to retrying thrice with a short constant delay. LMake sure that the hash digest for a finite stream of bytes is as expected..Throws WrongDigest (VerifiedDownloadException)'A more explicitly type-guided sinkHash.CTurns a list of hash checks into a ZipSink that checks all of them.>Copied and extended version of Network.HTTP.Download.download.YHas the following additional features: * Verifies that response content-length header (if present) matches expected length * Limits the download to (close to) the expected # of bytes * Verifies that the expected # bytes were downloaded (not too few) * Verifies md5 if response includes content-md5 header * Verifies the expected hashespThrows VerifiedDownloadException. Throws IOExceptions related to file system operations. Throws HttpException."  destinationcustom hook to observe progress Whether a download was performed None+7Download the given URL to the given location. If the file already exists, no download is performed. Otherwise, creates the parent directory, downloads to a temporary file, and on file download completion moves to the appropriate destination.&Throws an exception if things go wrongSame as B, but will download a file a second time if it is already present.Returns  if the file was downloaded,  otherwise!Set the user-agent request header destinationHWas a downloaded performed (True) or did the file already exist (False)? destination$%&&$%Safe+Does the version range have an upper bound?*Does the version range have a lower bound?Safe(Strip trailing carriage return from TextNone &+4NWrite to the given file.Read from the given file. If the read fails, run the given action and write that back to the file. Always starts the file off with the version tag.Safe! !"#$%&'()*+,-./0123456789:;<=Safe8Allows adjust global options depending on their context Note: This was being used to remove ambibuity between the local and global implementation of stack init --resolver option. Now that stack init has no local --resolver this is not being used anymore but the code is kept for any similar future use cases.%Global options before subcommand name-Global options following any other subcommand9If argument is True, hides the option from usage and helpSafeParser for a logging level.Safe Applicative >.  ? @ Monadic >.  ? @ SafeSafeConcatenate two parsers.Alternative parsers.Pure something.#Concatting the result of an action.Safe#Mode for parsing escape characters.Parse arguments using .pA basic argument parser. It supports space-separated text, and string quotation with identity escaping: x -> x.Safe3An argument which accepts a list of arguments e.g. --ghc-options="-X P.hs "this"".1An option which accepts a list of arguments e.g. --ghc-options="-X P.hs "this"".?An option which accepts a command and a list of arguments e.g. --exec "echo hello world"Parse from a string.None0F Warning output from  .AMonoid used by  ' to track expected fields and warnings. :JSON parser that warns about unexpected fields in objects.Extends .: warning to include field name.Extends .:? warning to include field name.  version of .:.  version of .:?.  version of .!=.ITell warning parser about an expected field, so it doesn't warn about it.  version of B. Convert a   to a C.Log JSON warnings. Handle warnings in a sub-object.Handle warnings in a  Traversable of sub-objects.Handle warnings in a Maybe Traversable of sub-objects.    ADEF GHIJ~KLMNOPQRSTUVWXYZ[\B]^_`abcdefghijklmnopqrstuvwxyz{|}~              ADEF GHIJNone+035CF  A flag name. A parse fail.!Attoparsec parser for a flag nameMake a flag name. +Convenient way to parse a flag name from a .!(Convenience function for parsing from a "/Produce a string representation of a flag name.#/Produce a string representation of a flag name.$Convert from a Cabal flag name.%Convert to a Cabal flag name. !"#$%  !"#$%  !"#$% !"#$%None+035CF &A package name.' A parse fail.+$Attoparsec parser for a package name,Make a package name.-Parse a package name from a ..Parse a package name from a ./2Produce a string representation of a package name.02Produce a string representation of a package name.1"Convert from a Cabal package name.2 Convert to a Cabal package name.3&Parse a package name from a file path.49An argument which accepts a template name of the format  foo.hsfiles.&'()*+,-./01234&'()*+,-./01234&'()*+-./0123,4&'()*+,-./01234 None5Parser for package:[-]flag5555!Signature Types(c) FPComplete.com, 2015BSD3!Tim Dysinger <tim@fpcomplete.com> experimentalPOSIXNone+356 Exceptions#Handy wrapper for orphan instances.>The GPG fingerprint.?A GPG signature.6789:;<=>?@A 6789:;<=>?@A ?@>A6789:;<=6789:;<=>?@A" GPG Functions(c) FPComplete.com, 2015BSD3!Tim Dysinger <tim@fpcomplete.com> experimentalPOSIXNoneFINB)Sign a file path with GPG, returning the  Signature.C Verify the  Signature of a file path returning the  Fingerprint.Try to execute gpg2 but fallback to  (as a backup)`man gpg-agent` shows that you need GPG_TTY environment variable set to properly deal with interactions with gpg-agent. (Doesn't apply to Windows though)BCBCBCBCNone+035CKA package version. A parse fail.L(Attoparsec parser for a package version.M1Convenient way to parse a package version from a .NMigration function.O1Get a string representation of a package version.P1Get a string representation of a package version.QConvert to a Cabal version.RConvert from a Cabal version.SMake a package version.TDisplay a version rangeU-Check if a version is within a version range.VBA modified intersection which also simplifies, for better display.W@Returns the first two components, defaulting to 0 if not presentXlGiven a version range and a set of versions, find the latest version from the set that is within the range.Y7Get the next major version number for the given version&DEFGHIJKLMNOPQRSTUVWXYZDEFGHIJKLMNOPQRSTUVWXYZKHIJDEFGLMNOPQRSTUVWXZYDEFGHIJKLMNOPQRSTUVWXYZ#None+035[/Specifies a compiler and its version number(s).dNote that despite having this datatype, stack isn't in a hurry to support compilers other than GHC.UNOTE: updating this will change its binary serialization. The version number in the  BinarySchema instance for  MiniBuildPlan should be updated.^Variety of compiler to use.[\]^_`abcdefghijklm[\]^_`abcdefgh^_`[\]mlkjiabcdefgh[\]^_`abcdefghijklm$None (+035Cs(Information on a single package for the }.yDue to ambiguity in Cabal, it is unclear whether this refers to the executable name, the package name, or something else. We have to guess based on what's available, which is why we store this is an unwrapped .z$Executables provided by this package{Is there a library present?|An optional SHA1 representation in hex format of the blob containing the cabal file contents. Useful for grabbing the correct cabal file revision directly from a Git repo}A simplified version of the  + cabal file.=Most recent Nightly and newest LTS version per major release.-A simplified package description that tracks:Package dependenciesBuild tool dependenciesProvided executables&It has fully resolved all conditionalsmodules exported by the libraryName of an executable.5when the test suite will pull in things we don't want+Information on the contents of a cabal fileFile size in bytes#Various hashes of the file contents8The name of an LTS Haskell or Stackage Nightly snapshot. Convert a % into its short representation, e.g. lts-2.8, nightly-2015-03-05.$Parse the short representation of a .|nopqrstuvwxyz{|}~       Ynopqrstuvwxyz{|}~Y}~stuvwxyz{|qrnop6nopqrs tuvwxyz{|}~       'None+0A ghc-pkg package identifier.  A parse fail..Convenient way to parse a package name from a .)A parser for a package-version-hash pair..Get a string representation of GHC package id.                  %None!"&(*345>CFLNVEHow we resolve which dependencies to install given a set of packages.[Either an actual resolver value, or an abstract description of one (e.g., latest nightly).Convert a Resolver into its Text4 representation, as will be used by directory namesConvert a Resolver into its Text( representation for human presentation.Try to parse a Resolver from a Text1. Won't work for complex resolvers (like custom).     (NoneParser for the resolver)None035   *None+None+035`"Exceptions thrown by Stack.Docker.*Docker must be enabled to use the command.4Command must be run on host OS (not in a container). docker inspect failed. Image does not exist.  Input to docker cleanup has invalid command. Invalid output from  docker images. Invalid output from  docker ps.Invalid output from docker inspect.Could not pull a Docker image.Installed version of docker below minimum version.Installed version of docker is prohibited.Installed version of docker* is out of range specified in config file.Invalid output from docker --version. Version of stack) on host is too old for version in image. Version of stack3 in container/image is too old for version on host.?Can't determine the project root (where to put docker sandbox).docker --version failed.-Using host stack-exe on unsupported platform. stack-exe option fails to parse.)Newtype for non-orphan FromJSON instance.'Options for Docker repository or image. Docker volume mount."Where to get the stack' executable to run in Docker containers#Download from official bindist$Host's stack (linux-x86_64 only)%Docker image's stack (versions must match)&Executable at given path'qAn uninterpreted representation of docker options. Configurations may be "cascaded" using mappend (left-biased).),Should Docker be defaulted to enabled (does docker: section exist in the config)?*Is using Docker enabled?+Docker repository name (e.g. fpco/stack-build or fpco/stack-full:lts-2.8),&Does registry require login for pulls?-&Optional username for Docker registry..&Optional password for Docker registry./Automatically pull new images.0#Whether to run a detached container1LCreate a persistent container (don't remove it when finished). Implied by B.2?Container name to use, only makes sense from command-line with C or B.3Arguments to pass directly to  docker run4!Volumes to mount in the container5-Environment variables to set in the container6!Location of image usage database.71Location of container-compatible stack executable8%Set in-container user to match host's9See: K:Docker configuration.<Is using Docker enabled?=;Exact Docker image tag or ID. Overrides docker-repo-*/tag.>&Does registry require login for pulls??&Optional username for Docker registry.@&Optional password for Docker registry.AAutomatically pull new images.B#Whether to run a detached containerCLCreate a persistent container (don't remove it when finished). Implied by B.D?Container name to use, only makes sense from command-line with C or B.EArguments to pass directly to  docker run.F"Volumes to mount in the container.G.Environment variables to set in the container.H!Location of image usage database.I1Location of container-compatible stack executableJ%Set in-container user to match host'sK.Require a version of Docker within this range.LParse ".MDocker enable argument name.NDocker repo arg argument name.ODocker image argument name.P$Docker registry login argument name.Q'Docker registry username argument name.R'Docker registry password argument name.SDocker auto-pull argument name.TDocker detach argument name.UDocker run args argument name.VDocker mount argument name.W*Docker environment variable argument name.X$Docker container name argument name.YDocker persist argument name.Z#Docker database path argument name.[#Docker database path argument name.\ Value for --docker-stack-exe=download] Value for --docker-stack-exe=host^ Value for --docker-stack-exe=image_Docker set-user argument name`Docker require-version argument nameaHArgument name used to pass docker entrypoint data (only used internally)b"Command-line argument for "docker"dCommand-line argument for  docker pull.eCommand-line argument for docker cleanup.fCommand-line option for --internal-re-exec-version.g#Platform that Docker containers runjParse VersionRange.k For YAML.lShow instance.mFor optparse-applicative.o"Left-biased combine Docker optionsp3Decode uninterpreted docker options from JSON/YAML.k      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopb      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgk:;<=>?@ABCDEFGHIJK'()*+,-./0123456789po"#$%&nL !mlkj     ihMNOPQRSTUVWXYZ[\]^_`abcdefg,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop,None035qnAn uninterpreted representation of nix options. Configurations may be "cascaded" using mappend (left-biased).s/Should nix-shell be defaulted to enabled (does nix: section exist in the config)?tIs using nix-shell enabled?uShould the nix-shell be purev+System packages to use (given to nix-shell)wQThe path of a file containing preconfiguration of the environment (e.g shell.nix)x1Options to be given to the nix-shell command liney$Override parts of NIX_PATH (notably nixpkgs)zZShould we register gc roots so running nix-collect-garbage doesn't remove nix dependencies{MNix configuration. Parameterize by resolver type to avoid cyclic dependency.EThe system packages to be installed in the environment before it runsQThe path of a file containing preconfiguration of the environment (e.g shell.nix)1Options to be given to the nix-shell command lineZShould we register gc roots so running nix-collect-garbage doesn't remove nix dependenciesNix enable argument name.$Nix run in pure shell argument name.*Nix packages (build inputs) argument name."shell.nix file path argument name.6Extra options for the nix-shell command argument name.NIX_PATH override argument nameAdd GC roots arg nameLeft-biased combine Nix options0Decode uninterpreted nix options from JSON/YAML.qrstuvwxyz{|}~qrstuvwxyz{|}~{|}~qrstuvwxyz q rstuvwxyz{|}~-None+=Nix can't be given packages and a shell file at the same time!Interprets NixOptsMonoid options.    .None035NnMaybe have a docker base image name. (Although we will not be able to create any Docker images without this.)JMaybe have a specific ENTRYPOINT list that will be used to create images.]Maybe have some static project content to include in a specific directory in all the images./Maybe have a name for the image we are creating:Filenames of executables to add (if Nothing, add them all)3Image options. Currently only Docker image options..One or more stanzas for docker image settings./None C "an absolute path on the filesystemJa relative path on the filesystem, or relative to the template repository a full URLA template name.9An argument which accepts a template name of the format  foo.hsfiles or foo, ultimately normalized to foo.An argument which accepts a  key:value pair for specifying parameters.$Parse a template name from a string.Make a template name./Get a text representation of the template name.Get the path of the template. 0None035 Options for the  FinalAction  DoBenchmarks)Arguments passed to the benchmark programDisable running of benchmarksHaddock Options#Arguments passed to haddock programOptions for the  FinalAction DoTests)Whether successful tests will be run gain$Arguments passed to the test programGenerate a code coverage reportDisable running of tests!Which subset of packages to buildcOnly install packages in the snapshot database, skipping packages intended for the local database.EBuild options that may be specified in the stack.yaml or from the CLI+Command sum type for conditional arguments.5Build options that may only be specified from the CLIqBuild options that is interpreted by the build command. This is built up from BuildOptsCLI and BuildOptsMonoidBuild haddocks?Options to pass to haddockOpen haddocks in the browser?  Build haddocks for dependencies? 2Build haddocks for all symbols and packages, like cabal haddock --internal 0Install executables to user path after building? SFetch all packages immediately ^ Watch files for changes and automatically rebuild #Keep building/running after failure7Force treating all local packages as having dirty filesTurn on tests for local targetsAdditional test arguments$Turn on benchmarks for local targetsAdditional test arguments ^ Commands (with arguments) to run after a successful build ^ Only perform the configure step when building5Perform the configure step even if already configured%Ask Cabal to be verbose in its buildsWhether to enable split-objs.             ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9a     a     2              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 91None#Descriptive name for compiler buildGSuffix to use for filenames/directories constructed with compiler build #Parse compiler build from a String. :   :2None!GHC build parser!!!!3None+0 "A pkg-ver combination.$$Get the name part of the identifier.%'Get the version part of the identifier. ; A parse fail.&-Convert from a package identifier to a tuple.'-Convert from a tuple to a package identifier.($A parser for a package-version pair.)4Convenient way to parse a package identifier from a .*(Convenience function for parsing from a .+@Get a string representation of the package identifier; name-ver.,>Get a Text representation of the package identifier; name-ver."#$% ; <&'()*+, = > ? @ A B C D "#$%&'()*+, "#$%&')*(+,"#$% ; <&'()*+, = > ? @ A B C D4None+0C-MCached information on whether a package has profiling libraries and haddocks.4LCached information on whether package have profiling libraries and haddocks. -./0123456 E -./0123456 4523-./016-./0123456 E5None(+035C7%Information on a single package index;#URL prefix for downloading packages<XGPG-verify the package index during download. Only applies to Git repositories for now.=XRequire that hashes and package size information be available for packages in this index>[Location of the package index. This ensures that at least one of Git or HTTP is available.BUnique name for a package indexNGoffset in bytes into the 00-index.tar file for the .cabal file contentsO size in bytes of the .cabal file#789:;<=>?@ABCDEFGHIJKLMNOPQ F G H I J K L M789:;<=>?@ABCDEFGHIJKLMNOPQEFGHILMNOPJK789:;<=BCDQ>?@A789:;<=>?@ABCDEFGHIJKLMNOPQ F G H I J K L M&None!"&(*+01345>CFLNV $STACK_ROOT , parent dir_Docker host user infoauidbgidcSupplemantal groupsdFile creation mask }eAData passed into Docker container for the Docker entrypoint's usegUIDGIDCetc of host user, if we wish to perform UID/GID switch in containerh.How PVP bounds should be added to .cabal filesmRemote or inline pgBuild of the compiler distribution (e.g. standard, gmp4, tinfo6) | Information for a file to download.URL or absolute file path;Specialized bariant of GHC (e.g. libgmp4 or integer-simple)Standard bindist Bindist that uses integer-simpleOther bindistsHA variant of the platform, used to differentiate Docker builds from hostA software control system.See: 9See: :.build options.Docker options.>Options for the execution environment (nix-shell or container)See: BSee: CDeprecated in favour of See: 'configUrlsSee: ISee: JSee: KSee: LSee: MSee: NSee: P Used for overriding the platform Used for overriding the platform!Used for overriding the GHC buildSee: QSee: SSee: T'Allow users to override the path to gccSee: U,Used to override the binary installation dirImage creation options.Template parameters.8Initialize SCM (e.g. git init) when making new projects?See Y-Additional paths to search for executables inDAdditional setup info (inline or remote) to use for installing toolsEOverride the default local programs dir, where e.g. GHC is installed.See [See \See ]See See _See _The default template to use when none is specified. (If Nothing, the default default is used.)KAllow users other than the stack root owner to use the stack installation.See d2Constraint synonym for constraints satisfied by a  MiniConfig environment.0Class for environment values that can provide a .0Class for environment values that can provide a 7.4Class for environment values which have a GHCVariant2Class for environment values which have a Platform@Class for environment values which have access to the stack rootA project is a collection of packages. We can have multiple stack.yaml files, but only one of them may contain project information.YA warning message to display to the user when the auto generated config may have issues.Components of the package listJComponents of the package list referring to package/version combos, see: 'https://github.com/fpco/stack/issues/41Per-package flag overrides(How we resolve which dependencies to use/When specified, overrides which compiler to useCommitCommitNote that we use FilePath and not Path9s. The goal is: first parse the value raw, and then use canonicalizePath and  parseAbsDir.URL and further details3Should a package be treated just like an extra-dep?i means, it will only be built as a dependency for others, and its test suite/benchmarks will not be run.,Useful modifying an upstream package, see:  5https://github.com/commercialhaskell/stack/issues/219 5https://github.com/commercialhaskell/stack/issues/386Value returned by Tx.Top-level Stack configuration.Action to load the remaining .,The project root directory, if in a project.3Configuration after the environment has been setup.aThis is the version of Cabal that stack will use to compile Setup.hs files in the build process.Note that this is not necessarily the same version as the one that stack depends on as a library and which is displayed when running $stack list-dependencies | grep Cabal in the stack project. Cache for getLocalPackages.A superset of 7 adding information on how to build code. The reason for this breakdown is because we will need some of the information from 7' in order to determine the values here.FHow we resolve which dependencies to install given a set of packages.&Compiler version wanted for this buildLocal packages.Extra dependencies specified in configuration.tThese dependencies will not be installed to a shared location, and will override packages provided by the resolver.Extra package databases Location of the stack.yaml file.YNote: if the STACK_YAML environment variable is used, this may be different from bcRoot  / "stack.yaml"Per-package flag overrideshAre we loading from the implicit global stack.yaml? This is useful for providing better error messages.0The variant of GHC used to select a GHC bindist.*Parsed global command-line options monoid.%Expected re-exec in container versionIData used when stack is acting as a Docker entrypoint (internal use only) Log level#Whether to include timings in logs. Config monoid, for passing into  loadConfigResolver overrideCompiler overrideWe're in a terminal? When to use ansi colors Override project stack.yaml #Parsed global command-line options. %Expected re-exec in container versionIData used when stack is acting as a Docker entrypoint (internal use only) Log level#Whether to include timings in logs. Config monoid, for passing into  loadConfigResolver overrideCompiler overrideWe're in a terminal? When to use ansi terminal colorsOverride project stack.yaml)1Controls which version of the environment is used+:include local project bin directory, GHC_PACKAGE_PATH, etc,%include the GHC_PACKAGE_PATH variable-9set the STACK_EXE variable to the current executable name.set the locale to C.UTF-8/Which build log files to dump0don't dump any logfiles1!dump logfiles containing warnings2dump all logfiles3;Which packages do ghc-options on the command line apply to?4all local targets5$all local packages, even non-targets6 every package7%The top-level Stackage configuration.9~/.stack more often than not:-this allows to override .stack-work directory;*Path to user configuration file (usually ~.stack config.yaml)<Build configuration=Docker configuration>3Execution environment (e.g nix-shell) configuration?4Environment variables to be passed to external tools@9Non-platform-specific path containing local installationsA0Path containing local installations (mainly GHC)B<How many concurrent connections are allowed when downloadingCJHide the Template Haskell "Loading package ..." messages from the consoleD=The platform we're building for, used in many directory namesE5Variant of the platform, also used in directory namesF>The variant of GHC requested by the user. In most cases, use  or  MiniConfig=s version instead, which will have an auto-detected default.GIOverride build of the compiler distribution (e.g. standard, gmp4, tinfo6)HURLs for other files used by stack. TODO: Better document e.g. The latest snapshot file. A build plan name (e.g. lts5.9.yaml) is appended when downloading the build plan actually.IInformation on package indices. This is left biased, meaning that packages in an earlier index will shadow those in a later index.YWarning: if you override packages in an index vs what's available upstream, you may correct your compiled snapshots, as different projects may have different definitions of what pkg-ver means! This feature is primarily intended for adding local packages, not overriding. Overriding is better accomplished by adding to your list of packages.TNote that indices specified in a later config file will override previous indices, not extend them.>Using an assoc list instead of a Map to keep track of priorityJnShould we use the system-installed GHC (on the PATH) if available? Can be overridden by command line options.K}Should we automatically install GHC if missing or the wrong version is available? Can be overridden by command line options.L6Don't bother checking the GHC version or architecture.M&On Windows: don't use a sandboxed MSYSN8Specifies which versions of the compiler are acceptable.O,Directory we should install executables intoP-Require a version of stack within this range.QCHow many concurrent jobs to run, defaults to number of capabilitiesROptional gcc override pathS-extra-include-dirs argumentsT-extra-lib-dirs argumentsURun test suites concurrentlyWParameters for templates.X5Initialize SCM (e.g. git) when creating new projects.Y_Additional GHC options to apply to either all packages (Nothing) or a specific package (Just).Z=Additional SetupInfo (inline or remote) to use to find tools.[0How PVP upper bounds should be added to packages\'Force the code page to UTF-8 on Windows]See .  provides the default value.^Rebuild on GHC options changes_;Which packages to ghc-options on the command line apply to?`KIgnore version ranges in .cabal files. Funny naming chosen to match cabal.a_The default template to use when none is specified. (If Nothing, the default default is used.)bKAllow users other than the stack root owner to use the stack installation.c!In memory cache of hackage index.d7Dump logs of local non-dependencies when doing a build.e$ when a local project can be found, ; when stack must fall back on the implicit global project.f?Default logging level should be something useful but not crazy.h2Directory containing the project's stack.yaml filei "h /.stack-work" N%Perform defaulting of peExtraDepMaybe OParse a partial configuration. Used both to parse both a standalone config file and a project file, so that a sub-parser is not required, which would interfere with warnings for missing fields.m:Helper function to ask the environment and apply getConfign>Get the URL to request the information on the latest snapshotso!Root for a specific package indexp9Git repo directory for a specific package index, returns  if not a Git repoq#Location of the 00-index.cache filer!Location of the 00-index.tar files$Location of the 00-index.tar.gz filetLocation of a package tarballu  ".stack-work"vPer-project work dirw)File containing the installed cache, see Stack.PackageDumpx.Relative directory for the platform identifieryDirectory containing snapshotsz"Installation root for dependencies{Installation root for locals|Hoogle directory.}Get the hoogle database path. PGPath for platform followed by snapshot name followed by compiler name.~6Relative directory for the platform and GHC identifier QPRelative directory for the platform and GHC identifier without GHC bindist build RnRelative directory for the platform and GHC identifier without GHC bindist build (before parsing into a Path)This is an attempt to shorten stack paths on Windows to decrease our chances of hitting 260 symbol path limit. The idea is to calculate SHA1 hash of the path used on other architectures, encode with base 16 and take first 8 symbols of it.1Package database for installing dependencies into3Package database for installing local packages intoExtra package databases,Directory for holding flag cache information%Where to store mini build plan caches9Suffix applied to an installation root to get the bin dir9Suffix applied to an installation root to get the doc dir+Where HPC reports and tix files get stored.CGet the extra bin directories (for the PATH). Puts more local first3Bool indicates whether or not to include the localsaGet the minimal environment override, useful for just calling external processes like git or ghc@Get the path for the given compiler ignoring any local binaries. 6https://github.com/commercialhaskell/stack/issues/1052 S;A PackageEntry for the current directory, used as a default T-Render a platform variant to a String suffix.!Render a GHC variant to a String.(Render a GHC variant to a String suffix. Parse GHC variant from a String. U"Parse JSON in existing object for OProvide an explicit list of package dependencies when running a custom Setup.hs VFor siGHCs and siGHCJSsI fields maps are deeply merged. For all fields the values from the last  SetupInfo win.RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ W X Y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij N O Z [ \ ] ^ _ ` a bkl c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  mnopqrstuvwxyz{|} P~ Q R  S T U  V      789:;<=>?@ABCDQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~d789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdemnhijy3456lk/012)*+,-.     f789:;<=BCDQ>?@ArqsopthijklgXYZ[\]^UVWRSTwvz{|}x~u$%&'( !"#}~xyz{|pqrstuvwmnoefg_`abcdRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ W X Y*        !"#$%&'()*+,-./01234567.89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij N O Z [ \ ] ^ _ ` a bkl c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  mnopqrstuvwxyz{|} P~ Q R  S T U  V None# Name of the stack program.5Extensions for anything that can be a Haskell module. @Extensions used for Haskell modules. Excludes preprocessor ones. EExtensions for modules that are preprocessed by common preprocessors.Output .o/.hi directory.6The filename used for dirtiness check of source files.3The filename used to mark tests as having succeeded/The filename used to mark tests as having built0The filename used for dirtiness check of config.2The filename used for modification check of .cabalDirectory for HPC work.,Relative location of directory for HPC work.$Package's build artifacts directory.Package's working directory. Directory for project templates.%Relative location of build artifacts.!Docker sandbox from project root.$Image staging dir from project root. Name of the stack program, uppercased,The filename used for the stack config file.*Environment variable used to override the  '~/.stack' location.&Option name for the global stack root.1Deprecated option name for the global stack root.Deprecated since stack-1.1.0.1TODO: Remove occurences of this variable and use / only after an appropriate deprecation period.DEnvironment variable used to indicate stack is running in container.Environment variable used to indicate stack is running in container. although we already have STACK_IN_NIX_EXTRA_ARGS that is set in the same conditions, it can happen that STACK_IN_NIX_EXTRA_ARGS is set to empty.+Just to avoid repetition and magic strings.LDeprecated implicit global project directory used when outside of a project.MImplicit global project directory used when outside of a project. Normally, getImplicitGlobalProjectDir should be used instead.&Deprecated default global config path.'Default global config path. Normally, getDefaultUserConfigPath should be used instead.?Deprecated default global config path. Note that this will be Nothing on Windows, which is by design.'Default global config path. Normally, getDefaultGlobalConfigPath1 should be used instead. Note that this will be Nothing on Windows, which is by design."Path where build plans are stored.Environment variable that stores a variant to append to platform-specific directory names. Used to ensure incompatible binaries aren't shared between Docker builds and hostProvides --ghc-options for _&, and similarly, --ghcjs-options for `.% Package directory.Package directoryPackage directoryPackage directory.Package directory.Package directory. Project rootDocker sandbox Project rootIndex of imageDocker sandbox Stack root. Stack root. Stack root##% 6NoneParser to extract the stack command line embedded inside a comment after validating the placement and formatting rules for a valid interpreter specification.xExtract stack arguments from a correctly placed and correctly formatted comment when it is being used as an interpreter7NoneINMonadic environment.,",8None&*3457>CL "The monad used for the executable stack.NConstraint synonym for constraints commonly satisifed by monads used in stack.>Constraint synonym for all of the common environment instances)Run a Stack action, using global options. 9Taken from GHC: determine if we should use Unicode syntax 7Replace Unicode characters with non-Unicode equivalents 2Logging function takes the log level into account. The length of a timestamp in the format "YYYY-MM-DD hh:mm:ss.". This definition is top-level in order to avoid multiple reevaluation at runtime. "With a sticky state, do the thing.RWrite a "sticky" line to the terminal. Any subsequent lines will overwrite this one, and that same line will be repeated below again. In other words, the line sticks at the bottom of the output forever. Running this function again will replace the sticky line with a new sticky line. When you want to get rid of the sticky line, run .yThis will print out the given message with a newline and disable any further stickiness of the line until a new call to  happens.+It might be better at some point to have a  runStickyA function that encompasses the logSticky->logStickyDone pairing. ,Takes the configured log level into account.        9None !"&(+047>CFINU 2Populate the package index caches and return them. 7Require that an index be present, updating if it isn't.!Update all of the package indices Update the index tarball /Update the index Git repo and the index tarball !Update the index tarball via HTTP  Is the git executable installed? Delete the package index cache!Lookup a package's versions from  .CGet the known versions for a given package from the package caches.See  for performance notes.Access the package caches from  .FIXME: This is a temporary solution until a better solution to access the package caches from Stack.Build.ConstructPlan has been found.;Load the package caches, or create the caches if necessary.vThis has two levels of caching: in memory, and the on-disk cache. So, feel free to call this function multiple times. [Clear the in-memory hackage index cache. This is needed when the hackage index is updated. (Return the number of blocks in an entry.  Git URL url      :None &(+04CIN?LA path resolved from the .cabal file, which is either main-is or an exposedinternalreferenced module.@A descriptor from a .cabal file indicating one of the following:=exposed-modules: Foo other-modules: Foo or main-is: Foo.hs Used for storage and comparison. >A location to install a package into, either snapshot or local /A single, fully resolved component of a package9Information on a locally available package of source codeThe PackageV info itself, after resolution with package flags, with tests and benchmarks disabled9Components to build, not including the library component.OComponents explicitly requested for build, that are marked "buildable: false".+Whether this package is wanted as a target.DUsed for determining if we can use --enable-tests in a normal build.JUsed for determining if we can use --enable-benchmarks in a normal build.This stores the @H with tests and benchmarks enabled, if either is asked for by the user.Directory of the package.The .cabal fileNothing == not dirty, Just == dirty. Note that the Set may be empty if we forced the build to treat packages as dirty. Also, the Set may not include all modified files.current state of the filesall files used by this package \Datatype which tells how which version of a package to install and where to install it into#GWhere the package's source is located: local directory or package index%ZUpstream packages could be installed in either local or snapshot databases; this is what   specifies.'Package build configuration)Are tests enabled?*Are benchmarks enabled?+Configured flags.,Configured ghc options.- GHC version. host platform/(Warning generated when reading a package0/Modules found that are not listed in cabal file1nFiles that the package depends on, relative to package directory. Argument is the location of the .cabal file4!Files to get for a cabal package.77GHC options based on cabal information and ghc-options.;These options can safely have nubOrd< applied to them, as there are no multi-word options (see 7https://github.com/commercialhaskell/stack/issues/1255)=nFiles that the package depends on, relative to package directory. Argument is the location of the .cabal file@Some package info.BName of the package.CVersion of the packageD+The license the package was released under.EGet all files of the package.F%Packages that the package depends on.GA build tool name.H#Original dependencies (not sieved).IGhc options used on package.JFlags used on package.KDefaults for unspecified flags.L1does the package have a buildable library stanza?M#names and interfaces of test suitesNnames of benchmarksOnames of executablesPArgs to pass to GHC.Q&Does the package have exposed modules?R&Does the package of build-type: SimpleS%All exceptions thrown by the library.f5Maybe get the module name from the .cabal descriptor.g3Maybe get the main name from the .cabal descriptor.hGet the module path.iGet the main path.jGet the c file path.k Get the path.mGet the installed Version.rCompares the package name.sCompares the package name.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmSTUVWwv@ABCDEFGHIJKLMNOPQRXY=>?u789:;<456123t/0'()*+,-.sr&#$%q !"  Z[\]^_`abc   pondefghijklm5      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw;None345xyz{|}~  6  !'()*+,-./0xyz{|}~60xyz{|}~-./,*+'()!  xyz{|}~  <None  (+035CiInformation on a compiled package: the library conf file (if relevant), and all of the executable paths.&.conf file inside the package databaseFull paths to executables2Configure options to be sent to Setup.hs configureOptions related to various paths. We separate these out since they do not have an impact on the contents of the compiled binary for checking if we can use an existing precompiled cache.BBasic information used to calculate what the configure options are:A complete plan of what needs to be built and how to do it0Final actions to be taken (test, benchmark, etc)4Text is reason we're unregistering, for display only>Executables that should be installed after successful building^The type of a task, either building local code or something from the package index (upstream)DGiven the IDs of any missing packages, produce the configure options4Dependencies for which we don't yet have an GhcPkgId.Produce the list of options given the missing GhcPkgIdsA task to perform when buildingthe package/version to be built+the task type, telling us how to build this+GhcPkgIds of already-installed dependencies3indicates that the package can be built in one step6Stored on disk to know whether the flags have changed."All options used for this package.The GhcPkgIds of all of the dependencies. Since Cabal doesn't take the complete GhcPkgId (only a PackageIdentifier) in the configure options, just using the previous value is insufficient to know if dependencies have changed.The components to be built. It's a bit of a hack to include this in here, as it's not a configure option (just a build option), but this is a convenient way to force compilation when the components change.Are haddocks to be built?6Stored on disk to know whether the files have changed.Modification times of files. Package dependency oracle. Render a BaseConfigOpts to an actual list of options Same as -, but does not include directory path options,Get set of wanted package names from locals.&One-way conversion to serialized time.d   dependencieslocal non-extra-dep?  dependenciesis this a local, non-extra-dep?          !"֖    !"     &     =None  !"(*>F/Need targets, e.g. `stack build` or allow none?9A view of a local package needed for resolving componentsqRaw command line input, without checking against any databases or list of locals. Does not deal with directoriesnEither a fully resolved component, or a component name that could be either an executable, test, or benchmarkRThe name of a component, which applies to executables, test suites, and benchmarksIf this function returns Nothing., the input should be treated as a directory. Same as parseRawTarget*, but also takes directories into account.%   current directory snapshot extra deps snapshot extra deps need at least one targetusing implicit global project?snapshot extra depscurrent directorycommand line targets     >None+4F Get the global package database Run the ghc-pkg executableFCreate a package database in the given directory, if it doesn't exist.>Get the name to use for "ghc-pkg", given the compiler version. IGet the necessary ghc-pkg flags for setting up the given package database(Get the value of a field of the package. Get the version of the package:Get the version of Cabal from the global package database."Get the value for GHC_PACKAGE_PATH   package databasespackage identifier, or GhcPkgId package databasespackage database      ?None  &+47FIMN Contents of the .cabal file/Fetch packages into the cache without unpacking.Intended to work for the command line command.Ensure that all of the given package idents are unpacked into the build unpack directory, and return the paths to all of the subdirectories.4Resolve a set of package names and identifiers into  FetchPackage values.:Add the cabal files to a list of idents with their caches..Provide a function which will load up a cabal  ByteString from the package indices. Given package identifier and package caches, return list of packages with the same name and the same two first version number components found in the caches. Try to come up with typo corrections for given package identifier using package caches. This should be called before giving up, i.e. when   cannot return anything. Figure out where to fetch from. KDownload the given name,version pairs into the directory expected by cabal.JFor each package it downloads, it will optionally unpack it to the given Path (if present). Note that unpacking is not simply a matter of untarring, but also of grabbing the cabal file from the package index. The destinations should not include package identifiers.HReturns the list of paths unpacked, including package identifiers. E.g.: #fetchPackages [("foo-1.2.3", Just "somedest")] ==> ["somedest/foo-1.2.3"]  Since 0.1.0.0)Internal function used to unpack tarball.Takes a path to a .tar.gz file, the name of the directory it should contain, and a destination folder to extract the tarball into. Returns unexpected entries, as pairs of paths and descriptions.+           destinationnames or identifiersunpack directory the dist rename directory, see: (https://github.com/fpco/stack/issues/157  directory to unpack into, Nothing means no unpack  the dist rename directory, see: (https://github.com/fpco/stack/issues/157                          @None +04CFIN2A single line of input, not including line endings%Dump information for a single packageACall ghc-pkg dump with appropriate flags and stream to the given Sink, for a single databaseECall ghc-pkg describe with appropriate flags and stream to the given Sink, for a single database %Call ghc-pkg and stream to the given Sink, for a single databaseCreate a new, empty InstalledCacheLoad a InstalledCache@ from disk, swallowing any errors and returning an empty cache.Save a InstalledCache to diskKPrune a list of possible packages down to those whose dependencies are met.id uniquely identifies an item$There can be multiple items per name}Find the package IDs matching the given constraints with all dependencies installed. Packages not mentioned in the provided Map are allowed to be present too.+Add profiling information to the stream of  DumpPackages)Add haddock information to the stream of  DumpPackages+Convert a stream of bytes into a stream of  DumpPackagesVApply the given Sink to each section of output, broken by a single line containing ---Grab each key/value pair General purpose utility$        if empty, use globalif empty, use global if empty, use globalextract the name from an idthe id of an itemget the dependencies of an item(choose the desired of two possible items input itemsrequire profiling?require haddock?allowed versions entry in directoryname of library                               ANone &47N  2Determine whether we should haddock for a package.!5Determine whether to build haddocks for dependencies."7Generate Haddock index and contents for local packages.#NGenerate Haddock index and contents for local packages and their dependencies.$>Generate Haddock index and contents for all snapshot packages. ;Generate Haddock index and contents for specified packages. ,Find first DumpPackage matching the GhcPkgId !Path of haddock index file. "/Path of local packages documentation directory. #FPath of documentation directory for the dependencies of local packages $2Path of snapshot packages documentation directory. >Available packages and their locations for the current projectBuild targets as determined by Uy Packages that we want to generate haddocks for in any case (whether or not we are going to generate haddocks for dependencies)!"Local package dump#Global dump informationSnapshot dump informationLocal dump information$Global package dumpSnapshot package dump  ! " # $ !"#$"#$ !  !"#$  ! " # $BNone &(047FN %=Directory containing files to mark an executable as installed%$Get all of the installed executables&&Mark the given executable as installed'*Mark the given executable as not installed(@Try to read the dirtiness cache for the given package directory.)@Try to read the dirtiness cache for the given package directory.*>Try to read the mod time of the cabal file from the last build+3Write the dirtiness cache for this package's files.,;Write the dirtiness cache for this package's configuration.-See *."Delete the caches for the project./7Loads the flag cache for the given installed extra-deps1%Mark a test suite as having succeeded2)Mark a test suite as not having succeeded3&Check if the test suite already passed &The file containing information on the given package/configuration combination. The filename contains a hash of the non-directory configure options for quick lookup if there's a match.jIt also returns an action yielding the location of the precompiled path based on the old binary encoding.We only pay attention to non-directory options. We don't want to avoid a cache hit just because it was installed in a different directory.41Write out information about a newly built package5LCheck the cache for a precompiled package matching the given configuration. 'vEnsure that there are no lurking exceptions deep inside the parsed value... because that happens unfortunately. See 5https://github.com/commercialhaskell/stack/issues/554 ( %%&'()*+,-. )/0123 & dependencies4 dependencieslibrary executables5target package dependencies '%&'()*+,-./012345()*%/.&'0+,-12345 ( %%&'()*+,-. )/0123 &45 'CNone&476 Options for :.8Require profiling libraries?9Require haddocks?:HReturns the new InstalledMap and all of the locally registered packages. *]Outputs both the modified InstalledMap and the Set of all installed packages in this databaseThe goal is to ascertain that the dependencies for a package are present, that it has profiling if necessary, and that it matches the version and location needed by the SourceMap +Check if a can be included in the set of installed packages or not, based on the package selections made by the user. This does not perform any dirtiness or flag change checks. , - . / 0 1 2 3 4 5 6 76789:*does not contain any installed information *)if Just, profiling or haddock is required5to determine which installed things we should include$package database, Nothing for globalfrom parent databases 8 + 9 : 6789: 6789: , - . / 0 1 2 3 4 5 6 76789: * 8 + 9 :DNone (+345FINU0;-Read the raw, unresolved package information.<?Read the raw, unresolved package information from a ByteString.=)Reads and exposes the package information><Reads and exposes the package information, from a ByteString?Get  ; and  <$ reading info from given directory.@Read  package .buildinfo ancillary files produced by some Setup.hs hooks. The file includes Cabal file syntax to be merged into the package description derived from the package's .cabal file.DNOTE: not to be confused with BuildInfo, an Stack-internal datatype.APrint cabal file warnings.BCheck if the given name in the Package$ matches the name of the .cabal fileC#Resolve a parsed cabal file into a @. =Generate GHC options for the package's components, and a list of options which apply generally to the package, not one specific component. >$Generate GHC options for the target. ?@Make the .o path from the .c file path for a component. Example: 7executable FOO c-sources: cbits/text_search.c Produces dist-dirbuildFOOFOO-tmpcbits/text_search.oExample:,> makeObjectFilePathFromC $(mkAbsDir "UserschrisRepos$hoogle") CLib $(mkAbsDir "UserschrisReposhoogle .stack-work%Cabal-x.x.x/dist") $(mkAbsFile "UserschrisReposhooglecbitstext_search.c") Just "UserschrisReposhoogle .stack-work Cabal-x.x.xdistbuildcbits<text_search.o" > makeObjectFilePathFromC $(mkAbsDir "UserschrisRepos/hoogle") (CExe "hoogle") $(mkAbsDir "UserschrisReposhoogle .stack-work%Cabal-x.x.x/dist") $(mkAbsFile "UserschrisReposhooglecbitstext_search.c") Just "UserschrisReposhoogle .stack-work Cabal-x.x.xdistbuildhoogle hoogle-tmpcbitstext_search.o" > @KThe directory where generated files are put like .o or .hs (from .x files).EMake the autogen dir. AMake the build dir. B@Make the component-specific subdirectory of the build directory.F=Get all dependencies of the package (buildable targets only).GHGet all build tool dependencies of the package (buildable targets only). C=Get all dependencies of the package (buildable targets only). D"This is a copy-paste from Cabal's  allBuildInfo function, but with the  buildable3 test removed. The implementation is broken. See: ,https://github.com/haskell/cabal/issues/1725 E(Get all files referenced by the package. F>Resolve globbing of files (e.g. data files) to absolute paths. G<This is a copy/paste of the Cabal library function, but with  ext == ext' Changed to isSuffixOf ext ext'So that this will work: > matchDirFileGlob_ "." "test package-dump *.txt" ["test package-dumpghc-7.8.txt","test package-dumpghc-7.10.txt"] H*Get all files referenced by the benchmark. I%Get all files referenced by the test. J+Get all files referenced by the executable. K(Get all files referenced by the library. L4Get all C sources and extra source files in a build. MGet the target's JS sources.HVGet all dependencies of a package, including library, executables, tests, benchmarks. N.Make a map from a list of flag specifications.What is  flagManual for? O Generic a ResolveConditions using sensible defaults. P+Resolve the condition tree for the library. QGet the name of a dependency. R&Get the version range of a dependency. STry to resolve the list of base names in the given directory by looking for unique instances of base names applied with the given extensions, plus find any of their module and TemplateHaskell dependencies. T.Get the dependencies of a Haskell module file. U6Parse a .dump-hi file into a set of modules and files. VTry to resolve the list of base names in the given directory by looking for unique instances of base names applied with the given extensions. WeFind a candidate for the given module-or-filename from the list of directories and given extensions. XpWarn the user that multiple candidates are available for an entry, but that we picked one anyway and continued. YgLog that we couldn't find a candidate, but there are possibilities for custom preprocessor extensions.IFor example: .erb for a Ruby file might exist in one of the directories.I;Get the filename for the cabal file in the given directory.WIf no .cabal file is present, or more than one is present, an exception is thrown via  Z.fIf the directory contains a file named package.yaml, hpack is used to generate a .cabal file from it.J5Generate .cabal file from package.yaml, if necessary.K!Path for the package's build log. [UResolve the file, if it can't be resolved, warn for the user (purely to be helpful). \ZResolve the directory, if it can't be resolved, warn for the user (purely to be helpful).L Extract the PackageIdentifier) given an exploded haskell package path.F ] ^ _ ` a b c d e f g h i j k l m n o p;<=>?@ABCD =:Packages to omit from the "-package" / "-package-id" flags'Packages to add to the "-package" flags > ?The cabal directory.The name of the component.Dist directory.The path to the .c file.*The path to the .o file for the component. @E A BFG C D E F G H I J K L MH N OCompiler versioninstallation target platform enabled flags P Q R SPackage component nameDirectories to look in. Base names. Extensions. T U VDirectories to look in. Base names. Extensions. W X YIpackage directoryJK q [ \L8'()*+,-.123=>?@ABCDEFGHIJKLMNOPQRSTUVW;<=>?@ABCDEFGHIJKL8=>?@;<CDIJ@ABCDEFGHIJKLMNOPQR123=>?'()*+,-.KSTUVWHGFEBAL4 ] ^ _ ` a b c d e f g h i j k l m n o p;<=>?@ABCD = > ? @E A BFG C D E F G H I J K L MH N O P Q R S T U V W X YIJK q [ \LENoneM#Interprets BuildOptsMonoid options.MNOPMNOPMNOPMNOPFNone+Q)Exceptions thrown by Stack.Docker.Config.R7Only LTS resolvers are supported for default image tag.SInvalid global database path.T$Interprets DockerOptsMonoid options.U-Show instance for StackDockerConfigException.V2Exception instance for StackDockerConfigException.QRSTUVQRSTTQRSVUQRSTUVGNone&+4 rStack image exceptions. s?Unspecified parent docker container makes building impossible t@Can't determine the project root (where to put image sandbox).WJStages the executables & additional content in a staging directory under  '.stack-work'X4Builds a Docker (OpenContainer) image extending the basew image specified in the project's stack.yaml. Then new image will be extended with an ENTRYPOINT specified for each  entrypoint listed in the config file. u,Stage all the Package executables in the usrlocal&bin subdirectory of a temp directory. v`Add any additional files into the temp directory, respecting the (Source, Destination) mapping. w0Derive an image name from the project directory. xdCreate a general purpose docker image from the temporary directory of executables & static content. yHExtend the general purpose docker image with entrypoints (if specified). z1Fail with friendly error if project root not set.Y)The command name for dealing with images.Z1The command name for building a docker container.[+Convert image opts monoid to image options. r s tWX { u v w x y zYZ[ | }WXYZ[WXYZ[ r s tWX { u v w x y zYZ[ | }HNone!"47>CILN\8Date and project path where Docker image hash last used._:Update last used time and project for a Docker image hash.`?Get a list of Docker image hashes and when they were last used.a_Given a list of all existing Docker images, remove any that no longer exist from the database.bIGet the record of whether an executable is compatible with a Docker imagecJSeet the record of whether an executable is compatible with a Docker image ~URun an action with the global database. This performs any needed migrations as well.%\]  ^ _`abc ~ \]^_`abc_`a\^bc] \]  ^  _`abc ~  INone4dDefault  EnvSettings+ which includes locals and GHC_PACKAGE_PATHe;Environment settings which do not embellish the environmentf:Execute a process within the Stack configured environment.*Execution will not return, because either:t1) On non-windows, execution is taken over by execv of the sub-process. This allows signals to be propagated (#527)2) On windows, an   exception will be thrown.gLike f, but does not use execvZ on non-windows. This way, there is a sub-process, which is helpful in some cases (#1306)%This function only exits by throwing  .defghidefghidefghidefghiJNone&+4N 5Exception that might occur when making a new project.j#Options for creating a new project.lName of the project to create.m2Whether to create the project without a directory.nName of the template to use.o4Nonce parameters specified just for this invocation.p,Create a new project with the given options. /Download and read in a template's text content. -Apply and unpack a template into a directory. 5Check if we're going to overwrite any existing files. )Write files to the new project directory. .Run any initialization functions, such as Git.qGDisplay the set of templates accompanied with description if available.rGet the set of templates. *Parser the set of templates from the JSON.s<The default template name you can use if you don't have one. &Default web root URL to download from. @Default web URL to get a yaml file containing template metadata. *Default web URL to list the repo contents.) jklmnop qr s jklmnopqrs pjklmnosrq   jklmnop qr s KNonet1Parser for bench arguments. FIXME hiding optionsttttLNoneu+Parser for test arguments. FIXME hide argsuuuuMNonevParser for haddock arguments.vvvvNNonew#Parser for CLI-only build argumentswxywxywxywxyONonezGHC variant parserzzzzPNone{Parser for exec command}(Parser for extra options to exec command{|metavar}{|}{|}{|}QNone4 4Passed to all the path printers as a source of info.~YPrint out useful path information in a human-readable format (and support others later). The paths of interest to a user. The first tuple string is used for a description that the optparse flag uses, and the second string as a machine-readable key and also for --foo: flags. The user can choose a specific path to list like  --stack-root7. But really it's mainly for the documentation aspect.!When printing output we generate PathInfoi and pass it to the function to generate an appropriate string. Trailing slashes are removed, see #506 ~ ~~ ~ RNone+NSettings for creating an Uploader. Since 0.1.0.0The computed value from a UploadSettings.%Typically, you want to use this with . Since 0.1.0.08Whether the Hackage credentials were loaded from a file.This information is useful since, typically, you only want to save the credentials to a file if it wasn't already loaded from there. Since 0.1.0.0)A source for getting Hackage credentials. Since 0.1.0.0*Username and password to log into Hackage. Since 0.1.0.0/Load Hackage credentials from the given source. Since 0.1.0.03Save the given credentials to the credentials file. Since 0.1.0.0OLoad the Hackage credentials from the prompt, asking the user to type them in. Since 0.1.0.07Load the Hackage credentials from the JSON config file. Since 0.1.0.06Load the Hackage credentials from the given arguments. Since 0.1.0.0]Try to load the credentials from the config file. If that fails, ask the user to enter them. Since 0.1.0.0 5Lifted from cabal-install, Distribution.Client.Upload Turn the given settings into an Uploader. Since 0.1.0.0'Upload a single tarball with the given Uploader. Since 0.1.0.0'Upload a single tarball with the given Uploader#. Instead of sending a file like , this sends a lazy bytestring. Since 0.1.2.1Default value for UploadSettings.(Use setter functions to change defaults. Since 0.1.0.0Change the upload URL. Default: " &https://hackage.haskell.org/packages/" Since 0.1.0.0#How to get the Hackage credentials. Default:  fromAnywhere Since 0.1.0.0(Save new credentials to the config file. Default: True Since 0.1.0.0'                 SNone !"&+04F set of shadowed dependenciesYDetermine the necessary packages to install to have the given set of packages available.EThis function will not provide test suite and benchmark dependencies.8This may fail if a target package is not present in the  BuildPlan. 7Add in the resolved dependencies from the package index BResolve all packages necessary to install for the needed packages.*Map from tool name to package providing it Load up a }, preferably from cache MSome hard-coded fixes for build plans, hopefully to be irrelevant over time.  Load the f for the given snapshot. Will load from a local copy if available, otherwise downloading from Github. Find the set of FlagNames necessary to get the given GenericPackageDescription to compile against the given  BuildPlan. Will only modify non-manual flags, and will prefer default values for flags. Returns the plan which produces least number of dep errors Check whether with the given set of flags a package's dependency constraints can be satisfied against a given build plan or pool of packages. Checks if the given package dependencies can be satisfied by the given set of packages. Will fail if a package is either missing or has a version outside of the version range.  Combine two s for the same K. &Given a bundle of packages (a list of GenericPackageDescriptions's) to build and an available package pool (snapshot) check whether the bundle's dependencies can be satisfied. If flags is passed as Nothing flag settings will be chosen automatically. Compare , where GT means a better plan.Check a set of  ;zs and a set of flags against a given snapshot. Returns how well the snapshot satisfies the dependencies of the packages.iFind a snapshot and set of flags that is compatible with and matches as best as possible with the given  ;s.6 "is it shadowed by a local package?"required packages, and users of it Compiler versioncoresnon-core packages  allow missingCompiler version "is it shadowed by a local package?  6package using dependencies, for constructing DepErrorsdependency constraintsAvailable package pool or index  )Root directory for when url is a filepath *stuvwxyz{|}~*}~stuvwxyz{|&       TNone &+4>CFLNU;An environment with a subset of BuildConfig used for setup. WIf deprecated path exists, use it and print a warning. Otherwise, return the new path.Get the location of the implicit global project directory. If the directory already exists at the deprecated location, its location is returned. Otherwise, the new location is returned.%This is slightly more expensive than   (   )" and should only be used when no  is at hand. Download the  value from stackage.org.Turn an  into a . +Get the latest snapshot resolver available. 9Get the default location of the local programs directory. Load the .oLoad the configuration, using current directory, environment variables, and defaults as necessary. The passed Maybe (Path Abs File)> is an override for the location of the project's stack.yaml. MLoad the build configuration, adds build-specific values to config loaded by  loadConfig . values.Get packages from EnvConfig, downloading and cloning as necessary. If the packages have already been downloaded, this uses a cached value (SResolve a PackageEntry into a list of paths, downloading and cloning as necessary. MResolve a PackageLocation into a path, downloading and cloning as necessary. Get the stack root, e.g. ~/.stack), and determine whether the user owns it.'On Windows, the second value is always . dir throws  if dir" isn't owned by the current user.If dirh doesn't exist, its parent directory is checked instead. If the parent directory doesn't exist either,  ( dir) is thrown.   dir returns  (dir, ) when dir6 exists and the current user owns it in the sense of  . 0Check whether the current user (determined with getEffectiveUserId#) is the owner for the given path.Will always return  on Windows.7 if we are currently running inside a Docker container.* if we are currently running inside a Nix. 6Determine the extra config file locations which exist.Returns most local first 7Load and parse YAML from the given conig file. Throws  when there's a decoding error. (Load and parse YAML from the given file. :Get the location of the project config file, if it exists. Find the project config file location, respecting environment variables and otherwise traversing parents. If no config is found, we supply a default based on current directory. Get the location of the default stack configuration file. If a file already exists at the deprecated location, its location is returned. Otherwise, the new location is returned. Get the location of the default user configuration file. If a file already exists at the deprecated location, its location is returned. Otherwise, the new location is returned.$ QDescription of file for warning (if Nothing, no deprecation warning is displayed)Test for existenceNew pathDeprecated path((Path to use, whether it already exists) stack root, e.g. ~/.stackuser config file path, e.g. ~.stack config.yaml 0Config monoid from parsed command-line argumentsOverride resolverProject config to use, if any0Config monoid from parsed command-line argumentsOverride resolverOverride stack.yaml  project root  project root Parsed command-line arguments  use config path   Override stack.yaml Override stack.yaml   #             UNone &47FMNLike <, but doesn't return values that aren't as commonly needed.All flags for a local package7Use the build options and environment to parse targets.3If the local packages views are already known, use  instead. xFor every package in the snapshot which is referenced by a flag, give the user a warning and then add it to extra-deps.9Parse out the local package views for the current project OCheck if there are any duplicate package names and, if so, throw an exception. 7Upgrade the initial local package info to a full-blown  LocalPackage" based on the selected components YEnsure that the flags specified in the stack.yaml file and on the command line are used. /Add in necessary packages to extra dependenciesOriginally part of  5https://github.com/commercialhaskell/stack/issues/272, this was then superseded by 5https://github.com/commercialhaskell/stack/issues/651 Compare the current filesystem state to the cached information, and determine (1) if the files are dirty, and (2) the new cache values.NReturns entries to add to the build cache for any newly found unlisted modules )Gets list of Paths for files in a package )Get file modification time, if it exists.  Create FileCacheInfo for a file.Get ' for package given its name.Local package views snapshot extra-depslocalspackages referenced by a flag     extra depssnapshot, for error messages original extra deps)package identifiers from the command line&all packages added on the command line new extradeps  old cachefiles in package    #$%&&#$%           VNone &+047CFN Length of dpPath  Length of package names combined OA path where the packages later in the list depend on those that come earlier $Reason why a dependency was not used 7For display purposes only, Nothing if package not found >Recommend adding to extra-deps, give a helpful version number? Cexecutable to be installed, and location where the binary is placed !'why a local package is considered dirty "$Packages which count as dependencies #Warnings $KWhich packages a given package depends on, along with the package's version %fDetermine which packages to unregister based on the given tasks and already registered local packages &\Get all of the dependencies for a given package, including guessed build tool dependencies. 'Strip out anything from the Plan intended for the local database (;Is the given package/version combo defined in the snapshot? )zGet the shortest reason for the package to be in the build plan. In other words, trace the parent dependencies back to a  * package.[ + , - .     / 0 1  2 3 4  5 6 7 8 9 : ; < = > ? @ A B * C D E F G H ! " # $ I J K L M N O P Q R S&additional packages that must be builtlocally registeredload upstream package % T U#is this being used by a dependency? V W X Y#is this being used by a dependency? Z [ \ ] ^#is this being used by a dependency? _ ` a b c & d e ' f g ( h ) i j k l m n o p q r s5 + , - .     / 0 1  2 3 4  5 6 7 8 9 : ; < = > ? @ A B * C D E F G H ! " # $ I J K L M N O P Q R S % T U V W X Y Z [ \ ] ^ _ ` a b c & d e ' f g ( h ) i j k l m n o p q r sWNone&3457U5Invoked at the beginning of running with "--coverage"iMove a tix file into a sub-directory of the hpc report directory. Deletes the old one if one is present. t;Get the directory used for hpc reports for the given pkgId. unGet the tix file location, given the name of the file (without extension), and the package identifier string.VGenerates the HTML coverage report and shows a textual coverage summary for a package. vModule names which contain  wE have a package name, and so they weren't built into the executable. t u x y z v { | } ~    t u x y z v { | } ~  XNone Parser for stack hpc report.YNone&+4Exceptions during cleanup. Options for  stack clean.,Delete the "dist directories" as defined in zb for the given local packages. If no packages are given, all project packages should be cleaned.+Delete all work directories in the project./Deletes build artifacts in the current project.Throws .   ZNone*Command-line parser for the clean command.[None&4F-List the packages inside the current project.(List the targets in the current project.\None&+4 Exceptions thrown by  Stack.Nix. ECan't determine the project root (location of the shell file if any).rIf Nix is enabled, re-runs the currently running OS command in a Nix container. Otherwise, runs the inner action. ?Shell-escape quotes inside the string and enclose it in quotes. 1Fail with friendly error if project root not set.Command-line argument for "nix"       ]None^None !"&4N ;Apply changes to the global configuration, typically at ~.stack config.yaml. Apply changes to the project  stack.yaml.         _None &04Ue.g. ghc-7.8.4, msys2-20150512e.g. ghcjs-0.1.0_ghc-7.10.22Binary directories for the given installed package   `Signing Packages(c) FPComplete.com, 2015BSD3!Tim Dysinger <tim@fpcomplete.com> experimentalPOSIXNone4IN\Sign a haskell package with the given url of the signature service and a path to a tarball.Sign a haskell package with the given url to the signature service, a package tarball path (package tarball name) and a lazy bytestring of bytes that represent the tarball bytestream. The function will write the bytes to the path in a temp dir and sign the tarball with GPG.BSign a haskell package given the url to the signature service, a PackageIdentifier( and a file path to the package on disk.{GPG Signatures for Stack(c) FPComplete.com, 2015BSD3!Tim Dysinger <tim@fpcomplete.com> experimentalPOSIXNoneBCaNone+#Does not include the current action*Actions which depend on the current action      threads$keep going after one task has failedrun final actions concurrently?progress updated                    bNone &47>LU $Temporary Setup.hs for simple builds @Temporary SetupShim.hs, to provide access to initial-build-steps Compiled version of eeSetupHsTFetch the packages necessary for a build, for example in combination with a dry run.8Print a description of build plan for human consumption.  For a dry run Get a compiled Setup exe!Execute a callback that takes an .Perform the actual plan Windows can't write over the current executable. Instead, we rename the current executable to something else and then do the copy. "Perform the actual plan (internal) Generate the ConfigCache CEnsure that the configuration for the package matches what is given MCheck if any unlisted files have been found, and add them to the build cache. 8Determine if all of the dependencies given are installed IStrip Template Haskell "Loading package" lines and making paths absolute. [Find the Setup.hs or Setup.lhs in the given directory. If none exists, throw an exception. Take the given list of package dependencies and the contents of the global package database, and construct a set of installed package IDs that:-Excludes the Cabal library (it's added later)1Includes all packages depended on by this packageIncludes all global packages, unless: (1) it's hidden, (2) it's shadowed by a depended-on package, or (3) one of its dependencies is not met.See: 5https://github.com/commercialhaskell/stack/issues/941 5https://github.com/commercialhaskell/stack/issues/944 5https://github.com/commercialhaskell/stack/issues/9494  Setup.hs input fileSetupShim.hs input filetemporary directoryglobal packagessnapshot packageslocal packagesglobal packagessnapshot packageslocal packages newConfigCachepackage directoryannouncecabal .cabal file wAll dependencies' package ids to provide to Setup.hs. If Nothing, just provide global and snapshot package databases. Is this a final build? exclude TH loading?convert paths to absolute?package's root directory project directory dependencies of the packageglobal packages    cNone  &+04FNBuild.If a buildLock is passed there is an important contract here. That lock must protect the snapshot, and it must be safe to unlock it if there are no further modifications to the snapshot to be performed by this build. VIf all the tasks are local, they don't mutate anything outside of our local directory. See  6https://github.com/commercialhaskell/stack/issues/1198.Get the BaseConfigOpts- necessary for constructing configure optionsIProvide a function for loading package information from the package index PSet the code page for this process as necessary. Only applies to Windows. See: 5https://github.com/commercialhaskell/stack/issues/738PQuery information about the build and print the result to stdout in YAML format. $Get the raw build information object*callback after discovering all local files   selectors    dNone &+-4>LMNUV#;Should we use a system compiler installation, if available?&0If we got the desired GHC version from that file(&Run a sanity check on the selected GHC)5Don't check for a compatible GHC version/architecture*0Do not use a custom msys installation on Windows+Upgrade the global Cabal library in the database to the newest version. Only works reliably with a stack-managed installation.,8Message shown to user for how to resolve the missing GHC-*Location of the main stack-setup.yaml file.>Alternate GHC binary distribution (requires custom GHCVariant)/-Default location of the stack-setup.yaml file0[Modify the environment variables (like PATH) appropriately, possibly doing installation too 1Add the include and lib paths to the given Config1UEnsure compiler (ghc or ghcjs) is installed and provide the PATHs to add if necessary bDetermine which GHC build to use depending on which shared libraries are available on the system.2#Ensure Docker container-compatible stack executable is downloaded ,Install the newest version of Cabal globally34Get the version of the system compiler, if available "Download the most recent SetupInfo QCheck if given processes appear to be present, throwing an exception if missing. Unpack a compressed tarball using 7zip. Expects a single directory in the unpacked results, which is renamed to the destination directory. BDownload 7z as necessary, and get a function for unpacking things.8Returned function takes an unpack directory and archive. Given a printf format string for the decimal part and a number of bytes, formats the bytes using an appropiate unit and returns the formatted string.bytesfmt "%.2" 512368"500.359375 KiB" #Perform a basic sanity check of GHC MGet map of environment variables to set to change the GHC's encoding to UTF-8R  !"#$%&'()*+,-./08Message to give user when necessary GHC is not available 1 2 3 already installedpackage to findwhich versions are acceptable         OS Key $Name of tool, used in error messagesPath to archive fileLName of directory expected in archive. If Nothing, expects a single folder.Destination directory. labelURL, content-length, and sha1 destination  4 5optional version67acceptable platformsdestination directory!test the temp exe before renaming89     !"#$%&'()*+,-./01234567890123 !"#$%&'()*+,-./4896572    !"#$%&'()*+,-./0 1 2 3          4 56789    eNone&+4FIMNV @Function to get command and arguments to run in Docker container Parsed Config section of docker inspect output. Parsed result of docker inspect.:Cleanup action.> Options for H.FxIf Docker is enabled, re-runs the currently running OS command in a Docker container. Otherwise, runs the inner action.FThis takes an optional release action which should be taken IFF control is transfering away from the current process to the intra-container one. The main use for this is releasing a lock. After launching reexecution, the host process becomes nothing but an manager for the call into docker and thus may not hold the lock. If Docker is enabled, re-runs the OS command returned by the second argument in a Docker container. Otherwise, runs the inner action.0This takes an optional release action just like F.G Error if running in a container. ?Run a command in a new Docker container, then exit the process.H*Clean-up old docker images and containers. "Inspect Docker image or container. 1Inspect multiple Docker images and/or containers.I=Pull latest version of configured Docker image from registry.  Pull Docker image from registry. 4Check docker version (throws exception if incorrect)J$Remove the project's Docker sandbox.KThe Docker container "entrypoint": special actions performed when first entering a container, such as switching the UID/GID to the "outside-Docker" user's. CMVar used to ensure the Docker entrypoint is performed exactly once dRemove the contents of a directory, without removing the directory itself. This is used instead of |}Z to clear bind-mounted directories, since removing the root of the bind-mount won't work. Produce a strict ~) from the stdout of a process. Throws a ? exception if the process fails. Logs process's stderr using  $logError. -Name of home directory within docker sandbox. Directory where stack/ executable is bind-mounted in Docker container !4Convenience function to decode ByteString to String. ".Convenience function constructing message for $log*. #1Fail with friendly error if project root not set. $Environment variable that contained the old sandbox ID. | Use of this variable is deprecated, and only used to detect old images. %Parse Config section of docker inspect output. &Parse docker inspect output..   ' ( )  * + , - .:;<=>?@ABCDEF G Project root (maybe)Action to run beforeAction to run afterH  I  JK  Directory to remove contents of1Top-level directory names to exclude from removal,Top-level file names to exclude from removal   ! " # $ % &+     bcdef:;<=>?@ABCDEFGHIJK+H>?@ABCDE:;<=ebcdKGIFJf        ' ( )  * + , - .:;<=>?@ABCDEF G H  I  JK     ! " # $ % &fNoneL(Options parser configuration for Docker.M$Parser for docker cleanup arguments.LMLMLMLMgNone4OiEnforce mutual exclusion of every action running via this function, on this path, on this users account.A lock file is created inside the given directory. Currently, stack uses locks per-snapshot. In the future, stack may refine this to an even more fine-grain locking approach.QSLoads global config, ignoring any configuration which would be loaded due to $PWD.UJLoad the configuration. Convenience function used throughout this module.W(Unlock a lock file, if the value is Just NOPQRSTAction to perform before the build. This will be run on the host OS even if Docker is enabled for builds. The build config is not available in this action, since that would require build tools to be installed on the host OS.mAction that uses the build config. If Docker is enabled for builds, this will be run in a Docker container.Action to perform after the build. This will be run on the host OS even if Docker is enabled for builds. The build config is not available in this action, since that would require build tools to be installed on the host OS.UVW NOPQRSTUVW QPVSRTUNOW NOPQRSTUVWhNone &47>LNYMerge two separate maps, one defining constraints on package versions and the other defining package flagmap, into a single map of version and flagmap tuples.ZGiven a resolver, user package constraints (versions and flags) and extra dependency constraints determine what extra dependencies are required outside the resolver snapshot and the specified extra dependencies.First it tries by using the snapshot and the input extra dependencies as hard constraints, if no solution is arrived at by using hard constraints it then tries using them as soft constraints or preferences.It returns either conflicting packages when no solution is arrived at or the solution in terms of src package flag settings and extra dependencies.[Given a resolver (snpashot, compiler or custom resolver) return the compiler version, package versions and packages flags for that resolver.\Given a bundle of user packages, flag constraints on those packages and a resolver, determine if the resolver fully, partially or fails to satisfy the dependencies of the user packages.#If the package flags are passed as & then flags are chosen automatically.]GFinds all files with a .cabal extension under a given directory. If a J `package.yaml`l file exists, this will be used to generate a cabal file. Subdirectories can be included depending on the recurse parameter. /CSpecial directories that we don't want to traverse for .cabal files^Perform some basic checks on a list of cabal files to be used for creating stack config. It checks for duplicate package names, package name and cabal file name mismatch and reports any issues related to those.+If no error occurs it returns filepath and GenericPackageDescriptionTs pairs as well as any filenames for duplicate packages not included in the pairs._Verify the combination of resolver, package flags and extra dependencies in an existing stack.yaml and suggest changes in flags or extra dependencies so that the specified packages can be compiled. 0 1 2 3 4 cabal filessrc constraintsdep constraintsadditional argumentsX 5temp dir constraints 6 7YZstack.yaml file location#package dirs containing cabal filesK( resolver , src package constraints , extra dependency constraints )S(Conflicting packages (resulting src package specs, external dependency specs))[\] /^ 8 9Directories to scanWhether to scan sub-directories_modify stack.yaml? :XYZ[\]^_\^][Y_ZX 0 1 2 3 4X 5 6 7YZ[\] /^ 8 9_ :iNone&47b2List of sub directories to search for .cabal filesc6Use solver to determine required external dependenciesd1Exclude conflicting or incompatible user packageseOverwrite existing stack.yamlf>If True, include all .cabal files found in any sub directoriesgGenerate stack.yaml ;.Render a stack.yaml file with comments, see: 5https://github.com/commercialhaskell/stack/issues/226 <Get the default resolver value`abcdefg ; = < stack.yaml6Src package name: cabal dir, cabal package descriptiont( Resolver , Flags for src packages and extra deps , Extra dependencies , Src packages actually considered) > stack.yaml6Src package name: cabal dir, cabal package descriptiont( Resolver , Flags for src packages and extra deps , Extra dependencies , Src packages actually considered) ? stack.yaml6Src package name: cabal dir, cabal package description @`abcdefgg`abcdef`abcdefg ; = < > ? @jNone&4 hijklmn Aop hijklmnop pohijklmnhijklmn AopkNone&4FqDInformation about a package in the dependency graph, when available.sThe package version.t+The license the package was released under.wThe normal dot options.x/Separator between the package name and details.y.Print dependency licenses instead of versions.zOptions record for  stack dot|Include external dependencies}Include dependencies on base~OLimit the depth of dependency resolution to (Just n) or continue until fixpoint%Package names to prune from the graph'stack TARGETs to trace dependencies for,Flags to apply when calculating dependencies9Like the "--test" flag for build, affects the meaning of .:Like the "--bench" flag for build, affects the meaning of .8Visualize the project's dependencies as a graphviz graph BCreate the dependency graph and also prune it as specified in the dot options. Returns a set of local names and and a map from package names to dependencies. CCreate the dependency graph, the result is a map from a package name to a tuple of dependencies and payload if available. This function mainly gathers the required arguments for resolveDependencies."pruneGraph dontPrune toPrune graph prunes all packages in graph with a name in toPrune3 and removes resulting orphans unless they are in  dontPrune D9Make sure that all unreachable nodes (orphans) are prunedLResolve the dependency graph up to (Just depth) or until fixpoint is reached EUGiven a SourceMap and a dependency loader, load the set of dependencies for a package FNResolve the direct (depth 0) external dependencies of the given local packagesUPrint a graphviz graph of the edges in the Map and highlight the given local packages GAPrint the local nodes with a different style depending on options H Print nodes without dependencies IprintDedges p ps" prints an edge from p to every ps J+Print an edge between the two package names K,Convert a package name to a graph node name. L!Print a node with no dependencies M3Check if the package is wired in (shipped with) ghc%qrstuvwxyz{|}~ B C D E F all locals G H I J K L M Nqrstuvwxyz{|}~z{|}~qrstuvwxyqrstuvwxyz {|}~ B C D E F G H I J K L M NlNone#Parser for arguments to `stack dot`2Parser for arguments to `stack list-dependencies`.mNone &+4F:Necessary information to load a package or its components.Module file paths.C files.Command-line options for GHC.Launch a GHCi session for the given local package targets with the given options and configure it with the load paths and extensions of those targets. OFigure out the main-is file to load based on the targets. Sometimes there is none, sometimes it's unambiguous, sometimes it's ambiguous. Warns and returns nothing if it's ambiguous. P=Make information necessary to load the given package in GHCi.: Q R S T U V W X Y Z [ \ O ] P ^ _ ` a b c d e f g h      Q R S T U V W X Y Z [ \ O ] P ^ _ ` a b c d e f g hnNoneParser for GHCI optionsoNoneNHoogle command.pNoneqNone0Command-line arguments parser for configuration.rNone'Parser for global command-line options.(Create GlobalOpts from GlobalOptsMonoid.sNone Parser for  stack new.tNone&47 iKforce a download, even if the downloaded version is older than what we are jspecific version to download k l m n o p q r s i j t u&git hash at time of building, if known v w k l m n o p q r s i j t u v wuNone  &+4>ILN xZSpecial exception to throw when you want to fail because of bad results of package check.LGiven the path to a local package, creates its source distribution tarball.While this yields a  yn, the name of the tarball, this tarball is not written to the disk and instead yielded as a lazy bytestring. z:Get the PVP bounds-enabled version of the given cabal file {Traverse a data type. | Read in a 3 config. This makes some default decisions about ; fields that might not be appropriate for other use-cases. }SReturns a newline-separate list of paths, and the absolute path to the .cabal file.sCheck package in given tarball. This will log all warnings and will throw an exception in case of critical errors.>Note that we temporarily decompress the archive to analyze it. Version of I that first saves lazy bytestring to temporary directory and then calls  on it. x ~Override Config valuePath to local packageFilename and tarball contents z { | }  Absolute path to tarball Tarball name!Tarball contents as a byte string Location of tarball/Perform actions given dir with tarball contents ,Full path to find the file on the local disk,Path to use for the tar Entry in the archive  x ~ z { | }                        !"#$%&'()*+,-./01234556789:;<=>?@ A B C DEFGHIJKLMNOPQRSTUVWXYZ[\]^__`abbcdefghijklmnopqrstuvwxyz{|}~ !!!!!!!!!!!!""###################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $ $$$$$$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$&$'$($)$)$*$+$,$-$.$/$0$0$1$2$3$4$5$6$7$8$9$:$;%<%=%>%?%@%A%B%C%D%E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y'Z'['\']%^%_%`%a%b%c%d%e%f%g%h%i(j(k(l)m)m)n)o)p)q)q)r)s)t)u)v)w*x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++v,,,,,,,,,,,,,,,,,,,,,,,,,,,v----.................. . . . .v. .w//////////////////000 0!0"0"0#0$0%0%0&0'0(0(0)0*0*0+0,0,0-0.0/00010102030405060708090:0:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0S0T0U0V0W0X0Y0Z0[0\0]0^0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u1v1w1x1y1z1{2|3}3}3~333333334444444444555555555555555555555555555&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&&& &!&!&"&#&$&%&%&&&'&(&)&*&+&+&,&-&.&/&0&1&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&@&A&B&C&D&E&F&G&H&I&J&K&K&L&M&N&O&P&Q&R&S&T&U&V&V&W&X&Y&Z&[&\&]&^&_&`&a&b&b&c&d&e&f&f&g&h&i&j&k&l&m&n&o&p&q&r&s&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&z667777777777777777777777777777 7 7 7 7 7777777777778888888 8!9"9#9$9%9&9':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:6:7:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:[:\:]:^:_:`:a:b:c:d:d:e:f:g:h:i:i:j:k:l:m:n:n:o:p:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<============== = = = = ========>>>>>>>?????? ?!?"?#?$?%?&?'@(@)@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@AAABACADAEAFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWCXCXCYCZC[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmEnEoEpEqFrFsFtFuFvFwGxGyGzG{G|H}H~HHHHHHIIIIIIJJJJJJJJJJKLMNNNOPPPQQRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTxTTTTTTTUyUUUUUUUUUVWWWWWWWWWWWWXXYYYYYYZ[[\\\]^^^^^^^^___ _ _ _ _ _ __________```aaaaaaaa a!a"a"a#a$a%a&a'b(b)b*b+b,b-c.c.c/c0c1c2c3c4d5d6d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNeOePeQeReSeSeTeUeVeWeXeYeZe[e\e]e^e_f`fagbgcgdgegfggghgigjgkhlhmhnhohphqhrhsititiuiviwixiyizj{j{j|j}j~jjjjkkkkkkkkkkkkkkkkkkkkkkkkllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnopqrrrstttuuu               <    !"!#$%&!'()!*+,-./0123456789:;<=>?@ABCDDEFFGHHIJJKLLMNNO PQQRSSTUVWXYZ[\]^_]`a\bcdefg]hi]hj]hk]hl]hm]hn]ho]hp]hq]rs]^t]^u]^v]^w]^x]^y]^z]^{]^|]^}]^~]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`]`]`]`]`]`]`]`]`]`]`]`]`]`]`]`]`]]!!!!!!!!!!!!!""$$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ' 'Z' ' ' !' "' #' $' %' &' '' (' )%v% *- +- ,0 -0 .0 /0 00 10 20 30 40 50 60 70 80 90 :0 ;0 <0 =0 >0 ?0 @0 A0 B0 C0 D0 E0 F0v0 G0w0 H0 I0 J0 K1 L3 M3 M3 N3 O3 P3 Q3 R3 S3 T3 U4 V5v5 W5 X5 Y5 Z5 [5 \5 ]& ^& _& `& a& b& c& d& e& f& g& g& h& i& j& k& l& m& n& o& p& q& r& s& t& u& v& w& x& y& z& {& |& }& ~& & & & & & & & & & & & & & & & & & & & & & & & &v& & &w& I& K& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &   8 8 8 8 8 8 88 8 8 8 8 8 8 9 9 9 9 9 9 9  9 9 9 9 9 9 9 ; ; ; ; ; ; ; < < < < < < < < < < < < < < < < < < < = = = = = = = = = = = > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ @ @ @ @ @ !@ "@ #@ $@ %A &A 'A (A )A *A +B ,B -B .B /B 0C 1C 2C 3C 3C 4C 5C 6C 7C 7C 8C 9C :C ;C <C =C >C ? @ A @ BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD ZD [D \D ]D ^D _ ` a bD cD dD eD eD fD gD hD iD jD jD kD lD mD nD oD pD qD rD sD tD uD vD wG xG yG zG {G |G }G ~G G G G G H H H H H H H H H H H H H H H H~H H H H H H H HH H H H H   J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q R RR R R RR R R RR RR R R R R R R R S S S S S S S S S S S S S S S S S S S S S S S S S S T  T T T T T T T T T T T T T T TT T T T T U U U U U U U U U U U V V V V V V V V V V V !V "V #V $V %V &V 'V (V (V )V )V *V +V ,V -V .V /V 0V 1V 2V 3V 3V 4V 5V 6V 7V 8V 9V :V ;V <V =V >V ?V @V @V AV BV CV DV EV FV GV HV IV JV KV LV MV NV OV PV QV RV SV TV UV VV WV XV YV ZV [V \V ]V ^V _V `V aV bV cV dV eV fV gV hV iV jV kV lW mW nW o p qW rW sW tW uW vW wW xW yW zW {W |Y }Y ~Y \\ \ \ \ \ +\ ,^ ^ ^ ^ ^ ^ ^ ^ ^ _ a a a a a a a a a a a a a a b b b b b b b b b b b b b b b(b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c c c c c c c c c d d d d d d d d d d d5d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d e e e e e e e e e e e e e e e e e e e e e e e e e e e e h h h h !h "h #h $h %h &h 'h (h )i *i +i ,i -i .i /j 0k 1k 2k 3k 4k 5k 6k 7k 8k 9k :k ;k <k =m >m ?m @m Am Bm Cm Dm Em Fm Gm Hm Im Jm Km Lm Mm Nm Om Pm Qm Rm Sm Tm Um Vm Wt Xt Ytt Zt [t \t \t ]t ^t ^t _t `t at bt cu d e fu gu hu iu ju du ku lu mu nu ou pu qu r sstack_E1dq8dbhIp6DXqDl0VK4WNStack.Ghci.ScriptStack.Types.Version Text.PrettyPrint.Leijen.ExtendedSystem.Process.RunSystem.Process.ReadNetwork.HTTP.DownloadStack.FileWatchSystem.Process.PagerEditorSystem.Process.Log Paths_stack Path.Find Path.ExtraOptions.Applicative.Complicated!Options.Applicative.Builder.ExtraStack.Options.SolverParserNetwork.HTTP.Download.VerifiedDistribution.Version.ExtraData.Text.ExtraData.Store.VersionTaggedData.Monoid.ExtraStack.Options.UtilsStack.Options.LogLevelParserData.Maybe.ExtraData.IORef.RunOnceStack.ConstantsData.Attoparsec.CombinatorsData.Attoparsec.ArgsOptions.Applicative.ArgsData.Aeson.ExtendedStack.Types.FlagNameStack.Types.PackageNameStack.Options.PackageParserStack.Types.Sig Stack.Sig.GPGStack.Types.CompilerStack.Types.BuildPlanStack.Types.ResolverStack.Types.ConfigStack.Types.GhcPkgIdStack.Options.ResolverParserStack.Types.UrlsStack.Config.UrlsStack.Types.DockerStack.Types.NixStack.Config.NixStack.Types.ImageStack.Types.TemplateNameStack.Types.Config.BuildStack.Types.CompilerBuildStack.Options.GhcBuildParserStack.Types.PackageIdentifierStack.Types.PackageDumpStack.Types.PackageIndexData.Attoparsec.InterpreterStack.Types.InternalStack.Types.StackTStack.PackageIndexStack.Types.PackageStack.PrettyPrintStack.Types.BuildStack.Build.Target Stack.GhcPkg Stack.FetchStack.PackageDumpStack.Build.HaddockStack.Build.CacheStack.Build.Installed Stack.PackageStack.Config.BuildStack.Config.Docker Stack.ImageStack.Docker.GlobalDB Stack.Exec Stack.NewStack.Options.BenchParserStack.Options.TestParserStack.Options.HaddockParserStack.Options.BuildParserStack.Options.GhcVariantParserStack.Options.ExecParser Stack.Path Stack.UploadStack.BuildPlan Stack.ConfigStack.Build.SourceStack.Build.ConstructPlanStack.CoverageStack.Options.HpcReportParser Stack.CleanStack.Options.CleanParser Stack.IDE Stack.NixStack.Options.NixParserStack.ConfigCmdStack.Setup.InstalledStack.Sig.SignControl.Concurrent.ExecuteStack.Build.Execute Stack.Build Stack.Setup Stack.DockerStack.Options.DockerParser Stack.Runners Stack.Solver Stack.InitStack.SetupCmd Stack.DotStack.Options.DotParser Stack.GhciStack.Options.GhciParser Stack.HoogleStack.Options.BuildMonoidParserStack.Options.ConfigParserStack.Options.GlobalParserStack.Options.NewParser Stack.Upgrade Stack.SDistSystem.Process.InternalcreateProcess_ loadConfig loadSourceMapdistRelativeDir Stack.SigFS removeTreeS ByteStringCabal_Ku2CIqstfjg7Z2SNHUypWHDistribution.ModuleName ModuleNameDistribution.Version VersionRangeannot_7zYMiF3emLt6jfsSioGRzu!Text.PrettyPrint.Annotated.Leijen noAnnotateannotategroupnest linebreaklinealignhangindentfill fillBreakenclosebracketsanglesparensbracesdquotessquotes softbreaksoftline<+>vcathcatfillCatcatvsephsepfillSepsep punctuate encloseSepDocstrea_2msd4CN8zTzA8TU910g6C0Data.Streaming.ProcessProcessExitedUnsuccessfullyproce_52AgREEfSrnJLlkGV9YZZJSystem.Process readProcesshttpc_6VCmj7vw1dJ9cGvetMaurDNetwork.HTTP.Client.Request parseRequest parseUrlThrowhttpc_CuRnNkPgbxgFCQgTgPcuKoNetwork.HTTP.SimplehttpJSON HasAnsiAnn getAnsiAnn toAnsiDocAnsiAnnAnsiDocDisplayAnndisplay displayPlain renderDefault displayAnsi hDisplayAnsiblack dullblackonblack ondullblackreddullredonred ondullredgreen dullgreenongreen ondullgreenyellow dullyellowonyellow ondullyellowbluedullblueonblue ondullbluemagenta dullmagenta onmagenta ondullmagentacyandullcyanoncyan ondullcyanwhite dullwhiteonwhite ondullwhiteboldfaintnormal GhciScriptcmdAdd cmdAddFilecmdCdGhc cmdModulescriptToLazyByteStringscriptToBuilder scriptToFileprintExceptionStderr fileWatch fileWatchPollEditorExceptionEditorNotFoundEditorExitFailurePagerException PagerNotFoundPagerExitFailure pageWriterpageByteString pageBuilderpageFile pageStringeditFileeditReaderWritereditByteString editStringlogCreateProcesswithProcessTimeLogshowProcessArgDebugversion getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName findFileUp findDirUp findFiles findInParentstoFilePathNoTrailingSepparseCollapsedAbsDirparseCollapsedAbsFiledropRootrejectMissingFilerejectMissingDirpathToLazyByteStringpathToByteString pathToTextReadProcessException ProcessFailed NoPathFoundExecutableNotFoundExecutableNotFoundAt EnvOverride eoTextMap eoStringListeoPath eoExeCacheeoExeExtensions eoPlatform unEnvOverride envSearchPathmodifyEnvOverride mkEnvOverride envHelperreadProcessNulltryProcessStdouttryProcessStderrStdoutreadProcessStdoutreadProcessStderrStdoutsinkProcessStdoutlogProcessStderrStdoutsinkProcessStderrStdoutsinkProcessStderrStdoutHandle preProcessdoesExecutableExistfindExecutable resetExeCachegetEnvOverride augmentPathaugmentPathMapCmdcmdDirectoryToRunIncmdCommandToRuncmdEnvOverridecmdCommandLineArgumentsrunCmdrunCmd' callProcess callProcess'callProcessInheritStderrStdoutcallProcessObserveStdoutcreateProcess'complicatedOptions addCommandaddSubCommandscomplicatedParser boolFlagsboolFlagsNoDefaultmaybeBoolFlagsfirstBoolFlagsenableDisableFlagsenableDisableFlagsNoDefaultextraHelpOption execExtraHelp textOption textArgument optionalFirst absFileOption relFileOption absDirOption relDirOption eitherReader'solverOptsParserVerifiedDownloadExceptionWrongContentLengthWrongStreamLength WrongDigest LengthCheckCheckHexDigestCheckHexDigestStringCheckHexDigestByteStringCheckHexDigestHeader HashCheckhashCheckAlgorithmhashCheckHexDigestDownloadRequest drRequest drHashChecks drLengthCheck drRetryPolicydrRetryPolicyDefaultrecoveringHttpverifiedDownloadDownloadExceptionRedownloadFaileddownload redownloadsetGithubHeadershasUpperhasLowerstripCRversionedEncodeFileversionedDecodeOrLoadversionedDecodeFilestoreVersionConfig fromFirstGlobalOptsContextOuterGlobalOptsOtherCmdGlobalOptsBuildCmdGlobalOptsGhciCmdGlobalOptshideModslogLevelOptsParser mapMaybeA forMaybeA mapMaybeM forMaybeMrunOnce stackProgName appending alternatingpured concating EscapingModeEscaping NoEscaping parseArgs argsParser argsArgument argsOption cmdOptionparseArgsFromString JSONWarningJSONUnrecognizedFieldsWithJSONWarnings WarningParser.:.:?..:..:?..!= tellJSONFieldwithObjectWarningsunWarningParserlogJSONWarningsjsonSubWarningsjsonSubWarningsTjsonSubWarningsTTnoJSONWarningsFlagNameFlagNameParseFailflagNameParser mkFlagName parseFlagNameparseFlagNameFromStringflagNameString flagNameTextfromCabalFlagNametoCabalFlagName PackageNamePackageNameParseFailCabalFileNameParseFailCabalFileNameInvalidPackageNamepackageNameParser mkPackageNameparsePackageNameparsePackageNameFromStringpackageNameStringpackageNameTextfromCabalPackageNametoCabalPackageNameparsePackageNameFromFilePathpackageNameArgumentreadFlag SigExceptionGPGFingerprintExceptionGPGNotFoundExceptionGPGSignExceptionGPGVerifyExceptionSigInvalidSDistTarBallSigNoProjectRootExceptionSigServiceException Fingerprint Signature mkFingerprintgpgSign gpgVerify VersionCheck MatchMinor MatchExact NewerMinorIntersectingVersionRangegetIntersectingVersionRangeVersion versionParser parseVersionparseVersionFromString versionString versionTexttoCabalVersionfromCabalVersion mkVersionversionRangeText withinRangeintersectVersionRangestoMajorVersionlatestApplicableVersionnextMajorVersion checkVersionCompilerVersion GhcVersion GhcjsVersion WhichCompilerGhcGhcjsparseCompilerVersioncompilerVersionTextcompilerVersionString whichCompilerisWantedCompiler getGhcVersioncompilerExeNamehaddockExeName$fFromJSONKeyCompilerVersion$fFromJSONCompilerVersion$fToJSONCompilerVersion$fNFDataCompilerVersion$fStoreCompilerVersion SnapshotHashunShapshotHashGitSHA1MiniPackageInfo mpiVersionmpiFlags mpiGhcOptionsmpiPackageDeps mpiToolDepsmpiExes mpiHasLibrary mpiGitSHA1 MiniBuildPlanmbpCompilerVersion mbpPackages SnapshotssnapshotsNightly snapshotsLts Component CompLibraryCompExecutable CompTestSuite CompBenchmarkDepInfo diComponentsdiRange SimpleDesc sdPackagessdToolssdProvidedExes sdModulesExeName unExeName Maintainer unMaintainer SystemInfosiCompilerVersionsiOSsiArchsiCorePackagessiCoreExecutables TestState ExpectSuccess ExpectFailure Don'tBuildPackageConstraintspcVersionRange pcMaintainerpcTests pcHaddockspcBuildBenchmarkspcFlagOverridespcEnableLibProfile CabalFileInfocfiSize cfiHashes PackagePlan ppVersionppCabalFileInfo ppGithubPingsppUsers ppConstraintsppDesc BuildPlan bpSystemInfobpTools bpPackages bpGithubUsersSnapNameLTSNightlyrenderSnapName parseSnapNameminiBuildPlanVCtrimmedSnapshotHashResolverLoadedResolverResolverThat'sResolverSnapshotResolverCompilerResolverCustomResolverCustomLoadedIsLoadedLoaded NotLoadedConfigExceptionParseConfigFileExceptionParseCustomSnapshotExceptionParseResolverExceptionNoProjectConfigFoundUnexpectedArchiveContentsUnableToExtractArchiveBadStackVersionExceptionNoMatchingSnapshotResolverMismatchResolverPartialNoSuchDirectoryParseGHCVariantException BadStackRoot3Won'tCreateStackRootInDirectoryOwnedByDifferentUserUserDoesn'tOwnDirectoryFailedToCloneRepo4ManualGHCVariantSettingsAreIncompatibleWithSystemGHCNixRequiresSystemGhcWhichSolverCmdGhcPkgId parseGhcPkgIdghcPkgIdParserghcPkgIdStringAbstractResolverARLatestNightly ARLatestLTSARLatestLTSMajor ARResolverARGlobalresolverDirName resolverNamecustomResolverHashparseResolverTexttoResolverNotLoadedreadAbstractResolverabstractResolverOptsParsercompilerOptsParserreadCompilerVersion UrlsMonoidurlsMonoidLatestSnapshoturlsMonoidLtsBuildPlansurlsMonoidNightlyBuildPlansUrlsurlsLatestSnapshoturlsLtsBuildPlansurlsNightlyBuildPlans$fMonoidUrlsMonoid$fFromJSONWithJSONWarnings$fFromJSONWithJSONWarnings0urlsFromMonoidStackDockerExceptionDockerMustBeEnabledExceptionOnlyOnHostExceptionInspectFailedExceptionNotPulledExceptionInvalidCleanupCommandExceptionInvalidImagesOutputExceptionInvalidPSOutputExceptionInvalidInspectOutputExceptionPullFailedExceptionDockerTooOldException DockerVersionProhibitedExceptionBadDockerVersionExceptionInvalidVersionOutputExceptionHostStackTooOldExceptionContainerStackTooOldException#CannotDetermineProjectRootExceptionDockerNotInstalledException(UnsupportedStackExeHostPlatformExceptionDockerStackExeParseExceptionVersionRangeJSONunVersionRangeJSONDockerMonoidRepoOrImageDockerMonoidRepoDockerMonoidImageMountDockerStackExeDockerStackExeDownloadDockerStackExeHostDockerStackExeImageDockerStackExePathDockerOptsMonoiddockerMonoidDefaultEnabledockerMonoidEnabledockerMonoidRepoOrImagedockerMonoidRegistryLogindockerMonoidRegistryUsernamedockerMonoidRegistryPassworddockerMonoidAutoPulldockerMonoidDetachdockerMonoidPersistdockerMonoidContainerNamedockerMonoidRunArgsdockerMonoidMountdockerMonoidEnvdockerMonoidDatabasePathdockerMonoidStackExedockerMonoidSetUser dockerMonoidRequireDockerVersion DockerOpts dockerEnable dockerImagedockerRegistryLogindockerRegistryUsernamedockerRegistryPassworddockerAutoPull dockerDetach dockerPersistdockerContainerName dockerRunArgs dockerMount dockerEnvdockerDatabasePathdockerStackExe dockerSetUserdockerRequireDockerVersionparseDockerStackExedockerEnableArgNamedockerRepoArgNamedockerImageArgNamedockerRegistryLoginArgNamedockerRegistryUsernameArgNamedockerRegistryPasswordArgNamedockerAutoPullArgNamedockerDetachArgNamedockerRunArgsArgNamedockerMountArgNamedockerEnvArgNamedockerContainerNameArgNamedockerPersistArgNamedockerDatabasePathArgNamedockerStackExeArgNamedockerStackExeDownloadValdockerStackExeHostValdockerStackExeImageValdockerSetUserArgName!dockerRequireDockerVersionArgNamedockerEntrypointArgName dockerCmdNamedockerHelpOptNamedockerPullCmdNamedockerCleanupCmdName reExecArgNamedockerContainerPlatform$fShowStackDockerException$fExceptionStackDockerException$fFromJSONVersionRangeJSON$fFromJSONMount $fShowMount $fReadMount$fFromJSONDockerStackExe$fMonoidDockerOptsMonoid NixOptsMonoidnixMonoidDefaultEnablenixMonoidEnablenixMonoidPureShellnixMonoidPackagesnixMonoidInitFilenixMonoidShellOptions nixMonoidPathnixMonoidAddGCRootsNixOpts nixEnable nixPureShell nixPackages nixInitFilenixShellOptions nixAddGCRootsnixEnableArgNamenixPureShellArgNamenixPackagesArgNamenixInitFileArgNamenixShellOptsArgNamenixPathArgNamenixAddGCRootsArgName$fMonoidNixOptsMonoidStackNixException)NixCannotUseShellFileAndPackagesExceptionnixOptsFromMonoid nixCompilerImageOptsMonoidimgMonoidDockersImageDockerOpts imgDockerBaseimgDockerEntrypoints imgDockerAddimgDockerImageNameimgDockerExecutables ImageOpts imgDockers imgArgNameimgDockerOldArgNameimgDockersArgNameimgDockerBaseArgNameimgDockerAddArgNameimgDockerEntrypointsArgNameimgDockerImageNameArgNameimgDockerExecutablesArgName$fMonoidImageOptsMonoid TemplateInfoauthor description TemplatePathAbsPathRelPathUrlPath TemplateNametemplateNameArgumenttemplateParamArgumentparseTemplateNameFromStringmkTemplateName templateName templatePath$fFromJSONTemplateInfo$fFromJSONTemplateName FileWatchOpts NoFileWatch FileWatch FileWatchPollBenchmarkOptsMonoidbeoMonoidAdditionalArgsbeoMonoidDisableRun BenchmarkOptsbeoAdditionalArgs beoDisableRunHaddockOptsMonoidhoMonoidAdditionalArgs HaddockOptshoAdditionalArgsTestOptsMonoidtoMonoidRerunTeststoMonoidAdditionalArgstoMonoidCoveragetoMonoidDisableRunTestOpts toRerunTeststoAdditionalArgs toCoverage toDisableRun BuildSubsetBSAllBSOnlySnapshotBSOnlyDependenciesBuildOptsMonoidbuildMonoidLibProfilebuildMonoidExeProfilebuildMonoidHaddockbuildMonoidHaddockOptsbuildMonoidOpenHaddocksbuildMonoidHaddockDepsbuildMonoidHaddockInternalbuildMonoidInstallExesbuildMonoidPreFetchbuildMonoidKeepGoingbuildMonoidForceDirtybuildMonoidTestsbuildMonoidTestOptsbuildMonoidBenchmarksbuildMonoidBenchmarkOptsbuildMonoidReconfigurebuildMonoidCabalVerbosebuildMonoidSplitObjs BuildCommandBuildTestHaddockBenchInstall BuildOptsCLIboptsCLITargetsboptsCLIDryrunboptsCLIGhcOptions boptsCLIFlagsboptsCLIBuildSubsetboptsCLIFileWatch boptsCLIExecboptsCLIOnlyConfigureboptsCLICommandboptsCLIInitialBuildSteps BuildOptsboptsLibProfileboptsExeProfile boptsHaddockboptsHaddockOptsboptsOpenHaddocksboptsHaddockDepsboptsHaddockInternalboptsInstallExes boptsPreFetchboptsKeepGoingboptsForceDirty boptsTests boptsTestOptsboptsBenchmarksboptsBenchmarkOptsboptsReconfigureboptsCabalVerboseboptsSplitObjsdefaultBuildOptsdefaultBuildOptsCLIdefaultTestOptsdefaultHaddockOptsdefaultBenchmarkOpts CompilerBuildCompilerBuildStandardCompilerBuildSpecializedcompilerBuildNamecompilerBuildSuffixparseCompilerBuildghcBuildParserPackageIdentifierpackageIdentifierNamepackageIdentifierVersiontoTuple fromTuplepackageIdentifierParserparsePackageIdentifier parsePackageIdentifierFromStringpackageIdentifierStringpackageIdentifierTextInstalledCacheEntryinstalledCacheProfilinginstalledCacheHaddockinstalledCacheIdentInstalledCacheInnerInstalledCacheinstalledCacheVC PackageIndex indexName indexLocationindexDownloadPrefixindexGpgVerifyindexRequireHashes IndexLocationILGitILHttp ILGitHttp IndexName unIndexNamePackageDownloadpdSHA512pdUrlpdSizePackageCacheMap PackageCachepcOffsetpcSize pcDownload indexNameText PackageFlagsunPackageFlags GhcOptions unGhcOptionsCustomSnapshotcsCompilerVersion csPackagescsDropPackagescsFlags csGhcOptions DockerUserduUidduGidduGroupsduUmaskDockerEntrypointdeUser PvpBounds PvpBoundsNonePvpBoundsUpperPvpBoundsLower PvpBoundsBothSetupInfoLocationSetupInfoFileOrURLSetupInfoInline SetupInfo siSevenzExe siSevenzDllsiMsys2siGHCssiGHCJSssiStackGHCDownloadInfogdiConfigureOptsgdiConfigureEnvgdiDownloadInfoVersionedDownloadInfo vdiVersionvdiDownloadInfo DownloadInfodownloadInfoUrldownloadInfoContentLengthdownloadInfoSha1 GHCVariant GHCStandardGHCIntegerSimple GHCCustomPlatformVariantPlatformVariantNoneSCMGitProjectAndConfigMonoid IsInitCmd IsSolverCmdIsNewCmd ConfigMonoidconfigMonoidStackRootconfigMonoidWorkDirconfigMonoidBuildOptsconfigMonoidDockerOptsconfigMonoidNixOptsconfigMonoidConnectionCountconfigMonoidHideTHLoadingconfigMonoidLatestSnapshotUrlconfigMonoidUrlsconfigMonoidPackageIndicesconfigMonoidSystemGHCconfigMonoidInstallGHCconfigMonoidSkipGHCCheckconfigMonoidSkipMsysconfigMonoidCompilerCheckconfigMonoidRequireStackVersionconfigMonoidArchconfigMonoidGHCVariantconfigMonoidGHCBuildconfigMonoidJobsconfigMonoidExtraIncludeDirsconfigMonoidExtraLibDirsconfigMonoidOverrideGccPathconfigMonoidConcurrentTestsconfigMonoidLocalBinPathconfigMonoidImageOptsconfigMonoidTemplateParametersconfigMonoidScmInitconfigMonoidGhcOptionsconfigMonoidExtraPathconfigMonoidSetupInfoLocationsconfigMonoidLocalProgramsBaseconfigMonoidPvpBoundsconfigMonoidModifyCodePageconfigMonoidExplicitSetupDepsconfigMonoidRebuildGhcOptionsconfigMonoidApplyGhcOptionsconfigMonoidAllowNewerconfigMonoidDefaultTemplateconfigMonoidAllowDifferentUserconfigMonoidDumpLogs StackMiniMHasBuildConfiggetBuildConfig HasConfig getConfig HasGHCVariant getGHCVariant HasPlatform getPlatformgetPlatformVariant HasStackRoot getStackRootProjectprojectUserMsgprojectPackagesprojectExtraDeps projectFlagsprojectResolverprojectCompilerprojectExtraPackageDBsRemotePackageTypeRPTHttpRPTGitRPTHgPackageLocation PLFilePathPLRemoteTreatLikeExtraDep PackageEntrypeExtraDepMaybe peLocation peSubdirs LoadConfiglcConfiglcLoadBuildConfig lcProjectRoot HasEnvConfig getEnvConfig EnvConfigenvConfigBuildConfigenvConfigCabalVersionenvConfigCompilerVersionenvConfigCompilerBuildenvConfigPackagesRef BuildConfigbcConfig bcResolverbcWantedMiniBuildPlanbcPackageEntries bcExtraDepsbcExtraPackageDBs bcStackYamlbcFlagsbcImplicitGlobal bcGHCVariant ColorWhen ColorNever ColorAlways ColorAutoGlobalOptsMonoidglobalMonoidReExecVersionglobalMonoidDockerEntrypointglobalMonoidLogLevelglobalMonoidTimeInLogglobalMonoidConfigMonoidglobalMonoidResolverglobalMonoidCompilerglobalMonoidTerminalglobalMonoidColorWhenglobalMonoidStackYaml GlobalOptsglobalReExecVersionglobalDockerEntrypointglobalLogLevelglobalTimeInLogglobalConfigMonoidglobalResolverglobalCompilerglobalTerminalglobalColorWhenglobalStackYamlEvalOptsevalArg evalExtra ExecOptsExtra ExecOptsPlainExecOptsEmbellished eoEnvSettings eoPackagesSpecialExecCmdExecCmdExecGhc ExecRunGhcExecOptseoCmdeoArgseoExtra EnvSettingsesIncludeLocalsesIncludeGhcPackagePath esStackExe esLocaleUtf8DumpLogs DumpNoLogsDumpWarningLogs DumpAllLogsApplyGhcOptions AGOTargets AGOLocals AGOEverythingConfigconfigStackRoot configWorkDirconfigUserConfigPath configBuild configDocker configNixconfigEnvOverrideconfigLocalProgramsBaseconfigLocalProgramsconfigConnectionCountconfigHideTHLoadingconfigPlatformconfigPlatformVariantconfigGHCVariant0configGHCBuild configUrlsconfigPackageIndicesconfigSystemGHCconfigInstallGHCconfigSkipGHCCheckconfigSkipMsysconfigCompilerCheckconfigLocalBinconfigRequireStackVersion configJobsconfigOverrideGccPathconfigExtraIncludeDirsconfigExtraLibDirsconfigConcurrentTests configImageconfigTemplateParams configScmInitconfigGhcOptionsconfigSetupInfoLocationsconfigPvpBoundsconfigModifyCodePageconfigExplicitSetupDepsconfigRebuildGhcOptionsconfigApplyGhcOptionsconfigAllowNewerconfigDefaultTemplateconfigAllowDifferentUserconfigPackageCachesconfigDumpLogsconfigMaybeProjectdefaultLogLevel readColorWhenbcRoot bcWorkDirbcWantedCompilerconfigMonoidSystemGHCNameconfigMonoidInstallGHCName askConfigaskLatestSnapshotUrlconfigPackageIndexRootconfigPackageIndexRepoconfigPackageIndexCacheconfigPackageIndexconfigPackageIndexGzconfigPackageTarball getWorkDirgetProjectWorkDirconfigInstalledCacheplatformOnlyRelDir snapshotsDirinstallationRootDepsinstallationRootLocal hoogleRoothoogleDatabasePathplatformGhcRelDiruseShaPathOnWindowspackageDatabaseDepspackageDatabaseLocalpackageDatabaseExtraflagCacheLocalconfigMiniBuildPlanCache bindirSuffix docDirSuffix hpcReportDir extraBinDirsgetMinimalEnvOverrideminimalEnvSettingsgetWhichCompilergetCompilerPathghcVariantNameghcVariantSuffixparseGHCVariantparsePvpBoundsexplicitSetupDeps ghcOptionsForhaskellModuleExtsobjectInterfaceDirbuildCacheFiletestSuccessFile testBuiltFileconfigCacheFileconfigCabalMod hpcDirFromDirhpcRelativeDirdistDirFromDirworkDirFromDir templatesDirprojectDockerSandboxDirimageStagingDirstackProgNameUpper stackDotYamlstackRootEnvVarstackRootOptionNamedeprecatedStackRootOptionNameinContainerEnvVarinNixShellEnvVarwiredInPackagesghcjsBootPackagescabalPackageName"implicitGlobalProjectDirDeprecatedimplicitGlobalProjectDirdefaultUserConfigPathDeprecateddefaultUserConfigPath!defaultGlobalConfigPathDeprecateddefaultGlobalConfigPath buildPlanDirplatformVariantEnvVarcompilerOptionsCabalFlaginterpreterArgsParsergetInterpreterArgs HasLogOptions getLogOptions LogOptions logUseColor logUseUnicode logUseTime logMinLevellogVerboseFormat HasSticky getStickyStickyunSticky HasReExec getReExec HasTerminal getTerminalEnv envConfig envReExec envLogOptions envTerminal envSticky envEnvConfigbuildOptsMonoidHaddockbuildOptsMonoidTestsbuildOptsMonoidBenchmarksbuildOptsMonoidInstallExesbuildOptsInstallExesbuildOptsHaddockenvConfigBuildOptsglobalOptsBuildOptsMonoid$fHasLogOptionsEnv$fHasStickyEnv$fHasReExecEnv$fHasTerminalEnv$fHasEnvConfigEnv$fHasBuildConfigEnv$fHasConfigEnv$fHasGHCVariantEnv$fHasPlatformEnv$fHasStackRootEnvStackTStackMHasEnvrunStackTGlobal runStackTrunInnerStackT logSticky logStickyDoneupdateAllIndicesgetPackageVersionsIOgetPackageVersionslookupPackageVersionsgetPackageCachesIOgetPackageCaches InstalledLibrary Executable InstalledMap DotCabalPathDotCabalModulePathDotCabalMainPathDotCabalFilePathDotCabalCFilePathDotCabalDescriptorDotCabalModule DotCabalMain DotCabalFile DotCabalCFileModTime FileCacheInfo fciModTimefciSizefciHashInstalledPackageLocation InstalledTo ExtraGlobalInstallLocationSnapLocalNamedComponentCLibCExeCTestCBench LocalPackage lpPackage lpComponents lpUnbuildablelpWanted lpTestDeps lpBenchDeps lpTestBenchlpDir lpCabalFile lpForceDirty lpDirtyFileslpNewBuildCachelpFilesPackageInstallInfo piiVersion piiLocation PackageSourcePSLocal PSUpstream SourceMap PackageConfigpackageConfigEnableTestspackageConfigEnableBenchmarkspackageConfigFlagspackageConfigGhcOptionspackageConfigCompilerVersionpackageConfigPlatformPackageWarningUnlistedModulesWarningGetPackageFilesgetPackageFiles CabalFileTypeAllFilesModules BuildInfoOptsbioOptsbioOneWordOptsbioPackageFlagsbioCabalMacrosGetPackageOptsgetPackageOptsPackage packageNamepackageVersionpackageLicense packageFiles packageDeps packageToolspackageAllDepspackageGhcOptions packageFlagspackageDefaultFlagspackageHasLibrary packageTestspackageBenchmarks packageExes packageOptspackageHasExposedModulespackageSimpleTypePackageExceptionPackageInvalidCabalFilePackageNoCabalFileFoundPackageMultipleCabalFilesFoundMismatchedCabalNamepackageIdentifierpackageDefinedFlagsrenderComponentrenderPkgComponentsrenderPkgComponent exeComponentstestComponentsbenchComponentsisCLibisCExeisCTestisCBench modTimeVC testSuccessVCdotCabalModule dotCabalMaindotCabalModulePathdotCabalMainPathdotCabalCFilePathdotCabalGetPathinstalledPackageIdentifierinstalledVersion$fNFDataFileCacheInfo$fStoreFileCacheInfo$fMonoidInstallLocation!$fPackageInstallInfoPackageSource $fEqPackage $fOrdPackage$fShowGetPackageFiles$fShowGetPackageOpts$fShowPackageException$fExceptionPackageExceptiondisplayWithColor prettyDebug prettyInfo prettyWarn prettyError debugBracketerrorRed goodGreen shellMagentadisplayTargetPkgIddisplayCurrentPkgIddisplayErrorPkgIddisplayMilliseconds bulletedListPrecompiledCache pcLibrarypcExes ConfigureOptscoDirscoNoDirsBaseConfigOpts bcoSnapDB bcoLocalDBbcoSnapInstallRootbcoLocalInstallRoot bcoBuildOptsbcoBuildOptsCLI bcoExtraDBsPlan planTasks planFinalsplanUnregisterLocalplanInstallExesTaskTypeTTLocal TTUpstreamTaskConfigOpts tcoMissingtcoOptsTask taskProvidestaskTypetaskConfigOpts taskPresent taskAllInOne ConfigCacheconfigCacheOptsconfigCacheDepsconfigCacheComponentsconfigCacheHaddock BuildCachebuildCacheTimes UnusedFlags UFNoPackageUFFlagsNotDefined UFSnapshot FlagSource FSCommandLine FSStackYamlStackBuildExceptionCouldn'tFindPkgIdCompilerVersionMismatchCouldn'tParseTargetsUnknownTargetsTestSuiteFailureTestSuiteTypeUnsupportedConstructPlanFailedCabalExitedUnsuccessfullyExecutionFailureLocalPackageDoesn'tMatchTargetNoSetupHsFoundInvalidFlagSpecificationTargetParseExceptionDuplicateLocalPackageNames SolverGiveUpSolverMissingCabalInstallSomeTargetsNotBuildableTestSuiteExeMissingCabalCopyFailed buildCacheVC configCacheVC taskLocation configureOpts isStackOptwantedLocalPackagesmodTimeprecompiledCacheVC NeedTargetsAllowNoTargets SimpleTarget STUnknown STNonLocal STLocalComps STLocalAllLocalPackageView lpvVersionlpvRoot lpvCabalFP lpvComponents lpvExtraDep RawTargetRTPackageComponent RTComponent RTPackageRTPackageIdentifierUnresolvedComponentResolvedComponent ComponentNameparseRawTarget parseTargets getGlobalDBcreateDatabase ghcPkgExeNamefindGhcPkgFieldunregisterGhcPkgIdgetCabalPkgVermkGhcPackagePathResolvedPackagerpCacherpIndex rpGitSHA1 fetchPackagesunpackPackagesunpackPackageIdentsresolvePackagesresolvePackagesAllowMissingwithCabalFileswithCabalLoaderuntarLine DumpPackage dpGhcPkgIddpPackageIdent dpLibDirs dpLibrariesdpHasExposedModules dpDependsdpHaddockInterfaces dpHaddockHtml dpProfiling dpHaddock dpIsExposed ghcPkgDumpghcPkgDescribenewInstalledCacheloadInstalledCachesaveInstalledCache pruneDeps sinkMatching addProfiling addHaddockconduitDumpPackage eachSectioneachPairopenHaddocksInBrowsershouldHaddockPackageshouldHaddockDepsgenerateLocalHaddockIndexgenerateDepsHaddockIndexgenerateSnapHaddockIndexgetInstalledExesmarkExeInstalledmarkExeNotInstalledtryGetBuildCachetryGetConfigCachetryGetCabalModwriteBuildCachewriteConfigCache writeCabalMod deleteCachestryGetFlagCachewriteFlagCachesetTestSuccessunsetTestSuccesscheckTestSuccesswritePrecompiledCachereadPrecompiledCacheGetInstalledOptsgetInstalledProfilinggetInstalledHaddock getInstalledreadPackageUnresolvedreadPackageUnresolvedBS readPackage readPackageBSreadPackageDescriptionDirreadDotBuildinfoprintCabalFileWarningcheckCabalFileNameresolvePackagepackageFromPackageDescription autogenDirpackageDependenciespackageToolDependenciesresolvePackageDescriptionfindOrGenerateCabalFilehpack buildLogPathcabalFilePackageIdbuildOptsFromMonoidhaddockOptsFromMonoidtestOptsFromMonoidbenchmarkOptsFromMonoidStackDockerConfigExceptionResolverNotSupportedExceptionInvalidDatabasePathExceptiondockerOptsFromMonoid $fShowStackDockerConfigException%$fExceptionStackDockerConfigExceptionstageContainerImageArtifactscreateContainerImageFromStage imgCmdNameimgDockerCmdNameimgOptsFromMonoidDockerImageLastUsedDockerImageExeIdDockerImageProjectIdupdateDockerImageLastUsedgetDockerImagesLastUsedpruneDockerImagesLastUsedgetDockerImageExesetDockerImageExedefaultEnvSettingsplainEnvSettingsexec execSpawn execObservesetNoBufferingNewOptsnewOptsProjectNamenewOptsCreateBarenewOptsTemplatenewOptsNonceParamsnew listTemplates getTemplatesdefaultTemplateNamebenchOptsParsertestOptsParserhaddockOptsParserbuildOptsParser targetsParser flagsParserghcVariantParserexecOptsParserevalOptsParserexecOptsExtraParserpath pathParserUploadSettingsUploaderFromFileHackageCredsSource HackageCreds loadCreds saveCreds fromPromptfromFile fromMemory fromAnywhere nopUploader mkUploaderupload uploadBytesdefaultUploadSettings setUploadUrlsetCredsSource setSaveCredsBuildPlanCheckBuildPlanCheckOkBuildPlanCheckPartialBuildPlanCheckFailDepError deVersion deNeededBy DepErrorsBuildPlanExceptionUnknownPackagesSnapshotNotFoundFilepathInDownloadedSnapshot"NeitherCompilerOrResolverSpecifiedresolveBuildPlan getToolMap loadResolverloadMiniBuildPlan gpdPackagesgpdPackageNamegpdPackageDepsremoveSrcPkgDefaultFlagscheckSnapBuildPlanselectBestSnapshot showItemsshowPackageFlagsshadowMiniBuildPlanparseCustomMiniBuildPlan MiniConfiggetImplicitGlobalProjectDir getStackYaml getSnapshotsmakeConcreteResolverloadMiniConfigloadConfigMaybeProjectgetLocalPackagesresolvePackageEntrycheckOwnershipgetInContainer getInNixShellpackagesParserdefaultConfigYamlloadSourceMapFull getLocalFlags getGhcOptionsparseTargetsFromBuildOptsparseTargetsFromBuildOptsWithgetLocalPackageViewsaddUnlistedToBuildCachegetDefaultPackageConfiggetPackageConfig constructPlan HpcReportOpts hroptsInputs hroptsAll hroptsDestDirhroptsOpenBrowserdeleteHpcReports updateTixFilegenerateHpcReportgenerateHpcReportForTargetsgenerateHpcUnifiedReportgenerateHpcMarkupIndexhpcReportOptsParserpvpBoundsOptionStackCleanExceptionNonLocalPackages CleanOpts CleanShallow CleanFullcleancleanOptsParser listPackages listTargetsreexecWithOptionalShell nixCmdNamenixHelpOptName nixOptsParser ConfigCmdSetConfigCmdSetResolverConfigCmdSetSystemGhcConfigCmdSetInstallGhc cfgCmdSet cfgCmdName cfgCmdSetNameconfigCmdSetParser ExtraDirsedBins edIncludeedLibTool ToolGhcjs toolStringtoolNameString parseToolText markInstalledunmarkInstalled listInstalledgetCompilerVersion extraDirs installDirtempInstallDirsign signTarBytes signPackage ActionContext acRemaining acDownstreamActionactionId actionDepsactionDoActionId ActionTypeATBuild ATBuildFinalATFinal runActions ExecuteEnvpreFetch printPlanwithExecuteEnv executePlanwithSingleContextCabalVersionExceptionunCabalVersionExceptionbuildsplitObjsWarningmkBaseConfigOptswithLoadPackagequeryBuildInfoStackReleaseInfo SetupOptssoptsInstallIfMissingsoptsUseSystemsoptsWantedCompilersoptsCompilerChecksoptsStackYamlsoptsForceReinstallsoptsSanityChecksoptsSkipGhcCheck soptsSkipMsyssoptsUpgradeCabalsoptsResolveMissingGHCsoptsSetupInfoYamlsoptsGHCBindistURLdefaultSetupInfoYamlsetupEnvensureCompilerensureDockerStackExegetSystemCompilerremoveHaskellEnvVarsdownloadStackReleaseInfopreferredPlatformsdownloadStackExegetDownloadVersion stackVersion CleanupActionCleanupInteractiveCleanupImmediate CleanupDryRun CleanupOptsdcAction"dcRemoveKnownImagesLastUsedDaysAgo#dcRemoveUnknownImagesCreatedDaysAgo$dcRemoveDanglingImagesCreatedDaysAgo'dcRemoveStoppedContainersCreatedDaysAgo'dcRemoveRunningContainersCreatedDaysAgoreexecWithOptionalContainerpreventInContainercleanuppullreset entrypointdockerOptsParserdockerCleanupOptsParserloadCompilerVersionwithUserFileLockwithConfigAndLockwithGlobalConfigAndLockwithBuildConfigwithBuildConfigAndLockwithBuildConfigExtloadConfigWithOptswithMiniConfigAndLock munlockFileparseCabalOutputLinemergeConstraintssolveResolverSpecgetResolverConstraintscheckResolverSpecfindCabalFilescabalPackagesChecksolveExtraDepsInitOpts searchDirs useSolver omitPackagesforceOverwriteincludeSubDirs initProject SetupCmdOptsscoCompilerVersionscoForceReinstallscoUpgradeCabalscoSetupInfoYamlscoGHCBindistURL setupParsersetup DotPayloadpayloadVersionpayloadLicense ListDepsOptslistDepsDotOpts listDepsSeplistDepsLicenseDotOptsdotIncludeExternaldotIncludeBasedotDependencyDepthdotPrune dotTargetsdotFlagsdotTestTargetsdotBenchTargetsdotlistDependencies pruneGraphresolveDependencies printGraph dotOptsParserlistDepsOptsParser GhciExceptionInvalidPackageOptionLoadingDuplicateModulesMissingFileTargetCan'tSpecifyFilesAndTargetsCan'tSpecifyFilesAndMainIs GhciPkgInfo ghciPkgName ghciPkgOpts ghciPkgDirghciPkgModulesghciPkgModFiles ghciPkgCFiles ghciPkgMainIsghciPkgTargetFilesghciPkgPackageGhciOpts ghciTargetsghciArgsghciGhcCommandghciNoLoadModulesghciAdditionalPackages ghciMainIsghciLoadLocalDepsghciSkipIntermediateghciHidePackages ghciNoBuildghcirenderScriptGhcirenderScriptInteroghciOptsParser hoogleCmdbuildOptsMonoidParserconfigOptsParserglobalOptsParserglobalOptsFromMonoidinitOptsParser newOptsParser UpgradeOpts upgradeOptsupgradegetSDistTarballcheckSDistTarballcheckSDistTarball'SGRTagTagResetTagConsoleIntensity TagItalicizedTagUnderlining TagBlinkSpeed TagVisibleTagSwapForegroundBackgroundTagColorForegroundTagColorBackground EndoAnsiDocdisplayAnsiSimpledisplayDecoratedWrapcolorFunctionsansiAnn getSGRTag$fHasAnsiAnn()$fHasAnsiAnnAnsiAnn $fDisplayDoc $fMonoidDoc quoteFileName GhciCommandAddAddFileCdGhcModule unGhciScriptfromTextcommandToBuilder$fMonoidGhciScript fileWatchConforElse$fExceptionEditorException$fShowEditorException$fExceptionPagerException$fShowPagerExceptiontimeSpecMilliSecondTextcatchIObindirlibdirdatadir libexecdir sysconfdir findPathUppath_DH673aQyM6HJHyQUIb5gaYPathparentbaseGHC.BaseJust isSymLink parseAbsDir parseAbsFilecollapseFilePathMaybeNothingpathi_79sA7HhsxfxGUA23sb1EM5Path.IOforgivingAbsence resolveFilecanonicalizePathbytes_6VWy06pWzJq9evDvK2d4w6Data.ByteString.Internalcondu_J6PzLbU4zm46alng1D7W3VData.Conduit.Internal.ConduitSink PathExceptionPathsInvalidInPath$fShowPathException$fExceptionPathException$fExceptionReadProcessException$fShowReadProcessException System.ExitexitWithGHC.IO.Handle.TypesHandleSystem.Process.Internals UseHandlecmdToCreateProcess addCommand' helpOptionoptpa_2bvYVFPdPvADhJpfvv36ivOptions.Applicative.ExtrahandleParseResult hsubparser'ghc-prim GHC.TypesBool<|> Data.MonoidFirstOptions.Applicative.Builder abortOptionoptiontext_HmqVQnZSpjaC156ABqPhneData.Text.InternalTextargumentControl.Applicativeoptional eitherReaderGHC.ShowShow Data.EitherLeft sinkCheckHash sinkHashUsinghashChecksToZipSinkVerifyFileException WrongFileSizedisplayByteStringdisplayCheckHexDigestassertLengthSink$fExceptionVerifyFileException$$fExceptionVerifiedDownloadException$fShowVerifiedDownloadException$fIsStringCheckHexDigestTrueFalse$fExceptionDownloadExceptionstoreEncodeFileversionedDecodeOrLoadImplversionedDecodeFileImplmappend<>getDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstgetLastLastgetAltAltmconcatmemptyMonoid Data.MaybemapMaybe GHC.Classes==flipWarningParserMonoidaeson_EJJYbvbawYo9p3zX5RniiBData.Aeson.Types.FromJSON withObjectData.Aeson.Types.InternalParserwpmExpectedFields wpmWarnings$fShowJSONWarning$fMonoidWithJSONWarnings$fFunctorWithJSONWarnings$fMonoidWarningParserMonoid Data.AesoneitherDecodeStrict' eitherDecode'eitherDecodeStrict eitherDecode decodeStrict'decode' decodeStrictdecodeencodeData.Aeson.Typesfoldable.!=.:!fromJSONwithBoolwithScientific withNumber withArraywithText parseJSON2 parseJSON1genericLiftParseJSONgenericParseJSON gParseJSON GFromJSON From1Args NoFromArgsFromArgs parseJSONList parseJSONFromJSONfromJSONKeyList fromJSONKey FromJSONKeyFromJSONKeyValueFromJSONKeyTextParserFromJSONKeyTextFromJSONKeyCoerceFromJSONKeyFunctionliftParseJSONList liftParseJSON FromJSON1liftParseJSONList2liftParseJSON2 FromJSON2Data.Aeson.Types.ToJSON toEncoding2toJSON2 toEncoding1toJSON1genericLiftToEncodinggenericToEncodinggenericLiftToJSON genericToJSONgToJSONGToJSON gToEncoding GToEncodingTo1ArgsNoToArgsToArgstoEncodingList toJSONList toEncodingtoJSONToJSON.=KeyValue toJSONKeyList toJSONKey ToJSONKeyToJSONKeyValue ToJSONKeyTextToJSONKeyFunctionliftToEncodingListliftToEncodingliftToJSONList liftToJSONToJSON1liftToEncodingList2liftToEncoding2liftToJSONList2 liftToJSON2ToJSON2Data.Aeson.Parser.Internaljson'jsonData.Aeson.Encoding.Internalpairs fromEncodingEncodingSeriesdefaultOptionsobjectSuccessErrorResultObjectArrayNullNumberStringValuefromDotNetTime DotNetTimeData.Aeson.Types.GenericZeroOne$fFromJSONKeyFlagName$fFromJSONFlagName$fShowFlagName$fLiftFlagName $fOrdFlagName $fEqFlagName$fShowFlagNameParseFail$fExceptionFlagNameParseFail$fFromJSONKeyPackageName$fFromJSONPackageName$fShowPackageName$fLiftPackageName$fShowPackageNameParseFail$fExceptionPackageNameParseFailAeson_unAesonhexText$fShowSigException$fExceptionSigException$fFromJSONAeson$fIsStringFingerprint$fToJSONFingerprint$fFromJSONFingerprint$fShowFingerprint$fShowSignaturegpg gpgWarnTTYVersionParseFail unVersion$fFromJSONVersionCheck$fToJSONVersionCheck $fMonoidIntersectingVersionRange$fFromJSONKeyVersion$fFromJSONVersion$fToJSONVersion $fShowVersion $fLiftVersion$fHashableVersion$fShowVersionParseFail$fExceptionVersionParseFailBuildPlanTypesExceptionParseSnapNameExceptionParseFailedException simpleParsetestStateToText compToText$fNFDataMiniPackageInfo$fStoreMiniPackageInfo$fNFDataMiniBuildPlan$fStoreMiniBuildPlan$fFromJSONSnapshots$fFromJSONComponent$fToJSONComponent$fFromJSONDepInfo$fToJSONDepInfo$fMonoidDepInfo$fFromJSONSimpleDesc$fToJSONSimpleDesc$fMonoidSimpleDesc$fFromJSONExeName$fFromJSONSystemInfo$fToJSONSystemInfo$fFromJSONTestState$fToJSONTestState$fFromJSONPackageConstraints$fToJSONPackageConstraints$fShowBuildPlanTypesException"$fExceptionBuildPlanTypesException$fFromJSONCabalFileInfo$fToJSONCabalFileInfo$fFromJSONPackagePlan$fToJSONPackagePlan$fFromJSONBuildPlan$fToJSONBuildPlanGhcPkgIdParseFail$fToJSONGhcPkgId$fFromJSONGhcPkgId$fShowGhcPkgId$fStoreGhcPkgId$fHasStructuralInfoGhcPkgId$fNFDataGhcPkgId$fBinaryGhcPkgId$fHashableGhcPkgId$fExceptionGhcPkgIdParseFail$fShowGhcPkgIdParseFail$fToJSONResolverThat's$fShowStackNixException$fExceptionStackNixExceptionbuildMonoidLibProfileArgNamebuildMonoidExeProfileArgNamebuildMonoidHaddockArgNamebuildMonoidHaddockOptsArgNamebuildMonoidOpenHaddocksArgNamebuildMonoidHaddockDepsArgName!buildMonoidHaddockInternalArgNamebuildMonoidInstallExesArgNamebuildMonoidPreFetchArgNamebuildMonoidKeepGoingArgNamebuildMonoidForceDirtyArgNamebuildMonoidTestsArgNamebuildMonoidTestOptsArgNamebuildMonoidBenchmarksArgNamebuildMonoidBenchmarkOptsArgNamebuildMonoidReconfigureArgNamebuildMonoidCabalVerboseArgNamebuildMonoidSplitObjsNametoMonoidRerunTestsArgNametoMonoidAdditionalArgsNametoMonoidCoverageArgNametoMonoidDisableRunArgNamehoMonoidAdditionalArgsNamebeoMonoidAdditionalArgsArgNamebeoMonoidDisableRunArgName$fMonoidBenchmarkOptsMonoid$fMonoidHaddockOptsMonoid$fMonoidTestOptsMonoid$fFromJSONWithJSONWarnings1$fMonoidBuildOptsMonoid$fFromJSONWithJSONWarnings2$fFromJSONCompilerBuildPackageIdentifierParseFail$fFromJSONPackageIdentifier$fToJSONPackageIdentifier$fShowPackageIdentifier$fStorePackageIdentifier$fHashablePackageIdentifier$fNFDataPackageIdentifier%$fExceptionPackageIdentifierParseFail $fShowPackageIdentifierParseFail$fStoreInstalledCacheEntry$fFromJSONIndexName$fToJSONIndexName$fFromJSONPackageDownload$fNFDataPackageDownload$fStorePackageDownload$fNFDataPackageCache$fStorePackageCache peExtraDepDefparseConfigMonoidJSONplatformSnapAndCompilerRelplatformGhcVerOnlyRelDirplatformGhcVerOnlyRelDirStrpackageEntryCurrDirplatformVariantSuffixparseDownloadInfoFromObject$fMonoidSetupInfo SuggestSolverDon'tSuggestSolverconfigMonoidWorkDirNameconfigMonoidBuildOptsNameconfigMonoidDockerOptsNameconfigMonoidNixOptsNameconfigMonoidConnectionCountNameconfigMonoidHideTHLoadingName!configMonoidLatestSnapshotUrlNameconfigMonoidUrlsNameconfigMonoidPackageIndicesNameconfigMonoidSkipGHCCheckNameconfigMonoidSkipMsysName#configMonoidRequireStackVersionNameconfigMonoidArchNameconfigMonoidGHCVariantNameconfigMonoidGHCBuildNameconfigMonoidJobsName configMonoidExtraIncludeDirsNameconfigMonoidExtraLibDirsNameconfigMonoidOverrideGccPathNameconfigMonoidConcurrentTestsNameconfigMonoidLocalBinPathNameconfigMonoidImageOptsNameconfigMonoidScmInitName"configMonoidTemplateParametersNameconfigMonoidCompilerCheckNameconfigMonoidGhcOptionsNameconfigMonoidExtraPathName"configMonoidSetupInfoLocationsName!configMonoidLocalProgramsBaseNameconfigMonoidPvpBoundsNameconfigMonoidModifyCodePageName!configMonoidExplicitSetupDepsName!configMonoidRebuildGhcOptionsNameconfigMonoidApplyGhcOptionsNameconfigMonoidAllowNewerNameconfigMonoidDefaultTemplateName"configMonoidAllowDifferentUserNameconfigMonoidDumpLogsName showOptionscompilerVersionDir pvpBoundsText$fMonoidPackageFlags$fToJSONPackageFlags$fFromJSONPackageFlags$fMonoidGhcOptions$fFromJSONGhcOptions$fFromJSONPvpBounds$fToJSONPvpBounds$fFromJSONWithJSONWarnings3$fFromJSONWithJSONWarnings4$fFromJSONGHCVariant $fToJSONSCM $fFromJSONSCM$fFromJSONWithJSONWarnings5$fExceptionConfigException$fShowConfigException$fFromJSONWithJSONWarnings6$fMonoidConfigMonoid$fHasBuildConfigBuildConfig$fHasConfigBuildConfig$fHasGHCVariantBuildConfig$fHasPlatformBuildConfig$fHasStackRootBuildConfig$fHasConfigConfig$fHasPlatformConfig$fHasStackRootConfig$fHasGHCVariantGHCVariant$fHasPlatform(,)$fToJSONProject$fFromJSONWithJSONWarnings7$fToJSONPackageLocation$fFromJSONWithJSONWarnings8$fToJSONPackageEntry$fHasEnvConfigEnvConfig$fHasStackRootEnvConfig$fHasGHCVariantEnvConfig$fHasPlatformEnvConfig$fHasConfigEnvConfig$fHasBuildConfigEnvConfig$fMonoidGlobalOptsMonoid$fFromJSONDumpLogs$fFromJSONApplyGhcOptionshaskellFileExtshaskellPreprocessorExtsgetCanUseUnicodereplaceUnicode loggerFunctimestampLength withSticky$fMonadLoggerStackTunStackTstickyLoggerFuncgetStickyLoggerFuncstickyLoggerFuncImpl$fMonadLoggerIOStackT$fMonadTransControlStackT$fMonadBaseControlbStackT populateCache requireIndex updateIndexupdateIndexGitupdateIndexHTTPisGitInstalled deleteCacheIOclearPackageCachesentrySizeInBlocksPackageIndexExceptionGitNotAvailableMissingRequiredHashes$fShowPackageIndexException $fExceptionPackageIndexException warningYellow $fDisplay(,) $fDisplayPath$fDisplayPath0$fDisplayVersion$fDisplayPackageIdentifier$fDisplayPackageName PkgDepsOracleconfigureOptsNoDirPkgDepsmissingExeErrorconfigureOptsDirs$fNFDataPrecompiledCache$fStorePrecompiledCache#$fHasStructuralInfoPrecompiledCache$$fHasSemanticVersionPrecompiledCache$fBinaryPrecompiledCache$fNFDataConfigureOpts$fStoreConfigureOpts$fShowTaskConfigOpts$fNFDataConfigCache$fStoreConfigCache$fStoreBuildCache$fNFDataBuildCache$fExceptionStackBuildException$fShowStackBuildExceptionparseRawTargetDirs RawTargetType HasIdentsNoIdentsRawInput unRawInput resolveIdentsresolveRawTarget isCompNamedsimplifyTargetsghcPkgpackageDbFlagsfindGhcPkgVersiontfCabalfuzzyLookupCandidatestypoCorrectionCandidates getToFetchfetchPackages' ToFetchResult tfrToFetchtfrAlreadyUnpackedToFetch tfTarball tfDestDirtfUrltfSizetfSHA512FetchExceptionCouldn'tReadIndexTarballCouldn'tReadPackageTarballUnpackDirectoryAlreadyExistsCouldNotParsePackageSelectorsUnknownPackageNamesUnknownPackageIdentifiers PackageCacheslookupPackageIdentifierExactparMapM_ orSeparatedcommaSeparated$fShowFetchException$fExceptionFetchException ghcPkgCmdArgs takeWhileCPackageDumpExceptionMissingSingleFieldCouldn'tParseField isProfilingstripPrefixTextstripSuffixText$fShowPackageDumpException$fExceptionPackageDumpExceptiongenerateHaddockIndexlookupDumpPackagehaddockIndexFile localDocDirlocalDepsDocDir snapDocDirexeInstalledDirprecompiledCacheFilebinaryDecodeFileOrFailDeep BinarySchema flagCacheFile loadDatabase isAllowed LoadHelperlhIdlhDepslhPairAllowedNeedsProfiling NeedsHaddock UnknownPkg WrongLocation WrongVersionprocessLoadResult toLoadHelpertoPackageLocationDistribution.PackageDescriptionGenericPackageDescriptionPackageDescriptiongeneratePkgDescOptsgenerateBuildInfoOptsmakeObjectFilePathFromCfileGenDirFromComponentNamebuildDirgetBuildComponentDirpackageDescTools allBuildInfo'packageDescModulesAndFilesresolveGlobFilesmatchDirFileGlob_benchmarkFiles testFilesexecutableFiles libraryFilesbuildOtherSourcestargetJsSourcesflagMapmkResolveConditionsresolveConditionsdepNamedepRangeresolveFilesAndDepsgetDependencies parseDumpHI resolveFiles findCandidate warnMultiplelogPossibilitiesexcep_BEih2K3eMGTE4cg5iulra8Control.Monad.CatchthrowMresolveFileOrWarnresolveDirOrWarnResolveConditionsrcFlagsrcCompilerVersionrcOSrcArchBioInput biSourceMapbiInstalledMap biCabalMacros biCabalDir biDistDirbiOmitPackages biAddPackages biBuildInfobiDotCabalPathsbiConfigLibDirsbiConfigIncludeDirsbiComponentName resolveOrWarnStackImageException(StackImageDockerBaseUnspecifiedException-StackImageCannotDetermineProjectRootExceptionstageExesInDirsyncAddContentToDir imageNamecreateDockerImageextendDockerImageWithEntrypointfromMaybeProjectRoot filterImages$fShowStackImageException$fExceptionStackImageException withGlobalDBDockerImageExedockerImageExeImageHashdockerImageExeExePathdockerImageExeExeTimestampdockerImageExeCompatibleDockerImageProjectdockerImageProjectImageHashdockerImageProjectProjectPathdockerImageProjectLastUsedTimeDockerImageExeUniqueDockerImageExeKeyunDockerImageExeKeyDockerImageExeImageHashDockerImageExeExePathDockerImageExeExeTimestampDockerImageExeCompatibleDockerImageProjectPathKeyDockerImageProjectKeyunDockerImageProjectKeyDockerImageProjectImageHashDockerImageProjectProjectPathDockerImageProjectLastUsedTime migrateTables)TFCo:R:PersistEntityBackendDockerImageExeGHC.IO.ExceptionExitCode NewException loadTemplate applyTemplatecheckForOverwritewriteTemplateFilesrunTemplateInitsparseTemplateSetdefaultTemplateUrldefaultTemplateInfoUrldefaultTemplatesListFailedToLoadTemplateFailedToDownloadTemplateFailedToDownloadTemplatesBadTemplatesResponse AlreadyExistsMissingParametersInvalidTemplateAttemptedOverwritesFailedToDownloadTemplateInfoBadTemplateInfoBadTemplateInfoResponse TemplateSet unTemplateSet TemplateFrom LocalTemp RemoteTempgetTemplateInfo$fShowNewException$fExceptionNewException$fFromJSONTemplateSetPathInfopaths piBuildConfig piEnvOverridepiSnapDb piLocalDb piGlobalDb piSnapRoot piLocalRoot piDistDirpiHpcDir piExtraDbs piCompilerdeprecatedPathKeyspromptPassword usUploadUrl usCredsSource usSaveCredsupload_HackageCredsExceptionsCouldn'tParseJSONgetCreds hcUsername hcPassword credsFile printBodyhandleIO!$fExceptionHackageCredsExceptions$fFromJSONHackageCreds$fToJSONHackageCreds rsVisitedaddDepsgetDepsbuildPlanFixes loadBuildPlanselectPackageBuildPlancheckPackageBuildPlancheckPackageDepscombineDepErrorcheckBundleBuildPlancompareBuildPlanCheck ResolveState rsUnknown rsShadowed rsToInstallrsUsedBytoMiniBuildPlanbuildBuildPlanUrlshowMapPackagesshowCompilerErrors showDepErrorsapplyCustomSnapshot$fShowBuildPlanCheck$fShowBuildPlanException$fExceptionBuildPlanExceptiontryDeprecatedPathmtl_Aue4leSeVkpKLsfHIV51E8Control.Monad.Reader.Classasks.getLatestResolvergetDefaultLocalProgramsBaseloadBuildConfigresolvePackageLocationdetermineStackRootAndOwnershipgetDirAndOwnership isOwnedByUsergetExtraConfigsloadConfigYamlloadYamlgetProjectConfigloadProjectConfiggetDefaultGlobalConfigPathgetDefaultUserConfigPathconfigFromConfigMonoid$fHasGHCVariantMiniConfig$fHasPlatformMiniConfig$fHasStackRootMiniConfig$fHasConfigMiniConfigconvertSnapshotToExtracheckDuplicateNamesloadLocalPackagecheckFlagsUsedextendExtraDepscheckBuildCachegetPackageFilesSimplegetModTimeMaybecalcFcisplitComponentscheckComponentsBuildabledpLength dpNameLengthdpPath BadDependencyLatestApplicableVersionUnknownPackagewInstallwDirtywDeps wWarningswParentsmkUnregisterLocalpackageDepsWithTools stripLocals inSnapshotgetShortestDepsPathwanted MonoidMapDepsPathNotInBuildPlanCouldn'tResolveItsDependenciesDependencyMismatchConstructPlanExceptionDependencyCycleDetectedDependencyPlanFailures ToolWarning NoToolFoundAmbiguousToolsFoundCtxmbpbaseConfigOpts loadPackage combinedMaptoolToPackages ctxEnvConfig callStack extraToBuild getVersions localNameslogFuncMWwFinals ParentMap AddDepRes ADRToInstallADRFound CombinedMap PackageInfoPIOnlyInstalled PIOnlySourcePIBothcombineSourceInstalled combineMapaddFinaladdDeptellExecutablestellExecutablesUpstreamtellExecutablesPackageinstallPackageresolveDepsAndInstallinstallPackageGivenDeps updateLibMap addEllipsisaddPackageDepscheckDirtinessdescribeConfigDiff psForceDirtypsDirtypsLocal isNoToolFoundtoolWarningText stripNonDeps markAsDeppprintExceptions startDepsPathextendDepsPath planDebug$fMonoidMonoidMap$fHasEnvConfigCtx$fHasBuildConfigCtx$fHasConfigCtx$fHasGHCVariantCtx$fHasPlatformCtx$fHasStackRootCtx $fMonoidW hpcPkgPath tixFilePathremoveExeModulesGHC.Real/generateHpcReportInternalgenerateUnionReport readTixOrLog unionTixesgenerateHpcErrorReport pathToHtmlsanitize dirnameStringfindPackageFieldForBuiltPackagedisplayReportPathfindExtraTixFiles dirsToDelete$fExceptionStackCleanException$fShowStackCleanExceptionCannotDetermineProjectRootescaperunShellAndExitCommandScopeGlobalCommandScopeProject CommandScopeconfigCmdSetScopecfgCmdSetValuecfgCmdSetOptionName scopeFlagreadBool boolArgument$fMonoidExtraDirsExecuteExceptionInconsistentDependencies ExecuteState esActions esExceptions esInAction esCompleted esFinalLock esKeepGoing runActions'downstreamActions$fShowExecuteException$fExceptionExecuteException eeSetupHs eeSetupShimHs eeSetupExe displayTask getSetupExewindowsRenameCopy executePlan'getConfigCache ensureConfigcheckForUnlistedFiles depsPresentmungeBuildOutput getSetupHsaddGlobalPackages eeEnvOverrideeeConfigureLock eeInstallLock eeBuildOptseeBuildOptsCLIeeBaseConfigOpts eeGhcPkgIds eeTempDir eeCabalPkgVer eeTotalWantedeeWantedeeLocals eeGlobalDBeeGlobalDumpPkgseeSnapshotDumpPkgseeLocalDumpPkgs eeLogFilesbuildSetupArgssetupGhciShimCodesimpleSetupCodesimpleSetupHash toActions announceTask singleBuild singleTest singleBenchextraBuildOptionsprimaryComponentOptions exesToBuildfinalComponentOptionstaskComponentsallLocal/warnIfExecutablesWithSameNameCouldBeOverwritten fixCodePage rawBuildInfocheckCabalVersionwarnMissingExtraDepswarnAboutSplitObjs $fExceptionCabalVersionException$fShowCabalVersionException addIncludeLib getGhcBuild upgradeCabal getSetupInfocheckDependencieswithUnpackedTarball7zsetup7zbytesfmt sanityCheckgetUtf8EnvVarsCheckDependency ArchiveTypeTarBz2TarXzTarGzSevenZSetupExceptionUnsupportedSetupComboMissingDependenciesUnknownCompilerVersion UnknownOSKeyGHCSanityCheckCompileFailedWantedMustBeGHCRequireCustomGHCVariantProblemWhileDecompressingSetupInfoMissingSevenzGHCJSRequiresStandardVariantGHCJSNotBootedDockerStackExeNotFoundgetInstalledToolgetInstalledGhcjsdownloadAndInstallTooldownloadAndInstallCompilergetWantedCompilerInfo getGhcKeygetOSKeydownloadFromInfoinstallGHCPosix installGHCJSensureGhcjsBooted bootGhcjsloadGhcjsEnvConfiggetCabalInstallVersioncheckDependencyinstallGHCWindowsinstallMsys2WindowsexpectSingleUnpackedDirchattyDownloadchunksOverTime$fAlternativeCheckDependency$fApplicativeCheckDependency$fShowSetupException$fExceptionSetupException GetCmdArgs ImageConfigInspectexecWithOptionalContainerrunContainerAndExitinspectinspects pullImagecheckDockerVersionentrypointMVarremoveDirectoryContentsreadDockerProcess homeDirName hostBinDir decodeUtf8concatToldSandboxIdEnvVar$fFromJSONImageConfig$fFromJSONInspecticEnv icEntrypointiiConfig iiCreatediiId iiVirtualSize ignoredDirsConstraintSpecConstraintType Constraint Preference cabalSolvergetCabalConfig setupCompiler setupCabalEnv formatGroupreportMissingCabalFiles prettyPathrenderStackYamlgetDefaultResolver getSnapshots'getWorkingResolverPlancheckBundleResolvergetRecommendedSnapshotssetupYamlCompatParsercreatePrunedDependencyGraphcreateDependencyGraphpruneUnreachablecreateDepLoaderlocalDependenciesprintLocalNodes printLeaves printEdges printEdgenodeName printLeaf isWiredInlocalPackageToPackagefigureOutMainFilemakeGhciPkgInfopreprocessTargetsparseMainIsTargetsfindFileTargets checkTargetsgetAllLocalTargetsbuildDepsAndInitialStepscheckAdditionalPackagesrunGhciwriteMacrosFilewriteGhciScriptfindOwningPackageForMaingetFileTargetsgetGhciPkgInfoswantedPackageComponentscheckForIssuesborderedWarningcheckForDuplicateModulesgetExtraLoadDepspreprocessCabalMacrossetScriptPermsunionSimpleTargets hasLocalComp$fShowGhciException$fExceptionGhciException_boForce _boVersion _uoBinary _uoSource SourceOpts_soRepo BinaryOpts _boPlatform _boGithubOrg _boGithubRepo binaryUpgrade sourceUpgradeCheckExceptionGHC.IOFilePath getCabalLbs gtraverseTreadLocalPackagegetSDistFileListnormalizeTarballPaths normalizePath dirsFromFileswithTempTarGzContents packFileEntry getModTime$fShowCheckException$fExceptionCheckException