q*;N     None$!"&(*+-0123468=?BEGHIJKMTU !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None$!"&(*+-0123468=?BEGHIJKMTU/The following are all the same: fmap f a == f  $ a == a |> fmap f == a |$> fDThis operator accomodates the left-to-right operators: >>=, >>>, |>.l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012345678 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9:;<=>?@ABCDEFGHIJKLMNone$!"&(*+-0123468=?BEGHIJKMTUNone$!"&(*+-0123468=?BEGHIJKMTU?Moves cursor to beginning of the line n (default 1) lines down.=Moves cursor to beginning of the line n (default 1) lines up.Moves the cursor to column n.Clears part of the screen. If n is zero (or missing), clear from cursor to end of screen. If n is one, clear from cursor to beginning of the screen. If n is two, clear entire screen (and moves cursor to upper left on MS-DOS ANSI.SYS).Erases part of the line. If n is zero (or missing), clear from cursor to the end of the line. If n is one, clear from cursor to beginning of the line. If n is two, clear entire line. Cursor position does not change.         None$!"&(*+-0123468=?BEGHIJKMTUKA monad, which wraps the benchmarking subject and controls its measurement. 5A reverse list of names of nested group declarations._A monad for declaration of independent comparison, which will produce a dedicated report file.Use this monad to  and declare <s. You can also lift a shared initialization into it using e.+A root of the "criterion-plus" monad stack.Use this monad to declare <s. You can also lift a shared initialization into it using e.5Parse the command line options and run the benchmark.\Declare a named comparison of multiple subjects. This will generate a separate report file.@Put the wrapped computations into a named group. Can be nested.Execute a named subject.Continue the timer.nBy default it is already running, so if you need to eclude something from the beginning of the subject use  . E.g.: subject "MySQL" $ do pause connection <- liftIO $ openConnection continue liftIO $ workWithConnection connection pause liftIO $ closeConnection connection Pause the timer. An adaptation of Criterion.Types. . An adaptation of Criterion.Types.. An adaptation of Criterion.Types.. An adaptation of Criterion.Types.."   !"#    !   !#"None$!"&(*+-0123468=?BEGHIJKMTU  $      !"#$%&'()*+*,*-*.*/*0*1*1*2*3*3*4*5*5*6*7*8*8*9*:*:*;*<*<*=*>*>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\Z[]Z[^Z[_Z[`Z[aZ[bZ[cZ[dZ[eZ[fZ[gZ[hZ[iZ[jZ[kZ[lZ[mZ[nTUoTpqTprTstTstTsuvwxvwyvwzv{|v}~v}v}v}v}vvvvvvvvvvvvvvTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTWXWX      ! " # $ %&'&(&)&*+,- ./01 2 3454647489:; < =9>9? @ A BCDEFGHGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|{}{~{                                                                  !!"#$%&'())*+,-./01234556789:;<==>(?@A@B@C@D@E@F@G@H@I@JKLKMKNKOPQPRPSPTUVUWUXUYUZU[U\U]U^_`abacadaeafghijklmnopqrstuvwxyzy{y|y}y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy       !"#$%$&$'$($)$*$+$,$-$./0/1/2/345464748494:4;4<4=4>4?4@4A4B4CDEdFGFHFIFJFKFLFLFMFNFOFPFQFRFSVTVUVV*W*W9X9Y9Z9[9\9]^_^`^a^b^cdefghijklmnopqrstuvwxyz{|}~444    RRGGGGGGGGGG     FHCDCDCDCD !" !# !$ !% !& !&'()*+,-+,.+,/+,0+,1+,2+,3+,4+,56789:;9:<9:=9:>9:?9:@9:A9:B9:C9:DEFGHIJKLMNOPQRSTUVWVWVWVWXYZ [\\]^_`abcdefgcriterion-plus-0.1.2 CriterionPlus"CriterionPlus.Prelude.TransformersCriterionPlus.Prelude.BasicCriterionPlus.Prelude.DataCriterionPlus.CSICriterionPlus.MonadsSubjectStandoff BenchmarkName benchmarkstandoffgroupsubjectcontinuepausewhnfnfnfIOwhnfIObaseGHC.Basefail>>=>>fmapreturnControl.Monad.Fixmfix Control.MonadguardliftMjoinMonadFunctorMonadFix MonadPlusmplusmzero Data.Functionfix Data.Monoid<>mconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnygetSumSum getProductProductgetFirstFirstgetLastLastmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMvoidforever<=<>=>filterM=<<transformers-0.4.2.0Control.Monad.Trans.Class MonadTranstransformers-base-0.4.3Control.Monad.Base MonadBasemonad-control-0.3.3.0Control.Monad.Trans.ControlliftBaseDiscard liftBaseOp_ liftBaseOpcontroldefaultRestoreMdefaultLiftBaseWithdefaultRestoreTdefaultLiftWithrestoreTliftWithStTMonadTransControlRunrestoreM liftBaseWithStMMonadBaseControl RunInBase ComposeStliftControl.Monad.IO.ClassMonadIOliftIOData.Functor.IdentityIdentity runIdentity mtl-2.2.1Control.Monad.Error.Class catchError throwError MonadErrorControl.Monad.RWS.ClassMonadRWSControl.Monad.Reader.Classasksreaderlocalask MonadReaderControl.Monad.State.Classgetsmodify'modifystateputget MonadStateControl.Monad.Writer.Classcensorlistenspasslistentellwriter MonadWriterControl.Monad.Trans.ReaderReaderT runReaderTReader runReader mapReader withReader mapReaderT withReaderTControl.Monad.Trans.RWS.StrictRWSTrunRWSTRWSrwsrunRWSevalRWSexecRWSmapRWSwithRWSevalRWSTexecRWSTmapRWSTwithRWST Control.Monad.Trans.State.StrictStateT runStateTStaterunState evalState execStatemapState withState evalStateT execStateT mapStateT withStateTControl.Monad.Trans.ErrorErrorT runErrorTErrornoMsgstrMsg mapErrorT!Control.Monad.Trans.Writer.StrictWriterT runWriterTWriter runWriter execWriter mapWriter execWriterT mapWriterTliftBaseDefaultliftBase|$>traceMbugbottom?:|><|++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwiseGHC.IO.Exception assertErrormap$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negate Control.Arrowarrfirstapp|||loop Data.String fromString fromIntegral realToFrac toInteger toRationalControl.Applicative<*>pure AlternativeBoundedEnumEq GHC.FloatFloating FractionalIntegral Data.DataDataNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowGHC.ArrIxData.Typeable.InternalTypeableIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRatioRational RealWorldIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherStringFalseTrueLeftRightLTEQGTdeepseq-1.3.0.2Control.DeepSeqNFDataempty Data.MaybeMaybeNothingShowSshowGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizeGHC.STST<**> Text.Readreaduntangle ioException heapOverflow stackOverflowblockedIndefinitelyOnSTMblockedIndefinitelyOnMVar ioe_filename ioe_errnoioe_description ioe_locationioe_type ioe_handleIOError AlreadyExists NoSuchThing ResourceBusyResourceExhaustedEOFIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedunsupportedOperationSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exit exitSuccess exitFailureexitWithfoldMapDefault fmapDefault mapAccumR mapAccumLforMsequencemapM sequenceAtraversefindnotElemelem minimumByminimum maximumBymaximumproductsumallanyorand concatMapconcattoListmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMfoldl1foldr1foldl'foldlfoldr'foldrfoldMapfold Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowM traceShowId traceShowtraceIdtrace putTraceMsgtraceIO Data.STRef modifySTRef' modifySTRef Data.RatioapproxRational Data.Fixed showFixedmod'divMod'div'MkFixedFixed resolution HasResolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrgmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgunfoldgfoldlDataTypeConstrAlgRepIntRepFloatRepCharRepNoRepDataRep AlgConstr IntConstr FloatConstr CharConstr ConstrRepConIndexPrefixInfixFixityoptionalliftA3liftA2liftA<**>manysome<|>getConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++ ArrowChoice ArrowApply ArrowMonad ArrowLooponControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan Data.Functor<$>Control.Category>>><<<.idCategoryPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO threadDelaySystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarControl.Exception.BasebracketOnErrorbracket_finallybracket onException mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodErrorNonTerminationNestedAtomically GHC.Conc.SyncmkWeakThreadIdthreadCapability myThreadIdthrowTo killThreadsetNumCapabilitiesgetNumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOThreadIdioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAssertionFailedSomeAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptAsyncExceptionIndexOutOfBoundsUndefinedElementArrayException ExitSuccess ExitFailureExitCode IOErrorType Data.Listunwordswordsunlineslinesfoldl1'unfoldrsortBysort permutations subsequencestailsinitsgroupBydeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingStatethrowIOunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOstToIOUnmaskedMaskedInterruptibleMaskedUninterruptible MaskingState userError IOException GHC.Exceptionthrow SomeException fromException toException Exception ErrorCallOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominatorArithException readMaybe readEitherreadsAnyisRightisLeftpartitionEithersrightsleftseither Data.Typeablegcast2gcast1gcasteqTcast showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep tyConString typeRepArgs typeRepTyConmkTyCon3mkAppTy funResultTy splitTyConAppmkFunTy mkTyConAppTypeRep tyConName tyConModule tyConPackageTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7 byteSwap64 byteSwap32 byteSwap16Data.OrdDownData.Type.EqualityRefl:~: Data.ProxyProxylex readParenreadList readsPrecacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix GHC.STRef writeSTRef readSTRefnewSTRefSTReflcmgcd^^^oddeven denominator numerator%divModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccText.ParserCombinators.ReadPReadSrunSTfixST showParen showStringshowCharshowsshowList showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanllengthnullinitlasttailheadmapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeJustswapuncurrycurrysubtractsignumabs*+asTypeOfuntilflipconst<$ Unsafe.Coerce unsafeCoerce/=compare<=&&||not<>maxminforce$!!deepseqrnfplaceholders-0.1Development.PlaceholdersplaceholderNoWarning placeholdertodonotImplementedPlaceholderException putStrLnLTputStrLT putStrLnSTputStrSTstring-conversions-0.3.0.3Data.String.Conversionscs convertStringConvertibleStringsStrictByteStringSBSLazyByteStringLBS StrictTextLazyTextsystem-filepath-0.4.13Filesystem.Path.InternalFilePathth-printf-0.3.0.0Text.Printf.THlbPsbPltPstPsPlbsbltstscursorNextLinecursorPreviousLinecursorHorizontalAbsolute eraseData eraseInLineesccsicursorUp cursorDowneraseLineToEnderaseLineToBeginning eraseLinesaveCursorPositionrestoreCursorPosition hideCursor showCursorGroupcriterion-0.8.1.0Criterion.TypesSampleTotalTimeSampleStartTime SubjectReport EnvironmentSettings reportsDir samplesAmount SubjectStM runBenchmark runStandoff runSubject runCriterion renderHTMLTFCo:R:StMSubjecta$fMonadBaseControlIOSubject