|Ddt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsNone:DR*6"Convert a character to lower case.GCharacter-based case conversion is lossy in comparison to string-based 9. For instance, 0 will be converted to i, instead of i.7"Convert a character to upper case.GCharacter-based case conversion is lossy in comparison to string-based ,. For instance, won't be converted to SS.; An alias for t.< An alias for u.NgSort elements using the user supplied function to project something out of each element. Inspired by  Yhttp://hackage.haskell.org/packages/archive/base/latest/doc/html/GHC-Exts.html#v:sortWith.OWe define our own O which is marked as deprecated. This makes it useful to use during development, but lets you more easily get notifications if you accidentally ship partial code in production.oThe classy prelude recommendation for when you need to really have a partial function in production is to use vj with a very descriptive message so that, in case an exception is thrown, you get more information than Prelude.w. Since 0.5.5P Since 0.5.9Q Since 0.5.9R Since 0.5.9S Since 0.5.9T Originally x.Usame behavior as , but requires y & z and is  O(n log n) %https://github.com/nh2/haskell-ordnubVsame behavior as , but requires { and is  O(n log n) %https://github.com/nh2/haskell-ordnubWsame behavior as , but requires { and is  O(n log n) %https://github.com/nh2/haskell-ordnubXGeneralized version of |.Y Synonym for }.Z Synonym for ~.[ Synonym for .\ Synonym for .] Synonym for .^1Only perform the action if the predicate returns . Since 0.9.2_1Only perform the action if the predicate returns . Since 0.9.2`Force type to a * Since 0.11.0a Synonym for  Since 0.11.0b  lifted to an Applicative.c  lifted to an Applicative.d Convert a  into a storable .eConvert a storable  into a .f for any g for any h for any i generalized to any ji an F with the given exception. It is converted to an async exception via  first.k generalized to any l generalized to any mStrictly read a file into a .nStrictly read a file into a  using a UTF-8 character encoding. In the event of a character encoding error, a Unicode replacement character will be used (a.k.a.,  lenientDecode).oWrite a  to a file.pWrite a , to a file using a UTF-8 character encoding.q(Strictly read the contents of the given  into a .rWrite a  to the given .s!Read a single chunk of data as a  from the given .Under the surface, this uses  with the default chunk size.@456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsEz{       !"#$%&'  ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~vy #!"&$%)'(*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHItuJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ+,-./RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~012      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG3HIJKLMNOPQ456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsvO: bc^_XZ[Y\]210PQRS3 +,-./deTfghijkl98"%(!$' #&)UVWN;<4567mnopqrsM*`a=>?@ABCDEFGHIJKL@456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs:5;9 b3c2R        !"!#$%!& ' ( )*+,-.,-/,-0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-:,-;,-<,-=,->,-?@ABCDEFDEFDEGDEHIJKIJLIJMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~lu@A                        !"#$%&'()*+,-./0123456768 9 : ; < =>?@A@B@C@D@E F G H IJKLMNOPOQRST U V WXYZ[\]^_`a`b`cdedfdg hdijklmlnlolpqrstuvwxyz{|}~@@>ddd                                                   !" !#$%&$'($)*$+,$-.,/0,/1,/2,/3,/4,/5,/6,/789:;<=;<>;<?;<@;<ABCDBCEBCFBCGBCHBCIBCJBCKBCLMNOMNPMNQMNRMNSMNTMNUMNVMNWMNXMNYMNZMN[MN\MN]MN]MN^MN_`abcdefghijklmnopqrsrtrurvrwrxyzy{y|y}y~yyyyyyyyyyyyDD      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jjjjjjjjjjjIJIJIII I I I I III !"#$%&'()*+,-./012345678899::;<=;<>;<?;<@;<A;<B;<C;<D;<EFGHIHJHKHLHMHNHOHPHQHRHSTUTVTWTXTYTZT[T\T]T^T_T`TaTbcdcecfcgchcicjckclcmcncocpcqrsrtrurvrwrxryrzr{r|}~}}}NNNNNNNNNNNNN-classy-prelude-1.2.0.1-3kn0YZ7l2V51rDh2LWWskx ClassyPreludeData.MonoTraversabletoLowertoUpper Data.ListnubnubBybaseGHC.BaseassertData.Semigroup<>GHC.ShowShow GHC.GenericsGeneric Semigroup mtl-2.2.1-6qsR1PHUy5lL47Hpoa4jCMControl.Monad.Reader.Class MonadReaderaskGHC.IO.Handle.TypesHandleData.Functor.Identity runIdentityIdentitystimessconcat WrappedMonoid Debug.Trace traceShowtraceGHC.IO.Handle.FDstderrstdin GHC.IO.HandlehClosestdoutshowListshow showsPrecGHC.Listrepeat)chunked-data-0.3.0-2yrUj6aKMWgCZF0Ln4gZ77Data.ChunkedZipunzipzipzipWithunzip3zip3zipWith3unzip4zip4zipWith4unzip5zip5zipWith5unzip6zip6zipWith6unzip7zip7zipWith7$dlist-0.8.0.2-GWAMmbX9rLg3tqrbOizHGv Data.DListDListaskstransformers-0.5.2.0Control.Monad.Trans.ReaderReaderT runReaderTReader(primitive-0.6.2.0-3HSsNCfUEEE4fjqDYVydYZControl.Monad.PrimitiveprimToSTprimToIO primToPrim time-1.6.0.1Data.Time.Format.LocaledefaultTimeLocaletshowtlshow charToLower charToUpperreadMaymap++\\ intersect asByteString asLByteString asHashMap asHashSetasTextasLTextasListasMapasIntMapasMaybeasSetasIntSetasVector asUVector asSVectorasStringprintsortWith undefinedtraceIdtraceM traceShowId traceShowM yieldThreadhashNubordNubordNubBy atomicallyretrySTM alwaysSTMalwaysSucceedsSTM orElseSTMcheckSTMwhenMunlessMasDList applyDList<&&><||> toByteVectorfromByteVector waitAsync pollAsyncwaitCatchAsynccancel cancelWith linkAsync link2AsyncreadFile readFileUtf8 writeFile writeFileUtf8 hGetContentshPut hGetChunk-mono-traversable-1.0.2-GKlPo70b32DI1MkWIoSphqData.Containers difference intersectionGHC.Errerror+lifted-base-0.2.3.10-HcqZGdBYjtgLJKsMQed0lhControl.Concurrent.Liftedyield'hashable-1.2.5.0-LiA8hDsyVRvFyCEUjFhiS5Data.Hashable.ClassHashableghc-prim GHC.ClassesEqOrd GHC.Conc.SyncretryalwaysalwaysSucceedsorElse"stm-2.4.4.1-4z2NRWnB0NIIUvSJsHW0kFControl.Monad.STMcheck GHC.TypesTrueFalseapply&&||bytestring-0.10.8.1Data.ByteString.Internal ByteString&vector-0.12.0.0-4Id7FElSeAC3wKuJGC9cw4 Data.VectorVector!async-2.1.1-xFiBzw9xoB8HPZAuxUY2oControl.Concurrent.AsyncwaitSTMControl.Monad.IO.ClassMonadIOpollSTM waitCatchSTMAsync.safe-exceptions-0.1.4.0-JscdscfB4gD1eLGwvPD8QgControl.Exception.SafetoAsyncExceptionlinklink2#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalTextData.ByteStringhGetSomeGHC.Primseq Data.Tuplefstsnd otherwise$GHC.Real fromIntegral realToFrac Control.MonadguardjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnfailFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignum>=minmax><<=compareGHC.ReadReadReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorData.Typeable.InternalTypeable Data.StringIsString fromString Applicativepure<*>*><* Data.FoldableFoldableData.Traversable TraversabletraversemapM sequenceAsequenceMonoidmemptymappendmconcatBoolCharDoubleFloatIntGHC.IntInt32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRational RealWorldIOWordGHC.WordWord8Word32Word64 Data.EitherEitherLeftRightliftMeitherThreadId asyncThreadIdData.Bifunctor BifunctorfirstsecondbimapliftIOControl.ConcurrentrtsSupportsBoundThreadsControl.Concurrent.QSemNQSemNControl.Concurrent.QSemQSemControl.Concurrent.ChanChanunless replicateM_forever<=<>=>forMforControl.Applicativeoptional Control.Arrow***&&&Control.Categoryid. GHC.Conc.IO registerDelaySystem.IO.ErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOError writeTVarreadTVar readTVarIO newTVarIOnewTVarcatchSTMthrowSTMSTMTVarGHC.IO.ExceptionioErrorSomeAsyncException IOErrorTypeForeign.StorableStorableasum GHC.IORefIORefGHC.IOFilePath userError IOExceptionIOError GHC.Exception Exception toException fromExceptiondisplayExceptionpartitionEithersrightsleftsData.Ord comparingDown Data.Boolbool Data.Functionon Data.Functorvoid$><$> GHC.STRefSTRef^^^oddeven Data.MaybemapMaybe listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurrysubtractGHC.MVarMVarasTypeOfuntil$!flipconstapliftM5liftM4liftM3liftM2when=<<liftA3liftA2liftA<**> Alternativeemptysomemany<|> MonadPlusmzeromplusString SomeExceptionnot,basic-prelude-0.6.1.1-1xiUIxqsYwC8NYviZFcxyO CorePreludeterrorreadArgsputStrLnputStrgetArgsequatingLText LByteStringUVectorSVectorData.Vector.Unboxed.BaseUnbox3unordered-containers-0.2.7.2-Adl88I6qxEAJSnBmLqhH3NData.HashMap.BaseHashMap Data.HashSetHashSethash hashWithSaltfilepath-1.4.1.0System.FilePath.Posix<.>containers-0.5.7.1 Data.Set.BaseSet Data.SequenceSeq Data.Map.BaseMapData.IntSet.BaseIntSetData.IntMap.BaseIntMap Data.Builder textToBuilder TextBuilder BlazeBuilderBuilder builderToLazy flushBuilder ToBuilder toBuilder&constraints-0.9-EWSvp5BdRVq32HLVS7vhUMData.Constraint.ForallForalldeepseq-1.4.2.0Control.DeepSeqforce$!!deepseqNFDatarnf'exceptions-0.8.3-5OTPYzRazb4DJ75sPncYEhControl.Monad.Catch handleIOError catchIOErroruninterruptibleMask_mask_ MonadThrow MonadCatch MonadMaskmaskuninterruptibleMask+lifted-async-0.9.1.1-BZnMtWKzRgD1VACd6PVHZq$Control.Concurrent.Async.Lifted.SafemapConcurrently concurrentlyrace_racewithAsyncOnWithUnmaskwithAsyncWithUnmask withAsyncOnwithAsyncBound withAsyncasyncOnWithUnmaskasyncWithUnmaskasyncOn asyncBoundasync ConcurrentlyrunConcurrentlyPuremkWeakThreadIdrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSthreadWaitWritethreadWaitRead threadDelaythreadCapabilitysetNumCapabilitiesgetNumCapabilitiesforkOnWithUnmaskforkOn killThread forkFinallyforkWithUnmaskfork myThreadIdControl.Concurrent.Chan.LiftedwriteList2ChangetChanContentsdupChanreadChan writeChannewChanControl.Concurrent.MVar.Lifted tryReadMVarwithMVarMasked mkWeakMVarmodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVar isEmptyMVar tryPutMVar tryTakeMVarswapMVarreadMVarputMVartakeMVarnewMVar newEmptyMVarControl.Concurrent.QSem.Lifted signalQSemwaitQSemnewQSemControl.Concurrent.QSemN.Lifted signalQSemN waitQSemNnewQSemNData.IORef.Lifted mkWeakIORefatomicWriteIORefatomicModifyIORef' modifyIORef'atomicModifyIORef modifyIORef writeIORef readIORefnewIORefControl.Monad.Trans.Class MonadTranslift.transformers-base-0.4.4-FMTbgPqmqMsCiOz3biyAGxControl.Monad.Base MonadBaseliftBase,monad-control-1.0.1.0-1xoC3YihUKYHLar1SsWtYeControl.Monad.Trans.ControlMonadTransControlStTliftWithrestoreTMonadBaseControlStM liftBaseWithrestoreM)monad-unlift-0.2.0-IqI3mywDdoE7JBDgnXARoqControl.Monad.Trans.Unlift askRunBase askUnliftBaseaskRun askUnliftUnliftunliftMonadTransUnlift UnliftBase unliftBaseMonadBaseUnlift SetContainer ContainerKeykeysunionmember notMemberunionsPolyMap differenceMapintersectionMapintersectionWithMap BiPolyMapBPMKeyConstraint mapKeysWithIsMapMapValuelookup insertWith insertWithKeyinsertLookupWithKeyupdateLookupWithKeyfindWithDefault adjustWithKey updateWithKey unionsWith unionWith unionWithKey mapWithKey insertMap deleteMap singletonMap mapFromList mapToList adjustMap updateMapalterMap omapKeysWithIsSet insertSet deleteSet singletonSet setFromList setToListMonoZipozipWithozipounzip HasKeysSetKeySetkeysSet Data.NonNull minimumBy maximumByminimummaximumofoldl1'ofoldr1ofold1 ofoldMap1lasthead<|inittail nReplicatenfilterMnfilter splitFirstnunconsncons toMinList fromNonEmptynonNull impureNonNull fromNullableNonNull toNullableData.SequencesrepackunpackpacksortOn catMaybessortreplaceSeqLazyTextsplitSeqLazyTextreplaceSeqStrictTextsplitSeqStrictTextstripSuffixLazyBSstripPrefixLazyBSsplitSeqLazyBSstripSuffixStrictBSstripPrefixStrictBSsplitElemStrictBSdeleteBydeletegroupAllgroup isInfixOf isSuffixOf isPrefixOf stripSuffix stripPrefix replaceSeqsplitSeq splitEleminitDeftailDef defaultSnoc defaultCons vectorSort vectorSortBydefaultSplitWhen defaultSortBydefaultReversedefaultIntersperse defaultFind singleton SemiSequenceIndexsortByreversefind intersperseconssnoc IsSequencefromListfilterindexuncons replicate takeWhile dropWhiletakedropsplitAtspanbreak partitiongroupBy subsequences permutationsfilterM replicateM unsafeTake unsafeIndex unsafeTail unsafeInit unsafeDropunsnoc lengthIndex unsafeSplitAt groupAllOntailExtailMayinitExinitMayindexEx splitWhenTextuallinesunlineswordsunwords toCaseFold breakWord breakLine LazySequence fromChunkstoChunks fromStricttoStrictUtf8 encodeUtf8 decodeUtf8Data.MonoTraversable.Unprefixed sequence_foldMconcatfold intercalatepointnotElemelem concatMaporandproductsum foldl1Ex'foldr1Ex foldMap1ExfoldlMforM_mapM_for_ traverse_ compareLengthlength64lengthnullanyalltoListfoldl'foldrfoldMap ointercalate ofoldMUnwrap ofoldlUnwrapoforMofor minimumByMay minimumMay maximumByMay maximumMay minimumEx maximumExonotElemoelem osequence_ofoldMoconcatofold oconcatMapooroandoproductosumlastMayheadMayreplaceElemLazyTextreplaceElemStrictText replaceElemElement MonoFunctoromap MonoFoldable unsafeHead unsafeLast ofoldr1Ex ofoldl1Ex'ofoldMapofoldrofoldl'otoListoalloanyonullolength olength64ocompareLength otraverse_ofor_omapM_oforM_ofoldlM ofoldMap1ExheadExlastEx maximumByEx minimumByExMonoTraversable otraverseomapM MonoPointedopoint MonoComonadoextractoextend GrowingAppend/mutable-containers-0.3.3-KwckC62AvUh2ryHsD0aKXdData.Mutable.BRefasBRefBRefIOBRefData.Mutable.URefasURefURefIOURefData.Mutable.SRefasSRefSRefIOSRefData.Mutable.PRefasPRefPRefIOPRefData.Mutable.DequeasBDequeasSDequeasUDequeDequeUDequeSDequeBDequeData.Mutable.DLListasDLListDLListData.Mutable.ClassasMutVarasSTRefasIORefMutableContainerMCState MutableRef RefElementnewRefreadRefwriteRef modifyRef modifyRef'MutableAtomicRefatomicModifyRefatomicModifyRef'MutableCollection CollElementnewCollMutablePopFrontpopFrontMutablePushFront pushFrontMutablePopBackpopBackMutablePushBackpushBack MutableQueue MutableStack MutableDeque PrimMonad PrimStateData.Primitive.MutVarMutVarData.Primitive.TypesPrim modifyMutVar' modifyMutVaratomicModifyMutVar'atomicModifyMutVar writeMutVar readMutVar newMutVar catchesAsync catchesDeepcatchesisAsyncExceptionisSyncExceptiontoSyncExceptionbracketOnError_bracketOnErrorfinallybracket_bracket withException onExceptiontryJusttryAsync tryAnyDeeptryDeeptryAnytryIOtry handleJust handleAsync handleAnyDeep handleDeep handleAnyhandleIOhandle catchJust catchAsync catchAnyDeep catchDeepcatchAnycatchIOcatch impureThrowthrowTothrowMthrowIOthrowSyncExceptionWrapperAsyncExceptionWrapperHandler"say-0.1.0.0-5ihXUdXfgfWIkUBUOACnJLSayhSayShow hSayStringhSay sayErrShow sayErrStringsayErrsayShow sayStringsayControl.Concurrent.STM.TArrayTArrayControl.Concurrent.STM.TBQueue isFullTBQueueisEmptyTBQueue unGetTBQueuetryPeekTBQueue peekTBQueuetryReadTBQueue readTBQueue writeTBQueue newTBQueueIO newTBQueueTBQueueControl.Concurrent.STM.TChan cloneTChan isEmptyTChan unGetTChandupTChan tryPeekTChan peekTChan tryReadTChan readTChan writeTChannewBroadcastTChanIOnewBroadcastTChan newTChanIOnewTChanTChanControl.Concurrent.STM.TMVar mkWeakTMVar isEmptyTMVar swapTMVar tryReadTMVar readTMVar tryPutTMVarputTMVar tryTakeTMVar takeTMVarnewEmptyTMVarIO newEmptyTMVar newTMVarIOnewTMVarTMVarControl.Concurrent.STM.TQueue isEmptyTQueue unGetTQueue tryPeekTQueue peekTQueue tryReadTQueue readTQueue writeTQueue newTQueueIO newTQueueTQueueControl.Concurrent.STM.TVar mkWeakTVarswapTVar modifyTVar' modifyTVar(stm-chans-3.0.0.4-4lLWE8CZnvmDZJW5bKkus1Control.Concurrent.STM.TBChanfreeSlotsTBChanestimateFreeSlotsTBChan isFullTBChan isEmptyTBChan unGetTBChantryWriteTBChan writeTBChan tryPeekTBChan peekTBChan tryReadTBChan readTBChan newTBChanIO newTBChanTBChanControl.Concurrent.STM.TBMChanfreeSlotsTBMChanestimateFreeSlotsTBMChan isFullTBMChanisEmptyTBMChanisClosedTBMChan closeTBMChan unGetTBMChantryWriteTBMChan writeTBMChantryPeekTBMChan peekTBMChantryReadTBMChan readTBMChan newTBMChanIO newTBMChanTBMChanControl.Concurrent.STM.TBMQueuefreeSlotsTBMQueueestimateFreeSlotsTBMQueueisFullTBMQueueisEmptyTBMQueueisClosedTBMQueue closeTBMQueue unGetTBMQueuetryWriteTBMQueue writeTBMQueuetryPeekTBMQueue peekTBMQueuetryReadTBMQueue readTBMQueue newTBMQueueIO newTBMQueueTBMQueueControl.Concurrent.STM.TMChan isEmptyTMChanisClosedTMChan closeTMChan unGetTMChan writeTMChan tryPeekTMChan peekTMChan tryReadTMChan readTMChan dupTMChannewBroadcastTMChanIOnewBroadcastTMChan newTMChanIO newTMChanTMChanControl.Concurrent.STM.TMQueueisEmptyTMQueueisClosedTMQueue closeTMQueue unGetTMQueue writeTMQueuetryPeekTMQueue peekTMQueuetryReadTMQueue readTMQueue newTMQueueIO newTMQueueTMQueueData.Time.Format formatTimeData.Time.Format.Parse parseTime parseTimeMData.Time.Clock.POSIXgetCurrentTimeData.Time.Clock.UTCUTCTimeutctDay utctDayTimeData.Time.Calendar.Gregorian fromGregorian toGregorianData.Time.Calendar.DaysDayModifiedJulianDaytoModifiedJulianDay