h&}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                     Safe-Inferredniv:Efficiently prettify and serialize a JSON value as a lazy  and write it to a file. Safe-Inferred Safe-Inferred"?6    Safe-Inferred" Safe-Inferred"(%nivTODO: Error instead of T.Text?'nivGet the latest revision for owner, repo and branch. TODO: explain no error handling)niv'Like lookupEnv "foo" but also looks up NIV_foo'nivownernivreponivbranch#"! $%&'()*+,-.#"! $%&'()*+,-. Safe-Inferred "()*/8 q5nivWhether the value is new or was retrieved (or derived) from old attributesSnivRun an E* and return the new attributes and result.\niv'Runs an update, trying to evaluate the 3es as little as possible. This is a hairy piece of code, apologies _(a)_/ In most cases I just picked the first implementation that compiled_nivRenders the template. Returns  if some of the attributes are missing. renderTemplate ("foo" -> "bar") " foo:" -> pure (Just "bar") renderTemplate ("foo" -> "bar") " baz" -> pure NothingfnivLike e but forces evaluation9/1023564798:<;=A@?>BCDEQPNMLOKFHIGJRSTUVWXYZ[\]^_`abcdefg9REQPNMLOKFHIGJCDSTUVB=A@?>:<;798W3564XY2Z[/10\]^_`abcdefg Safe-Inferred"? B vniv,All the released versions of nix/sources.nixnivWhere to find the sources.jsonniv"use the default (nix/sources.json)nivuse the specified file pathnivSimply discards the /nivnix/sources.json or pointed at by nivA user friendly versionniv6Find a version based on the md5 of the nix/sources.nixniv#The MD5 sum of a particular versionnivThe MD5 sum of .nix sources.nixniv nix/sources.nixniv&Glue code between nix and sources.jsonnivEmpty JSON map>v~}|{yxzw>v~}|{yxzw Safe-InferrednivEnsure that the sources.nix we ship is tracked as the latest version  Safe-Inferred"(1rnivThe GitHub update function TODO: fetchers for: * npm * hackage * docker * ... ?nivprefetchnivlatest revisionnivget repo  Safe-Inferred"  Safe-InferrednivSome notes to print  Safe-Inferred"(Q  Safe-Inferred"(nivThe IO (real) github update Safe-Inferred"(nivThe "real" (IO) updatenivRun the "git" executableniv latest revnivlatest rev and default refnivthe repositoryniv the branchnivthe repository Safe-Inferred"wnivThis tests that we don't run the same git operations several times during the update Safe-Inferred"   Safe-Inferred Safe-Inferred Safe-Inferred"(?nivWhether or not to fetch nixpkgsnivonly used in shortcuts (niv add foo/bar ...) because PACKAGE is NOT optionalnivonly used in command (niv add  cmd! ...) because PACKAGE is optionalnivpretty much tryEvalUpdate but we might issue some warnings firstniv;Checks if content is different than default and if it does not contain a comment line with niv: no_update,, !"#$%&'()*+,-./01233456789:;<=>?@ABCDEFFGHIJKLIMKNOPQRSTUVSWXYZ[\]U^_`abcdefghijklmnopqrstuvwxyz{|}~                     !niv-0.2.22-DVLF35uf70Y6h4uYueoEGMData.Aeson.ExtendedData.HashMap.Strict.Extended Niv.LoggerData.Text.ExtendedNiv.GitHub.API Niv.Update Niv.SourcesNiv.Sources.Test Niv.GitHubNiv.GitHub.TestNiv.Cmd Niv.Local.CmdNiv.GitHub.Cmd Niv.Git.Cmd Niv.Git.TestNiv.Update.TestNiv.TestNiv.Cli Paths_nivencodeFilePretty forWithKeyM forWithKeyM_ mapWithKeyM mapWithKeyM_ColorsAlwaysNever setColorsjobtsaysaymkWarntwarnmkNotegreentgreenyellowtyellowbluetblueredtredboldtboldfainttfaintbug $fEqColorstshowabort GithubReporepoDescription repoHomepagerepoDefaultBranch githubRepoabortCouldNotFetchGitHubRepodefaultRequestgithubLatestRevabortCouldNotGetRev lookupEnv' githubHost githubApiPort githubApiHost githubSecure githubPathFreedomLockedFree BoxedAttrsBoxboxNewboxOp UpdateReady UpdateSuccess UpdateFailed UpdateResUpdateNeedMore FailNoSuchKeyFailZero FailCheck FailTemplateJSONComposeCompose'UpdateIdArrFirstZeroPlusCheckLoadUseOrSetRunTemplateAttrs runUpdate execUpdate evalUpdate tryEvalUpdaterunBoxmkBox singleton unboxAttrsboxAttrs runUpdate' decodeBox decodeValuerenderTemplatetemplatecheckloaduseOrSetupdaterunrun'dirty $fIsStringBox$fSemigroupBox$fApplicativeBox $fShowUpdate$fCategoryTYPEUpdate $fArrowUpdate$fArrowPlusUpdate$fArrowZeroUpdate$fFunctorUpdateRes$fFunctorUpdateReady $fEqFreedom $fShowFreedom $fFunctorBox$fShowUpdateFailedSourcesNixVersionV1V2V3V4V5V6V7V8V9V10V11V12V13V14V15V16V17V18V19V20V21V22V23V24V25V26V27V28 PackageSpec unPackageSpec PackageName unPackageNameSources unSources SourcesErrorSourcesDoesntExistSourceIsntJSON SpecIsntAMapFindSourcesJsonAutoAtPathgetSourcesEither getSources setSources attrsToSpecpathNixSourcesJsonabortSourcesDoesntExistabortSourcesIsntJSONabortSpecIsntAMapsourcesVersionToTextlatestVersionMD5md5ToSourcesVersionsourcesVersionToMD5 sourcesNixMD5pathNixSourcesNixwarnIfOutdatedinitNixSourcesNixContentinitNixSourcesJsonContent$fBoundedSourcesNixVersion$fEnumSourcesNixVersion$fEqSourcesNixVersion$fFromJSONSources$fToJSONSources$fFromJSONPackageSpec$fToJSONPackageSpec$fShowPackageSpec$fSemigroupPackageSpec$fMonoidPackageSpec$fEqPackageName$fHashablePackageName$fFromJSONKeyPackageName$fToJSONKeyPackageName$fShowPackageNametest_shippedSourcesNixIsLatest githubUpdategithubURLTemplatetest_githubInitsProperlytest_githubUpdatestest_githubDoesntOverrideRevtest_githubURLFallbacktest_githubUpdatesOnceCmd descriptionparseCmdShortcutparsePackageSpec updateCmdname extraLogslocalCmdparseLocalShortcutparseLocalPackageSpec describeLocal githubCmdgitCmd gitExtraLogsparseGitShortcutparseGitPackageSpec describeGit gitUpdate gitUpdate' latestRevdefaultBranchAndRev abortNoRev abortNoRefrunGitisRevabortGitFailure abortGitBugtests simplyRuns picksFirstloadssurvivesChecks isNotTooEagerdirtyForcesUpdateshouldNotRunWhenNoChangestemplatesExpandconstBoxtestNixpkgs FetchNixpkgs NoNixpkgs NixpkgsFast NixpkgsCustomNIOrunNIOgetFindSourcesJsonlicli parseCommandparsePackageName parsePackage parseCmdInit parseNixpkgscmdInit initNixpkgs parseCmdAddparseShortcutArgs parseCmdArgscmdAdd parseCmdShowcmdShow showPackageparseCmdUpdatespecToFreeAttrsspecToLockedAttrs cmdUpdatedoUpdatepartitionEithersHMSparseCmdModify cmdModify parseCmdDropcmdDropshouldUpdateNixSourcesNixabortCannotAddPackageExistsabortCannotUpdateNoSuchPackageabortCannotModifyNoSuchPackageabortCannotDropNoSuchPackageabortCannotShowNoSuchPackage&abortCannotAttributesDropNoSuchPackageabortUpdateFailed$fMonadUnliftIONIO $fShowNixpkgs$fShowFetchNixpkgs $fFunctorNIO$fApplicativeNIO $fMonadNIO $fMonadIONIO$fMonadReaderFindSourcesJsonNIObytestring-0.11.3.1Data.ByteString.Lazy.Internal ByteStringbase GHC.MaybeNothing githubUpdate'test_gitCalledOnceversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir