!T`>\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~SafeC2018 Joshua BoothBSD3 (see the file LICENSE)'Joshua Booth <joshua.n.booth@gmail.com>SafeB' d preludepluse preludeplusf preludeplus . g preludeplus2Reduces a collection of Maybes to its Just values.h preludeplusSi preludeplusTransforms a list into any S using .j preludeplusk preludeplusfl preludeplusm preludeplusg . n preludepluseo preludeplusp#  $   %Z&' ()*O+>?=<,cba`\[-./0 12! "P34fe567CF89:;<=DE>IJK?@ABGHLMNOPQRSTUVWXYZ[\]^_`abcdghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;@ABCDEFGHIJKLMNSRQUTVWXY]^_defghijklmnop#  $   %Z&' ()*O+>?=<,cba`\[-./0 12! "P34fe567CF89:;<=DE>IJK?@ABGHLMNOPQRSTUVWXYZ[\]^_`abcdghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;@ABCDEFGHIJKLMNSRQUTVWXY]^_defghimjklno2018 Joshua BoothBSD3 (see the file LICENSE)'Joshua Booth <joshua.n.booth@gmail.com>SafeB;p preludeplus (") = (D)U+2218, RING OPERATORq preludeplus (!) = C !U+21A6, RIGHTWARDS ARROW FROM BARr preludeplus (!) =  U+21A4, LEFTWARDS ARROW FROM BARs preludeplus  f !" g =  f " g<(U+21A4, LEFTWARDS ARROW FROM BAR) + (U+2218, RING OPERATOR)t preludeplus ("k=) = ()3(U+226B, MUCH GREATER-THAN) + (U+003D, EQUALS SIGN)u preludeplus ("k) = ()U+226B, MUCH GREATER-THANv preludeplus (="j) = (N)0(U+003D, EQUALS SIGN) + (U+226A, MUCH LESS-THAN)w preludeplus ("() = (^)U+2228, LOGICAL ORx preludeplus ("') = (])U+2227, LOGICAL ANDy preludeplus ("a) = ()U+2261, IDENTICAL TOz preludeplus ("`) = (Z)U+2260, NOT EQUAL TO{ preludeplus ("d) = (\)U+2264, LESS-THAN OR EQUAL TO| preludeplus ("e) = () U+2265, GREATER-THAN OR EQUAL TO} preludeplus () = U+00F7, DIVISION SIGN~ preludeplus (j) = U+066A, ARABIC PERCENT SIGN preludeplus ( ) = ()U+2014, EM DASHAllows for sections, as in ( 3). preludeplus (#%) = ()U+2325, OPTION KEY preludeplus (") = U+2208, ELEMENT OF preludeplus (" ) = xU+2209, NOT AN ELEMENT OF preludeplus ()) = ()U+29FA, DOUBLE PLUS preludeplus (") = ()U+2216, SET MINUS preludeplus ("*) =  U+22A, UNION preludeplus (")) = U+2229, INTERSECTION preludeplus  (*@) a b = _ "  $  a bU+2A40, INTERSECTION WITH DOT preludeplus  = (U+00F8, LATIN SMALL LETTER O WITH STROKEpqrstuvwxyz{|}~pqrstuvwxyz{|}~p9 q4r4s7t1u1v1w2x3y4z4{4|4}7~74455666     !"#$%&'()*+,-./0123456789:;<=>?@6ABCDEFGHIJKLMLNLOLPLQRSTULVWLXLYZ[L\]^L_Z`ZaLbLcLdefegeheiejekel)m)n)o)p)q)r)s)t)u)v)w)x)y)z{|H}H~HHH            FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFZ>>>>666666666666666666666 6 6 6 6 6666666 !"#$%&'()*+,-./0C1C2C3C4C5C6C7C89:;<=>?@ABCDEFGHIJKLMNOPQRSTSUSVSWSXSYSZ [ \]^_`abcdefghijklmnopqrstuvwxyzy{y|}~*preludeplus-0.1.0.4-LWKErrpUff4KLVr2Hnm5k9 PreludePlusPreludePlus.UnicodePaths_preludeplusghc-primGHC.PrimseqbaseGHC.Listzip System.IOprint Data.TuplefstsndGHC.Base otherwise$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn fromIntegral realToFrac toInteger toRational Control.Monadguard<>memptymappendmconcatjoin<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow Applicative Data.FoldableFoldableData.Traversable Traversable SemigroupMonoid GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerMaybeOrderingRationalIOWord Data.EitherEitherFalseNothingJustTrueLeftRightLTEQGTData.List.NonEmpty!!groupBygroupinitlasttailheadmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM Data.ListisSubsequenceOf mapAccumR mapAccumLforM sequenceAtraversereadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrorfindnotElem minimumBy maximumByallanyorandmsumasum sequenceA_forM_for_ traverse_foldlMfoldrMproductsumminimummaximumelemlengthnulltoListfoldl1foldr1foldl'foldlfoldr'foldrfoldMapfold Data.OldListunwordswordsunlineslinesunfoldrsortOnsortBysort permutations subsequencestailsinitsdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertBy partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Text.Readreadreadseitherlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix Data.Functorvoid<$>lcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'uncons Data.Maybe listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flip.constidapliftM5liftM4liftM3liftM2liftMwhen=<<<$<*mplusmzero MonadPlus:|NonEmptyStringGHC.Err undefinederrorWithoutStackTraceerror/=compare<=&&||not<>maxmin++concat concatMap catMaybesfilterfromListmapmapMmapM_mapMaybesequence sequence_∘↦↤↤∘≫=≫=≪∨∧≡≠≤≥÷٪—⌥∈∉⧺∖∪∩⩀øversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName<|>