!OCw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvSafeDb-iuuSafe  +.=>?@ADb-NoneDb/vnumhask-preludeKrebindable syntax splats this, and I'm not sure where it exists in GHC lande"on# pqsr$ %5432&'()* +,-A@?>=<;:9876./012 !3456789:;<=>?@lpABkCmDEFGHIJKnoLstuMNOPQRSTUVqrWXYZ[\]^_`abcdefghij~     ! "#$%&'()*+,-./0123456789:;<=>?A@CBEDGFIHKJMLONPQRSTUVWXYZ[\]^_a`cbedgfihkjmlrqponutsxwvyz{|}~wvwxyz{|}      !#"$%&(')*+0/.-,1BCDEFGHI^]\[ZYXWVUTSRQPONMLKJba`_cdefghijklmtuvwxyz{|}~xyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde      !"#$%&'()*+,-./0143256789:;<=>?@ABCDEFGHKIJMLNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstvw"on# pqsr$ %5432&'()* +,-A@?>=<;:9876./012 !3456789:;<=>?@lpABkCmDEFGHIKnoLstuMNOPQRSTUVqrWXYZ[\]^_`abcdefghij~     ! "#$%&'()*+,-./0123456789:;<=>?A@CBEDGFIHKJMLONPQRSTUVWXYZ[\]^_a`cbedgfihkjmlrqponutsxwvyz{|}~vwxyz{|}      !#"$%&(')*+0/.-,1BCDEFGHI^]\[ZYXWVUTSRQPONMLKJba`_cdefghijklmtuvwxyz{|}~      !"#$%&'()*+,-./0143256789:;<=>?@ABCDEFGHKIJMLNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstvJf      !"!#$%&'&()*+,-./01234567!89:;<=>?!@6A!BCDEFGHIJKLMNMOMPMQMRSTUVWXYZ[\]^]_]`]a]bcdcecfcghij-klm]nop]q]rstsusvswxyxz{|]}]~MMMMMMMMMMMM]]S]]]]ll]{{]]]MMMMMMMM{!!!!!!!!!!!!!!!!!!!            !"#$%&'&()*)+),)-)-).)/)0)1)12324W5[6789:9;9<$=$>$?$@$A$B$C$D$E$F$G$H$I$JKKKLKMKNKOKPKQKRKSKTUVUWUXUXYZY[Y[\]^_^`^abcdedfdgdhdidjdkdldmnonpqrqstuvwvxvyvzv{v|v}v~vvvvvvvvvvvvvvvvvvv^IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII   MM MM MM MMMMMMMMMMMMMMMMMMMM M!M"M#U$U%U&U'U(U(S)S)*+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<=>=?=@{A{B{C{D{E{F{GHIHJHJKLKLMNMOMPMPQRQSQTQUQVQWXWYZ[Z\Z]Z^Z_`a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6qsrssstuvwvxvyvzv{v|v}v~vvvvvvvvvvvvvvvvvvvvv!!!!                   ;-      !"#$#%#&'()*+,-././.0.1.2343435363738393:3;3<=>?=>@=>A=>B=>C=>D=>E=>F=>G=>H=>I=>J=>K=>L=>M=>N=>O=PQ=PR=PS=PT=PU=PV=PW=PX=PY=PZ=[\=[]=[^=[_=[`=[a=[b=[c=[d=[e=[f=gh=gi=gj=gk=gl=gm=gn=go=gp=gq=gr=gs=gt=gu=gv=gw=gx=gy=gz={|={}={~={~=========================================      !"#$%&'()*+,-./0123456789:;<=>?@ABCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRSTSUSVSWSXYZY[Y\YZY]Y^_`abacadaeafagahaiajakalamnonpnqnrnsntnunvnwnxnynzn{|}|~|||||,numhask-prelude-0.3.1-C91BXPKXh8Z9jLDPRabvYFNumHask.Prelude NumHask.ErrorNumHask.ExamplesbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwise$GHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=fail>>=>>fmapreturn Data.String fromStringGHC.Real realToFrac toRational Control.MonadguardGHC.ExtsfromList fromListN<>memptymappendmconcat GHC.NaturalNatS#join<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalMonadFunctorGHC.NumNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeableIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGenericGeneric1Datatype ConstructorSelector GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbolGHC.OverloadedLabelsIsLabel SemigroupMonoid GHC.RecordsHasField GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerNatural GHC.MaybeMaybeOrdering GHC.Stable StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherType ConstraintV1U1K1M1:+::*::.:Rec0D1C1S1URecNatSymbolCmpNat Coercible GHC.StaticPtr StaticPtrGHC.Stack.Types CallStackD#FalseF#NothingJustTrueLeftRightLTEQGTPrefixIInfixILeftAssociativeRightAssociativeNotAssociativeMetaDataMetaConsMetaSelliftMeither mtl-2.2.2Control.Monad.Reader.Class MonadReaderasklocalreaderControl.Monad.State.Class MonadStategetputstateGHC.IO.Handle.TypesHandleGHC.STST GHC.Conc.SyncforkOnWithUnmaskforkIOWithUnmaskforkOnControl.ConcurrentforkOSThreadId"async-2.2.1-CnEO6bROc7S6QgTCMiGZteControl.Concurrent.Async concurrentlyrace_racelink2linkwaitBothwaitEitherCancel waitEither_ waitEitherwaitEitherCatchCancelwaitEitherCatch waitAnyCancelwaitAnywaitAnyCatchCancel waitAnyCatch cancelWithcancelpoll waitCatchwait withAsyncOnwithAsyncBound withAsyncasyncOn asyncBoundasync asyncThreadIdAsyncrunConcurrently ConcurrentlyintegralEnumFromThenTointegralEnumFromTointegralEnumFromThenintegralEnumFromgcdWord'gcdInt'^^%^^^%^numericEnumFromThenTonumericEnumFromTonumericEnumFromThennumericEnumFrom notANumber ratioPrec1 ratioPrecunderflowError overflowErrorratioZeroDenominatorError divZeroErrorboundedEnumFromThenboundedEnumFrommaxIntminInt Data.Complex conjugate Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1 WrappedMonoid getOptionOptionthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmask forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNData.Bifunctorsecondfirstbimap BifunctorData.List.NonEmptynonEmptyGHC.ExecutionStackshowStackTrace getStackTraceGHC.ExecutionStack.Internal sourceColumn sourceLine sourceFileSrcLocsrcLoc functionName objectNameLocationControl.Monad.IO.ClassliftIOMonadIO fromLabelgetFieldSystem.EnvironmentgetArgs System.Exit exitSuccess exitFailureexitWithmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraverseControl.Applicativeoptional getZipListZipListData.Functor.Identity runIdentityIdentity System.IOwithFileGHC.IO.Handle.FDopenFilestderrstdin GHC.Conc.IO threadDelayControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVar GHC.StackwithFrozenCallStack callStackControl.ExceptionallowInterruptcatchesControl.Monad.ST.ImpfixSTControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomicallycatchSTMthrowSTMorElseretry atomicallymkWeakThreadIdthreadCapability myThreadId killThreadsetNumCapabilitiesgetNumCapabilitiesforkIOSTMGHC.IO.ExceptionioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncException UserInterrupt ThreadKilled HeapOverflow StackOverflowAsyncExceptionUndefinedElementIndexOutOfBoundsArrayException ExitFailure ExitSuccessExitCodestdoutGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblecatchFilePathMaskedUninterruptibleMaskedInterruptibleUnmasked MaskingState IOException GHC.ExceptionprettyCallStack prettySrcLoc ErrorCallErrorCallWithLocationGHC.Exception.Type SomeExceptiondisplayException fromException toException ExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithException Data.TypeableeqTcasttypeRepTypeRepData.Functor.ConstgetConstConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMminimummaximumelemlengthnulltoListfoldl'foldlfoldr'foldrfoldMapfold Data.MonoidgetFirstFirstgetLastLastgetApApData.Semigroup.Internal stimesMonoidstimesIdempotentgetDualDualappEndoEndogetAllAllgetAnyAnygetAltAltunK1unM1R1L1unComp1Comp1 isNewtype packageName moduleName datatypeName conIsRecord conFixityconNameInfixPrefixFixityFixityI AssociativityselDecidedStrictnessselSourceStrictnessselSourceUnpackednessselNametofromMeta someSymbolVal someNatVal symbolValnatVal SomeSymbolSomeNat Data.OldListunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupgenericReplicategenericSplitAt genericDrop genericTake genericLength transpose intercalate intersperse isPrefixOf Text.Read readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftsData.Ord comparingDown Data.ProxyProxyData.Type.Coercionrepr coerceWithCoercionData.Type.Equality gcastWithcastWithsymRefl:~: Foreign.PtrWordPtrIntPtr GHC.IO.IOMode ReadWriteMode AppendMode WriteModeReadModeIOModeForeign.StorableStorablelog1mexplog1pexpexpm1log1pisIEEEisNegativeZeroisDenormalized isInfinite scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix byteSwap64 byteSwap32 byteSwap16runST Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateLshiftRshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.BitscountTrailingZeroscountLeadingZeros finiteBitSize FiniteBits Data.Function&onfix Data.Functorvoid$><&><$>lcm denominator numerator%maxBoundminBoundfromEnumtoEnumpredsuccGHC.CharchrunzipzipWithreversebreaksplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanrscanl'scanl Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurryGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsignum GHC.Stack.CCScurrentCallStackasTypeOfuntilflip.constordapliftM5liftM4liftM3liftM2when=<<liftA3liftA<**>stimessconcat<$<*liftA2manysome<|>empty Alternativemplusmzero MonadPlus:|NonEmpty getCallStack HasCallStackstimesIdempotentMonoidNatJ#/=<=compare&&||not<>maxminbytestring-0.10.8.2Data.ByteString.Internal ByteStringcontainers-0.6.0.1Data.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Map.InternalMapData.Sequence.InternalSeqData.Set.InternalSetdeepseq-1.4.4.0Control.DeepSeqforce$!!deepseqrnfNFDatatransformers-0.5.5.0Control.Monad.Trans.ExceptExceptTControl.Monad.Trans.Classlift'hashable-1.2.7.0-2SI038axTEd7AEZJ275kpiData.Hashable.Class hashUsinghash hashWithSaltHashablegetsmodifyasksControl.Monad.Error.Class catchError throwError MonadErrorExcept runExcept mapExcept withExcept runExceptT mapExceptT withExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReaderControl.Monad.Trans.State.LazyStateT runStateTStaterunState evalState execState withState evalStateT execStateT&protolude-0.2.3-JoqiqmCoUBMGA9Ub1OYSML ProtoludedieshowliftIO2liftIO1guardedAguardedpassthrowTothrowIOprintapplyNunsnocunconsmapidentityLText LByteStringDebugwitness undefinednotImplementedtraceIdtraceM traceShowM traceShowId traceShowtraceIOtraceProtolude.Show putErrTextputLByteString putByteStringputLTextputTextputErrLnputStrLn hPutStrLnputStrhPutStrPrintProtolude.SafeatDefatMay foldl1May' foldl1May foldr1May maximumDef minimumDef maximumMay minimumMaylastDeflastMaytailSafetailDeftailMayinitSafeinitDefinitMayheadDefheadMayProtolude.PanicpanicfatalErrorMessage FatalErrorProtolude.MonadliftM2'liftM' concatMapMProtolude.ListlistordNubsortOnheadProtolude.Functorforeach<<$>>Protolude.ExceptionstryIOnotehushProtolude.Either maybeToEither maybeEmpty maybeToLeft maybeToRight rightToMaybe leftToMaybeProtolude.ConvtoSLtoSStrictLenientLeniencystrConv StringConvProtolude.Bool<&&>&&^<||>||^guardMifMunlessMwhenMboolProtolude.Base$!Protolude.Applicative<<*>>liftAA2purereitherAorEmptyorAltthrowEcatchE text-1.2.3.1Data.Text.Encoding.ErrorUnicodeException OnDecodeErrorOnError strictDecode lenientDecodeignorereplaceData.Text.InternalTextData.Text.EncodingdecodeUtf8With decodeUtf8 decodeUtf8' encodeUtf8Data.Text.LazytoStrict fromStrict Data.Text.IOreadFile writeFile appendFileinteract getContentsgetLine stm-2.5.0.0Control.Monad.STMcheck impossible ifThenElsethrow&numhask-0.3.0.0-6WRgeQbTP4wKSUIUfjamJdNumHask.Data.Positive positive_positivePositive unPositiveNumHask.ExceptionNumHaskException errorMessageNumHask.Data.LogFieldaccurateProduct accurateSumpowlogFromLogField fromLogField logToLogFieldlogFieldLogFieldNumHask.Data.PairPairPair'NumHask.Data.Rationalgcdreduce fromRationalRatio:%RationalToRatiotoRatio FromRatio fromRatioNumHask.Analysis.BanachBanach normalizeL1 normalizeL2Hilbert<.>NumHask.Data.Complexphase magnitudepolarcismkPolarimagPartrealPartComplex:+NumHask.Analysis.Metric~=SignedabssignNormednormL1normL2Metric distanceL1 distanceL2EpsilonepsilonnearZero aboutEqual NumHask.Algebra.Abstract.LatticemeetLeqjoinLeqJoinSemiLattice\/MeetSemiLattice/\LatticeBoundedJoinSemiLatticebottomBoundedMeetSemiLatticetopBoundedLatticeNumHask.Algebra.Abstract.FieldhalfFieldExpFieldexplogsqrt**logBase QuotientFieldproperFractiontruncateroundceilingfloorUpperBoundedFieldisNaNinfinitynanLowerBoundedField negInfinity TrigFieldpisincostanasinacosatansinhcoshtanhasinhacoshatanhNumHask.Data.Integral^^^oddeven fromIntegralIntegralquotremdivmodquotRemdivMod ToInteger toInteger FromInteger fromIntegerNumHask.Algebra.Linear.HadamardHadamardMultiplication.*.HadamardDivision./.Hadamard&NumHask.Algebra.Abstract.TensorProduct>< TensorProductouter timesleft timesrightNumHask.Algebra.Abstract.ModuleModuleNumHask.Algebra.Abstract.Ringtwo DistributiveSemiringRingCommutativeRingIntegralDomain StarSemiringstarplus KleeneAlgebraInvolutiveRingadjNumHask.Algebra.Abstract.ActionActorAdditiveAction.++.SubtractiveAction.--.MultiplicativeAction.**.DivisiveAction.//.'NumHask.Algebra.Abstract.MultiplicativeproductMultiplicative*oneDivisive/recip%NumHask.Algebra.Abstract.HomomorphisminvIsoisoHomhomEndIso AutomorphismNumHask.Algebra.Abstract.GroupMagmamagmaUnitalunit Associative Commutative InvertibleinvGroup Absorbingabsorb Idempotent AbelianGroup!NumHask.Algebra.Abstract.AdditivesumAdditive+zero Subtractive-negate*numhask-space-0.1.1-KhD7xYpwLfOGsUJAt0HVyONumHask.Data.Range gridSensibleRangeRange'NumHask.Analysis.SpacewidenEpswidenepsnegWholewholemonotone|<||>|disjointcontains+/-widthmemberOf|.|space1projectmid SpaceableSpaceElementunion singletonlower intersectionuppernorm...>.<UniongetUnion IntersectiongetIntersection FieldSpaceGridgrid gridSpacePosOuterPosInnerPosLowerPosUpperPosMidPos