dj      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi (c) 2010 Simon Meier Original serialization code from 'Data.Binary.Builder': (c) Lennart Kolmodin, Ross Patterson BSD3-styleNone+!"%&*,/0234569:;<=?BDFILNOQRT[\bjRight-shift of a k.lRight-shift of a m.nRight-shift of a o.pRight-shift of a q.r6Select an implementation depending on the bit-size of kms. Currently, it produces a runtime failure if the bitsize is different. This is detected by the testsuite.jlnprjlnprjlnpr None*!"%&*,/0234569:;<=?BDFILNOQRT[\bstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFkGmoqHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ None*!"%&*,/0234569:;<=?BDFILNOQRT[\b_`a_`a_`a None*!"%&*,/0234569:;<=?BDFILNOQRT[\bbcdbcdbcd None+!"%&*,/0234569:;<=?BDFILNOQRT[\beBig-endian word of 2 bytes.fLittle-endian word of 2 bytes.gBig-endian word of 4 bytes.hLittle-endian word of 4 bytes.iBig-endian word of 8 bytes.jLittle-endian word of 8 bytes.kAllocate a new byte array with memcpy.lmefghijknopqrstuvlmefghijknopqrstuvlmefghijknopqrstuvNone*!"%&*,/0234569:;<=?BDFILNOQRT[\b7A codec, which encodes and decodes the same type. E.g., pword8AndWord32 :: InvPokeAndPeek (Word8, Word32) word8AndWord32 = (,) <$> lmap fst word8 <*> lmap snd beWord326Encoder and decoder of the same binary representation.vYou can compose both the covariant and contravariant parameters of PokeAndPeek using Applicative and Profunctor. E.g., }word8AndWord32 :: PokeAndPeek (Word8, Word32) (Word8, Word32) word8AndWord32 = (,) <$> lmap fst word8 <*> lmap snd beWord32      None*!"%&*,/0234569:;<=?BDFILNOQRT[\bVDecode the remaining bytes, whithout moving the parser's cursor. Useful for debugging.*Unsigned integral number encoded in ASCII.  !"#  #"!     !"#None*!"%&*,/0234569:;<=?BDFILNOQRT[\b%Unbound parser, whose peeking action decides how much input to consume, and merely informs the executor about how many bytes it consumed.4*Unsigned integral number encoded in ASCII.%&'()*+,-./0123456%&'()*+,-./01234%&65'()*+,-./01234%&'()*+,-./0123456None*!"%&*,/0234569:;<=?BDFILNOQRT[\bAGiven the length of the data and a specification of its sequential consumption, produces Peek, which results in Just the successfully taken value, or Nothing, if the specified length of data wasn't enough.BGiven the length of the data and a specification of its sequential consumption, produces Peek, which results in Just the successfully taken value, or Nothing, if the specified length of data wasn't enough.CBA standard idiom, where a header specifies the length of the body.ZProduces Peek, which itself produces another Peek, which is the same as the result of the A function.89:;<=>?@ABCDE 89:;<=>?@ABC89ED:;<=>?@ABC 89:;<=>?@ABCDENone*!"%&*,/0234569:;<=?BDFILNOQRT[\bFEA wrapper of a receiving action, which extends it with bufferization.w\Exception-free action to receive another chunk of bytes. E.g., an exception-free wrapper of Network.Socket.recvBufBufferSize of the buffer Chunk sizeHTReceive as many bytes as is required by the provided decoder and decode immediately.!If all you need is just to get a V chunk then use the > decoder.FwGHFGHFGHFwGHNone*!"%&*,/0234569:;<=?BDFILNOQRT[\bICSpecification of a sized and errorless writing action to a pointer. IJKLMNOPQRSTU IJKLMNOPQRS IJUTKLMNOPQRS IJKLMNOPQRSTUNone*!"%&*,/0234569:;<=?BDFILNOQRT[\bVTAn efficiently composable unmaterialised specification of how to populate a pointer.Once composed it can be materialized into a specific data-structure like ByteString or to directly populate a pointer in some low-level API.W-Amount of bytes the encoded data will occupy.GException-free action, which populates the pointer to the encoded data.VWXYZ[\]^_`abcdefVWXYZ[\]^_`abcdVWfeXYZ[\]^_`abcdVWXYZ[\]^_`abcdefNone*!"%&*,/0234569:;<=?BDFILNOQRT[\bghighighighix !"#$%&'()*+,, !"#$%-./00123456789::;<=>?@@ABCD;EFGHIJ29 KLMN OPQR SPQT UPQV WPXYLZ[P\]P\^P_`PabPcdPcePXfLghPijLgkPXlPmnPXoPpqPprPstPuvPwxPXyPz{Pz|Pz}Pz~PzPzPzPzPzPzPzPzLLLPPPPPPPPPPPPPPPPPPPPPPPPpPpPpPpPpPpPpPpPpPpPpPpPXPXPXPXPXPPPPPPPPPPPPPPPPXPXPXPPPPPPPPLLLLLLLLPPPPPPpPpPPPPPPPPPPPPPPPPpPpPpPpPpPpPPPPPPPPPPuPPPPPXPXPXPX PX P  P  P P P AP BP P P P P P P P P P P PPPPP P!"P#$P#%P#&P#'PX(PX)PX*PX+LM,LM-LM.LM/LM0LM1LM2P34P35P36P3789:PX;PX<PX=LM>LM?LM@LMAPpBPpCLZDP_ELMFPQGPHIPHJPKLPKMPKNPuOLMPPQRPSTPUVPiWPiXPiYPiZPi[Pi\Pi]Pi^P#_P#`P#aP#bP#cP#dP#eP#fP#fP#gP#hP#hP#iP#jP#jP#kP#lP#mP#mP#nP#oP#oP#pP#qP#rP#sP#tP#tP#uPmvPwxPwyPz{Pz|Pz}Pz~PzPzPzPzPzPzPzPzPzPzPzPzPzPzPzPzPzPzPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP P  P  P  P PPPPPPPPPPPPPPP P!P"P#P$P%P&P'P()Ps*Ps+Ps,Ps-Ps.Ps/Ps0Ps1Ps2Ps3Ps4Ps5Ps6Ps7P8P9P:P;P<P=P>?P>@P>AP>BP>CP>DP>EP>FP>FP>GPHIPHJPHKPHLPHMPHNPHOPHPPHQPHRPHSPHSPHTPHUPHVPHWPHXPHYPHZPH[PH\PH]PH^PH^PH_PH`PabPacPadPaePafPagPahPaiPajPakPalPamPanPaoPapPaqParPstPuvPuwPuxPuyPuzP{|P{}P{~P{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP P P P P P  P P P P P P P P P P P P P P PPPP P!P"#P"$P"%P"&P"'P"(P")P"*P"+P",P"-P".P"/P"0P"1P"2P"3P"4P"5P"6P"7P"8P9:P9;P9<P9=P9>P9?P9@P9AP9BP9CP9DPEFPEGPEHPEIPEJPEKPELPEMPENPEOPEPPiQPiRPiSPiTPiTPiUPiUPiVPiVPiWPiWPiXPiXPiYPiYPiZPi[Pi\Pi]Pi^Pi_Pi`PiaPibPicPidPiePifPigPihPiiPijPikPilPimPinPioPipPiqPirPisPitPiuPivPiwPxyPxzPx{Px|Px}PQ~PQPQPQPQPQPQPQPQPQPPPPPPPPPPPPPPPPPP9PCP_P_P_P_P P P P P P P P P P P P P P P P P P P P PPPPPPPPPPPPPPPPPPPPPPHPHPHPHPHPHPHPHPHPPPPPPPPPPPPPPPPPPPPPPPPPiPiPiPiPiPiPiPiPiPiPwPwPwPwPwPwPPPPPPPPPPPPPPPPPPPP Pu Pu Pu Pu PuPuPuPuPuPuPuPuPuPuPuPuPuPuPuPuPuPuPu Pu!Pu"Pu#Pu$Pu%Pu&Pu'Pu(Pu)P*+P*,P*-P*.P*/P*0P*1P*2P*3P*4P*5P*6P*7P*8P*9PQ:PQ;PQ<PK=PK>PK?PK@PABPACPDEPDEPFGPFHPFIPFJPFKPFLPFMPFNPFOPFPPFQPFRPFSPFTPFUPFVPFWPFXPFYPFZPF[PF\PF]PF^PF_PF`PFaPFbPFcPFdPFePFfPFgPFhPFiPFjPFkPFlPFmPFnPFoPFpPFqPFrPFsPFtPFuPFvPFwPFxPFyPFzPF{PF|PF}PF~PFPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPUPUPpPpPpPpPpPpPpPpPp Pp P  P PPPPPPP\P\P\P\P\P\P\P\P\P\P\P\P\ P\!P\"P\#P\$P\%P\&P\'P\(P\)P\*P\+P\,P\-P\.P\/P\0P\1P23P24P25P26P27P28P29P2:P2;Pc<Pc=Pc>P?P@AP@BP@CP@DP@EP@FP@GP@HP@IP@JPKLPKMPKNPXOPXPPXQPXRPXSPXTPXUPXVPXWPXXPXYPXZPX[PX\PX]PX^PX_PX`PXaPXbPXcPXdPXePXfPXgPXhPXiPjkPjlPjmPnPnPopLqLrLstuvtwxyz{yz|yz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 ! " # $ % & ' ( )*+*,*-*.*/*0*1*2*3*3*4*5*6*6*7*89:9;9<9=9>9?9@9A9B9C9C9D9E9FGHGIGJGKGKGLGMGNGOGPGQGRGSTUTVTWTXTYTZT[T\T\T]T^T_`a`bcdefefegeheijkjljmjnjojpjqjrjstuvwvxvyvzv{|}~~~~~~~   9                     7!ptr-0.16.2-AqeztAuKVZeG4XUZArrqCDPtr.PokeAndPeek Ptr.ParsePtr.ParseUnboundPtr.Peek Ptr.ReceivePtr.Poke Ptr.PokingPtr.ByteStringPtr.UncheckedShifting Ptr.PreludePtr.Receive.Core Ptr.PokeIOPtr.IOInvPokeAndPeek PokeAndPeekword8beWord16beWord32beWord64bytes$fApplicativePokeAndPeek$fFunctorPokeAndPeek$fProfunctorPokeAndPeekParsefailiomapInIO pokeAndPeeklimitingpeekRemaindersallBytesnullTerminatedBytesnullTerminatedShortByteString bytesWhile skipWhile foldWhileunsignedASCIIIntegral$fMonadIOParse$fMonadPlusParse $fMonadParse$fAlternativeParse$fApplicativeParse$fFunctorParse ParseUnbound$fMonadParseUnbound$fApplicativeParseUnbound$fFunctorParseUnboundPeekshortByteStringparse parseUnboundpeekAmountAndParse$fApplicativePeek $fFunctorPeekReceivecreatepeekPoke asciiChar asciiDigit asciiHexDigit$fDivisiblePoke$fContravariantPokePokingnulllengthpoke asciiIntegralasciiPaddedAndTrimmedIntegralasciiUtcTimeInIso8601list$fMonoidPoking$fSemigroupPokingpokingshiftr_wghc-prim GHC.TypesWord shiftr_w16baseGHC.WordWord16 shiftr_w32Word32 shiftr_w64Word64caseWordSize_32_64GHC.Base++GHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwise GHC.MagiclazyGHC.IO.Exception assertErrorinlinemapGHC.Exts groupWith$GHC.Real fromIntegral realToFrac Control.MonadguardData.Typeable.InternalmkAppTy Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>return Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadRead readsPrecreadListreadPrec readListPrecReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowListGHC.ArrIxrangeindexinRange rangeSizeTypeableControl.Monad.FixMonadFixmfix Data.StringIsString fromString Applicativepure<*>*><* Data.FoldableFoldabletoListfoldrfoldMapfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericData.Semigroup Semigroup<>sconcatstimesMonoidmemptymappendmconcatBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRatioRational RealWorld StablePtrIOWord8GHC.PtrPtrFunPtr Data.EitherEitherLeftRightTypeRepTyConGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STSTuntangle ioException heapOverflow stackOverflowallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarunsupportedOperationdiffoption mtimesDefaultstimesIdempotentstimesIdempotentMonoid stimesMonoidcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoidOption getOptionsortWith Text.PrintfhPrintfprintf Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepIntRepFloatRepAlgRepCharRepNoRep ConstrRep AlgConstr IntConstr FloatConstr CharConstrConIndexFixityPrefixInfix Data.Version makeVersion parseVersion showVersionVersion versionBranch versionTagsSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRationalData.Bifunctor BifunctorfirstsecondbimapControl.Monad.IO.ClassMonadIOliftIOControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan Debug.Trace traceStack traceShowMtraceM traceShowId traceShowtraceIdtrace putTraceMsgtraceIO Data.ListisSubsequenceOfmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrowarr***&&&Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice|||+++ ArrowApplyapp ArrowMonad ArrowLooploopControl.Category>>><<<Categoryid.readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically Text.Readread readMaybe readEitherreads GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterThreadId BlockReason BlockedOnMVarBlockedOnBlackHoleBlockedOnException BlockedOnSTMBlockedOnForeignCallBlockedOnOther ThreadStatus ThreadRunningThreadFinished ThreadBlocked ThreadDiedSTMTVarForeign.Marshal.PoolpooledNewArray0pooledNewArray pooledNewpooledReallocArray0pooledReallocArraypooledMallocArray0pooledMallocArraypooledReallocBytes pooledReallocpooledMallocBytes pooledMallocwithPoolfreePoolnewPoolPoolForeign.Marshal.Error throwIfNull throwIfNeg_ throwIfNegthrowIf_throwIfForeign.Marshal.Array advancePtr lengthArray0 moveArray copyArray withArrayLen0 withArray0 withArrayLen withArray newArray0newArray pokeArray0 pokeArray peekArray0 peekArray reallocArray0 reallocArray allocaArray0 allocaArray callocArray0 callocArray mallocArray0 mallocArrayForeign.Marshal.Utils fillBytes moveBytes copyByteswithMany maybePeek maybeWithmaybeNewtoBoolfromBoolwithnewForeign.Marshal.Allocfree reallocBytesreallocallocaBytesAligned allocaBytesalloca callocBytes mallocBytescallocmalloc finalizerFreeioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementExitCode ExitSuccess ExitFailure IOErrorTypeEOF AlreadyExists NoSuchThing ResourceBusyResourceExhaustedIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrData.Functor.ConstConstgetConstForeign.StorableStorablesizeOf alignment peekElemOff pokeElemOff peekByteOff pokeByteOffcastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAltcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOstToIOFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible userError IOExceptionIOError ioe_handleioe_type ioe_locationioe_description ioe_errno ioe_filename dynTypeRepdynAppdynApply fromDynamicfromDynDynamic GHC.Exceptionthrow Exception toException fromExceptiondisplayException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.Typeablegcast2gcast1gcasteqTcast rnfTypeRep showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep typeRepArgs typeRepTyCon funResultTy splitTyConAppmkFunTy mkTyConApptypeRepFingerprintrnfTyConmkTyCon3tyConFingerprint tyConString tyConName tyConModule tyConPackage Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7NumericshowOctshowHex showIntAtBase showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt byteSwap64 byteSwap32 byteSwap16partitionEithersrightsleftseitherData.Type.Equality:~:Refl Data.ProxyProxy Data.OldListunwordswordsunlineslinesunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndData.Ord comparingDown Data.Char isSeparatorisNumberisMarkisLetter digitToInt lexDigits readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadPfromRat floatToDigits showFloat Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Boolbool Data.Function&onfix Data.Functorvoid$><$> GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlphaisSymbol isPunctuation isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryFormatControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparator Surrogate PrivateUse NotAssigned GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunSTfixSTlcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailunconshead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOasTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**> Alternativeempty<|>somemany MonadPlusmzeromplusStringGHC.Err undefinederrorWithoutStackTraceerror SomeException Unsafe.Coerce unsafeCoerce&&||notbytestring-0.10.8.1Data.ByteString.Short.InternalShortByteStringData.ByteString.Internal ByteString bug-1.0.1-9zM6UOVGmvR32AQFBkKoYRBugbottombugtodo(contravariant-1.4-2ZEIQcIYz4Q4N5hzlLOWcg$Data.Functor.Contravariant.DivisiblechosenlostliftD conquereddivided Divisibledivideconquer DecidablechooseloseData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOptransformers-0.5.2.0Control.Monad.Trans.Class MonadTranslift mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6Control.Monad.Cont.Class MonadContcallCCControl.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Reader.Classasks MonadReaderasklocalreaderControl.Monad.State.Classgetsmodify'modify MonadStategetputstateControl.Monad.Writer.Classcensorlistens MonadWritertelllistenwriterpassControl.Monad.Trans.ContContTrunContTContcontrunContmapContwithContmapContT withContTControl.Monad.Trans.ExceptExceptTExcept runExcept mapExcept withExcept runExceptT mapExceptT withExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReader mapReader withReader mapReaderT withReaderT Control.Monad.Trans.State.StrictStateT runStateTStaterunState evalState execStatemapState withState evalStateT execStateT mapStateT withStateT!Control.Monad.Trans.Writer.StrictWriterT runWriterTWriter runWriter execWriter mapWriter execWriterT mapWriterT(profunctors-5.2.1-CFr6KqqtvUeJo7vNQHItUIData.Profunctor.MappingMappingmap'Data.Profunctor.Closedcurry'ClosedclosedData.Profunctor.ChoiceChoiceleft'right'CochoiceunleftunrightData.Profunctor.Stronguncurry'Strongfirst'second'CostrongunfirstunsecondData.Profunctor.Types:->StarrunStarCostar runCostarForget runForgetData.Profunctor.Unsafe Profunctor#.dimaplmaprmap.##text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqhData.Text.InternalText time-1.6.0.1Data.Time.Format formatTime FormatTimeformatCharacterData.Time.Format.Parse readsTimereadTime parseTime readPTime readSTimeparseTimeOrError parseTimeM ParseTime buildTimeData.Time.LocalTime.LocalTimeutcToLocalZonedTime getZonedTimezonedTimeToUTCutcToZonedTimelocalTimeToUT1ut1ToLocalTimelocalTimeToUTCutcToLocalTime LocalTimelocalDaylocalTimeOfDay ZonedTimezonedTimeToLocalTime zonedTimeZoneData.Time.LocalTime.TimeOfDaytimeOfDayToDayFractiondayFractionToTimeOfDaytimeOfDayToTimetimeToTimeOfDaylocalToUTCTimeOfDayutcToLocalTimeOfDaymakeTimeOfDayValidmiddaymidnight TimeOfDaytodHourtodMintodSecData.Time.Format.Localerfc822DateFormatiso8601DateFormatdefaultTimeLocale TimeLocalewDaysmonthsamPm dateTimeFmtdateFmttimeFmt time12FmtknownTimeZonesData.Time.LocalTime.TimeZonegetCurrentTimeZone getTimeZoneutctimeZoneOffsetStringtimeZoneOffsetString'hoursToTimeZoneminutesToTimeZoneTimeZonetimeZoneMinutestimeZoneSummerOnly timeZoneNameData.Time.Clock.UTCDiff diffUTCTime addUTCTimeData.Time.Clock.POSIXgetCurrentTimeData.Time.Clock.UTCUTCTimeutctDay utctDayTimeNominalDiffTimeData.Time.Calendar.GregorianaddGregorianYearsRollOveraddGregorianYearsClipaddGregorianMonthsRollOveraddGregorianMonthsClipgregorianMonthLength showGregorianfromGregorianValid fromGregorian toGregorianData.Time.Calendar.OrdinalDate isLeapYearData.Time.Calendar.DaysdiffDaysaddDaysDayModifiedJulianDaytoModifiedJulianDayData.Time.Calendar.PrivateNumericPadOptionData.Time.Clock.ScalediffTimeToPicosecondspicosecondsToDiffTimesecondsToDiffTime UniversalTime ModJulianDategetModJulianDateDiffTimeControl.Monad.Trans.MaybeliftPass liftListen liftCatch liftCallCCexceptToMaybeTmaybeToExceptT mapMaybeTMaybeT runMaybeTcatchEthrowEexcept liftLocalshiftTresetT evalContTresetevalContwrite fetchManyPokeIO sequentially concurrently peekBEWord16 peekLEWord16 peekBEWord32 peekLEWord32 peekBEWord64 peekLEWord64 peekBytes peekStorable peekWord8peekShortByteString!peekNullTerminatedShortByteString pokeStorable pokeWord8 pokeBEWord16 pokeBEWord32 pokeBEWord64pokeBytesTrimming pokeBytes