h$R0      None- #$'(+-/02356789;>?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ - None- #$'(+-/02356789;>? U None- #$'(+-/02356789;>?  None- #$'(+-/02356789;>? - None- #$'(+-/02356789;>?  None- #$'(+-/02356789;>?  None- #$'(+-/02356789;>? u  None- #$'(+-/02356789;>?   None- #$'(+-/02356789;>? q  None- #$'(+-/02356789;>?  None- #$'(+-/02356789;>?0 domainParsed and validated schema."You can only produce it using the  quasi-quoter or the . function and generate the code from it using .domainDeclare datatypes and typeclass instances from a schema definition according to the provided settings.*Use this function in combination with the  quasi-quoter or the  function.  For examples refer to their documentation.Call it on the top-level (where you declare your module members).domain0Quasi-quoter, which parses a YAML schema into a  expression.Use  to generate the code from it.Example {-# LANGUAGE QuasiQuotes, TemplateHaskell, StandaloneDeriving, DeriveGeneric, DeriveDataTypeable, DeriveLift, FlexibleInstances, MultiParamTypeClasses, DataKinds, TypeFamilies #-} module Model where import Data.Text (Text) import Data.Word (Word16, Word32, Word64) import Domain  (Just (False, True))  [| Host: sum: ip: Ip name: Text Ip: sum: v4: Word32 v6: Word128 Word128: product: part1: Word64 part2: Word64 |] domain4Load and parse a YAML file into a schema definition.Use  to generate the code from it.Example {-# LANGUAGE TemplateHaskell, StandaloneDeriving, DeriveGeneric, DeriveDataTypeable, DeriveLift, FlexibleInstances, MultiParamTypeClasses, DataKinds, TypeFamilies #-} module Model where import Data.Text (Text) import Data.Word (Word16, Word32, Word64) import Domain  (Just (True, False))  =<<  "domain.yaml" domain4Combination of all derivers exported by this module.domainDerives 45 for enums or sums having no members in all variants.Requires to have the StandaloneDeriving compiler extension enabled.domainDerives 1 for enums.Requires to have the StandaloneDeriving compiler extension enabled.domainDerives .Requires to have the StandaloneDeriving compiler extension enabled. domainDerives =.Requires to have the StandaloneDeriving compiler extension enabled. domainDerives .Requires to have the StandaloneDeriving compiler extension enabled. domainDerives .Requires to have the StandaloneDeriving and  DeriveGeneric compiler extensions enabled. domainDerives g.Requires to have the StandaloneDeriving and DeriveDataTypeable compiler extensions enabled. domainDerives .Requires to have the StandaloneDeriving and DeriveDataTypeable compiler extensions enabled.domain Generates -based instances of  .domainDerives .Requires to have the StandaloneDeriving and  DeriveLift compiler extensions enabled.domainDerives  with unprefixed field names.For each field of a product generates instances mapping to their values.(For each constructor of a sum maps to a  tuple of members of that constructor, unless there's no members, in which case it maps to .$For each variant of an enum maps to * signaling whether the value equals to it.Please notice that if you choose to generate unprefixed record field accessors, it will conflict with this deriver, since it's gonna generate duplicate instances.domainGenerates instances of  for wrappers, enums and sums, providing mappings from labels to constructors. Sum ExampleHaving the following schema: 'Host: sum: ip: Ip name: Text *The following instances will be generated: instance a ~ Ip => IsLabel "ip" (a -> Host) where fromLabel = IpHost instance a ~ Text => IsLabel "name" (a -> Host) where fromLabel = NameHost *In case you're wondering what this tilde (~-) constraint business is about, refer to the  #type-equality-constraintType Equality Constraint section. Enum ExampleHaving the following schema: /TransportProtocol: enum: - tcp - udp *The following instances will be generated: instance IsLabel "tcp" TransportProtocol where fromLabel = TcpTransportProtocol instance IsLabel "udp" TransportProtocol where fromLabel = UdpTransportProtocol domainGenerates instances of  for enums, sums and products, providing accessors to their components.Product ExampleHaving the following schema: NetworkAddress: product: protocol: TransportProtocol host: Host port: Word16 *The following instances will be generated: instance a ~ TransportProtocol => IsLabel "protocol" (NetworkAddress -> a) where fromLabel (NetworkAddress a _ _) = a instance a ~ Host => IsLabel "host" (NetworkAddress -> a) where fromLabel (NetworkAddress _ b _) = b instance a ~ Word16 => IsLabel "port" (NetworkAddress -> a) where fromLabel (NetworkAddress _ _ c) = c *In case you're wondering what this tilde (~-) constraint business is about, refer to the  #type-equality-constraintType Equality Constraint section. Sum ExampleHaving the following schema: 'Host: sum: ip: Ip name: Text *The following instances will be generated: instance a ~ Maybe Ip => IsLabel "ip" (Host -> a) where fromLabel (IpHost a) = Just a fromLabel _ = Nothing instance a ~ Maybe Text => IsLabel "name" (Host -> a) where fromLabel (NameHost a) = Just a fromLabel _ = Nothing *In case you're wondering what this tilde (~-) constraint business is about, refer to the  #type-equality-constraintType Equality Constraint section. Enum ExampleHaving the following schema: /TransportProtocol: enum: - tcp - udp *The following instances will be generated: instance a ~ Bool => IsLabel "tcp" (TransportProtocol -> a) where fromLabel TcpTransportProtocol = True fromLabel _ = False instance a ~ Bool => IsLabel "udp" (TransportProtocol -> a) where fromLabel UdpTransportProtocol = True fromLabel _ = False *In case you're wondering what this tilde (~-) constraint business is about, refer to the  #type-equality-constraintType Equality Constraint section.domainGenerates instances of  for sums and products, providing mappers over their components.Product ExampleHaving the following schema: NetworkAddress: product: protocol: TransportProtocol host: Host port: Word16 *The following instances will be generated: instance mapper ~ (TransportProtocol -> TransportProtocol) => IsLabel "protocol" (mapper -> NetworkAddress -> NetworkAddress) where fromLabel mapper (NetworkAddress a b c) = NetworkAddress (mapper a) b c instance mapper ~ (Host -> Host) => IsLabel "host" (mapper -> NetworkAddress -> NetworkAddress) where fromLabel mapper (NetworkAddress a b c) = NetworkAddress a (mapper b) c instance mapper ~ (Word16 -> Word16) => IsLabel "port" (mapper -> NetworkAddress -> NetworkAddress) where fromLabel mapper (NetworkAddress a b c) = NetworkAddress a b (mapper c) *In case you're wondering what this tilde (~-) constraint business is about, refer to the  #type-equality-constraintType Equality Constraint section. Sum ExampleHaving the following schema: 'Host: sum: ip: Ip name: Text *The following instances will be generated: instance mapper ~ (Ip -> Ip) => IsLabel "ip" (mapper -> Host -> Host) where fromLabel fn (IpHost a) = IpHost (fn a) fromLabel _ a = a instance mapper ~ (Text -> Text) => IsLabel "name" (mapper -> Host -> Host) where fromLabel fn (NameHost a) = NameHost (fn a) fromLabel _ a = a *In case you're wondering what this tilde (~-) constraint business is about, refer to the  #type-equality-constraintType Equality Constraint section.domainField naming. When nothing, no fields will be generated. Otherwise the first wrapped boolean specifies, whether to prefix the names with underscore, and the second - whether to prefix with the type name. Please notice that when you choose not to prefix with the type name you need to have the DuplicateRecords extension enabled.domain"Which instances to derive and how.domainSchema definition.domainTemplate Haskell action splicing the generated code on declaration level.domain?0  !"#$%&'()$*+$*,$-.$/0$12$13$%4$%5'67$89$:;'6<$%=$>?$%@'(A$BC$BD$EF$>G$>H$>I$>J$>K$LM$%N$OP$OQ$OR$OS$OT$OU$OV$OW$OX$OY$OZ$O['\]'\^'\_$`a$`b$`c$`d$`e$`f$`g$`h$`i$`j$`k$`l$`m$`n$`o$`p$`q$`r$`s$`t$`u$`v$`w$Bx$By$Bz$B{$B|$B}$B~$B$B$B$B$B$%$%$%$%$$$$$$$$$$$$$$$$%$%$%$$$$$$$$'\'\'\'\'\'\'\'\$$$$$$B$B$`$`$`$`$`$`$`$`$`$`$`$`$`$`$`$B$B$B$B$B$B$$$$$$$$$$$$$$$$$%$%$%$%$%$%$$$$$$$$$$$$$$$$$$$$$$$$$$%$%$%$%$%$%$$'''''''$$$$$$$''''$B$B'($-''$$$$$$$$$'''\'\'\$$$$$$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$$$$$$$$$$$$$$$1$1$1$$$$$$$$$$$$$$$$$$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$$$$$$$$$$$$$$B$B$B$B$B$B$B$B$B$B$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$`$`$`$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-$-$-$-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$8$8$8$8$8$8$8$8$8$8$8$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$L$L$L$L$L$L$L$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/$/$/$/$/$/$/$/$/$/$/$/$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$:$:$:$:$:$:$:$:$:$:$:$:$$$$$$$$E$E$E$E$E$E$E$E$E$E$E$E$E$E$$$$$$$$$$$$ $ $ $ $ $ $ $ $  $ $ $ $  $ $ $ $ $ $  $ $  $ $ $ $  $ $ $ $  $ $ $ $  $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $  $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $> $  $ $ $  $  $ $  $  $  $  $  $  $  $  $  $  $  $  $  $  $  $ $  $  $ $ $ $ $  $  $ $ $ $ $ $ $ $ $ $  $    $ $ $ $ $ $ $ $ $ $ $ $ $ $  $ $ $  $  $ $  $  $ $  $  $ $  $  $ $                                                        !domain-0.1-ITZH9aUBnFn137e0XYi7ElDomainDomain.PreludeDomain.Models.TypeStringDomain.Models.TypeCentricDocDomain.Attoparsec.GeneralDomain.Attoparsec.TypeStringDomain.Resolvers.TypeCentricDocDomain.TH.InstanceDecDomain.TH.InstanceDecsDomain.TH.TypeDec%Domain.YamlUnscrambler.TypeCentricDoc Domain.Docs&domain-core-0.1-9hImdesqj2tLVeI0U2nTxwDomainCore.DeriverDeriverSchemadeclareschema loadSchema stdDeriver enumDeriverboundedDeriver showDeriver eqDeriver ordDerivergenericDeriver dataDerivertypeableDeriverhashableDeriver liftDeriverhasFieldDeriverconstructorIsLabelDeriveraccessorIsLabelDerivermapperIsLabelDeriver$fLiftLiftedRepSchemabaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertError Debug.TracetraceinlinemapGHC.Exts groupWith$coerceGHC.Real fromIntegral realToFrac Control.MonadguardIsListtoList fromListNItemfromList Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumfromEnumtoEnumsuccpred enumFromToenumFromThenToenumFrom enumFromThen GHC.ClassesEq==/= GHC.FloatFloatingexppilogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1mexplog1pexp Fractional/ fromRationalrecipIntegralquotremdivmodquotRem toIntegerdivModMonadreturn>>=>> Data.DataDatagunfoldgfoldltoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMogmapMpFunctorfmap<$GHC.NumNumabssignum fromIntegernegate-+*Ordcompareminmax><=>=<GHC.ReadReadreadList readsPrec readListPrecreadPrecReal toRational RealFloat floatDigits floatRadix floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroatan2isIEEERealFractruncateproperFractionroundfloorceilingGHC.ShowShow showsPrecshowListshowGHC.IxIxinRange rangeSizeindexrangeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfixControl.Monad.Fail MonadFailfail Data.StringIsString fromString ApplicativeliftA2<**>pure<*> Data.FoldableFoldablelengthfoldMapnullfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldMap'foldr'foldlfoldrData.Traversable TraversablemapMtraversesequence sequenceA GHC.GenericsGenericGHC.OverloadedLabelsIsLabel fromLabel Semigroup<>Monoidmconcatmemptymappend GHC.RecordsHasFieldgetFieldtemplate-haskellLanguage.Haskell.TH.SyntaxLift GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64integer-wired-inGHC.Integer.TypeInteger GHC.MaybeMaybeNothingJustOrderingGTLTEQRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTyConnot||&&GHC.Exception.Type SomeExceptionGHC.ErrerrorerrorWithoutStackTrace undefinedStringNonEmpty:| MonadPlusmzeromplus Alternative<|>emptymanysome<**>liftAliftA3=<<whenliftMliftM2liftM3liftM4liftM5apordconstflip$!untilasTypeOfsubtractGHC.MVarMVar newEmptyMVarnewMVartakeMVarreadMVarputMVar tryTakeMVar tryPutMVar tryReadMVar isEmptyMVar GHC.IO.UnsafeunsafePerformIOunsafeDupablePerformIOunsafeInterleaveIOcurryuncurryswap Data.Functor<$><&>$>void Data.Functionfixon& Data.Boolbool Data.MaybemaybeisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybeheadtaillastinitfoldl1'scanlscanl1scanl'scanrscanr1iterateiterate'repeat replicatecycle takeWhile dropWhiletakedropsplitAtspanbreakreverselookup!!zip3zipWithzipWith3unzipunzip3ShowSshowsshowChar showString showParen showLitChar intToDigitGHC.STrunST GHC.STRefSTRefnewSTRef readSTRef writeSTRefGHC.Charchr% numerator denominator showSignedevenodd^^^gcdlcm Data.Bits FiniteBitscountLeadingZeroscountTrailingZeros finiteBitSizeBits.|..&.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLpopCountrotateR bitDefaulttestBitDefaultpopCountDefaulttoIntegralSized GHC.UnicodeGeneralCategoryControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparator Surrogate PrivateUseFormat NotAssignedgeneralCategoryisAsciiisLatin1 isAsciiLower isAsciiUpperisSpaceisDigit isOctDigit isHexDigit isPunctuationisSymbolisAlpha isAlphaNum isControlisPrintisUpperisLowertoLowertoUppertoTitle byteSwap16 byteSwap32 byteSwap64 bitReverse8 bitReverse16 bitReverse32 bitReverse64 showFloat floatToDigitsfromRatText.ParserCombinators.ReadPReadPReadS readP_to_S readS_to_PText.ParserCombinators.ReadPrecReadPrec readPrec_to_P readP_to_Prec readPrec_to_S readS_to_Prec readParenlex lexLitChar readLitChar lexDigitsNumericreadIntreadOctreadDecreadHex readFloat readSignedshowInt showEFloat showFFloat showGFloat showFFloatAlt showGFloatAlt showHFloat showIntAtBaseshowHexshowOctnullPtrcastPtrplusPtralignPtrminusPtr nullFunPtr castFunPtrcastFunPtrToPtrcastPtrToFunPtr freeStablePtrdeRefStablePtrcastStablePtrToPtrcastPtrToStablePtrForeign.StorableStorable alignmentsizeOf peekElemOff pokeElemOff peekByteOff pokeByteOffpokepeek Foreign.PtrIntPtrWordPtrfreeHaskellFunPtr ptrToWordPtr wordPtrToPtr ptrToIntPtr intPtrToPtrData.Type.Equality:~~:HRefl:~:ReflControl.CategoryCategoryid.<<<>>> Data.ProxyKProxyProxy asProxyTypeOfData.OrdDowngetDown comparingeitherleftsrightspartitionEithersisLeftisRightfromLeft fromRight Text.Readreads readEither readMayberead Data.Char digitToIntisLetterisMarkisNumber isSeparator Data.OldList dropWhileEnd stripPrefix elemIndex elemIndices findIndex findIndices isPrefixOf isSuffixOf isInfixOfnubnubBydeletedeleteBy\\unionunionBy intersect intersectBy intersperse intercalate transpose partitioninsertinsertBy genericLength genericTake genericDropgenericSplitAt genericIndexgenericReplicatezip4zip5zip6zip7zipWith4zipWith5zipWith6zipWith7unzip4unzip5unzip6unzip7deleteFirstsBygroupgroupByinitstails subsequences permutationssortsortByunfoldrlinesunlineswordsunwords Unsafe.Coerce unsafeCoerceData.Semigroup.InternalProduct getProductSumgetSumAnygetAnyAllgetAllEndoappEndoDualgetDual Data.MonoidApgetApfoldrMfoldlM traverse_for_mapM_forM_ sequenceA_ sequence_asummsumconcat concatMapandoranyall maximumBy minimumBynotElemfindData.Functor.ConstConstgetConst tyConPackage tyConModule tyConNametyConFingerprintrnfTyCon Data.TypeableTypeReptypeOftypeRep showsTypeRepcasteqTgcastgcast1gcast2 funResultTymkFunTy splitTyConApp typeRepArgs typeRepTyContypeRepFingerprint rnfTypeReptypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7ArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroRatioZeroDenominatorDenormal Exception fromExceptiondisplayException toException GHC.Exception ErrorCallErrorCallWithLocationthrowIOError IOExceptionioe_type ioe_handle ioe_locationioe_description ioe_filename ioe_errnounsupportedOperation userErrorGHC.IO MaskingStateMaskedInterruptibleMaskedUninterruptibleUnmaskedFilePathstToIOcatchthrowIO interruptiblegetMaskingStatemask_maskuninterruptibleMask_uninterruptibleMaskevaluate GHC.IORefIORefnewIORef readIORef writeIORefatomicModifyIORef'GHC.ForeignPtrFinalizerEnvPtr FinalizerPtrmallocForeignPtrmallocForeignPtrBytesaddForeignPtrFinalizeraddForeignPtrFinalizerEnvnewForeignPtr_touchForeignPtrcastForeignPtrplusForeignPtrfinalizeForeignPtrForeign.ForeignPtr.Imp newForeignPtrwithForeignPtrnewForeignPtrEnvmallocForeignPtrArraymallocForeignPtrArray0 Data.IORef mkWeakIORef modifyIORef modifyIORef'atomicModifyIORefatomicWriteIORef IOErrorType AlreadyExistsEOF NoSuchThing ResourceBusyResourceExhaustedIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpired InterruptedResourceVanishedExitCode ExitSuccess ExitFailureFixIOExceptionArrayExceptionIndexOutOfBoundsUndefinedElementAsyncException HeapOverflow StackOverflow UserInterrupt ThreadKilledSomeAsyncExceptionAssertionFailedCompactionFailedAllocationLimitExceededDeadlockBlockedIndefinitelyOnSTMBlockedIndefinitelyOnMVarblockedIndefinitelyOnMVarblockedIndefinitelyOnSTMallocationLimitExceededcannotCompactFunctioncannotCompactPinnedcannotCompactMutableasyncExceptionToExceptionasyncExceptionFromException stackOverflow heapOverflow ioExceptionioErroruntangleDynamicfromDyn fromDynamicdynApplydynApp dynTypeRep GHC.Conc.SyncTVarSTMPrimMVar ThreadStatusThreadFinished ThreadRunning ThreadDied ThreadBlocked BlockReasonBlockedOnBlackHole BlockedOnMVarBlockedOnException BlockedOnSTMBlockedOnOtherBlockedOnForeignCallThreadIdreportHeapOverflowsetAllocationCountergetAllocationCounterenableAllocationLimitdisableAllocationLimitforkIOforkIOWithUnmaskforkOnforkOnWithUnmasknumCapabilitiesgetNumCapabilitiessetNumCapabilitiesgetNumProcessors numSparks childHandler killThreadthrowTo myThreadIdyield labelThreadpseqpar runSparks threadStatusthreadCapabilitymkWeakThreadIdnewStablePtrPrimMVar unsafeIOToSTM atomicallyretrythrowSTMcatchSTMnewTVar newTVarIO readTVarIOreadTVar writeTVarreportStackOverflow reportErrorsetUncaughtExceptionHandlergetUncaughtExceptionHandlerControl.Exception.BaseNestedAtomicallyNonTermination TypeError NoMethodError RecUpdError RecConError RecSelErrorPatternMatchFail catchJusthandle handleJust mapExceptiontrytryJust onExceptionbracketfinallybracket_bracketOnErrorSystem.IO.Error tryIOError mkIOErrorisAlreadyExistsErrorisDoesNotExistErrorisAlreadyInUseError isFullError isEOFErrorisIllegalOperationisPermissionError isUserErrorisResourceVanishedErroralreadyExistsErrorTypedoesNotExistErrorTypealreadyInUseErrorType fullErrorType eofErrorTypeillegalOperationErrorTypepermissionErrorType userErrorTyperesourceVanishedErrorTypeisAlreadyExistsErrorTypeisDoesNotExistErrorTypeisAlreadyInUseErrorTypeisFullErrorTypeisEOFErrorTypeisIllegalOperationErrorTypeisPermissionErrorTypeisUserErrorTypeisResourceVanishedErrorTypeioeGetErrorTypeioeGetErrorStringioeGetLocation ioeGetHandleioeGetFileNameioeSetErrorTypeioeSetErrorStringioeSetLocation ioeSetHandleioeSetFileName modifyIOErrorannotateIOError catchIOErrorControl.Monad.ST.ImpfixSTControl.ExceptionHandlercatchesallowInterruptSystem.IO.Unsafe unsafeFixIOControl.Concurrent.MVarswapMVarwithMVarwithMVarMasked modifyMVar_ modifyMVarmodifyMVarMasked_modifyMVarMaskedaddMVarFinalizer mkWeakMVarGHC.Conc.Signal HandlerFunSignal setHandler runHandlers GHC.Conc.IOensureIOManagerIsRunningioManagerCapabilitiesChanged closeFdWith threadDelay registerDelay GHC.IO.HandlehCloseputCharputStrputStrLngetChargetLine getContentsinteractreadFile writeFile appendFilereadLnreadIO Control.Arrow ArrowLooploop ArrowMonad ArrowApplyapp ArrowChoice+++left|||right ArrowPlus<+> ArrowZero zeroArrowKleisli runKleisliArrow***arr&&&returnA^>>>>^<<^^<<leftAppControl.ApplicativeZipList getZipList WrappedMonad WrapMonad unwrapMonadoptionalforforM mapAccumL mapAccumR fmapDefaultfoldMapDefaulttraceIO putTraceMsgtraceId traceShow traceShowIdtraceM traceShowM traceStack traceEvent traceEventIO traceMarker traceMarkerIO Data.VersionVersion versionBranch versionTags showVersion parseVersion makeVersionfilterM>=><=<forever mapAndUnzipMzipWithM zipWithM_foldMfoldM_ replicateM replicateM_unless<$!>mfilter Text.PrintfprintfhPrintf System.MemperformMinorGCperformMajorGC performGC System.ExitexitWith exitFailure exitSuccessdie!System.Environment.ExecutablePathgetExecutablePathSystem.EnvironmentgetArgs getProgNamegetEnv lookupEnvsetEnvunsetEnvwithArgs withProgNamegetEnvironmentGHC.StableName StableNamemakeStableNamehashStableName eqStableName Data.UniqueUnique newUnique hashUnique Data.STRef modifySTRef modifySTRef' Data.RatioapproxRationalControl.Monad.IO.ClassMonadIOliftIOData.Bifunctor BifunctorbimapfirstsecondControl.Concurrent.QSemNQSemNnewQSemN waitQSemN signalQSemNControl.Concurrent.QSemQSemnewQSemwaitQSem signalQSemControl.Concurrent.ChanChannewChan writeChanreadChandupChangetChanContentswriteList2ChanControl.ConcurrentrtsSupportsBoundThreads forkFinallyforkOSforkOSWithUnmaskisCurrentThreadBoundrunInBoundThreadrunInUnboundThreadthreadWaitReadthreadWaitWritethreadWaitReadSTMthreadWaitWriteSTMSystem.TimeoutTimeouttimeoutFixityPrefixInfixConIndex ConstrRep IntConstr AlgConstr CharConstr FloatConstrDataRepAlgRepCharRepNoRepIntRepFloatRepConstrDataType fromConstr fromConstrB fromConstrM dataTypeName dataTypeRep constrType constrRep repConstr mkDataTypemkConstrdataTypeConstrs constrFields constrFixity showConstr readConstr isAlgType indexConstr constrIndexmaxConstrIndex mkIntType mkFloatType mkCharTypemkIntegralConstr mkRealConstr mkCharConstr mkNoRepType isNorepType tyconUQname tyconModulesortWith Data.VoidVoidabsurdvacuousData.Functor.ComposeCompose getCompose Data.FixedPicoE12NanoE9MicroE6MilliE3CentiE2DeciE1UniE0 HasResolution resolutionFixedMkFixeddiv'divMod'mod' showFixed Data.ComplexComplex:+realPartimagPart conjugatemkPolarcispolar magnitudephaseSTGHC.IO.Handle.TypesHandle ForeignPtrbytestring-0.10.10.0Data.ByteString.Internal ByteString'hashable-1.3.0.0-1P2Y3eA5cTdB8Gcn7yS7qiData.Hashable.ClassHashable text-1.2.3.2Data.Text.InternalTextFirstgetFirstLastgetLastData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOpgetAlt showAsTextUnitRefUnit InParensUnitInSquareBracketsUnitAppSeqCommaSeqSumTypeExpressionStringSumTypeExpressionSequenceSumTypeExpression Structure EnumStructure SumStructureProductStructureDoconlycommaSeparatedcommainParensinSquareBrackets skipSpace1nameucNamelcNamecommaSeqappSequnittypeRef eliminateDoceliminateNameAndStructureeliminateStructureeliminateProductStructureUniteliminateSumStructureUniteliminateSumTypeExpressioneliminateTypeStringCommaSeqeliminateTypeStringAppSeqeliminateTypeStringUniteliminateTypeRef enumHasField sumHasFieldproductHasFieldproductAccessorIsLabelsumAccessorIsLabelenumAccessorIsLabelcurriedSumConstructorIsLabeluncurriedSumConstructorIsLabelenumConstructorIsLabelwrapperConstructorIsLabelwrapperMapperIsLabelproductMapperIsLabelsumMapperIsLabel deriving_hasFieldaccessorIsLabelconstructorIsLabelvariantConstructorIsLabel mapperIsLabelbyNonAliasName byEnumNameenumboundedeqgenericdata_typeablehashablelifttypeDecdoc structure byFieldName appTypeStringsumTypeExpression enumVariants