portable provisionalsimons@cryp.toNoneA 5 representation of the Hackage database. For sake of  simplicity, we use  rather than  to represent  the name of a package. Read the Hackage database from  $HOME/<package database path>/hackage.haskell.org/ 00-index.tar and  return a 1 that provides fast access to its contents. That tar 2 file is typically created by running the command " cabal update". )Read the Hackage database from the given  and return a  0 map that provides fast access to its contents. Parse the contents of Hackage's  00-index.tar into a  map. K  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                      ! " # $ % & & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H IJhackage-db-1.7Distribution.Hackage.DBHackage readHackage readHackage' parseHackagecontainers-0.5.0.0 Data.Map.BaseMapbaseGHC.BaseStringCabal-1.16.0.3Distribution.Package PackageNameGHC.IOFilePath Data.Version parseVersion showVersion versionTags versionBranchVersionData.Map foldWithKeyfoldinsertLookupWithKey'insertWithKey' insertWith'valid showTreeWithshowTree deleteFindMax deleteFindMin splitLookupsplitfromDistinctAscListfromAscListWithKeyfromAscListWith fromAscList toDescList toAscListtoListfromListWithKey fromListWithfromListfromSetkeysSetassocskeyselems foldlWithKey' foldlWithKey foldrWithKey' foldrWithKeyfoldl'foldlfoldr'foldrmapKeysMonotonic mapKeysWithmapKeysmapAccumRWithKeymapAccumWithKeymapAccumtraverseWithKey mapWithKeymapmapEitherWithKey mapEithermapMaybeWithKeymapMaybepartitionWithKey partition filterWithKeyfilterisProperSubmapOfByisProperSubmapOf isSubmapOfBy isSubmapOf mergeWithKeyintersectionWithKeyintersectionWith intersectiondifferenceWithKeydifferenceWith difference unionWithKey unionWithunion unionsWithunionsmaxViewminViewmaxViewWithKeyminViewWithKeyupdateMaxWithKeyupdateMinWithKey updateMax updateMin deleteMax deleteMinfindMaxfindMindeleteAtupdateAtelemAt lookupIndex findIndexalterupdateLookupWithKey updateWithKeyupdate adjustWithKeyadjustdeleteinsertLookupWithKey insertWithKey insertWithinsert singletonemptylookupGElookupLElookupGTlookupLTfindWithDefault notMembermemberlookupsizenull\\! pkgVersionpkgNamePackageIdentifier PackageIddependsPackageFixedDeps packageIdPackageInstalledPackageId DependencythisPackageVersionsimplifyDependencypackageVersion packageNamenotThisPackageVersionDistribution.PackageDescriptionTestTypeUnknown TestTypeLib TestTypeExeTestTypeTestSuiteUnsupportedTestSuiteLibV09TestSuiteExeV10TestSuiteInterfacetestName testInterface testEnabled testBuildInfo TestSuiterepoTyperepoTag repoSubdir repoModule repoLocationrepoKind repoBranch SourceRepoSVN OtherRepoTypeMonotone MercurialGnuArchGitDarcsCVSBazaarRepoTypeRepoThisRepoKindUnknownRepoHeadRepoKind testedWith testSuitessynopsis stabilityspecVersionRaw sourceRepospkgUrlpackage maintainer licenseFilelicenselibraryhomepage extraTmpFiles extraSrcFiles executables description dataFilesdataDircustomFieldsPD copyrightcategory buildType buildDepends bugReports benchmarksauthorPackageDescription libExposed libBuildInfoexposedModulesLibraryHookedBuildInfopackageDescriptiongenPackageFlagscondTestSuites condLibrarycondExecutablescondBenchmarksGenericPackageDescriptionFlagNameFlagAssignmentflagName flagManualflagDescription flagDefaultMkFlagFlag modulePathexeName buildInfo ExecutableOSImplArchConfVarVarLitCOrCNotCAnd Condition condTreeDatacondTreeConstraintscondTreeComponentsCondNodeCondTreeUnknownBuildTypeSimpleMakeCustom Configure BuildTypetargetBuildDependspkgconfigDepends otherModulesotherLanguagesotherExtensionsoptions oldExtensions ldOptionsinstallIncludesincludes includeDirs hsSourceDirsghcSharedOptionsghcProfOptions frameworks extraLibs extraLibDirsdefaultLanguagedefaultExtensionscustomFieldsBI cppOptions ccOptionscSources buildable buildTools BuildInfoBenchmarkTypeUnknownBenchmarkTypeExe BenchmarkTypeBenchmarkUnsupportedBenchmarkExeV10BenchmarkInterface benchmarkNamebenchmarkInterfacebenchmarkEnabledbenchmarkBuildInfo BenchmarkwithTestwithLibwithExe withBenchmarkusedExtensionsupdatePackageDescriptiontestType testModules specVersion libModulesknownTestTypesknownRepoTypesknownBuildTypesknownBenchmarkTypes hcOptionshasTestshasLibshasExes hasBenchmarks exeModules enabledTestsenabledBenchmarksemptyTestSuiteemptyPackageDescription emptyLibraryemptyHookedBuildInfoemptyExecutableemptyBuildInfoemptyBenchmarkdescCabalVersion benchmarkTypebenchmarkModules allLanguages allExtensions allBuildInfo