h&6-c      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh i j k l m n o p q r s t u v w x y z { | } ~                                                                                                    Safe-Inferredghc-boot expandPathVar var value str!replaces occurrences of variable $var with value in str.ghc-bootExpand occurrences of the $topdir interpolation in a string.ghc-boot&Calculate the location of the base dir Safe-Inferred4:F   Safe-Inferredz Safe-Inferredghc-bootHandle GHC-specific character encoding flags, allowing us to control how GHC produces output regardless of OS.ghc-bootChange the character encoding of the given Handle to transliterate on unsupported characters instead of throwing an exception Safe-Inferred Safe-Inferred f ghc-bootSee Note [Platform Syntax].ghc-bootSee Note [Platform Syntax].ghc-boot ArchitecturesTODO: It might be nice to extend these constructors with information about what instruction set extensions an architecture might support.&ghc-bootPlatform architecture and OS.*ghc-bootARM ABI.ghc-boot ARM Instruction Set Architecture2ghc-bootARM extensions8ghc-bootOperating systems.Using OSUnknown to generate code should produce a sensible default, but no promises.Gghc-bootPowerPC 64-bit ABIHghc-boot PowerPC64Ighc-boot PowerPC64 LE6 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI6&'() !"#$%89:;<=>?@ABCDEF./01234567*+,-GHI Safe-Inferred _`a_a` Safe-Inferred() bghc-bootUse a  instance to implement a deserialization scheme dual to that of dcghc-bootIf the f value contains something of the given type, then use the specified deserializer to return Just that. Otherwise return Nothing.dghc-bootUse a > instance to implement a serialization scheme dual to that of beghc-bootPut a Typeable value that we are able to actually turn into bytes into a f& value ready for deserialization laterfghc-bootRepresents a serialized value of a particular type. Attempts can be made to deserialize it at certain typesbcdefgfgecdb  Safe-Inferred`kghc-boot%Read target Arch/OS from the settingskghc-boot&Settings filepath (for error messages)ghc-bootRaw settings file contentshijklmnolmokjihn  Safe-Inferredrghc-boot,Converts a 64-bit word into a base-62 stringghc-boot6Size of a 64-bit word when written as a base-62 stringpqrstuvwxyz{|}~wsvuxtyz|}{~pqr  Safe-Inferred>d ghc-bootO(1) Returns the length of the  in bytes.ghc-bootO(n) Returns the length of the  in characters.ghc-bootO(1)* Returns the first UTF-8 codepoint in the . Depending on the string in question, this may or may not be the actual first character in the string due to Unicode non-printable characters.ghc-bootO(1) Test whether the  is the empty string.ghc-bootO(n) Convert a  into a .ghc-bootO(n) Split a  representing a file path into its components by separating on the file separator characters for this platform.ghc-bootO(n) The  function takes two s and returns  the remainder of the second iff the first is its prefix, and otherwise Nothing.ghc-bootO(n) Convert a  into a .ghc-bootA  is a modified UTF-8 encoded string meant for short strings like file paths, module descriptions, etc.   6(c) The University of Glasgow 2009, Duncan Coutts 2014ghc-devs@haskell.orgportable Safe-Inferred!$%()04789+n/ghc-bootAcquire an exclusive lock related to package DB under given location.ghc-boot)Convert between GenericUnitInfo instancesghc-bootPerform path/URL variable substitution as per the Cabal ${pkgroot} spec (http:/www.haskell.org pipermail libraries2009-May/011772.html) Paths/URLs can be relative to ${pkgroot} or ${pkgrooturl}. The "pkgroot" is the directory containing the package database.Also perform a similar substitution for the older GHC-specific "$topdir" variable. The "topdir" is the location of the ghc installation (obtained from the -B option).ghc-boot:Read the part of the package DB that GHC is interested in.ghc-boot=Read the part of the package DB that ghc-pkg is interested inNote that the Binary instance for ghc-pkg's representation of packages is not defined in this package. This is because ghc-pkg uses Cabal types (and Binary instances for these) which this package does not depend on.If we open the package db in read only mode, we get its contents. Otherwise we additionally receive a PackageDbLock that represents a lock on the database, so that we can safely update it later.ghc-boot'Release the lock related to package DB.ghc-boot.Write the whole of the package DB, both parts.ghc-bootghc-boot4's instantiated unit id, serialized to the database.ghc-bootInstantiated unitghc-bootUninstantiated unitghc-bootMode to open a package db in.ghc-bootghc-boot's Module, serialized to the database.ghc-boot holds a value of type t but only in  mode. So it is like  but with a type argument for the mode to enforce that the mode is used consistently.ghc-bootghc-boot('s UnitInfo, serialized to the database.ghc-bootInformation about an unit (a unit is an installed module library).This is a subset of Cabal's InstalledPackageInfo0, with just the bits that GHC is interested in.Some types are left as parameters to be instantiated differently in ghc-pkg and in ghc itself.ghc-bootLike , but each dependency is annotated with the ABI hash we expect the dependency to respect.ghc-bootABI hash used to avoid mixing up units compiled with different dependencies, compiler, options, etc.ghc-bootC compiler options that needs to be passed to the C compiler when we compile some C code against this unit.ghc-bootName of the component.Cabal supports more than one components (libraries, executables, testsuites) in the same package. Each component has a name except the default one (that can only be a library component) for which we use Nothing.GHC only deals with "library" components as they are the only kind of components that can be registered in a database and used by other modules.ghc-boot,Identifiers of the units this one depends onghc-bootModules exposed by the unit.A module can be re-exported from another package. In this case, we indicate the module origin in the second parameter.ghc-bootDirectories containing MacOS frameworks that this unit depends on.ghc-bootNames of the external MacOS frameworks that this unit depends on.ghc-bootBecause of slight differences between the GHC dynamic linker (in GHC.Runtime.Linker) and the native system linker, some packages have to link with a different list of libraries when using GHC's. Examples include: libs that are actually gnu ld scripts, and the possibility that the .a libs do not exactly match the .so/.dll equivalents.7If this field is set, then we use that instead of the  field.ghc-bootNames of the external system libraries that this unit depends on. See also  field.ghc-boot2Paths to Haddock directories containing HTML filesghc-boot.Paths to Haddock interface files for this unitghc-bootHidden modules.These are useful for error reporting (e.g. if a hidden module is imported)ghc-bootUnique unit identifier that is used during compilation (e.g. to generate symbols).ghc-boot(Directories containing module interfacesghc-bootDirectories containing C header files that this unit depends on.ghc-bootC header files that are required by this unit (provided by this unit or external)ghc-bootIdentifier of an indefinite unit (i.e. with module holes) that this unit is an instance of.ghc-bootHow this unit instantiates some of its module holes. Map hole module names to actual moduleghc-bootTrue if the unit is exposed. A unit could be installed in a database by "disabled" by not being exposed.ghc-bootTrue if this unit has some module holes that need to be instantiated with real modules to make the unit usable (a.k.a. Backpack).ghc-boot-True if the unit is trusted (cf Safe Haskell)ghc-boot4Names of the Haskell libraries provided by this unitghc-bootDirectories containing libraries provided by this unit. See also .It seems to be used to store paths to external library dependencies too.ghc-bootDirectories containing the dynamic libraries provided by this unit. See also .It seems to be used to store paths to external dynamic library dependencies too.ghc-boot%Linker (e.g. ld) command line optionsghc-bootSource package identifier.Cabal instantiates this with Distribution.Types.PackageId.PackageId type which only contains the source package name and version. Notice that it doesn't contain the Hackage revision, nor any kind of hash.ghc-bootSource package nameghc-bootSource package versionghc-boot"Represents a lock of a package db.ghc-bootAcquire a lock of given type related to package DB under given location.ghc-bootFeed a & decoder with data chunks from a file.99  Safe-Inferred,x Safe-Inferred-[ghc-bootA filepath like x86_64-linux-7.6.3 with the platform string to use when constructing platform-version-dependent files that need to co-exist. !"#$%&'()*+,-./01234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrss t u v w x y z { | } ~                                                                                                                 ghc-boot-9.2.2 GHC.BaseDirGHC.Data.SizedSeqGHC.ForeignSrcLangGHC.HandleEncodingGHC.LanguageExtensionsGHC.Platform.ArchOSGHC.Platform.HostGHC.SerializedGHC.Settings.UtilsGHC.Utils.EncodingGHC.Data.ShortTextGHC.Unit.Database GHC.VersionGHC.UniqueSubdir expandPathVar expandTopDir getBaseDir addListToSSaddToSSemptySSsizeSSssEltsSizedSeq$fBinarySizedSeq$fFoldableSizedSeq$fFunctorSizedSeq$fGenericSizedSeq$fNFDataSizedSeq$fShowSizedSeq$fTraversableSizedSeq$fBinaryForeignSrcLangconfigureHandleEncoding$fBinaryExtensionstringEncodeArchstringEncodeOSArch ArchAArch64ArchARM ArchAlphaArchJavaScript ArchMipseb ArchMipselArchPPC ArchPPC_64 ArchRISCV64 ArchS390X ArchSPARC ArchSPARC64 ArchUnknownArchX86 ArchX86_64ArchOS archOS_OS archOS_archArmABIHARDSOFTSOFTFPArmISAARMv5ARMv6ARMv7 ArmISAExtIWMMX2NEONVFPv2VFPv3VFPv3D16OSOSAIXOSDarwin OSDragonFly OSFreeBSDOSHaikuOSHurd OSKFreeBSDOSLinux OSMinGW32OSNetBSD OSOpenBSDOSQNXNTO OSSolaris2 OSUnknown PPC_64ABIELF_V1ELF_V2$fEqArch $fEqArchOS $fEqArmISAExt $fEqArmABI $fEqArmISA$fEqOS $fEqPPC_64ABI $fReadArch $fReadArchOS $fReadArmABI $fReadArmISA$fReadArmISAExt$fReadOS$fReadPPC_64ABI $fShowArch $fShowArchOS $fShowArmABI $fShowArmISA$fShowArmISAExt$fShowOS$fShowPPC_64ABIhostPlatformArchhostPlatformArchOShostPlatformOSdeserializeWithDatafromSerializedserializeWithData toSerialized SerializedgetRawBooleanSettinggetRawFilePathSetting getRawSettinggetTargetArchOS maybeReadmaybeReadFuzzyreadRawSetting RawSettingscountUTF8CharstoBase62toBase62Padded utf8CharStartutf8CompareShortByteStringutf8DecodeByteStringutf8DecodeCharutf8DecodeCharAddr#utf8DecodeShortByteStringutf8DecodeStringLazyutf8EncodeCharutf8EncodeShortByteStringutf8EncodeStringutf8EncodeStringPtrutf8EncodedLength utf8PrevCharutf8UnconsByteString zDecodeString zEncodeString byteLengthcodepointLengthheadnullpack splitFilePath stripPrefixunpack ShortTextcontents$fBinaryShortText $fEqShortText$fIsStringShortText$fMonoidShortText$fSemigroupShortText$fNFDataShortText$fOrdShortText$fShowShortTextisDbOpenReadMode lockPackageDbmapGenericUnitInfomkMungePathUrlmungeUnitInfoPathsreadPackageDbForGhcreadPackageDbForGhcPkgunlockPackageDbwritePackageDb DbInstUnitIdDbUnitIdDbMode DbReadOnly DbReadWriteDbModule DbModuleVar dbModuleNamedbModuleUnitIddbModuleVarName DbOpenModeDbOpenReadOnlyDbOpenReadWrite DbUnitInfoGenericUnitInfounitAbiDepends unitAbiHash unitCcOptionsunitComponentName unitDependsunitExposedModulesunitExtDepFrameworkDirsunitExtDepFrameworksunitExtDepLibsGhcunitExtDepLibsSysunitHaddockHTMLsunitHaddockInterfacesunitHiddenModulesunitIdunitImportDirsunitIncludeDirs unitIncludesunitInstanceOfunitInstantiations unitIsExposedunitIsIndefinite unitIsTrusted unitLibrariesunitLibraryDirsunitLibraryDynDirsunitLinkerOptions unitPackageIdunitPackageNameunitPackageVersion PackageDbLock$fBinaryDbInstUnitId$fBinaryDbModule$fBinaryGenericUnitInfo$fEqDbInstUnitId $fEqDbModule$fEqGenericUnitInfo$fFoldableDbOpenMode$fFunctorDbOpenMode$fShowDbInstUnitId$fShowDbModule$fShowGenericUnitInfo$fTraversableDbOpenModecProjectGitCommitIdcProjectPatchLevelcProjectPatchLevel1cProjectPatchLevel2cProjectVersioncProjectVersionInt uniqueSubdirghc-boot-th-9.2.2GHC.ForeignSrcLang.TypeForeignSrcLang RawObject LangObjcxxLangObjcLangCxxLangAsmLangC hSetTranslitGHC.LanguageExtensions.Type Extension ViewPatternsUnliftedNewtypesUnliftedFFITypesUnliftedDatatypes UnicodeSyntaxUndecidableSuperClassesUndecidableInstances UnboxedTuples UnboxedSumsTypeSynonymInstances TypeOperators TypeInTypeTypeFamilyDependencies TypeFamiliesTypeApplications TupleSectionsTransformListCompTraditionalRecordSyntaxTemplateHaskellQuotesTemplateHaskell StrictDataStaticPointers StarIsTypeStandaloneKindSignaturesStandaloneDerivingScopedTypeVariablesRoleAnnotationsRelaxedPolyRec RelaxedLayout RecursiveDoRecordWildCards RecordPunsRebindableSyntax RankNTypes QuasiQuotesQuantifiedConstraints QualifiedDoPostfixOperators PolyKindsPatternSynonyms PatternGuardsPartialTypeSignaturesParallelListCompParallelArraysPackageImportsOverloadedStringsOverloadedRecordUpdateOverloadedRecordDotOverloadedListsOverloadedLabelsOverlappingInstancesNumericUnderscores NumDecimalsNullaryTypeClassesNondecreasingIndentationNegativeLiteralsNamedWildCardsNPlusKPatterns MultiWayIfMultiParamTypeClassesMonomorphismRestrictionMonoLocalBindsMonadComprehensions MagicHash LinearTypesLiberalTypeSynonymsLexicalNegation LambdaCaseKindSignatures JavaScriptFFIInterruptibleFFI InstanceSigsIncoherentInstancesImpredicativeTypesImportQualifiedPostImplicitPreludeImplicitParamsHexFloatLiteralsGeneralizedNewtypeDerivingGHCForeignImportPrimGADTs GADTSyntaxFunctionalDependenciesForeignFunctionInterfaceFlexibleInstancesFlexibleContextsFieldSelectorsExtendedDefaultRulesExplicitNamespacesExplicitForAllExistentialQuantificationEmptyDataDerivingEmptyDataDecls EmptyCaseDuplicateRecordFieldsDoAndIfThenElseDisambiguateRecordFields DerivingViaDerivingStrategiesDeriveTraversable DeriveLift DeriveGeneric DeriveFunctorDeriveFoldableDeriveDataTypeableDeriveAnyClassDefaultSignaturesDatatypeContexts DataKindsCppConstraintKindsConstrainedClassMethodsCUSKsCApiFFIBlockArgumentsBinaryLiterals BangPatternsAutoDeriveTypeableArrows ApplicativeDo!AlternativeLayoutRuleTransitionalAlternativeLayoutRuleStrictAllowAmbiguousTypesbase Data.DataDataword64Base62LenGHC.BaseString GHC.MaybeJustMaybelockPackageDbWithdecodeFromFilebinary-0.8.9.0Data.Binary.Get.InternalGet