h$R H      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                              Safe-Inferred]None>q0&fay-base Maybe type. Either type.'fay-baseMonomorphic bind for Fay.(fay-baseMonomorphic then for Fay.)fay-baseMonomorphic return for Fay.5fay-baseEvaluate each action in the sequence from left to right, and collect the results.Dfay-baseUses JSON.stringify.Efay-baseThrows a JavaScript error.Ffay-baseThrows "undefined" via "error".Yfay-baseImplemented in Fay.Zfay-baseImplemented in Fay.[fay-baseImplemented in Fay.\fay-base Uses Math.PI.]fay-baseUses Math.exp.^fay-baseUses Math.sqrt._fay-baseUses Math.log.`fay-baseUses Math.pow.afay-baseUses Math.pow.bfay-baseUses Math.pow.cfay-base"Implemented in Fay, it's not fast.dfay-baseImplemented in Fay, not fast.efay-baseUses Math.sin.ffay-baseUses Math.tan.gfay-baseUses Math.cos.hfay-baseUses Math.asin.ifay-baseUses Math.atan.jfay-baseUses Math.acos.kfay-baseImplemented in Fay, not fast.lfay-baseImplemented in Fay, not fast.mfay-baseImplemented in Fay, not fast.nfay-baseImplemented in Fay, not fast.ofay-baseImplemented in Fay, not fast.pfay-baseImplemented in Fay, not fast.qfay-baseImplemented in Fay, not fast.rfay-baseImplemented in Fay, not fast.sfay-baseUses Math.round.tfay-baseUses Math.ceil.ufay-baseUses Math.floor.vfay-base Flip (-).wfay-baseImplemented in Fay, not fast.xfay-base not (even x)yfay-baseImplemented in Fay, not fast.zfay-base Uses quot'.{fay-base Uses ~~(a/b).|fay-base(quot x y, rem x y)}fay-base Uses rem'.~fay-baseUses %%.fay-baseAppend two lists.fay-base.Default definition for using RebindableSyntax.  "! %#$&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  &'()*+,-./0156234#$%  !"789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~74 4!4"4#7$6%6'1(1113141I0L9 M0S7T7`8a8c8z7}74459 None> Nonefay-base!Run a Fay action as a pure value.NoneNone3Nonefay-base %comparing p x y = compare (p x) (p y)2Useful combinator for use in conjunction with the xxxBy family of functions from  Data.List, for example:  ... sortBy (comparing fst) ...Nonelfay-baseConvert from nullable to maybe.fay-baseConvert from maybe to nullable.None23%_&fay-base5A space efficient, packed, unboxed Unicode text type.fay-baseO(n) The intercalate function takes a Text and a list of Texts and concatenates the list after interspersing the first argument between each element of the list.fay-baseConvert from a string to text.fay-baseO(n) Adds a character to the end of a Text. This copies the entire array in the process, unless fused. Subject to fusion. Performs replacement on invalid scalar values.fay-baseO(n) Adds a character to the front of a Text. This function is more costly than its List counterpart because it requires copying a new array. Subject to fusion. Performs replacement on invalid scalar values.fay-baseO(n) Convert a String into a Text. Subject to fusion. Performs replacement on invalid scalar values.fay-base5O(n) Convert a Text into a String. Subject to fusion.fay-baseO(n) Appends one Text to the other by copying both of them into a new Text. Subject to fusion.fay-baseAppend two texts.fay-baseO(n) Returns the number of characters in a Text. Subject to fusion.fay-base=O(1) Tests whether a Text is empty or not. Subject to fusion.fay-baseO(n) take n, applied to a Text, returns the prefix of the Text of length n, or the Text itself if n is greater than the length of the Text. Subject to fusion.fay-baseO(n) drop n, applied to a Text, returns the suffix of the Text after the first n characters, or the empty Text if n is greater than the length of the Text. Subject to fusion.fay-baseO(1) The empty Text.fay-baseO(n) Breaks a Text up into a list of Texts at newline Chars. The resulting strings do not contain newlines.fay-baseO(n) Joins lines, after appending a terminating newline to each.fay-baseO(n) The isPrefixOf function takes two Texts and returns True iff the first is a prefix of the second. Subject to fusion. http://docs.closure-library.googlecode.com/git/closure_goog_string_string.js.source.htmlfay-baseO(n) The intersperse function takes a character and places it between the characters of a Text. Subject to fusion. Performs replacement on invalid scalar values.fay-base;O(n) Reverse the characters of a string. Subject to fusion.fay-baseO(n) Return the prefix of the second string if its suffix matches the entire first string.fay-baseO(m+n) Break a Text into pieces separated by the first Text argument, consuming the delimiter. An empty delimiter is invalid, and will cause an error to be raised.fay-basefay-basefay-basefay-baseO(1) Returns the first character and rest of a Text, or Nothing if empty. Subject to fusion.fay-baseO(1) Returns the first character of a Text, which must be non-empty. Subject to fusion.fay-baseO(1) Returns the last character of a Text, which must be non-empty. Subject to fusion.fay-baseO(1) Returns all characters after the head of a Text, which must be non-empty. Subject to fusion.fay-baseO(1) Returns all but the last character of a Text, which must be non-empty. Subject to fusion.fay-baseO(n) map f t is the Text obtained by applying f to each element of t. Subject to fusion. Performs replacement on invalid scalar values.fay-baseO(n) Convert a string to lower case, using simple case conversion. The result string may be longer than the input string. For instance,  (Latin capital letter I with dot above, U+0130) maps to the sequence "i" (Latin small letter i, U+0069) followed by " " (combining dot above, U+0307).fay-baseO(n) Convert a string to upper case, using simple case conversion. The result string may be longer than the input string. For instance, the German "" (eszett, U+00DF) maps to the two-letter sequence SS.fay-base!O(n) Concatenate a list of Texts.fay-baseO(n) Map a function over a Text that results in a Text, and concatenate the results.fay-baseO(n) any p t determines whether any character in the Text t satisifes the predicate p. Subject to fusion.fay-baseO(n) all p t determines whether all characters in the Text t satisify the predicate p. Subject to fusion.fay-baseO(n) maximum returns the maximum value from a Text, which must be non-empty. Subject to fusion.fay-baseO(n) minimum returns the minimum value from a Text, which must be non-empty. Subject to fusion.fay-baseSuffix.fay-baseText.&& None3(fay-baseDay representation (internally represented as milliseconds from Epoch).fay-baseDate representation (internally represented as milliseconds from Epoch).fay-baseGet the current time.fay-baseConvert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31).fay-baseExtract the day from the time.fay-baseShow a time. Meant for debugging purposes, not production presentation.fay-baseShow a day. Meant for debugging purposes, not production presentation.fay-baseYear.fay-baseMonth.fay-baseDay. None( None.C fay-baseThe  function returns " iff its argument is of the form Just _.fay-baseThe  function returns  iff its argument is .fay-baseThe ( function extracts the element out of a ) and throws an error if its argument is .fay-baseThe ( function takes a default value and and   value. If the   is , it returns the default values; otherwise, it returns the value contained in the  .fay-baseThe , function returns an empty list when given $ or a singleton list when not given .fay-baseThe  function returns  on an empty list or  a where a" is the first element of the list.fay-baseThe  function takes a list of  !s and returns a list of all the  values.fay-baseThe  function is a version of  which can throw out elements. In particular, the functional argument returns something of type   b. If this is :, no element is added on to the result list. If it just  b, then b! is included in the result list.fay-base%Handy alternative to not having forM.fay-baseSimilar to forM again.fay-baseBasically fmap for Maybe.fay-baseJoin for Maybe.   None?=fay-base and 2 have lists of subscribers that are notified when  is used.fay-base and  store their last set value.fay-base0All of the variable types can be set to a value.fay-baseA reactive variable. Stores a value, and can have handlers subscribed to changes.fay-base)A mutable reference, with no subscribers.fay-baseA subscribable signal. Can have handlers subscribed to them, but doesn't store a value.fay-baseMake a new signal.fay-baseMake a new mutable reference.fay-baseMake a new reactive variable.fay-base;Write to the value (if any), and call subscribers (if any).fay-baseGet the value of a  or .fay-base0Modifies the current value with a pure function.fay-baseRuns a : action on the current value, and updates with the result.fay-baseSubscribe to the value of a  or .&The result is an unsubscribe function.fay-baseRun the same subscribing action but provide an additional unsubscribe parameter to the handler.fay-baseSubscribe to a  , along with the previous value.&The result is an unsubscribe function.fay-baseSubscribe to a 1, but only call handler when it actually changes.&The result is an unsubscribe function.fay-baseSubscribe to a -, and call the function on the current value.&The result is an unsubscribe function.fay-baseSubscribe to a , but only call handler when it actually changes, and also initially on registration.&The result is an unsubscribe function.fay-baseGiven a change handler, returns a function that can be used to set a subscribable without invoking the handler. This can be useful in situations where the handler for a  causes an event which otherwise ought to set the value of the . An example of this is interfacing with HTML input field change events.The Q/ part of the result is an unsubscribe function.fay-baseGiven a change handler, returns a function that can be used to set a var without invoking the handler. The handler is called with the initial value. This can be useful in situations where the handler for a  causes an event which otherwise ought to set the value of the . An example of this is interfacing with HTML input field change events.The Q/ part of the result is an unsubscribe function.fay-base Creates a  that updates whenever the source var is changed, applying the provided function to compute the new value.fay-base Creates a  that updates whenever one of its source vars are changed. If the 2nd argument is a  value, then its used to set the source vars when the variable is changed. Setting using a merged var is sometimes preferred because both values are set before the subscribers are called.The Q/ part of the result is an unsubscribe function.fay-baseLike (, but discards the unsubscribe function.fay-base Creates a  that updates whenever one of its source vars are changed. It can also be used to set both source vars at once.See  for more information. Note that when using nested tuples, if you want all of the values to be set before broadcast, then they should nest to the left.fay-baseLike (, but discards the unsubscribe function.fay-base*Wait for n signals on the given signaller.fay-baseWait for the given predicate to be satisfied on the var and then unsubscribe.fay-baseMake a one-shot variable subscription that immediately unsubscribes after the event has triggered.fay-base:Turn a sig into a var, by storing the last reported value. None?*fay-baseMake a new unlocked mutex.fay-base3If a mutex is free run the action, otherwise don't.fay-base-Wait until the mutex is free to do something.fay-base,Lock the given mutex until I'm done with it.None?_None2E5 fay-baseThe & function takes two lists and returns / iff the first list is a prefix of the second.fay-baseThe & function takes two lists and returns  iff the first list is a suffix of the second. Both lists must be finite.fay-baseThe : function drops the given prefix from a list. It returns 6 if the list did not start with the prefix given, or ' the list after the prefix, if it does. stripPrefix "foo" "foobar" == Just "bar" stripPrefix "foo" "foo" == Just "" stripPrefix "foo" "barfoo" == Nothing stripPrefix "foo" "barfoobaz" == Nothingfay-baseLike *, but drops the given suffix from the end.fay-baseSplit lists at delimiter specified by a condition Drops empty groups (similar to )fay-baseSplit lists at the specified delimiter Drops empty groups (similar to )fay-baseThe  function takes a predicate a list and returns the pair of lists of elements which do and do not satisfy the predicate, respectively; i.e., 4partition p xs == (filter p xs, filter (not . p) xs)fay-baseThe  function returns all initial segments of the argument, shortest first. For example, "inits "abc" == ["","a","ab","abc"] Note that ) has the following strictness property: inits _|_ = [] : _|_fay-baseClassic group by.fay-base Belongs in Control.Monad, right?  NoneF,fay-base(*)  f = x y -> f x * f y.fay-base&The "f" is for "Fay", not "Functor" ;)fay-baseSee .fay-baseA la Control.Applicative.NoneFfay-baseBasically forM.fay-baseBasically forM.fay-base Usual isLeft.fay-baseUsual isRight.NoneG[fay-baseConvert from defined to maybe.fay-baseConvert from maybe to defined.NoneGNoneG  NoneHfay-base3Try the given action and catch if there's an error.fay-base-Try the given action and catch the exception.fay-baseThrow an exception.NoneH !"#$%&'&(&)&*+,-./&01&2.3.4&567&8&9&:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                             @@@@@@@@@(fay-base-0.21.2.0-DY1UKAksMD8I15zKzpy3jJPrelude Data.Data Fay.Unsafe Debug.Trace Data.RatioData.Ord Data.Nullable Data.Text Data.TimeData.MutMap.Internal Data.MaybeData.Var Data.MutexData.LocalStorage Data.List Data.Function Data.Either Data.Defined Data.MutMap Data.CharControl.Exception Unsafe.CoerceFFIghc-primGHC.Primseq GHC.Classes==EqbaseDataGHC.ReadReadGHC.ShowShowData.Typeable.InternalTypeable GHC.TypesBoolCharDoubleIntinteger-wired-inGHC.Integer.TypeInteger GHC.MaybeMaybeOrderingEitherFalseNothingJustTrueLeftRightLTEQGTGHC.BaseString/=&&||#fay-0.24.2.0-7rXiqprvHTALsEl409Mha6 Fay.TypesFay/Ord<<=>>=*+-maybe>>=>>returnfailwhenunlessforMforM_mapMmapM_=<<void>=><=<sequence sequence_comparesuccpredenumFrom enumFromTo enumFromBy enumFromThen enumFromByToenumFromThenTo fromIntegral fromIntegernot otherwiseshowerror undefinedeitheruntil$!constid.$flipcurryuncurrysndfstdivmoddivModminmaxrecipnegateabssignumpiexpsqrtlog**^^ unsafePow^logBasesintancosasinatanacossinhtanhcoshasinhatanhacoshproperFractiontruncateroundceilingfloorsubtractevenoddgcdquotquot'quotRemremrem'lcmfindfilternullmapnubnub'elemnotElemsortsortByinsertByconcconcat concatMapfoldrfoldr1foldlfoldl1++!!headtailinitlastiteraterepeat replicatecycletakedropsplitAt takeWhile dropWhilespanbreakzipWithzipWith3zipzip3unzipunzip3linesunlineswordsunwordsandoranyall intersperse prependToAll intercalatemaximumminimumproductsumscanlscanl1scanrscanr1lookuplengthlength'reverseprintputStrLn ifThenElse $fNumDouble$fNumInt $fOrdInteger$fOrdInt $fOrdDouble $fOrdChar $fEnumInt$fFractionalDouble $fIntegralIntunsafePerformFaytrace traceShowRationalRatio% numerator denominator$fDataRational$fShowRational comparing fromNullable toNullableText fromStringsnocconspackunpackappend<>empty isPrefixOf stripSuffixsplitOn toShortestshowIntunconstoLowertoUpper$fIsStringText $fOrdText $fShowText $fDataText$fEqTextDayUTCTimegetCurrentTime fromGregorianutctDayshowTimeshowDay $fOrdUTCTime $fEqUTCTime $fShowUTCTime $fDataUTCTime$fOrdDay$fEqDay $fShowDay $fDataDaySaltedKeyValIaddSaltunsalt checkSaltedisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybe mapMaybeFBwhenJust whenJust'onJust joinMaybe SubscribableGettableSettableVarRefSignewSignewRefnewVarsetgetmodify modifyWith subscribewithUnsubscribersubscribeWithOldsubscribeChangesubscribeAndReadsubscribeChangeAndReadsubscribeExclusivesubscribeAndReadExclusivemapVar mergeVars mergeVars' tupleVars tupleVars'waitForNwaitForoneShotholdSig $fSettableVar $fSettableSig $fSettableRef $fGettableVar $fGettableRef$fSubscribableVar$fSubscribableSigMutexnewMutex ifMutexFree whenMutexFree lockMutexsetLocalStoragegetLocalStorageremoveLocalStoragehasLocalStorage isSuffixOf stripPrefix splitWhen partitioninits groupSortBygroupByfindMonfmapap<*>whenLeft whenRightisLeftisRight fromDefined toDefinedMutMapmutEmpty mutFromList mutLookupmutElemsmutKeys mutAssocsmutClonemutMapMmutMapM_ mutMapMaybeM mutInsert mutDeletemutClearchrordisAsciiisLatin1 isAsciiLower isAsciiUpperisDigit isOctDigit isHexDigitisSpace onExceptioncatchthrow unsafeCoerceFay.FFIffiNullableNullDefined UndefinedPtr Automatic