hjsmin-0.1.5.1/0000755000000000000000000000000012567172013011336 5ustar0000000000000000hjsmin-0.1.5.1/Setup.hs0000644000000000000000000000005612567172013012773 0ustar0000000000000000import Distribution.Simple main = defaultMain hjsmin-0.1.5.1/hjsmin.hs0000644000000000000000000000213112567172013013157 0ustar0000000000000000module Main where import Options.Applicative import Text.Jasmine import qualified Data.ByteString.Lazy as B import qualified Data.ByteString.Lazy.Char8 as C8 data Options = Options { inputFile :: String , outputFile :: Maybe String } main :: IO () main = execParser opts >>= minify' where opts = info (helper <*> options) ( fullDesc <> progDesc "Minify JavaScript files." <> header "hjsmin - a simple command-line interface to the 'hjsmin' library" ) options :: Parser Options options = Options <$> argument str (metavar "INPUT_FILE" <> help "The unminified, original JavaScript file") <*> optional ( strOption (long "output-file" <> short 'o' <> metavar "OUTPUT_FILE" <> help "The minified output file. Default: stdout") ) minify' :: Options -> IO () minify' o = do minified <- minifyFile (inputFile o) case outputFile o of Nothing -> C8.putStrLn minified Just f -> B.writeFile f minified hjsmin-0.1.5.1/hjsmin.cabal0000644000000000000000000000421012567172013013607 0ustar0000000000000000name: hjsmin version: 0.1.5.1 license: BSD3 license-file: LICENSE author: Alan Zimmerman maintainer: Erik de Castro Lopo synopsis: Haskell implementation of a javascript minifier description: Reduces size of javascript files by stripping out extraneous whitespace and other syntactic elements, without changing the semantics. category: Web stability: unstable cabal-version: >= 1.9.2 build-type: Simple homepage: http://github.com/erikd/hjsmin bug-reports: http://github.com/erikd/hjsmin/issues Extra-source-files: TODO.txt , Readme.md , test/pminified/*.js , test/parsingonly/*.js library build-depends: base >= 4 , bytestring >= 0.9 , blaze-builder >= 0.2 , text >= 0.8 , containers >= 0.2 , language-javascript >= 0.5.14 && < 0.6 exposed-modules: Text.Jasmine other-modules: Text.Jasmine.Pretty ghc-options: -Wall executable hjsmin main-is: hjsmin.hs ghc-options: -Wall -threaded build-depends: base >= 4 && < 5 , bytestring >= 0.9 , blaze-builder >= 0.2 , text >= 0.8 , containers >= 0.2 , language-javascript >= 0.5.14 , optparse-applicative >= 0.7 Test-Suite test-hjsmin Type: exitcode-stdio-1.0 Main-is: runtests.hs build-depends: Cabal >= 1.9.2 , QuickCheck >= 2 , HUnit , test-framework , test-framework-hunit , base >= 4 && < 5 , bytestring >= 0.9 , blaze-builder >= 0.2 , text >= 0.8 , containers >= 0.2 , language-javascript >= 0.5.14 source-repository head type: git location: https://github.com/erikd/hjsmin.git hjsmin-0.1.5.1/runtests.hs0000644000000000000000000005510212567172013013564 0ustar0000000000000000 import Data.Char import Language.JavaScript.Parser import Test.Framework (defaultMain, testGroup, Test) import Test.Framework.Providers.HUnit import Test.HUnit hiding (Test) import qualified Data.ByteString.Lazy as LB import qualified Data.Text as T import qualified Data.Text.Encoding as E import Text.Jasmine import Text.Jasmine.Pretty main :: IO () main = defaultMain [ testSuite , testSuiteMin , testSuiteFiles , testSuiteFilesUnminified ] testSuite :: Test testSuite = testGroup "Text.Jasmine.Parse" [ testCase "helloWorld" caseHelloWorld , testCase "helloWorld2" caseHelloWorld2 , testCase "simpleAssignment" caseSimpleAssignment , testCase "emptyFor" caseEmptyFor , testCase "fullFor" caseFullFor , testCase "forVarFull" caseForVarFull , testCase "ifelse1" caseIfElse1 , testCase "ifelse2" caseIfElse2 , testCase "0_f.js" case0_f , testCase "01_semi1.js" case01_semi1 , testCase "min_100_animals" case_min_100_animals , testCase "mergeStrings" caseMergeStrings , testCase "TrailingCommas" caseTrailingCommas , testCase "GetSet" caseGetSet , testCase "Unicode" caseUnicode , testCase "Issue3" caseIssue3 , testCase "Issue4" caseIssue4 , testCase "Switch1" caseSwitch1 , testCase "If1" caseIf1 , testCase "If2" caseIf2 , testCase "If3" caseIf3 , testCase "BootstrapDropdown" caseBootstrapDropdown , testCase "Issue8" caseIssue8 , testCase "Issue9" caseIssue9 , testCase "Issue14" caseIssue14 ] testSuiteMin :: Test testSuiteMin = testGroup "Text.Jasmine.Pretty Min" [ testCase "helloWorld" caseMinHelloWorld , testCase "helloWorld2" caseMinHelloWorld2 , testCase "simpleAssignment" caseMinSimpleAssignment , testCase "ifelse1" caseMinIfElse1 , testCase "ifelse2" caseMinIfElse2 , testCase "ifelse3" caseMinIfElse3 , testCase "0_f.js" caseMin0_f , testCase "01_semi1.js" caseMin01_semi1 , testCase "min_100_animals" caseMin_min_100_animals , testCase "minNestedSquare" caseMinNestedSquare , testCase "minMergeStrings" caseMinMergeStrings , testCase "EitherLeft" caseEitherLeft , testCase "EitherRight" caseEitherRight , testCase "TrailingCommas" caseMinTrailingCommas , testCase "GetSet" caseMinGetSet , testCase "Unicode" caseMinUnicode , testCase "MinIssue3" caseMinIssue3 , testCase "MinIssue4" caseMinIssue4 , testCase "MinSwitch1" caseMinSwitch1 , testCase "MinIf1" caseMinIf1 , testCase "MinIf2" caseMinIf2 , testCase "MinIf3" caseMinIf3 , testCase "MinBootstrapDropdown" caseMinBootstrapDropdown , testCase "MinIssue8" caseMinIssue8 , testCase "MinIssue9" caseMinIssue9 , testCase "MinIssue14" caseMinIssue14 ] testSuiteFiles :: Test testSuiteFiles = testGroup "Text.Jasmine.Pretty files" [ testCase "00_f.js" (testFile "./test/pminified/00_f.js") , testCase "01_semi1.js" (testFile "./test/pminified/01_semi1.js") , testCase "02_sm.js" (testFile "./test/pminified/02_sm.js") , testCase "03_sm.js" (testFile "./test/pminified/03_sm.js") , testCase "04_if.js" (testFile "./test/pminified/04_if.js") , testCase "05_comments_simple.js" (testFile "./test/pminified/05_comments_simple.js") , testCase "05_regex.js" (testFile "./test/pminified/05_regex.js") , testCase "06_callexpr.js" (testFile "./test/pminified/06_callexpr.js") , testCase "06_newexpr.js" (testFile "./test/pminified/06_newexpr.js") , testCase "06_var.js" (testFile "./test/pminified/06_var.js") , testCase "07_expr.js" (testFile "./test/pminified/07_expr.js") , testCase "10_switch.js" (testFile "./test/pminified/10_switch.js") , testCase "14_labelled_stmts.js" (testFile "./test/pminified/14_labelled_stmts.js") , testCase "15_literals.js" (testFile "./test/pminified/15_literals.js") , testCase "16_literals.js" (testFile "./test/pminified/16_literals.js") , testCase "20_statements.js" (testFile "./test/pminified/20_statements.js") , testCase "20_continue_loop.js" (testFile "./test/pminified/20_continue_loop.js") , testCase "25_trycatch.js" (testFile "./test/pminified/25_trycatch.js") , testCase "40_functions.js" (testFile "./test/pminified/40_functions.js") , testCase "67_bob.js" (testFile "./test/pminified/67_bob.js") , testCase "110_perfect.js" (testFile "./test/pminified/110_perfect.js") , testCase "120_js.js" (testFile "./test/pminified/120_js.js") , testCase "121_jsdefs.js" (testFile "./test/pminified/121_jsdefs.js") , testCase "122_jsexec.js" (testFile "./test/pminified/122_jsexec.js") , testCase "122_jsexec2.js" (testFile "./test/pminified/122_jsexec2.js") , testCase "122_jsexec3.js" (testFile "./test/pminified/122_jsexec3.js") -- , testCase "123_jsparse.js" (testFile "./test/pminified/123_jsparse.js") -- TODO: something strange here, assigning code block to variable? -- See http://msdn.microsoft.com/en-us/library/77kz8hy0.aspx, get/set keywords for object accessors --, testCase "130_htojs2.js" (testFile "./test/parsingonly/130_htojs2.js") --, testCase "" (testFile "./test/pminified/") ] testSuiteFilesUnminified :: Test testSuiteFilesUnminified = testGroup "Text.Jasmine.Pretty filesUnminified" [ testCase "00_f.js" (testFileUnminified "00_f.js") , testCase "01_semi1.js" (testFileUnminified "01_semi1.js") , testCase "02_sm.js" (testFileUnminified "02_sm.js") , testCase "03_sm.js" (testFileUnminified "03_sm.js") , testCase "04_if.js" (testFileUnminified "04_if.js") , testCase "05_comments_simple.js" (testFileUnminified "05_comments_simple.js") , testCase "05_regex.js" (testFileUnminified "05_regex.js") , testCase "06_callexpr.js" (testFileUnminified "06_callexpr.js") , testCase "06_newexpr.js" (testFileUnminified "06_newexpr.js") , testCase "06_var.js" (testFileUnminified "06_var.js") , testCase "07_expr.js" (testFileUnminified "07_expr.js") , testCase "10_switch.js" (testFileUnminified "10_switch.js") , testCase "14_labelled_stmts.js" (testFileUnminified "14_labelled_stmts.js") , testCase "15_literals.js" (testFileUnminified "15_literals.js") , testCase "16_literals.js" (testFileUnminified "16_literals.js") , testCase "20_statements.js" (testFileUnminified "20_statements.js") , testCase "25_trycatch.js" (testFileUnminified "25_trycatch.js") , testCase "40_functions.js" (testFileUnminified "40_functions.js") , testCase "67_bob.js" (testFileUnminified "67_bob.js") , testCase "110_perfect.js" (testFileUnminified "110_perfect.js") , testCase "120_js.js" (testFileUnminified "120_js.js") , testCase "121_jsdefs.js" (testFileUnminified "121_jsdefs.js") , testCase "122_jsexec.js" (testFileUnminified "122_jsexec.js") --, testCase "122_jsexec2.js" (testFileUnminified "122_jsexec2.js") ] srcHelloWorld = "function Hello(a) {}" caseHelloWorld = "Right (JSSourceElementsTop [JSFunction (JSIdentifier \"Hello\") [JSIdentifier \"a\"] (JSBlock ([])),JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcHelloWorld) caseMinHelloWorld = -- "function Hello(a){}" @=? (minify (U.fromString srcHelloWorld)) testMinify "function Hello(a){}" srcHelloWorld srcHelloWorld2 = "function Hello(a) {b=1}" caseHelloWorld2 = "Right (JSSourceElementsTop [JSFunction (JSIdentifier \"Hello\") [JSIdentifier \"a\"] (JSBlock ([JSExpression [JSIdentifier \"b\",JSOperator JSLiteral \"=\",JSDecimal \"1\"]])),JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcHelloWorld2) caseMinHelloWorld2 = -- "function Hello(a){b=1}" @=? (minify (U.fromString srcHelloWorld2)) testMinify "function Hello(a){b=1}" srcHelloWorld2 srcSimpleAssignment = "a=1;" caseSimpleAssignment = "Right (JSSourceElementsTop [JSExpression [JSIdentifier \"a\",JSOperator JSLiteral \"=\",JSDecimal \"1\"],JSLiteral \";\",JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcSimpleAssignment) caseMinSimpleAssignment = testMinify "a=1" srcSimpleAssignment srcEmptyFor = "for (i = 0;;){}" caseEmptyFor = "Right (JSSourceElementsTop [JSFor [JSExpression [JSIdentifier \"i\",JSOperator JSLiteral \"=\",JSDecimal \"0\"]] [] [] (JSBlock ([])),JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcEmptyFor) srcFullFor = "for (i = 0;i<10;i++){}" caseFullFor = "Right (JSSourceElementsTop [JSFor [JSExpression [JSIdentifier \"i\",JSOperator JSLiteral \"=\",JSDecimal \"0\"]] [JSExpression [JSExpressionBinary \"<\" [JSIdentifier \"i\"] [JSDecimal \"10\"]]] [JSExpression [JSExpressionPostfix \"++\" [JSIdentifier \"i\"]]] (JSBlock ([])),JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcFullFor) srcForVarFull = "for(var i=0,j=tokens.length;i\" [JSIdentifier \"i\"] [JSDecimal \"0\"]]) ([JSExpression [JSIdentifier \"consts\",JSOperator JSLiteral \"+=\",JSStringLiteral '\"' \", \"],JSLiteral \";\"]) ([]),JSVariables JSLiteral \"var\" [JSVarDecl (JSIdentifier \"t\") [JSLiteral \"=\",JSMemberSquare [JSIdentifier \"tokens\"] (JSExpression [JSIdentifier \"i\"])]],JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcIf1) caseMinIf1 = testMinify "if(i>0)consts+=\", \";var t=tokens[i]" srcIf1 srcIf2 = "if (getValue)\n execute;\nelse {\n execute;\n}" caseIf2 = "Right (JSSourceElementsTop [JSIf (JSExpression [JSIdentifier \"getValue\"]) ([JSExpression [JSIdentifier \"execute\"],JSLiteral \";\"]) ([JSLiteral \"else\",JSBlock ([JSExpression [JSIdentifier \"execute\"],JSLiteral \";\"])]),JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcIf2) caseMinIf2 = testMinify "if(getValue){execute}else execute" srcIf2 srcIf3 = "if(getValue){execute}else execute" caseIf3 = "Right (JSSourceElementsTop [JSIf (JSExpression [JSIdentifier \"getValue\"]) ([JSExpression [JSIdentifier \"execute\"],JSLiteral \";\"]) ([JSLiteral \"else\",JSBlock ([JSExpression [JSIdentifier \"execute\"],JSLiteral \";\"])]),JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcIf2) caseMinIf3 = testMinify "if(getValue){execute}else execute" srcIf3 srcBootstrapDropdown = "clearMenus()\n!isActive && $parent.toggleClass('open')" caseBootstrapDropdown = "Right (JSSourceElementsTop [JSExpression [JSIdentifier \"clearMenus\",JSArguments []],JSExpression [JSExpressionBinary \"&&\" [JSUnary \"!\",JSIdentifier \"isActive\"] [JSMemberDot [JSIdentifier \"$parent\"] (JSIdentifier \"toggleClass\"),JSArguments [JSStringLiteral '\\'' \"open\"]]],JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcBootstrapDropdown) caseMinBootstrapDropdown = testMinify "clearMenus();!isActive&&$parent.toggleClass('open')" srcBootstrapDropdown srcIssue8 = "(function(){new nicEditor({fullPanel:true}).panelInstance('h4')})();" caseIssue8 = "Right (JSSourceElementsTop [JSExpression [JSExpressionParen (JSExpression [JSFunctionExpression [] [] (JSBlock ([JSExpression [JSMemberDot [JSLiteral \"new\",JSIdentifier \"nicEditor\",JSArguments [JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"fullPanel\") [JSLiteral \"true\"]]]] (JSIdentifier \"panelInstance\"),JSArguments [JSStringLiteral '\\'' \"h4\"]]]))]),JSArguments []],JSLiteral \";\",JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcIssue8) caseMinIssue8 = testMinify "(function(){new nicEditor({fullPanel:true}).panelInstance('h4')})()" srcIssue8 srcIssue9 = "var x = [new friend(5)];" caseIssue9 = "Right (JSSourceElementsTop [JSVariables JSLiteral \"var\" [JSVarDecl (JSIdentifier \"x\") [JSLiteral \"=\",JSArrayLiteral [JSLiteral \"new\",JSIdentifier \"friend\",JSArguments [JSDecimal \"5\"]]]],JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcIssue9) caseMinIssue9 = testMinify "var x=[new friend(5)]" srcIssue9 srcIssue14 = "var settings = {start : new Date(2012, 01, 27)};" caseIssue14 = "Right (JSSourceElementsTop [JSVariables JSLiteral \"var\" [JSVarDecl (JSIdentifier \"settings\") [JSLiteral \"=\",JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"start\") [JSLiteral \"new\",JSIdentifier \"Date\",JSArguments [JSDecimal \"2012\",JSLiteral \",\",JSOctal \"01\",JSLiteral \",\",JSDecimal \"27\"]]]]],JSLiteral \"\"])" @=? showStrippedMaybe (parseProgram srcIssue14) caseMinIssue14 = testMinify "var settings={start:new Date(2012,01,27)}" srcIssue14 -- --------------------------------------------------------------------- -- utilities testMinify expected src = LB.fromChunks [E.encodeUtf8 (T.pack expected)] @=? minify (LB.fromChunks [E.encodeUtf8 (T.pack src)]) testFile :: FilePath -> IO () testFile filename = do x <- readFile filename let x' = trim x testMinify x' x' testFileUnminified :: FilePath -> IO () testFileUnminified filename = do x <- readFile ("./test/pminified/" ++ filename) y <- readFile ("./test/parsingonly/" ++ filename) let x' = trim x testMinify x' y trim :: String -> String trim = let f = reverse . dropWhile isSpace in f . f -- For language-javascript parseProgram src = parse src "src" hjsmin-0.1.5.1/TODO.txt0000644000000000000000000000425112567172013012646 0ustar0000000000000000Testing: The following Lint has a strict parser http://www.javascriptlint.com/online_lint.php This one does not http://www.jslint.com/ --- Language reference https://developer.mozilla.org/en/JavaScript/Reference http://msdn.microsoft.com/en-us/library/ttyab5c8.aspx --- Look at http://dean.edwards.name/download/#packer http://code.google.com/p/minify/ Examples of parsers JSon parser in Parsec http://snippets.dzone.com/posts/show/3660 GOLD Parser, using the Javascript.grm from http://www.devincook.com/GOLDParser/grammars/index.htm http://oss.org.cn/ossdocs/web/js/js20/formal/parser-grammar.html ------------------------- - Generate output using standard pretty print library, so it can be used with various backends - Sort out semicolon insertion, as per http://oss.org.cn/ossdocs/web/js/js20/rationale/syntax.html Also: http://inimino.org/~inimino/blog/javascript_semicolons Grammatical Semicolon Insertion Semicolons before a closing } and the end of the program are optional in both JavaScript 1.5 and 2.0. In addition, the JavaScript 2.0 parser allows semicolons to be omitted before the else of an if-else statement and before the while of a do-while statement. Line-Break Semicolon Insertion If the first through the nth tokens of a JavaScript program form are grammatically valid but the first through the n+1st tokens are not and there is a line break between the nth tokens and the n+1st tokens, then the parser tries to parse the program again after inserting a VirtualSemicolon token between the nth and the n+1st tokens. - remove un-needed semicolons in pretty printer - put in tests for all cases of elementList -- Look at "in" keyword, as used : if (x in list) {} ------------ Integrating language-haskell. ----------------------------- Baseline before starting, on my laptop (intel Core2 Duo SU7300) $ time ./dist/build/runtests/runtests real 0m1.625s user 0m1.616s sys 0m0.016s Baseline 2010-12-20, after getting all tests to pass at last real 0m0.209s user 0m0.196s sys 0m0.004s After working in unicode, in language-javascript-0.0.3 [2010-12-28] real 0m0.236s user 0m0.224s sys 0m0.012s EOF hjsmin-0.1.5.1/LICENSE0000644000000000000000000000276512567172013012355 0ustar0000000000000000Copyright (c)2010, Alan Zimmerman All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Alan Zimmerman nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. hjsmin-0.1.5.1/Readme.md0000644000000000000000000000415512567172013013062 0ustar0000000000000000hjsmin ====== [![Build Status](https://secure.travis-ci.org/erikd/hjsmin.png?branch=master)](http://travis-ci.org/erikd/hjsmin) Haskell implementation of a javascript minifier It is intended to be used in conjunction with Hamlet, part of Yesod. As such, much of the structure of the package is shamelessly copied from Hamlet. See http://github.com/snoyberg/hamlet How to build ------------ Library: cabal clean && cabal configure && cabal build Tests: cabal clean && cabal configure --enable-tests && cabal build Running the tests dist/build/test-hjsmin/test-hjsmin Changes ------- 0.1.5.1 - fix if/else/if minify issue 0.1.5.0 - fix tests to work with language-javascript >= 0.5.14 0.1.4.7 - remove upper bounds in cabal file 0.1.4.6 - relax upper bound in optparse-applicative 0.1.4.5 - relax upper bound in text to support 1.1 - introduce CLI wrapper for minifying files from the commandline, courtesy of @CodeBlock 0.1.4.4 - relax upper bound in text to support 1.0 0.1.4.3 - make sure all missing cases are covered 0.1.4.2 - minify octal literals too 0.1.4.1 - Bump upper bound for containers to < 0.6 for the tests as well as the library 0.1.4 - Include test assets in cabal to allow cabal test to pass. Courtesy of @snoyberg 0.1.3 - Update version ranges for GHC 7.6.1, courtesy of @mietek 0.1.2 - More general fix to the space after 'new' keyword, for issue #8 & #9 0.1.1 - Fixed problem with missing space after 'new' keyword, in issue #8. 0.1.0 - Major update to work with language-javascript 0.5.1. All changes should be internal. Update of build process to make use of Cabal testing support, and Travis CI. 0.0.15 - Fix GHC 7.4.1 compile compatibility. Patch accepted from github.com/luite 0.0.14 - Allow unicode characters in comments 0.0.13 - Error in parsing numbers with zeros before decimal point 0.0.12 - Worked in Michael Snoyman's fix for unicode output 0.0.11 - Worked in language-javascript 0.4.*, with source locations in the AST Worked in processing of property get/set in object literals 0.0.10 - Removed attoparsec dependency and historical Parse/Token hjsmin-0.1.5.1/test/0000755000000000000000000000000012567172013012315 5ustar0000000000000000hjsmin-0.1.5.1/test/pminified/0000755000000000000000000000000012567172013014261 5ustar0000000000000000hjsmin-0.1.5.1/test/pminified/130_htojs.js0000644000000000000000000026322112567172013016337 0ustar0000000000000000var conIdx={},funIdx={},strIdx={};Number.prototype._c=function(){return this};Number.prototype._r=false;Number.prototype._chr=false;Boolean.prototype._c=function(){return new HSData(this.valueOf()?true:false,[])};Boolean.prototype._r=true;String.prototype._c=function(){var cmeth=this._c;this._c=function(){throw ("B '"+this+"' blackhole: thunk reentered")};try{var res=consStr(this);this._r=true;this._c=function(){return res};return res}catch(e){this._c=cmeth;throw (e)}};String.prototype._r=true;Array.prototype._c=function(){var cmeth=this._c;this._c=function(){throw ("B ["+this.toString()+"] blackhole: thunk reentered")};try{var res=consArr(this);this._r=true;this._c=function(){return res};return res}catch(e){this._c=cmeth;throw (e)}};Array.prototype._r=true;Array.prototype._toArray=function(){return this};var consStr=function(s){if(s.length==0){return new HSEOL()}else{var hdc=mkChar(s.charCodeAt(0));return new HSCons(hdc,s.length>1?s.substring(1):consStr(""))}},consArr=function(ar){if(ar.length==0){return new HSEOL()}else return new HSCons(ar[0],ar.length>1?ar.slice(1):consArr([]))} function mkChar(c){var n=new Number(c);n._chr=true;return n} function HSCons(head,tail){this._r=false;this._c=function(){return this};this._t=conIdx['Prelude.:'];this._f=[head,tail]};HSCons.prototype.toString=function(){var evhead=exprEval(this._f[0]);if(evhead._chr==true){return(String.fromCharCode(evhead)+(exprEval(this._f[1])).toString())}else return this._toArray().toString()};HSCons.prototype._toArray=function(){return[exprEval(this._f[0])].concat(exprEval(this._f[1])._toArray())} function HSEOL(){this._r=false;this._c=function(){return this};this._t=conIdx['Prelude.[]'];this._f=[];this.toString=function(){return""};this._toArray=function(){return[]}} function HSFun(name,arity,body){this._n=name;this._r=(arity==0);this._x=arity;this._d=this;this._y=0;this._u=null;this._b=body};HSFun.prototype._c=function(){if(!this._r)return this;var cmeth=this._c;this._c=function(){throw ("B "+this._n+" blackhole: thunk reentered")};try{var res=this._b();this._c=function(){return res};return res}catch(e){this._c=cmeth;throw (e)}};HSFun.prototype._ap=function(targs){if(targs.length==0)return this;return new HSDly(this,this,targs)} function HSDly(fun,up,targs){this._a=targs;this._n=fun._n;this._d=fun;this._u=up;this._y=targs.length+up._y;this._r=(this._y>=fun._x)};HSDly.prototype._c=function(){if(!this._r)return this;var cmeth=this._c;this._c=function(){throw ("B "+this._n+" blackhole: thunk reentered")};var cargs=this._a,stack=this._u;for(;stack._u;stack=stack._u)cargs=stack._a.concat(cargs);var res;try{if(cargs.length==this._d._x){res=this._d._b.apply(this._d,cargs);this._u=null;this._c=function(){return res}}else{var evd;if(this._d._x==0){evd=exprEval(this._d);this._a=cargs}else{var feed=cargs.slice(0,this._d._x),over=cargs.slice(this._d._x);evd=exprEval(this._d._ap(feed));this._a=over};this._n=evd._n;this._d=evd._d;this._u=evd;this._y=this._a.length+evd._y;this._r=(this._y>=this._d._x);res=this;this._c=cmeth};return res}catch(e){this._c=cmeth;throw (e)}};HSDly.prototype._ap=function(targs){if(targs.length==0)return this;return new HSDly(this._d,this,targs)} function HSData(con,arrs){this._r=false;this._c=function(){return this};this._t=con;this._f=arrs} function exprEval(e){for(var ex=e;ex!=undefined&&ex._r;ex=ex._c());return ex} function cbrApply(func,thisp,args){if(func.apply){return func.apply(thisp,args)}else{var s="func(";for(var i=0;i>";strIdx.F_bp="Echo.Prelude.Monad.Echo.JS.>>=";strIdx.F_bq="Echo.Prelude.Monad.Echo.JS.fail";strIdx.F_br="Echo.Prelude.Monad.Echo.JS.return";strIdx.F_c="Data.Char.Data.Char.Prelude.244.prefix";strIdx.F_c0="Prelude.Prelude.Enum.Prelude.Integer.enumFromThen";strIdx.F_c1="Prelude.Prelude.Enum.Prelude.Integer.enumFromThenTo";strIdx.F_c2="Prelude.Prelude.Enum.Prelude.Integer.enumFromTo";strIdx.F_c3="Prelude.Prelude.Enum.Prelude.Integer.fromEnum";strIdx.F_c4="Prelude.Prelude.Enum.Prelude.Integer.pred";strIdx.F_c5="Prelude.Prelude.Enum.Prelude.Integer.succ";strIdx.F_c6="Prelude.Prelude.Enum.Prelude.Integer.toEnum";strIdx.F_c7="Prelude.Prelude.Enum.Prelude.Ordering.fromEnum";strIdx.F_c8="Prelude.Prelude.Eq.Prelude.Char";strIdx.F_c9="Prelude.Prelude.Eq.Prelude.Char./=";strIdx.F_cA="Numeric.showIntAtBase";strIdx.F_cB="Numeric.showSigned";strIdx.F_cC="Prelude.$";strIdx.F_cD="Prelude.&&";strIdx.F_cE="Prelude.*";strIdx.F_cF="Prelude.+";strIdx.F_cG="Prelude.++";strIdx.F_cH="Prelude.-";strIdx.F_cI="Prelude..";strIdx.F_cJ="Prelude.<";strIdx.F_cK="Prelude.<=";strIdx.F_cL="Prelude.==";strIdx.F_cM="Prelude.>";strIdx.F_cN="Prelude.>=";strIdx.F_cO="Prelude.Prelude.Enum.Prelude.Char.fromEnum";strIdx.F_cP="Prelude.Prelude.Enum.Prelude.Int";strIdx.F_cQ="Prelude.Prelude.Enum.Prelude.Int.enumFrom";strIdx.F_cR="Prelude.Prelude.Enum.Prelude.Int.enumFromThen";strIdx.F_cS="Prelude.Prelude.Enum.Prelude.Int.enumFromThenTo";strIdx.F_cT="Prelude.Prelude.Enum.Prelude.Int.enumFromTo";strIdx.F_cU="Prelude.Prelude.Enum.Prelude.Int.fromEnum";strIdx.F_cV="Prelude.Prelude.Enum.Prelude.Int.pred";strIdx.F_cW="Prelude.Prelude.Enum.Prelude.Int.succ";strIdx.F_cX="Prelude.Prelude.Enum.Prelude.Int.toEnum";strIdx.F_cY="Prelude.Prelude.Enum.Prelude.Integer";strIdx.F_cZ="Prelude.Prelude.Enum.Prelude.Integer.enumFrom";strIdx.F_ca="Echo._LAMBDA650";strIdx.F_cb="Echo._LAMBDA651";strIdx.F_cc="Echo.asInt";strIdx.F_cd="Echo.asString";strIdx.F_ce="Echo.catchJS";strIdx.F_cf="Echo.getDocument";strIdx.F_cg="Echo.getProperty";strIdx.F_ch="Echo.getTime";strIdx.F_ci="Echo.inkey";strIdx.F_cj="Echo.main";strIdx.F_ck="Echo.regEventHandler";strIdx.F_cl="Echo.runMethod";strIdx.F_cm="Echo.setProperty";strIdx.F_cn="Numeric.Numeric.Prelude.413.read'";strIdx.F_co="Numeric.Numeric.Prelude.414.read''";strIdx.F_cq="Numeric._LAMBDA2002";strIdx.F_cr="Numeric._LAMBDA2003";strIdx.F_ct="Numeric._LAMBDA2057";strIdx.F_cu="Numeric._LAMBDA2058";strIdx.F_cv="Numeric._LAMBDA2059";strIdx.F_cw="Numeric._LAMBDA2060";strIdx.F_cx="Numeric.lexDigits";strIdx.F_cy="Numeric.readSigned";strIdx.F_cz="Numeric.showInt";strIdx.F_d="Data.Char.Data.Char.Prelude.245.lexEsc";strIdx.F_d0="Prelude.Prelude.Ord.Prelude.Char.compare";strIdx.F_d1="Prelude.Prelude.Ord.Prelude.Char.max";strIdx.F_d2="Prelude.Prelude.Ord.Prelude.Char.min";strIdx.F_d3="Prelude.Prelude.Ord.Prelude.Eq";strIdx.F_d4="Prelude.Prelude.Ord.Prelude.Int";strIdx.F_d5="Prelude.Prelude.Ord.Prelude.Int.<";strIdx.F_d6="Prelude.Prelude.Ord.Prelude.Int.<=";strIdx.F_d7="Prelude.Prelude.Ord.Prelude.Int.>";strIdx.F_d8="Prelude.Prelude.Ord.Prelude.Int.>=";strIdx.F_d9="Prelude.Prelude.Ord.Prelude.Int.compare";strIdx.F_dA="Prelude.Prelude.Integral.Prelude.Integer.quotRem";strIdx.F_dB="Prelude.Prelude.Integral.Prelude.Integer.rem";strIdx.F_dC="Prelude.Prelude.Integral.Prelude.Integer.toInteger";strIdx.F_dD="Prelude.Prelude.Integral.Prelude.Real";strIdx.F_dE="Prelude.Prelude.Num.Prelude.Eq";strIdx.F_dF="Prelude.Prelude.Num.Prelude.Int";strIdx.F_dG="Prelude.Prelude.Num.Prelude.Int.*";strIdx.F_dH="Prelude.Prelude.Num.Prelude.Int.+";strIdx.F_dI="Prelude.Prelude.Num.Prelude.Int.-";strIdx.F_dJ="Prelude.Prelude.Num.Prelude.Int.abs";strIdx.F_dK="Prelude.Prelude.Num.Prelude.Int.fromInteger";strIdx.F_dL="Prelude.Prelude.Num.Prelude.Int.negate";strIdx.F_dM="Prelude.Prelude.Num.Prelude.Int.signum";strIdx.F_dN="Prelude.Prelude.Num.Prelude.Integer";strIdx.F_dO="Prelude.Prelude.Num.Prelude.Integer.*";strIdx.F_dP="Prelude.Prelude.Num.Prelude.Integer.+";strIdx.F_dQ="Prelude.Prelude.Num.Prelude.Integer.-";strIdx.F_dR="Prelude.Prelude.Num.Prelude.Integer.abs";strIdx.F_dS="Prelude.Prelude.Num.Prelude.Integer.fromInteger";strIdx.F_dT="Prelude.Prelude.Num.Prelude.Integer.negate";strIdx.F_dU="Prelude.Prelude.Num.Prelude.Integer.signum";strIdx.F_dV="Prelude.Prelude.Ord.Prelude.Char";strIdx.F_dW="Prelude.Prelude.Ord.Prelude.Char.<";strIdx.F_dX="Prelude.Prelude.Ord.Prelude.Char.<=";strIdx.F_dY="Prelude.Prelude.Ord.Prelude.Char.>";strIdx.F_dZ="Prelude.Prelude.Ord.Prelude.Char.>=";strIdx.F_da="Prelude.Prelude.Eq.Prelude.Char.==";strIdx.F_db="Prelude.Prelude.Eq.Prelude.Int";strIdx.F_dc="Prelude.Prelude.Eq.Prelude.Int./=";strIdx.F_dd="Prelude.Prelude.Eq.Prelude.Int.==";strIdx.F_de="Prelude.Prelude.Eq.Prelude.Integer";strIdx.F_df="Prelude.Prelude.Eq.Prelude.Integer./=";strIdx.F_dg="Prelude.Prelude.Eq.Prelude.Integer.==";strIdx.F_dh="Prelude.Prelude.Eq.Prelude.Ordering";strIdx.F_di="Prelude.Prelude.Eq.Prelude.Ordering./=";strIdx.F_dj="Prelude.Prelude.Eq.Prelude.Ordering.==";strIdx.F_dk="Prelude.Prelude.Eq.Prelude.[]";strIdx.F_dl="Prelude.Prelude.Eq.Prelude.[]./=";strIdx.F_dm="Prelude.Prelude.Eq.Prelude.[].==";strIdx.F_dn="Prelude.Prelude.Integral.Prelude.Int";strIdx.F_do="Prelude.Prelude.Integral.Prelude.Int.div";strIdx.F_dp="Prelude.Prelude.Integral.Prelude.Int.divMod";strIdx.F_dq="Prelude.Prelude.Integral.Prelude.Int.mod";strIdx.F_dr="Prelude.Prelude.Integral.Prelude.Int.quot";strIdx.F_ds="Prelude.Prelude.Integral.Prelude.Int.quotRem";strIdx.F_dt="Prelude.Prelude.Integral.Prelude.Int.rem";strIdx.F_du="Prelude.Prelude.Integral.Prelude.Int.toInteger";strIdx.F_dv="Prelude.Prelude.Integral.Prelude.Integer";strIdx.F_dw="Prelude.Prelude.Integral.Prelude.Integer.div";strIdx.F_dx="Prelude.Prelude.Integral.Prelude.Integer.divMod";strIdx.F_dy="Prelude.Prelude.Integral.Prelude.Integer.mod";strIdx.F_dz="Prelude.Prelude.Integral.Prelude.Integer.quot";strIdx.F_e="Data.Char.Data.Char.Prelude.246.match";strIdx.F_e0="Prelude.Prelude._.divMod";strIdx.F_e1="Prelude.Prelude._.enumFromThenTo";strIdx.F_e2="Prelude.Prelude._.enumFromTo";strIdx.F_e3="Prelude.Prelude._.fail";strIdx.F_e4="Prelude.Prelude._.max";strIdx.F_e5="Prelude.Prelude._.min";strIdx.F_e6="Prelude.Prelude._.pred";strIdx.F_e7="Prelude.Prelude._.readList";strIdx.F_e8="Prelude.Prelude._.show";strIdx.F_e9="Prelude.Prelude._.showList";strIdx.F_eA="Prelude.Prelude.Read.Prelude.Int";strIdx.F_eB="Prelude.Prelude.Read.Prelude.Int.readList";strIdx.F_eC="Prelude.Prelude.Read.Prelude.Int.readsPrec";strIdx.F_eD="Prelude.Prelude.Read.Prelude.Integer.readsPrec";strIdx.F_eE="Prelude.Prelude.Real.Prelude.Int";strIdx.F_eF="Prelude.Prelude.Real.Prelude.Int.toRational";strIdx.F_eG="Prelude.Prelude.Real.Prelude.Integer";strIdx.F_eH="Prelude.Prelude.Real.Prelude.Integer.toRational";strIdx.F_eI="Prelude.Prelude.Real.Prelude.Num";strIdx.F_eJ="Prelude.Prelude.Real.Prelude.Ord";strIdx.F_eK="Prelude.Prelude.Show.Prelude.Int";strIdx.F_eL="Prelude.Prelude.Show.Prelude.Int.show";strIdx.F_eM="Prelude.Prelude.Show.Prelude.Int.showList";strIdx.F_eN="Prelude.Prelude.Show.Prelude.Int.showsPrec";strIdx.F_eO="Prelude.Prelude.Show.Prelude.Int.showsType";strIdx.F_eP="Prelude.Prelude.Show.Prelude.Integer";strIdx.F_eQ="Prelude.Prelude.Show.Prelude.Integer.show";strIdx.F_eR="Prelude.Prelude.Show.Prelude.Integer.showList";strIdx.F_eS="Prelude.Prelude.Show.Prelude.Integer.showsPrec";strIdx.F_eT="Prelude.Prelude.Show.Prelude.Integer.showsType";strIdx.F_eU="Prelude.Prelude._./=";strIdx.F_eV="Prelude.Prelude._.<";strIdx.F_eW="Prelude.Prelude._.>";strIdx.F_eX="Prelude.Prelude._.>=";strIdx.F_eY="Prelude.Prelude._.compare";strIdx.F_eZ="Prelude.Prelude._.div";strIdx.F_ea="Prelude.Prelude.Ord.Prelude.Int.max";strIdx.F_eb="Prelude.Prelude.Ord.Prelude.Int.min";strIdx.F_ec="Prelude.Prelude.Ord.Prelude.Integer";strIdx.F_ed="Prelude.Prelude.Ord.Prelude.Integer.<";strIdx.F_ee="Prelude.Prelude.Ord.Prelude.Integer.<=";strIdx.F_ef="Prelude.Prelude.Ord.Prelude.Integer.>";strIdx.F_eg="Prelude.Prelude.Ord.Prelude.Integer.>=";strIdx.F_eh="Prelude.Prelude.Ord.Prelude.Integer.compare";strIdx.F_ei="Prelude.Prelude.Ord.Prelude.Integer.max";strIdx.F_ej="Prelude.Prelude.Ord.Prelude.Integer.min";strIdx.F_ek="Prelude.Prelude.Prelude.1812.lexString";strIdx.F_el="Prelude.Prelude.Prelude.1813.lexStrItem";strIdx.F_em="Prelude.Prelude.Prelude.1837.isSingle";strIdx.F_en="Prelude.Prelude.Prelude.1838.isSym";strIdx.F_eo="Prelude.Prelude.Prelude.1839.isIdInit";strIdx.F_ep="Prelude.Prelude.Prelude.1840.isIdChar";strIdx.F_eq="Prelude.Prelude.Prelude.1841.lexFracExp";strIdx.F_er="Prelude.Prelude.Prelude.1842.lexExp";strIdx.F_es="Prelude.Prelude.Prelude.1899.optional";strIdx.F_et="Prelude.Prelude.Prelude.1900.mandatory";strIdx.F_eu="Prelude.Prelude.Prelude.1937.gcd'";strIdx.F_ev="Prelude.Prelude.Prelude.535.readl";strIdx.F_ew="Prelude.Prelude.Prelude.536.readl'";strIdx.F_ex="Prelude.Prelude.Prelude.580.showl";strIdx.F_ey="Prelude.Prelude.Prelude.890.ll";strIdx.F_ez="Prelude.Prelude.Prelude.Read.Prelude.Int.readsPrec'Id 3510";strIdx.F_f1="Prelude._LAMBDA27500";strIdx.F_f2="Prelude._LAMBDA27501";strIdx.F_f6="Prelude._LAMBDA27620";strIdx.F_f7="Prelude._LAMBDA27621";strIdx.F_f8="Prelude._LAMBDA27631";strIdx.F_f9="Prelude._LAMBDA27632";strIdx.F_fA="Prelude._LAMBDA26955";strIdx.F_fE="Prelude._LAMBDA26959";strIdx.F_fF="Prelude._LAMBDA26960";strIdx.F_fG="Prelude._LAMBDA26961";strIdx.F_fH="Prelude._LAMBDA26962";strIdx.F_fJ="Prelude._LAMBDA26964";strIdx.F_fK="Prelude._LAMBDA26965";strIdx.F_fL="Prelude._LAMBDA26966";strIdx.F_fM="Prelude._LAMBDA26999";strIdx.F_fN="Prelude._LAMBDA27000";strIdx.F_fO="Prelude._LAMBDA27001";strIdx.F_fP="Prelude._LAMBDA27002";strIdx.F_fQ="Prelude._LAMBDA27003";strIdx.F_fR="Prelude._LAMBDA27004";strIdx.F_fS="Prelude._LAMBDA27005";strIdx.F_fT="Prelude._LAMBDA27006";strIdx.F_fU="Prelude._LAMBDA27007";strIdx.F_fV="Prelude._LAMBDA27008";strIdx.F_fW="Prelude._LAMBDA27246";strIdx.F_fa="Prelude.Prelude._.succ";strIdx.F_fc="Prelude._LAMBDA26931";strIdx.F_fd="Prelude._LAMBDA26932";strIdx.F_fe="Prelude._LAMBDA26933";strIdx.F_fk="Prelude._LAMBDA26939";strIdx.F_fm="Prelude._LAMBDA26941";strIdx.F_fn="Prelude._LAMBDA26942";strIdx.F_fo="Prelude._LAMBDA26943";strIdx.F_fr="Prelude._LAMBDA26946";strIdx.F_fs="Prelude._LAMBDA26947";strIdx.F_fv="Prelude._LAMBDA26950";strIdx.F_fw="Prelude._LAMBDA26951";strIdx.F_fx="Prelude._LAMBDA26952";strIdx.F_fz="Prelude._LAMBDA26954";strIdx.F_g0="Prelude.toInteger";strIdx.F_g1="Prelude.||";strIdx.F_g2="Roman.Roman.Prelude.221.k";strIdx.F_g3="Roman.Roman.Prelude.228.length";strIdx.F_g4="Roman._LAMBDA480";strIdx.F_g5="Roman._LAMBDA481";strIdx.F_g9="Roman.fromNumeral";strIdx.F_gA="Prelude.lookup";strIdx.F_gB="Prelude.map";strIdx.F_gC="Prelude.negate";strIdx.F_gD="Prelude.not";strIdx.F_gE="Prelude.or";strIdx.F_gF="Prelude.otherwise";strIdx.F_gG="Prelude.quot";strIdx.F_gH="Prelude.quotRem";strIdx.F_gI="Prelude.read";strIdx.F_gJ="Prelude.readParen";strIdx.F_gK="Prelude.reads";strIdx.F_gL="Prelude.readsPrec";strIdx.F_gM="Prelude.rem";strIdx.F_gN="Prelude.return";strIdx.F_gO="Prelude.reverse";strIdx.F_gP="Prelude.seq";strIdx.F_gQ="Prelude.show";strIdx.F_gR="Prelude.showChar";strIdx.F_gS="Prelude.showParen";strIdx.F_gT="Prelude.showString";strIdx.F_gU="Prelude.showsPrec";strIdx.F_gV="Prelude.signum";strIdx.F_gW="Prelude.snd";strIdx.F_gX="Prelude.span";strIdx.F_gY="Prelude.subtract";strIdx.F_gZ="Prelude.toEnum";strIdx.F_gb="Prelude._LAMBDA27663";strIdx.F_gd="Prelude._enumFromToDecC";strIdx.F_ge="Prelude._enumFromToIncC";strIdx.F_gf="Prelude._filter";strIdx.F_gg="Prelude._foldr";strIdx.F_gh="Prelude.abs";strIdx.F_gi="Prelude.any";strIdx.F_gj="Prelude.compare";strIdx.F_gk="Prelude.divMod";strIdx.F_gl="Prelude.dropWhile";strIdx.F_gm="Prelude.elem";strIdx.F_gn="Prelude.error";strIdx.F_go="Prelude.flip";strIdx.F_gp="Prelude.foldl";strIdx.F_gq="Prelude.foldl1";strIdx.F_gr="Prelude.foldr";strIdx.F_gs="Prelude.fromEnum";strIdx.F_gt="Prelude.fromInteger";strIdx.F_gu="Prelude.fromIntegral";strIdx.F_gv="Prelude.fst";strIdx.F_gw="Prelude.gcd";strIdx.F_gx="Prelude.id";strIdx.F_gy="Prelude.length";strIdx.F_gz="Prelude.lex";strIdx.F_hC="YHC.Primitive.primIntAbs";strIdx.F_hD="YHC.Primitive.primIntFromInteger";strIdx.F_hE="YHC.Primitive.primIntSignum";strIdx.F_hF="YHC.Primitive.primIntegerAdd";strIdx.F_hG="YHC.Primitive.primIntegerEq";strIdx.F_hH="YHC.Primitive.primIntegerFromInt";strIdx.F_hI="YHC.Primitive.primIntegerGe";strIdx.F_hJ="YHC.Primitive.primIntegerGt";strIdx.F_hK="YHC.Primitive.primIntegerLe";strIdx.F_hL="YHC.Primitive.primIntegerLt";strIdx.F_hM="YHC.Primitive.primIntegerMul";strIdx.F_hN="YHC.Primitive.primIntegerNe";strIdx.F_hO="YHC.Primitive.primIntegerNeg";strIdx.F_hP="YHC.Primitive.primIntegerQuot";strIdx.F_hQ="YHC.Primitive.primIntegerQuotRem";strIdx.F_hR="YHC.Primitive.primIntegerRem";strIdx.F_hS="YHC.Primitive.primIntegerSub";strIdx.F_ha="Roman.fromRoman";strIdx.F_hb="Roman.maxmunch";strIdx.F_hc="Roman.numerals";strIdx.F_hd="Roman.subnums";strIdx.F_he="Roman.toNumeral";strIdx.F_hf="Roman.toRoman";strIdx.F_hg="StdOverlay.StdOverlay.Prelude.255.showInt";strIdx.F_hh="StdOverlay.StdOverlay.Prelude.256.showPosInt";strIdx.F_m="Data.Char._LAMBDA1026";strIdx.F_n="Data.Char._LAMBDA1027";var F_b=new HSFun("F_b",3,function(_lJ,_lK,_lL){var c1=exprEval(_lK);switch((c1)._t){case true:return _lL;case false:return((exprEval(_lJ))._f[3])._ap([new HSData((-6),[])])};throw ('X ('+this._n+') '+c1.toSource())}),F_c=new HSFun("F_c",2,function(_lZ,_l0){var c2=exprEval(_l0);return function(_l1,_l2){return new HSData((-7),[new HSCons(_lZ,_l1),_l2])}((c2)._f[0],(c2)._f[1])}),F_d=new HSFun("F_d",1,function(_l3){var c3=exprEval(_l3);switch((c3)._t){case 3:return function(_l4,_l5){var c4=exprEval(((F_gm)._b(F_c8,_l4))._ap([F_l]));switch((c4)._t){case true:return new HSCons(new HSData((-7),[new HSCons(_l4,new HSEOL()),_l5]),new HSEOL());case false:var c5=exprEval(_l4);switch((c5).valueOf()){case 94:var c6=exprEval(_l5);switch((c6)._t){case 3:return function(_l6,_l7){var c7=exprEval((F_cD)._b((F_dZ)._b(_l6,mkChar(64)),(Number(exprEval(_l6)))<=(Number(exprEval(mkChar(95))))));switch((c7)._t){case true:return new HSCons(new HSData((-7),[new HSCons(mkChar(94),new HSCons(_l6,new HSEOL())),_l7]),new HSEOL());case false:var c8=exprEval((F_bg)._b(_l4));switch((c8)._t){case true:return new HSCons((F_gX)._b(F_bg,_l3),new HSEOL());case false:var c9=exprEval((F_0)._b(_l4));switch((c9)._t){case true:var c10=exprEval((F_gg)._b(new HSFun("F_n",0,function(){return(F_n)._ap([_l3])}),new HSCons(F_o,(F_gB)._b(F_gW,F_U)),new HSEOL()));switch((c10)._t){case 2:return new HSEOL();case 3:return function(_ma,_mb){return new HSCons(_ma,new HSEOL())}((c10)._f[0],(c10)._f[1])};throw ('X ('+this._n+') '+c10.toSource());case false:return new HSEOL()};throw ('X ('+this._n+') '+c9.toSource())};throw ('X ('+this._n+') '+c8.toSource())};throw ('X ('+this._n+') '+c7.toSource())}((c6)._f[0],(c6)._f[1]);default:var c11=exprEval((F_bg)._b(_l4));switch((c11)._t){case true:return new HSCons((F_gX)._b(F_bg,_l3),new HSEOL());case false:var c12=exprEval((F_0)._b(_l4));switch((c12)._t){case true:var c13=exprEval((F_gg)._b(new HSFun("F_n",0,function(){return(F_n)._ap([_l3])}),new HSCons(F_o,(F_gB)._b(F_gW,F_U)),new HSEOL()));switch((c13)._t){case 2:return new HSEOL();case 3:return function(_ma,_mb){return new HSCons(_ma,new HSEOL())}((c13)._f[0],(c13)._f[1])};throw ('X ('+this._n+') '+c13.toSource());case false:return new HSEOL()};throw ('X ('+this._n+') '+c12.toSource())};throw ('X ('+this._n+') '+c11.toSource())};throw ('X ('+this._n+') '+c6.toSource());case 111:return new HSCons((F_c)._ap([mkChar(111),new HSFun("F_gX",0,function(){return(F_gX)._b(F_bi,_l5)})]),new HSEOL());case 120:return new HSCons((F_c)._ap([mkChar(120),new HSFun("F_gX",0,function(){return(F_gX)._b(F_bh,_l5)})]),new HSEOL());default:var c14=exprEval((F_bg)._b(_l4));switch((c14)._t){case true:return new HSCons((F_gX)._b(F_bg,_l3),new HSEOL());case false:var c15=exprEval((F_0)._b(_l4));switch((c15)._t){case true:var c16=exprEval((F_gg)._b(new HSFun("F_n",0,function(){return(F_n)._ap([_l3])}),new HSCons(F_o,(F_gB)._b(F_gW,F_U)),new HSEOL()));switch((c16)._t){case 2:return new HSEOL();case 3:return function(_ma,_mb){return new HSCons(_ma,new HSEOL())}((c16)._f[0],(c16)._f[1])};throw ('X ('+this._n+') '+c16.toSource());case false:return new HSEOL()};throw ('X ('+this._n+') '+c15.toSource())};throw ('X ('+this._n+') '+c14.toSource())};throw ('X ('+this._n+') '+c5.toSource())};throw ('X ('+this._n+') '+c4.toSource())}((c3)._f[0],(c3)._f[1]);default:return new HSEOL()};throw ('X ('+this._n+') '+c3.toSource())}),F_e=new HSFun("F_e",3,function(_lS,_lT,_lU){var c17=exprEval(_lT);switch((c17)._t){case 3:return function(_lV,_lW){var c18=exprEval(_lU);switch((c18)._t){case 3:return function(_lX,_lY){var c19=exprEval(((exprEval(_lS))._f[1])._ap([_lV,_lX]));switch((c19)._t){case true:return(F_e)._ap([_lS,_lW,_lY]);case false:return new HSData((-7),[_lT,_lU])};throw ('X ('+this._n+') '+c19.toSource())}((c18)._f[0],(c18)._f[1]);default:return new HSData((-7),[_lT,_lU])};throw ('X ('+this._n+') '+c18.toSource())}((c17)._f[0],(c17)._f[1]);default:return new HSData((-7),[_lT,_lU])};throw ('X ('+this._n+') '+c17.toSource())}),F_f="ESC",F_g="FS",F_h="GS",F_i="RS",F_j="US",F_k="SP",F_l="abfnrtv\\\"\'",F_m=new HSFun("F_m",3,function(_hd,_io,_iH){var c20=exprEval(_io);return function(_l8,_l9){var c21=exprEval(_l8);switch((c21)._t){case 2:return new HSCons(new HSData((-7),[_hd,_l9]),_iH);default:return _iH};throw ('X ('+this._n+') '+c21.toSource())}((c20)._f[0],(c20)._f[1])}),F_n=new HSFun("F_n",3,function(_l3,_hd,_he){return(F_gg)._b(new HSFun("F_m",0,function(){return(F_m)._ap([_hd])}),new HSCons((F_e)._ap([F_c8,_hd,_l3]),new HSEOL()),_he)}),F_o="DEL",F_p=" \u0009\u000a\u000d\u000c\u000b\xa0",F_q="Char.intToDigit: not a digit",F_r="Data.Char: Pattern match failure in function at 74:1-77:62.",F_s="Data.Char: Pattern match failure in function at 275:1-276:28.",F_t="NUL",F_u="SOH",F_v="STX",F_w="ETX",F_x="EOT",F_y="ENQ",F_z="ACK",F_A="BEL",F_B="BS",F_C="HT",F_D="LF",F_E="VT",F_F="FF",F_G="CR",F_H="SO",F_I="SI",F_J="DLE",F_K="DC1",F_L="DC2",F_M="DC3",F_N="DC4",F_O="NAK",F_P="SYN",F_Q="ETB",F_R="CAN",F_S="EM",F_T="SUB",F_U=new HSFun("F_U",0,function(){return new HSCons(new HSData((-7),[mkChar(0),F_t]),new HSCons(new HSData((-7),[mkChar(1),F_u]),new HSCons(new HSData((-7),[mkChar(2),F_v]),new HSCons(new HSData((-7),[mkChar(3),F_w]),new HSCons(new HSData((-7),[mkChar(4),F_x]),new HSCons(new HSData((-7),[mkChar(5),F_y]),new HSCons(new HSData((-7),[mkChar(6),F_z]),new HSCons(new HSData((-7),[mkChar(7),F_A]),new HSCons(new HSData((-7),[mkChar(8),F_B]),new HSCons(new HSData((-7),[mkChar(9),F_C]),new HSCons(new HSData((-7),[mkChar(10),F_D]),new HSCons(new HSData((-7),[mkChar(11),F_E]),new HSCons(new HSData((-7),[mkChar(12),F_F]),new HSCons(new HSData((-7),[mkChar(13),F_G]),new HSCons(new HSData((-7),[mkChar(14),F_H]),new HSCons(new HSData((-7),[mkChar(15),F_I]),new HSCons(new HSData((-7),[mkChar(16),F_J]),new HSCons(new HSData((-7),[mkChar(17),F_K]),new HSCons(new HSData((-7),[mkChar(18),F_L]),new HSCons(new HSData((-7),[mkChar(19),F_M]),new HSCons(new HSData((-7),[mkChar(20),F_N]),new HSCons(new HSData((-7),[mkChar(21),F_O]),new HSCons(new HSData((-7),[mkChar(22),F_P]),new HSCons(new HSData((-7),[mkChar(23),F_Q]),new HSCons(new HSData((-7),[mkChar(24),F_R]),new HSCons(new HSData((-7),[mkChar(25),F_S]),new HSCons(new HSData((-7),[mkChar(26),F_T]),new HSCons(new HSData((-7),[mkChar(27),F_f]),new HSCons(new HSData((-7),[mkChar(28),F_g]),new HSCons(new HSData((-7),[mkChar(29),F_h]),new HSCons(new HSData((-7),[mkChar(30),F_i]),new HSCons(new HSData((-7),[mkChar(31),F_j]),new HSCons(new HSData((-7),[mkChar(32),F_k]),new HSEOL())))))))))))))))))))))))))))))))))}),F_V=new HSFun("F_V",1,function(_mf){var c22=exprEval((F_cD)._b((Number(exprEval(_mf)))>=(0),(Number(exprEval(_mf)))<=(9)));switch((c22)._t){case true:return(F_be)._ap([(exprEval((F_bk)._ap([mkChar(48)])))+(exprEval(_mf))]);case false:var c23=exprEval((F_cD)._b((Number(exprEval(_mf)))>=(10),(Number(exprEval(_mf)))<=(15)));switch((c23)._t){case true:return(F_be)._ap([(exprEval((exprEval((F_bk)._ap([mkChar(97)])))+(exprEval(_mf))))-(10)]);case false:var c24=exprEval(F_gF);switch((c24)._t){case true:return(F_gn)._b(F_q);case false:return(F_gn)._b(F_r)};throw ('X ('+this._n+') '+c24.toSource())};throw ('X ('+this._n+') '+c23.toSource())};throw ('X ('+this._n+') '+c22.toSource())}),F_W=new HSFun("F_W",1,function(_md){return(F_g1)._b((F_0)._b(_md),new HSFun("F_Y",0,function(){return(F_Y)._b(_md)}))}),F_X=new HSFun("F_X",1,function(_me){return(F_g1)._b((F_W)._b(_me),new HSFun("F_bg",0,function(){return(F_bg)._b(_me)}))}),F_Y=new HSFun("F_Y",1,function(_lM){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lM,mkChar(97)),(Number(exprEval(_lM)))<=(Number(exprEval(mkChar(122))))),new HSFun("F_g1",0,function(){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lM,mkChar(223)),(Number(exprEval(_lM)))<=(Number(exprEval(mkChar(246))))),new HSFun("F_cD",0,function(){return(F_cD)._b((F_dZ)._b(_lM,mkChar(248)),(Number(exprEval(_lM)))<=(Number(exprEval(mkChar(255)))))}))}))}),F_Z=new HSFun("F_Z",1,function(_mc){return((F_gm)._b(F_c8,_mc))._ap([F_p])}),F_0=new HSFun("F_0",1,function(_lO){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lO,mkChar(65)),(Number(exprEval(_lO)))<=(Number(exprEval(mkChar(90))))),new HSFun("F_g1",0,function(){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lO,mkChar(192)),(Number(exprEval(_lO)))<=(Number(exprEval(mkChar(214))))),new HSFun("F_cD",0,function(){return(F_cD)._b((F_dZ)._b(_lO,mkChar(216)),(Number(exprEval(_lO)))<=(Number(exprEval(mkChar(222)))))}))}))}),F_1=new HSFun("F_1",1,function(_lP){var c25=exprEval(_lP);switch((c25)._t){case 2:return new HSEOL();case 3:return function(_lQ,_lR){var c26=exprEval(_lQ);switch((c26).valueOf()){case 92:return(F_gB)._b((F_c)._ap([mkChar(92)]),(F_d)._ap([_lR]));default:return new HSCons(new HSData((-7),[new HSCons(_lQ,new HSEOL()),_lR]),new HSEOL())};throw ('X ('+this._n+') '+c26.toSource())}((c25)._f[0],(c25)._f[1])};throw ('X ('+this._n+') '+c25.toSource())}),F_2=new HSFun("F_2",1,function(_lN){var c27=exprEval((F_Y)._b(_lN));switch((c27)._t){case true:return(exprEval((exprEval(_lN))-(exprEval(mkChar(97)))))+(exprEval(mkChar(65)));case false:var c28=exprEval(F_gF);switch((c28)._t){case true:return _lN;case false:return(F_gn)._b(F_s)};throw ('X ('+this._n+') '+c28.toSource())};throw ('X ('+this._n+') '+c27.toSource())}),F_3="Maybe.fromJust: Nothing",F_4=new HSFun("F_4",1,function(_kg){var c29=exprEval(_kg);switch((c29)._t){case 18:return(F_gn)._b(F_3);case 16:return(c29)._f[0]};throw ('X ('+this._n+') '+c29.toSource())}),F_5=new HSFun("F_5",2,function(_kd,_ke){var c30=exprEval(_ke);switch((c30)._t){case 18:return _kd;case 16:return(c30)._f[0]};throw ('X ('+this._n+') '+c30.toSource())}),F_6=new HSFun("F_6",3,function(_I,_J,_K){return(F_8)._b(_I,((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[2])._ap([_J,((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[6])._ap([_K])]),((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[8])._ap([_K]))}),F_7="Ratio.%: zero denominator",F_8=new HSFun("F_8",3,function(_F,_G,_H){var _lf=new HSFun("_lf",0,function(){return _F}),_b=new HSFun("_b",0,function(){return(F_gw)._b(_lf,_G,_H)}),c31=exprEval(((exprEval((exprEval((exprEval((exprEval(_F))._f[0]))._f[0]))._f[0]))._f[1])._ap([_H,((exprEval((exprEval((exprEval(_F))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c31)._t){case true:return(F_gn)._b(F_7);case false:return new HSData((-4),[((exprEval(_F))._f[7])._ap([_G,_b]),((exprEval(_F))._f[7])._ap([_H,_b])])};throw ('X ('+this._n+') '+c31.toSource())}),F_9=new HSFun("F_9",2,function(_ee,_ef){var c32=exprEval(_ee);return function(_kl,_km){var c33=exprEval(_kl);switch((c33)._t){case 3:return function(_kn,_ko){return new HSCons(new HSData((-7),[_kl,_km]),_ef)}((c33)._f[0],(c33)._f[1]);default:return _ef};throw ('X ('+this._n+') '+c33.toSource())}((c32)._f[0],(c32)._f[1])}),F_ba=new HSFun("F_ba",4,function(_kp,_kq,_ec,_ed){return((exprEval((exprEval((exprEval(_kp))._f[0]))._f[0]))._f[3])._ap([((exprEval((exprEval((exprEval(_kp))._f[0]))._f[0]))._f[2])._ap([_ec,_kq]),_ed])}),F_bb=new HSFun("F_bb",5,function(_kq,_kp,_ks,_c7,_dI){var c34=exprEval(_c7);return function(_ku,_kv){return new HSCons(new HSData((-7),[new HSFun("F_gq",0,function(){return(F_gq)._b(new HSFun("F_ba",0,function(){return(F_ba)._ap([_kp,_kq])}),(F_gB)._b((F_fc)._ap([_ks,(F_gu)._b(F_dn,new HSFun("F_eI",0,function(){return(exprEval((exprEval(_kp))._f[0]))._f[0]}))]),_ku))}),_kv]),_dI)}((c34)._f[0],(c34)._f[1])}),F_bc="Char.digitToInt: not a digit",F_bd="Data._CharNumeric: Pattern match failure in function at 22:1-26:64.",F_be=new HSFun("F_be",0,function(){return F_gx}),F_bf=new HSFun("F_bf",1,function(_ky){var c35=exprEval((F_bg)._b(_ky));switch((c35)._t){case true:return(exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(48)])));case false:var c36=exprEval((F_cD)._b((F_dZ)._b(_ky,mkChar(97)),(Number(exprEval(_ky)))<=(Number(exprEval(mkChar(102))))));switch((c36)._t){case true:return(exprEval((exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(97)])))))+(10);case false:var c37=exprEval((F_cD)._b((F_dZ)._b(_ky,mkChar(65)),(Number(exprEval(_ky)))<=(Number(exprEval(mkChar(70))))));switch((c37)._t){case true:return(exprEval((exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(65)])))))+(10);case false:var c38=exprEval(F_gF);switch((c38)._t){case true:return(F_gn)._b(F_bc);case false:return(F_gn)._b(F_bd)};throw ('X ('+this._n+') '+c38.toSource())};throw ('X ('+this._n+') '+c37.toSource())};throw ('X ('+this._n+') '+c36.toSource())};throw ('X ('+this._n+') '+c35.toSource())}),F_bg=new HSFun("F_bg",1,function(_kx){return(F_cD)._b((F_dZ)._b(_kx,mkChar(48)),(Number(exprEval(_kx)))<=(Number(exprEval(mkChar(57)))))}),F_bh=new HSFun("F_bh",1,function(_kw){return(F_g1)._b((F_cD)._b((F_dZ)._b(_kw,mkChar(48)),(Number(exprEval(_kw)))<=(Number(exprEval(mkChar(57))))),new HSFun("F_g1",0,function(){return(F_g1)._b((F_cD)._b((F_dZ)._b(_kw,mkChar(65)),(Number(exprEval(_kw)))<=(Number(exprEval(mkChar(70))))),new HSFun("F_cD",0,function(){return(F_cD)._b((F_dZ)._b(_kw,mkChar(97)),(Number(exprEval(_kw)))<=(Number(exprEval(mkChar(102)))))}))}))}),F_bi=new HSFun("F_bi",1,function(_kz){return(F_cD)._b((F_dZ)._b(_kz,mkChar(48)),(Number(exprEval(_kz)))<=(Number(exprEval(mkChar(55)))))}),F_bj=new HSFun("F_bj",2,function(_kj,_kk){return(F_gg)._b(F_9,new HSCons((F_gX)._b(_kj,_kk),new HSEOL()),new HSEOL())}),F_bk=new HSFun("F_bk",0,function(){return F_gx}),F_bl=new HSFun("F_bl",1,function(_kA){return(F_bm)._ap([_kA,((exprEval((exprEval((exprEval(_kA))._f[0]))._f[0]))._f[7])._ap([10]),F_bg,F_bf])}),F_bm=new HSFun("F_bm",5,function(_kp,_kq,_kr,_ks,_kt){return(F_gg)._b(new HSFun("F_bb",0,function(){return(F_bb)._ap([_kq,_kp,_ks])}),(F_bj)._b(_kr,_kt),new HSEOL())}),F_bn=new HSFun("F_bn",0,function(){return new HSData((-9),[F_bp,F_bo,F_bq,F_br])}),F_bo=new HSFun("F_bo",2,function(_lC,_lD){var c39=exprEval(_lC);return _lD}),F_bp=new HSFun("F_bp",2,function(_lF,_lG){var c40=exprEval(_lF);return function(_lH){return(_lG)._ap([_lH])}((c40)._f[0])}),F_bq=new HSFun("F_bq",1,function(_lI){return(F_gn)._b(_lI)}),F_br=new HSFun("F_br",1,function(_lB){return(F_gP)._b(_lB,new HSData((-5),[_lB]))}),F_bs="return new HSData(conIdx[\'Echo.JS\'],[document]);",F_bt="return new HSData(conIdx[\'Echo.JS\'],[exprEval(a)[exprEval(b).toString()]]);",F_bu="exprEval(a)[exprEval(b).toString()]=exprEval(c);return new HSData(conIdx[\'Echo.JS\'],[]);",F_bv="exprEval(a)[exprEval(b).toString()]=function(e){if(!e){e=window.event;}; return exprEval(exprEval(c)._ap([e]));}; return new HSData(conIdx[\'Echo.JS\'],[]);",F_bw="return new HSData(conIdx[\'Echo.JS\'],[new Number(exprEval(a))]);",F_bx="return new HSData(conIdx[\'Echo.JS\'],[new String(exprEval(a))]);",F_by="try {return exprEval(a);} catch(_e) {return exprEval(b)._ap([_e]);}",F_bz="return new HSData(conIdx[\'Echo.JS\'],[(new Date()).getTime()]);",F_bA="var a1=exprEval(a); return new HSData(conIdx[\'Echo.JS\'],[cbrApply(a1[exprEval(b).toString()],a1,exprEval(c)._toArray())]);",F_bB="keyCode",F_bC="body",F_bD="createElement",F_bE="div",F_bF="value",F_bG="",F_bH=new HSFun("F_bH",1,function(v593){return(F_br)._b(F_bG)}),F_bI="",F_bJ=new HSFun("F_bJ",1,function(v594){return(F_br)._b(F_bI)}),F_bK=" ",F_bL=" ",F_bM=" ",F_bN=" ms",F_bO="innerHTML",F_bP="insertBefore",F_bQ="value",F_bR="",F_bS=new HSFun("F_bS",8,function(_et,_fK,_fO,_f8,_e2,_e3,_lz,_hc){var _kJ=new HSFun("_kJ",0,function(){return F_dF}),_c=new HSFun("_c",0,function(){return((exprEval(_kJ))._f[4])._ap([_hc,_et])}),_kL=new HSFun("_kL",0,function(){return F_eK}),_d=new HSFun("_d",0,function(){return(F_cG)._b(_fK,new HSFun("F_cG",0,function(){return(F_cG)._b(F_bK,new HSFun("F_cG",0,function(){return(F_cG)._b(_fO,new HSFun("F_cG",0,function(){return(F_cG)._b(F_bL,new HSFun("F_cG",0,function(){return(F_cG)._b(_f8,new HSFun("F_cG",0,function(){return(F_cG)._b(F_bM,new HSFun("F_cG",0,function(){return(F_cG)._b(((exprEval(_kL))._f[3])._ap([_c]),F_bN)}))}))}))}))}))}))});return(F_bo)._b((F_cm)._b(_e3,F_bO,_d),(F_bo)._b((F_cl)._b(_e2,F_bP,new HSCons(_e3,new HSCons(_lz,new HSEOL()))),(F_bo)._b((F_cm)._b(_lz,F_bQ,F_bR),(F_br)._b(new HSData((-6),[])))))}),F_bT=new HSFun("F_bT",7,function(_et,_fK,_fO,_e2,_e3,_lz,_f8){return(F_bp)._b((F_ch)._b(0),new HSFun("F_bS",0,function(){return(F_bS)._ap([_et,_fK,_fO,_f8,_e2,_e3,_lz])}))}),F_bU=new HSFun("F_bU",6,function(_et,_fK,_e2,_e3,_lz,_fO){return(F_bp)._b((F_ce)._b(new HSFun("F_cC",0,function(){return(F_cC)._b(F_br,new HSFun("F_hf",0,function(){return(F_hf)._b(new HSFun("F_gI",0,function(){return(F_gI)._b(F_eA,_fK)}))}))}),F_bJ),new HSFun("F_bT",0,function(){return(F_bT)._ap([_et,_fK,_fO,_e2,_e3,_lz])}))}),F_bV=new HSFun("F_bV",5,function(_et,_e2,_e3,_lz,_fK){return(F_bo)._b((F_cC)._b(new HSFun("F_b",0,function(){return(F_b)._ap([F_bn,(Number(exprEval((F_gy)._b(_fK))))>(0)])}),new HSFun("F_bp",0,function(){return(F_bp)._b((F_ce)._b(new HSFun("F_cC",0,function(){return(F_cC)._b(F_br,((F_fc)._ap([F_ha,F_eL]))._ap([_fK]))}),F_bH),new HSFun("F_bU",0,function(){return(F_bU)._ap([_et,_fK,_e2,_e3,_lz])}))})),(F_br)._b(new HSData((-6),[])))}),F_bW=new HSFun("F_bW",4,function(_et,_e2,_lz,_e3){return(F_bp)._b((F_bp)._b((F_cg)._b(_lz,F_bF),F_cd),new HSFun("F_bV",0,function(){return(F_bV)._ap([_et,_e2,_e3,_lz])}))}),F_bX=new HSFun("F_bX",4,function(_eY,_et,_lz,_e2){return(F_bp)._b((F_cl)._b(_eY,F_bD,new HSCons(F_bE,new HSEOL())),new HSFun("F_bW",0,function(){return(F_bW)._ap([_et,_e2,_lz])}))}),F_bY=new HSFun("F_bY",3,function(_et,_lz,_eY){return(F_bp)._b((F_cg)._b(_eY,F_bC),new HSFun("F_bX",0,function(){return(F_bX)._ap([_eY,_et,_lz])}))}),F_bZ=new HSFun("F_bZ",2,function(_lz,_et){return(F_bp)._b(F_cf,new HSFun("F_bY",0,function(){return(F_bY)._ap([_et,_lz])}))}),F_b0=new HSFun("F_b0",2,function(_lz,_eq){return(F_bo)._b((F_cC)._b(new HSFun("F_b",0,function(){return(F_b)._ap([F_bn,(Number(exprEval(_eq)))===(13)])}),new HSFun("F_bp",0,function(){return(F_bp)._b((F_ch)._b(0),new HSFun("F_bZ",0,function(){return(F_bZ)._ap([_lz])}))})),(F_br)._b(new HSData((-6),[])))}),F_b1="body",F_b2="createElement",F_b3="input",F_b4="id",F_b5="input-echo",F_b6="appendChild",F_b7="onkeypress",F_b8="focus",F_b9=new HSFun("F_b9",2,function(_io,_iH){return(F_bo)._b((F_cm)._b(_iH,F_b4,F_b5),(F_bo)._b((F_cl)._b(_io,F_b6,new HSCons(_iH,new HSEOL())),(F_bo)._b((F_ck)._b(_iH,F_b7,new HSFun("F_ci",0,function(){return(F_ci)._ap([_iH])})),(F_bo)._b((F_cl)._b(_iH,F_b8,new HSEOL()),(F_br)._b(new HSData((-6),[]))))))}),F_ca=new HSFun("F_ca",2,function(_ia,_io){return(F_bp)._b((F_cl)._b(_ia,F_b2,new HSCons(F_b3,new HSEOL())),new HSFun("F_b9",0,function(){return(F_b9)._ap([_io])}))}),F_cb=new HSFun("F_cb",1,function(_ia){return(F_bp)._b((F_cg)._b(_ia,F_b1),new HSFun("F_ca",0,function(){return(F_ca)._ap([_ia])}))}),F_cc=new HSFun("F_cc",1,function(a){return new HSData(conIdx['Echo.JS'],[new Number(exprEval(a))])}),F_cd=new HSFun("F_cd",1,function(a){return new HSData(conIdx['Echo.JS'],[new String(exprEval(a))])}),F_ce=new HSFun("F_ce",2,function(a,b){try{return exprEval(a)}catch(_e){return exprEval(b)._ap([_e])}}),F_cf=new HSFun("F_cf",0,function(){return new HSData(conIdx['Echo.JS'],[document])}),F_cg=new HSFun("F_cg",2,function(a,b){return new HSData(conIdx['Echo.JS'],[exprEval(a)[exprEval(b).toString()]])}),F_ch=new HSFun("F_ch",1,function(a){return new HSData(conIdx['Echo.JS'],[(new Date()).getTime()])}),F_ci=new HSFun("F_ci",2,function(_lz,_lA){return(F_bp)._b((F_bp)._b((F_cg)._b(_lA,F_bB),F_cc),new HSFun("F_b0",0,function(){return(F_b0)._ap([_lz])}))}),F_cj=new HSFun("F_cj",0,function(){return(F_bp)._b(F_cf,F_cb)}),F_ck=new HSFun("F_ck",3,function(a,b,c){exprEval(a)[exprEval(b).toString()]=function(e){if(!e)e=window.event;return exprEval(exprEval(c)._ap([e]))};return new HSData(conIdx['Echo.JS'],[])}),F_cl=new HSFun("F_cl",3,function(a,b,c){var a1=exprEval(a);return new HSData(conIdx['Echo.JS'],[cbrApply(a1[exprEval(b).toString()],a1,exprEval(c)._toArray())])}),F_cm=new HSFun("F_cm",3,function(a,b,c){exprEval(a)[exprEval(b).toString()]=exprEval(c);return new HSData(conIdx['Echo.JS'],[])}),F_cn=new HSFun("F_cn",3,function(_E,_bI,_bO){return(F_cG)._b(((F_co)._ap([_bI]))._ap([_bO]),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_cw",0,function(){return(F_cw)._ap([_E,_bI])}),(F_gz)._b(_bO),new HSEOL())}))}),F_co=new HSFun("F_co",2,function(_bI,_bJ){return(F_gg)._b(new HSFun("F_cu",0,function(){return(F_cu)._ap([_bI])}),(F_gz)._b(_bJ),new HSEOL())}),F_cp="Numeric.showIntAtBase: can\'t show negative numbers",F_cq=new HSFun("F_cq",1,function(_e){return(exprEval(_e))._f[0]}),F_cr=new HSFun("F_cr",1,function(_e){return(exprEval(_e))._f[1]}),F_cs="Numeric: Pattern match failure in function at 435:1-440:66.",F_ct=new HSFun("F_ct",3,function(_bL,_kJ,_kK){var c41=exprEval(_kJ);return function(_bM,_bN){var c42=exprEval(_bN);switch((c42)._t){case 2:return new HSCons(new HSData((-7),[_bM,_bL]),_kK);default:return _kK};throw ('X ('+this._n+') '+c42.toSource())}((c41)._f[0],(c41)._f[1])}),F_cu=new HSFun("F_cu",3,function(_bI,_kH,_kI){var c43=exprEval(_kH);return function(_bK,_bL){return(F_gg)._b(new HSFun("F_ct",0,function(){return(F_ct)._ap([_bL])}),(_bI)._ap([_bK]),_kI)}((c43)._f[0],(c43)._f[1])}),F_cv=new HSFun("F_cv",3,function(_E,_kD,_kE){var c44=exprEval(_kD);return function(_bT,_bU){return new HSCons(new HSData((-7),[((exprEval(_E))._f[5])._ap([_bT]),_bU]),_kE)}((c44)._f[0],(c44)._f[1])}),F_cw=new HSFun("F_cw",4,function(_E,_bI,_kB,_kC){var c45=exprEval(_kB);return function(_bP,_bQ){var c46=exprEval(_bP);switch((c46)._t){case 3:return function(_bR,_bS){var c47=exprEval(_bR);switch((c47).valueOf()){case 45:var c48=exprEval(_bS);switch((c48)._t){case 2:return(F_gg)._b(new HSFun("F_cv",0,function(){return(F_cv)._ap([_E])}),((F_co)._ap([_bI]))._ap([_bQ]),_kC);default:return _kC};throw ('X ('+this._n+') '+c48.toSource());default:return _kC};throw ('X ('+this._n+') '+c47.toSource())}((c46)._f[0],(c46)._f[1]);default:return _kC};throw ('X ('+this._n+') '+c46.toSource())}((c45)._f[0],(c45)._f[1])}),F_cx=new HSFun("F_cx",0,function(){return(F_bj)._ap([F_bg])}),F_cy=new HSFun("F_cy",2,function(_bH,_bI){var _E=new HSFun("_E",0,function(){return(exprEval(_bH))._f[0]});return(F_gJ)._b(false,new HSFun("F_cn",0,function(){return(F_cn)._ap([_E,_bI])}))}),F_cz=new HSFun("F_cz",1,function(_4){return(F_cA)._ap([_4,((exprEval((exprEval((exprEval(_4))._f[0]))._f[0]))._f[7])._ap([10]),F_V])}),F_cA=new HSFun("F_cA",5,function(_V,_W,_X,_Y,_Z){var c49=exprEval(((exprEval((exprEval((exprEval(_V))._f[0]))._f[1]))._f[1])._ap([_Y,((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c49)._t){case true:return(F_gn)._b(F_cp);case false:var c50=exprEval(F_gF);switch((c50)._t){case true:var _ld=new HSFun("_ld",0,function(){return _V}),_e=new HSFun("_e",0,function(){return((exprEval(_ld))._f[4])._ap([_Y,_W])}),_f=new HSFun("_f",0,function(){return(exprEval(_e))._f[0]}),_g=new HSFun("_g",0,function(){return(exprEval(_e))._f[1]}),_le=new HSFun("_le",0,function(){return _V}),_h=new HSFun("_h",0,function(){return new HSCons((_X)._ap([((F_gu)._b(_le,F_dF))._ap([_g])]),_Z)}),c51=exprEval(((exprEval((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[0]))._f[1])._ap([_f,((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c51)._t){case true:return _h;case false:return(F_cA)._b(_V,_W,_X,_f,_h)};throw ('X ('+this._n+') '+c51.toSource());case false:return(F_gn)._b(F_cs)};throw ('X ('+this._n+') '+c50.toSource())};throw ('X ('+this._n+') '+c49.toSource())}),F_cB=new HSFun("F_cB",4,function(_R,_S,_T,_U){var c52=exprEval(((exprEval((exprEval(_R))._f[1]))._f[1])._ap([_U,((exprEval((exprEval(_R))._f[0]))._f[7])._ap([0])]));switch((c52)._t){case true:return(F_gS)._b((Number(exprEval(_T)))>(6),(F_fc)._ap([(_S)._ap([((exprEval((exprEval(_R))._f[0]))._f[5])._ap([_U])]),(F_fW)._ap([mkChar(45)])]));case false:return(_S)._ap([_U])};throw ('X ('+this._n+') '+c52.toSource())}),F_cC=new HSFun("F_cC",2,function(_eK,_eL){return(_eK)._ap([_eL])}),F_cD=new HSFun("F_cD",2,function(_er,_es){var c53=exprEval(_er);switch((c53)._t){case true:return _es;case false:return false};throw ('X ('+this._n+') '+c53.toSource())}),F_cE=new HSFun("F_cE",1,function(_jC){return(exprEval(_jC))._f[2]}),F_cF=new HSFun("F_cF",1,function(_jD){return(exprEval(_jD))._f[3]}),F_cG=new HSFun("F_cG",2,function(_cp,_cq){var c54=exprEval(_cp);switch((c54)._t){case 2:return _cq;case 3:return function(_cr,_cs){return new HSCons(_cr,(F_cG)._b(_cs,_cq))}((c54)._f[0],(c54)._f[1])};throw ('X ('+this._n+') '+c54.toSource())}),F_cH=new HSFun("F_cH",1,function(_jE){return(exprEval(_jE))._f[4]}),F_cI=new HSFun("F_cI",2,function(_b9,_ca){return(F_fc)._ap([_ca,_b9])}),F_cJ=new HSFun("F_cJ",1,function(_jn){return(exprEval(_jn))._f[1]}),F_cK=new HSFun("F_cK",1,function(_jo){return(exprEval(_jo))._f[2]}),F_cL=new HSFun("F_cL",1,function(_jd){return(exprEval(_jd))._f[1]}),F_cM=new HSFun("F_cM",1,function(_jq){return(exprEval(_jq))._f[4]}),F_cN=new HSFun("F_cN",1,function(_jp){return(exprEval(_jp))._f[3]}),F_cO=new HSFun("F_cO",1,function(_f7){return _f7}),F_cP=new HSFun("F_cP",0,function(){return new HSData((-10),[F_cW,F_cV,F_cQ,F_cU,F_cX,F_cR,F_cT,F_cS])}),F_cQ=new HSFun("F_cQ",1,function(_hH){return new HSCons(_hH,(F_cQ)._b((exprEval(_hH))+(1)))}),F_cR=new HSFun("F_cR",2,function(_hF,_hG){return new HSCons(_hF,(F_cR)._b(_hG,(exprEval((2)*(exprEval(_hG))))-(exprEval(_hF))))}),F_cS=new HSFun("F_cS",3,function(_hK,_hL,_hM){return(F_e1)._b(F_cP,_hK,_hL,_hM)}),F_cT=new HSFun("F_cT",2,function(_hN,_hO){return(F_e2)._b(F_cP,_hN,_hO)}),F_cU=new HSFun("F_cU",1,function(_hI){return _hI}),F_cV=new HSFun("F_cV",1,function(_hP){return(F_e6)._b(F_cP,_hP)}),F_cW=new HSFun("F_cW",1,function(_hQ){return(F_fa)._b(F_cP,_hQ)}),F_cX=new HSFun("F_cX",1,function(_hJ){return _hJ}),F_cY=new HSFun("F_cY",0,function(){return new HSData((-10),[F_c5,F_c4,F_cZ,F_c3,F_c6,F_c0,F_c2,F_c1])}),F_cZ=new HSFun("F_cZ",1,function(_g2){return new HSCons(_g2,(F_cZ)._b((F_hF)._b(_g2,1)))}),F_c0=new HSFun("F_c0",2,function(_g0,_g1){return new HSCons(_g0,(F_c0)._b(_g1,(F_hF)._b((F_hM)._b(2,_g1),_g0)))}),F_c1=new HSFun("F_c1",3,function(_g7,_g8,_g9){return(F_e1)._b(F_cY,_g7,_g8,_g9)}),F_c2=new HSFun("F_c2",2,function(_ha,_hb){return(F_e2)._b(F_cY,_ha,_hb)}),F_c3=new HSFun("F_c3",1,function(_g3){return(F_hD)._b(_g3)}),F_c4=new HSFun("F_c4",1,function(_g5){return(F_hS)._b(_g5,1)}),F_c5=new HSFun("F_c5",1,function(_g6){return(F_hF)._b(_g6,1)}),F_c6=new HSFun("F_c6",1,function(_g4){return(F_hH)._b(_g4)}),F_c7=new HSFun("F_c7",1,function(_fq){var c55=exprEval(_fq);switch((c55)._t){case 17:return 0;case 13:return 1;case 15:return 2};throw ('X ('+this._n+') '+c55.toSource())}),F_c8=new HSFun("F_c8",0,function(){return new HSData((-7),[F_c9,F_da])}),F_c9=new HSFun("F_c9",2,function(_f5,_f6){return(F_eU)._b(F_c8,_f5,_f6)}),F_da=new HSFun("F_da",2,function(_f3,_f4){return(Number(exprEval(_f3)))===(Number(exprEval(_f4)))}),F_db=new HSFun("F_db",0,function(){return new HSData((-7),[F_dc,F_dd])}),F_dc=new HSFun("F_dc",2,function(_if,_ig){return(Number(exprEval(_if)))!==(Number(exprEval(_ig)))}),F_dd=new HSFun("F_dd",2,function(_ih,_ii){return(Number(exprEval(_ih)))===(Number(exprEval(_ii)))}),F_de=new HSFun("F_de",0,function(){return new HSData((-7),[F_df,F_dg])}),F_df=new HSFun("F_df",2,function(_gW,_gX){return(F_hN)._b(_gW,_gX)}),F_dg=new HSFun("F_dg",2,function(_gY,_gZ){return(F_hG)._b(_gY,_gZ)}),F_dh=new HSFun("F_dh",0,function(){return new HSData((-7),[F_di,F_dj])}),F_di=new HSFun("F_di",2,function(_fo,_fp){return(F_eU)._b(F_dh,_fo,_fp)}),F_dj=new HSFun("F_dj",2,function(_fj,_fk){return(Number(exprEval((F_c7)._b(_fj))))===(Number(exprEval((F_c7)._b(_fk))))}),F_dk=new HSFun("F_dk",1,function(_bW){return new HSData((-7),[new HSFun("F_dl",0,function(){return(F_dl)._ap([_bW])}),new HSFun("F_dm",0,function(){return(F_dm)._ap([_bW])})])}),F_dl=new HSFun("F_dl",3,function(_iP,_iQ,_iR){return(F_eU)._b(new HSFun("F_dk",0,function(){return(F_dk)._b(_iP)}),_iQ,_iR)}),F_dm=new HSFun("F_dm",3,function(_iI,_iJ,_iK){var c56=exprEval(_iJ);switch((c56)._t){case 2:var c57=exprEval(_iK);switch((c57)._t){case 2:return true;default:return false};throw ('X ('+this._n+') '+c57.toSource());case 3:return function(_iL,_iM){var c58=exprEval(_iK);switch((c58)._t){case 3:return function(_iN,_iO){return(F_cD)._b(((exprEval(_iI))._f[1])._ap([_iL,_iN]),new HSFun("F_dm",0,function(){return(F_dm)._b(_iI,_iM,_iO)}))}((c58)._f[0],(c58)._f[1]);default:return false};throw ('X ('+this._n+') '+c58.toSource())}((c56)._f[0],(c56)._f[1])};throw ('X ('+this._n+') '+c56.toSource())}),F_dn=new HSFun("F_dn",0,function(){return new HSData((-11),[F_eE,F_cP,F_dp,F_dq,F_ds,F_dt,F_du,F_dr,F_do])}),F_do=new HSFun("F_do",2,function(_hC,_hD){return(F_eZ)._b(F_dn,_hC,_hD)}),F_dp=new HSFun("F_dp",2,function(_hx,_hy){return(F_e0)._b(F_dn,_hx,_hy)}),F_dq=new HSFun("F_dq",2,function(_hp,_hq){var _k=new HSFun("_k",0,function(){return(exprEval(_hp))%(exprEval(_hq))}),c59=exprEval((Number(exprEval((F_hE)._b(_k))))===(Number(exprEval(NEG_W(exprEval((F_hE)._b(_hq)))))));switch((c59)._t){case true:return(exprEval(_k))+(exprEval(_hq));case false:return _k};throw ('X ('+this._n+') '+c59.toSource())}),F_dr=new HSFun("F_dr",2,function(_hv,_hw){return function(x,y){return(x-(x%y))/y}(Number(exprEval(_hv)),Number(exprEval(_hw)))}),F_ds=new HSFun("F_ds",2,function(_hr,_hs){return new HSData((-7),[function(x,y){return(x-(x%y))/y}(Number(exprEval(_hr)),Number(exprEval(_hs))),(exprEval(_hr))%(exprEval(_hs))])}),F_dt=new HSFun("F_dt",2,function(_ht,_hu){return(exprEval(_ht))%(exprEval(_hu))}),F_du=new HSFun("F_du",1,function(_ho){return(F_hH)._b(_ho)}),F_dv=new HSFun("F_dv",0,function(){return new HSData((-11),[F_eG,F_cY,F_dx,F_dy,F_dA,F_dB,F_dC,F_dz,F_dw])}),F_dw=new HSFun("F_dw",2,function(_gi,_gj){return(exprEval((F_dx)._b(_gi,_gj)))._f[0]}),F_dx=new HSFun("F_dx",2,function(_gv,_gw){return(F_e0)._b(F_dv,_gv,_gw)}),F_dy=new HSFun("F_dy",2,function(_gg,_gh){return(exprEval((F_dx)._b(_gg,_gh)))._f[1]}),F_dz=new HSFun("F_dz",2,function(_gm,_gn){return(F_hP)._b(_gm,_gn)}),F_dA=new HSFun("F_dA",2,function(_ge,_gf){return(F_hQ)._b(_ge,_gf)}),F_dB=new HSFun("F_dB",2,function(_gk,_gl){return(F_hR)._b(_gk,_gl)}),F_dC=new HSFun("F_dC",1,function(_gd){return _gd}),F_dD=new HSFun("F_dD",1,function(_jX){return(exprEval(_jX))._f[0]}),F_dE=new HSFun("F_dE",1,function(_jB){return(exprEval(_jB))._f[0]}),F_dF=new HSFun("F_dF",0,function(){return new HSData((-11),[F_db,F_eK,F_dG,F_dH,F_dI,F_dL,F_dM,F_dK,F_dJ])}),F_dG=new HSFun("F_dG",2,function(_hU,_hV){return(exprEval(_hU))*(exprEval(_hV))}),F_dH=new HSFun("F_dH",2,function(_hY,_hZ){return(exprEval(_hY))+(exprEval(_hZ))}),F_dI=new HSFun("F_dI",2,function(_hW,_hX){return(exprEval(_hW))-(exprEval(_hX))}),F_dJ=new HSFun("F_dJ",1,function(_hT){return(F_hC)._b(_hT)}),F_dK=new HSFun("F_dK",1,function(_hR){return(F_hD)._b(_hR)}),F_dL=new HSFun("F_dL",1,function(a){return 0-Number(exprEval(a))}),F_dM=new HSFun("F_dM",1,function(_hS){return(F_hE)._b(_hS)}),F_dN=new HSFun("F_dN",0,function(){return new HSData((-11),[F_de,F_eP,F_dO,F_dP,F_dQ,F_dT,F_dU,F_dS,F_dR])}),F_dO=new HSFun("F_dO",2,function(_gC,_gD){return(F_hM)._b(_gC,_gD)}),F_dP=new HSFun("F_dP",2,function(_gG,_gH){return(F_hF)._b(_gG,_gH)}),F_dQ=new HSFun("F_dQ",2,function(_gE,_gF){return(F_hS)._b(_gE,_gF)}),F_dR=new HSFun("F_dR",1,function(_gA){var c60=exprEval((F_hL)._b(_gA,0));switch((c60)._t){case true:return(F_hO)._b(_gA);case false:return _gA};throw ('X ('+this._n+') '+c60.toSource())}),F_dS=new HSFun("F_dS",1,function(_gy){return _gy}),F_dT=new HSFun("F_dT",1,function(_gB){return(F_hO)._b(_gB)}),F_dU=new HSFun("F_dU",1,function(_gz){var c61=exprEval((F_eh)._b(_gz,0));switch((c61)._t){case 17:return -1;case 13:return 0;case 15:return 1};throw ('X ('+this._n+') '+c61.toSource())}),F_dV=new HSFun("F_dV",0,function(){return new HSData((-10),[F_c8,F_dW,F_dX,F_dZ,F_dY,F_d0,F_d2,F_d1])}),F_dW=new HSFun("F_dW",2,function(_f1,_f2){return(F_eV)._b(F_dV,_f1,_f2)}),F_dX=new HSFun("F_dX",2,function(_fR,_fS){return(Number(exprEval(_fR)))<=(Number(exprEval(_fS)))}),F_dY=new HSFun("F_dY",2,function(_fX,_fY){return(F_eW)._b(F_dV,_fX,_fY)}),F_dZ=new HSFun("F_dZ",2,function(_fZ,_f0){return(F_eX)._b(F_dV,_fZ,_f0)}),F_d0=new HSFun("F_d0",2,function(_fP,_fQ){return(F_d9)._b(_fP,_fQ)}),F_d1=new HSFun("F_d1",2,function(_fV,_fW){return(F_e4)._b(F_dV,_fV,_fW)}),F_d2=new HSFun("F_d2",2,function(_fT,_fU){return(F_e5)._b(F_dV,_fT,_fU)}),F_d3=new HSFun("F_d3",1,function(_jm){return(exprEval(_jm))._f[0]}),F_d4=new HSFun("F_d4",0,function(){return new HSData((-10),[F_db,F_d5,F_d6,F_d8,F_d7,F_d9,F_eb,F_ea])}),F_d5=new HSFun("F_d5",2,function(_h6,_h7){return(Number(exprEval(_h6)))<(Number(exprEval(_h7)))}),F_d6=new HSFun("F_d6",2,function(_h4,_h5){return(Number(exprEval(_h4)))<=(Number(exprEval(_h5)))}),F_d7=new HSFun("F_d7",2,function(_h0,_h1){return(Number(exprEval(_h0)))>(Number(exprEval(_h1)))}),F_d8=new HSFun("F_d8",2,function(_h2,_h3){return(Number(exprEval(_h2)))>=(Number(exprEval(_h3)))}),F_d9=new HSFun("F_d9",2,function(_id,_ie){return(F_eY)._b(F_d4,_id,_ie)}),F_ea=new HSFun("F_ea",2,function(_ib,_ic){return(F_e4)._b(F_d4,_ib,_ic)}),F_eb=new HSFun("F_eb",2,function(_h8,_h9){return(F_e5)._b(F_d4,_h8,_h9)}),F_ec=new HSFun("F_ec",0,function(){return new HSData((-10),[F_de,F_ed,F_ee,F_eg,F_ef,F_eh,F_ej,F_ei])}),F_ed=new HSFun("F_ed",2,function(_gO,_gP){return(F_hL)._b(_gO,_gP)}),F_ee=new HSFun("F_ee",2,function(_gM,_gN){return(F_hK)._b(_gM,_gN)}),F_ef=new HSFun("F_ef",2,function(_gI,_gJ){return(F_hJ)._b(_gI,_gJ)}),F_eg=new HSFun("F_eg",2,function(_gK,_gL){return(F_hI)._b(_gK,_gL)}),F_eh=new HSFun("F_eh",2,function(_gU,_gV){return(F_eY)._b(F_ec,_gU,_gV)}),F_ei=new HSFun("F_ei",2,function(_gS,_gT){return(F_e4)._b(F_ec,_gS,_gT)}),F_ej=new HSFun("F_ej",2,function(_gQ,_gR){return(F_e5)._b(F_ec,_gQ,_gR)}),F_ek=new HSFun("F_ek",1,function(_cL){var c62=exprEval(_cL);switch((c62)._t){case 3:return function(_cM,_cN){var c63=exprEval(_cM);switch((c63).valueOf()){case 34:return new HSCons(new HSData((-7),[F_fl,_cN]),new HSEOL());default:return(F_gg)._b(F_fn,(F_el)._ap([_cL]),new HSEOL())};throw ('X ('+this._n+') '+c63.toSource())}((c62)._f[0],(c62)._f[1]);default:return(F_gg)._b(F_fn,(F_el)._ap([_cL]),new HSEOL())};throw ('X ('+this._n+') '+c62.toSource())}),F_el=new HSFun("F_el",1,function(_cE){var c64=exprEval(_cE);switch((c64)._t){case 3:return function(_cF,_cG){var c65=exprEval(_cF);switch((c65).valueOf()){case 92:var c66=exprEval(_cG);switch((c66)._t){case 3:return function(_cH,_cI){var c67=exprEval(_cH);switch((c67).valueOf()){case 38:return new HSCons(new HSData((-7),[F_fi,_cI]),new HSEOL());default:var c68=exprEval((F_Z)._b(_cH));switch((c68)._t){case true:return(F_gg)._b(F_fk,new HSCons((F_gl)._b(F_Z,_cI),new HSEOL()),new HSEOL());case false:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c68.toSource())};throw ('X ('+this._n+') '+c67.toSource())}((c66)._f[0],(c66)._f[1]);default:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c66.toSource());default:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c65.toSource())}((c64)._f[0],(c64)._f[1]);default:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c64.toSource())}),F_em=new HSFun("F_em",1,function(_dk){return((F_gm)._b(F_c8,_dk))._ap([F_fD])}),F_en=new HSFun("F_en",1,function(_dj){return((F_gm)._b(F_c8,_dj))._ap([F_fC])}),F_eo=new HSFun("F_eo",1,function(_di){return(F_g1)._b((F_W)._b(_di),(Number(exprEval(_di)))===(Number(exprEval(mkChar(95)))))}),F_ep=new HSFun("F_ep",1,function(_dh){return(F_g1)._b((F_X)._b(_dh),((F_gm)._b(F_c8,_dh))._ap([F_fB]))}),F_eq=new HSFun("F_eq",1,function(_c8){var c69=exprEval(_c8);switch((c69)._t){case 3:return function(_c9,_da){var c70=exprEval(_c9);switch((c70).valueOf()){case 46:var c71=exprEval(_da);switch((c71)._t){case 3:return function(_db,_dc){var c72=exprEval((F_bg)._b(_db));switch((c72)._t){case true:return(F_gg)._b(F_fA,(F_cx)._ap([new HSCons(_db,_dc)]),new HSEOL());case false:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c72.toSource())}((c71)._f[0],(c71)._f[1]);default:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c71.toSource());default:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c70.toSource())}((c69)._f[0],(c69)._f[1]);default:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c69.toSource())}),F_er=new HSFun("F_er",1,function(_cY){var c73=exprEval(_cY);switch((c73)._t){case 3:return function(_cZ,_c0){var c74=exprEval(((F_gm)._b(F_c8,_cZ))._ap([F_ft]));switch((c74)._t){case true:return(F_cG)._b((F_gg)._b(new HSFun("F_fw",0,function(){return(F_fw)._ap([_cZ])}),new HSCons(_c0,new HSEOL()),new HSEOL()),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_fx",0,function(){return(F_fx)._ap([_cZ])}),(F_cx)._ap([_c0]),new HSEOL())}));case false:return new HSCons(new HSData((-7),[F_fy,_cY]),new HSEOL())};throw ('X ('+this._n+') '+c74.toSource())}((c73)._f[0],(c73)._f[1]);default:return new HSCons(new HSData((-7),[F_fy,_cY]),new HSEOL())};throw ('X ('+this._n+') '+c73.toSource())}),F_es=new HSFun("F_es",2,function(_du,_dv){return(F_cG)._b((_du)._ap([_dv]),((F_et)._ap([_du]))._ap([_dv]))}),F_et=new HSFun("F_et",2,function(_du,_dw){return(F_gg)._b(new HSFun("F_fL",0,function(){return(F_fL)._ap([_du])}),(F_gz)._b(_dw),new HSEOL())}),F_eu=new HSFun("F_eu",3,function(_eD,_eE,_eF){var c75=exprEval(((exprEval((exprEval((exprEval((exprEval(_eD))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eF,((exprEval((exprEval((exprEval(_eD))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c75)._t){case true:return _eE;case false:return(F_eu)._ap([_eD,_eF,((exprEval(_eD))._f[5])._ap([_eE,_eF])])};throw ('X ('+this._n+') '+c75.toSource())}),F_ev=new HSFun("F_ev",2,function(_dY,_dZ){return(F_cG)._b((F_gg)._b(F_fQ,(F_gz)._b(_dZ),new HSEOL()),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_fS",0,function(){return(F_fS)._ap([_dY])}),((exprEval(_dY))._f[0])._ap([0,_dZ]),new HSEOL())}))}),F_ew=new HSFun("F_ew",2,function(_dK,_dL){return(F_cG)._b((F_gg)._b(F_fM,(F_gz)._b(_dL),new HSEOL()),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_fP",0,function(){return(F_fP)._ap([_dK])}),(F_gz)._b(_dL),new HSEOL())}))}),F_ex=new HSFun("F_ex",2,function(_ek,_el){var c76=exprEval(_el);switch((c76)._t){case 2:return(F_fW)._ap([mkChar(93)]);case 3:return function(_em,_en){return(F_fc)._ap([(F_fc)._ap([(F_ex)._ap([_ek,_en]),((exprEval(_ek))._f[0])._ap([0,_em])]),(F_gT)._ap([F_fY])])}((c76)._f[0],(c76)._f[1])};throw ('X ('+this._n+') '+c76.toSource())}),F_ey=new HSFun("F_ey",2,function(_iD,_iE){var c77=exprEval(_iE);switch((c77)._t){case 2:return _iD;case 3:return function(_iF,_iG){var _u=new HSFun("_u",0,function(){return(exprEval(_iD))+(1)});return(F_gP)._b(_u,(F_ey)._ap([_u,_iG]))}((c77)._f[0],(c77)._f[1])};throw ('X ('+this._n+') '+c77.toSource())}),F_ez=new HSFun("F_ez",3,function(_hg,_hh,_hi){return(F_gB)._b(new HSFun("F_f8",0,function(){return(F_f8)._ap([_hg])}),((F_eD)._b(_hh))._ap([_hi]))}),F_eA=new HSFun("F_eA",0,function(){return new HSData((-7),[F_eC,F_eB])}),F_eB=new HSFun("F_eB",0,function(){return(F_e7)._b(F_eA)}),F_eC=new HSFun("F_eC",1,function(_hf){return(F_f9)._ap([_hf])}),F_eD=new HSFun("F_eD",1,function(v25828){return(F_cy)._b(F_eG,new HSFun("F_bl",0,function(){return(F_bl)._b(F_dv)}))}),F_eE=new HSFun("F_eE",0,function(){return new HSData((-8),[F_dF,F_d4,F_eF])}),F_eF=new HSFun("F_eF",1,function(_hE){return(F_6)._b(F_dv,(F_hH)._b(_hE),1)}),F_eG=new HSFun("F_eG",0,function(){return new HSData((-8),[F_dN,F_ec,F_eH])}),F_eH=new HSFun("F_eH",1,function(_gx){return(F_6)._b(F_dv,_gx,1)}),F_eI=new HSFun("F_eI",1,function(_jM){return(exprEval(_jM))._f[0]}),F_eJ=new HSFun("F_eJ",1,function(_jN){return(exprEval(_jN))._f[1]}),F_eK=new HSFun("F_eK",0,function(){return new HSData((-9),[F_eN,F_eO,F_eM,F_eL])}),F_eL=new HSFun("F_eL",1,function(_hn){return(F_e8)._b(F_eK,_hn)}),F_eM=new HSFun("F_eM",1,function(_hm){return(F_e9)._b(F_eK,_hm)}),F_eN=new HSFun("F_eN",2,function(_kn,_ko){var c78=exprEval((Number(exprEval(_ko)))<(0));switch((c78)._t){case true:return(F_gS)._b((Number(exprEval(_kn)))>(6),(F_fc)._ap([(F_hh)._ap([new HSFun("F_dL",0,function(){return(F_dL)._b(_ko)})]),(F_fW)._ap([mkChar(45)])]));case false:return(F_hh)._ap([_ko])};throw ('X ('+this._n+') '+c78.toSource())}),F_eO=new HSFun("F_eO",1,function(v26141){return(F_gT)._ap([F_ga])}),F_eP=new HSFun("F_eP",0,function(){return new HSData((-9),[F_eS,F_eT,F_eR,F_eQ])}),F_eQ=new HSFun("F_eQ",1,function(_gc){return(F_e8)._b(F_eP,_gc)}),F_eR=new HSFun("F_eR",1,function(_gb){return(F_e9)._b(F_eP,_gb)}),F_eS=new HSFun("F_eS",2,function(_f9,_ga){return(F_cB)._b(F_eG,new HSFun("F_cz",0,function(){return(F_cz)._b(F_dv)}),_f9,_ga)}),F_eT=new HSFun("F_eT",1,function(v25823){return(F_gT)._ap([F_f5])}),F_eU=new HSFun("F_eU",3,function(_fl,_fm,_fn){return(F_gD)._b(((exprEval(_fl))._f[1])._ap([_fm,_fn]))}),F_eV=new HSFun("F_eV",3,function(_fg,_fh,_fi){return(F_dj)._b(((exprEval(_fg))._f[5])._ap([_fh,_fi]),new HSData(17,[]))}),F_eW=new HSFun("F_eW",3,function(_fa,_fb,_fc){return(F_dj)._b(((exprEval(_fa))._f[5])._ap([_fb,_fc]),new HSData(15,[]))}),F_eX=new HSFun("F_eX",3,function(_fd,_fe,_ff){return(F_di)._b(((exprEval(_fd))._f[5])._ap([_fe,_ff]),new HSData(17,[]))}),F_eY=new HSFun("F_eY",3,function(_fL,_fM,_fN){var c79=exprEval(((exprEval((exprEval(_fL))._f[0]))._f[1])._ap([_fM,_fN]));switch((c79)._t){case true:return new HSData(13,[]);case false:var c80=exprEval(((exprEval(_fL))._f[2])._ap([_fM,_fN]));switch((c80)._t){case true:return new HSData(17,[]);case false:return new HSData(15,[])};throw ('X ('+this._n+') '+c80.toSource())};throw ('X ('+this._n+') '+c79.toSource())}),F_eZ=new HSFun("F_eZ",3,function(_hz,_hA,_hB){return(exprEval(((exprEval(_hz))._f[2])._ap([_hA,_hB])))._f[0]}),F_e0=new HSFun("F_e0",3,function(_go,_gp,_gq){var _Q=new HSFun("_Q",0,function(){return _go}),_r=new HSFun("_r",0,function(){return((exprEval(_Q))._f[4])._ap([_gp,_gq])}),_i=new HSFun("_i",0,function(){return _r}),_s=new HSFun("_s",0,function(){return(exprEval(_i))._f[0]}),_t=new HSFun("_t",0,function(){return(exprEval(_i))._f[1]}),c81=exprEval(((exprEval((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[0]))._f[1])._ap([((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[6])._ap([_t]),((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[5])._ap([((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[6])._ap([_gq])])]));switch((c81)._t){case true:return new HSData((-7),[((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[4])._ap([_s,((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[7])._ap([1])]),((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[3])._ap([_t,_gq])]);case false:return _r};throw ('X ('+this._n+') '+c81.toSource())}),F_e1=new HSFun("F_e1",4,function(_fz,_fA,_fB,_fC){var _L=new HSFun("_L",0,function(){return _fz}),_o=new HSFun("_o",0,function(){return((exprEval(_L))._f[3])._ap([_fB])}),_M=new HSFun("_M",0,function(){return _fz}),_n=new HSFun("_n",0,function(){return((exprEval(_M))._f[3])._ap([_fA])}),_q=new HSFun("_q",0,function(){return(exprEval(_o))-(exprEval(_n))}),_N=new HSFun("_N",0,function(){return _fz}),_p=new HSFun("_p",0,function(){return((exprEval(_N))._f[3])._ap([_fC])}),c82=exprEval((Number(exprEval(_q)))>=(0));switch((c82)._t){case true:return(F_ge)._b(_fz,_n,_q,_p);case false:return(F_gd)._b(_fz,_n,_q,_p)};throw ('X ('+this._n+') '+c82.toSource())}),F_e2=new HSFun("F_e2",3,function(_fD,_fE,_fF){var _O=new HSFun("_O",0,function(){return _fD}),_m=new HSFun("_m",0,function(){return((exprEval(_O))._f[3])._ap([_fF])}),_P=new HSFun("_P",0,function(){return _fD}),_l=new HSFun("_l",0,function(){return((exprEval(_P))._f[3])._ap([_fE])}),c83=exprEval((F_d9)._b(_l,_m));switch((c83)._t){case 17:return(F_ge)._b(_fD,_l,1,_m);case 13:return new HSCons(_fE,new HSEOL());case 15:return new HSEOL()};throw ('X ('+this._n+') '+c83.toSource())}),F_e3=new HSFun("F_e3",2,function(v25368,_e1){return(F_gn)._b(_e1)}),F_e4=new HSFun("F_e4",3,function(_e7,_e8,_e9){var c84=exprEval(((exprEval(_e7))._f[3])._ap([_e8,_e9]));switch((c84)._t){case true:return _e8;case false:return _e9};throw ('X ('+this._n+') '+c84.toSource())}),F_e5=new HSFun("F_e5",3,function(_e4,_e5,_e6){var c85=exprEval(((exprEval(_e4))._f[2])._ap([_e5,_e6]));switch((c85)._t){case true:return _e5;case false:return _e6};throw ('X ('+this._n+') '+c85.toSource())}),F_e6=new HSFun("F_e6",2,function(_fG,_fH){return((F_fc)._ap([(F_fc)._ap([new HSFun("F_gs",0,function(){return(exprEval(_fG))._f[3]}),((F_gY)._b(F_dF))._ap([1])]),(exprEval(_fG))._f[4]]))._ap([_fH])}),F_e7=new HSFun("F_e7",1,function(_dJ){return(F_gJ)._b(false,new HSFun("F_fV",0,function(){return(F_fV)._ap([_dJ])}))}),F_e8=new HSFun("F_e8",2,function(_eo,_ep){return((exprEval(_eo))._f[0])._ap([0,_ep,F_fZ])}),F_e9=new HSFun("F_e9",2,function(_eg,_eh){var c86=exprEval(_eh);switch((c86)._t){case 2:return(F_gT)._ap([F_fX]);case 3:return function(_ei,_ej){return(F_fc)._ap([(F_fc)._ap([(F_ex)._ap([_eg,_ej]),((exprEval(_eg))._f[0])._ap([0,_ei])]),(F_fW)._ap([mkChar(91)])])}((c86)._f[0],(c86)._f[1])};throw ('X ('+this._n+') '+c86.toSource())}),F_fa=new HSFun("F_fa",2,function(_fI,_fJ){return((F_fc)._ap([(F_fc)._ap([new HSFun("F_gs",0,function(){return(exprEval(_fI))._f[3]}),new HSFun("F_go",0,function(){return(F_go)._ap([F_dH,1])})]),(exprEval(_fI))._f[4]]))._ap([_fJ])}),F_fb="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 592:1-594:31.",F_fc=new HSFun("F_fc",3,function(_ca,_b9,_bV){return(_b9)._ap([(_ca)._ap([_bV])])}),F_fd=new HSFun("F_fd",1,function(_j){return(exprEval(_j))._f[0]}),F_fe=new HSFun("F_fe",1,function(_j){return(exprEval(_j))._f[1]}),F_ff="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 736:1-738:32.",F_fg="",F_fh="",F_fi="\\&",F_fj="\\&",F_fk=new HSFun("F_fk",2,function(_bb,_bc){var c87=exprEval(_bb);switch((c87)._t){case 3:return function(_cJ,_cK){var c88=exprEval(_cJ);switch((c88).valueOf()){case 92:return new HSCons(new HSData((-7),[F_fj,_cK]),_bc);default:return _bc};throw ('X ('+this._n+') '+c88.toSource())}((c87)._f[0],(c87)._f[1]);default:return _bc};throw ('X ('+this._n+') '+c87.toSource())}),F_fl="\"",F_fm=new HSFun("F_fm",3,function(_cO,_9,_ba){var c89=exprEval(_9);return function(_cQ,_cR){return new HSCons(new HSData((-7),[new HSFun("F_cG",0,function(){return(F_cG)._b(_cO,_cQ)}),_cR]),_ba)}((c89)._f[0],(c89)._f[1])}),F_fn=new HSFun("F_fn",2,function(_7,_8){var c90=exprEval(_7);return function(_cO,_cP){return(F_gg)._b(new HSFun("F_fm",0,function(){return(F_fm)._ap([_cO])}),(F_ek)._ap([_cP]),_8)}((c90)._f[0],(c90)._f[1])}),F_fo=new HSFun("F_fo",2,function(_bd,_be){var c91=exprEval(_bd);return function(_cS,_cT){return new HSCons(new HSData((-7),[new HSCons(mkChar(34),_cS),_cT]),_be)}((c91)._f[0],(c91)._f[1])}),F_fp="\'",F_fq="\'",F_fr=new HSFun("F_fr",3,function(_cU,_cX,_j8){return new HSCons(new HSData((-7),[new HSCons(mkChar(39),(F_cG)._b(_cU,F_fq)),_cX]),_j8)}),F_fs=new HSFun("F_fs",2,function(_5,_6){var c92=exprEval(_5);return function(_cU,_cV){var c93=exprEval(_cV);switch((c93)._t){case 3:return function(_cW,_cX){var c94=exprEval(_cW);switch((c94).valueOf()){case 39:return(F_gf)._b((F_dl)._b(F_c8,_cU,F_fp),new HSFun("F_fr",0,function(){return(F_fr)._ap([_cU,_cX])}),_6);default:return _6};throw ('X ('+this._n+') '+c94.toSource())}((c93)._f[0],(c93)._f[1]);default:return _6};throw ('X ('+this._n+') '+c93.toSource())}((c92)._f[0],(c92)._f[1])}),F_ft="eE",F_fu="+-",F_fv=new HSFun("F_fv",4,function(_cZ,_c1,_bl,_bm){var c95=exprEval(_bl);return function(_c3,_c4){return new HSCons(new HSData((-7),[new HSCons(_cZ,new HSCons(_c1,_c3)),_c4]),_bm)}((c95)._f[0],(c95)._f[1])}),F_fw=new HSFun("F_fw",3,function(_cZ,_bj,_bk){var c96=exprEval(_bj);switch((c96)._t){case 3:return function(_c1,_c2){return(F_gf)._b(((F_gm)._b(F_c8,_c1))._ap([F_fu]),new HSFun("F_gg",0,function(){return(F_gg)._ap([new HSFun("F_fv",0,function(){return(F_fv)._ap([_cZ,_c1])}),(F_cx)._ap([_c2])])}),_bk)}((c96)._f[0],(c96)._f[1]);default:return _bk};throw ('X ('+this._n+') '+c96.toSource())}),F_fx=new HSFun("F_fx",3,function(_cZ,_bn,_bo){var c97=exprEval(_bn);return function(_c5,_c6){return new HSCons(new HSData((-7),[new HSCons(_cZ,_c5),_c6]),_bo)}((c97)._f[0],(c97)._f[1])}),F_fy="",F_fz=new HSFun("F_fz",3,function(_dd,_bh,_bi){var c98=exprEval(_bh);return function(_df,_dg){return new HSCons(new HSData((-7),[new HSCons(mkChar(46),(F_cG)._b(_dd,_df)),_dg]),_bi)}((c98)._f[0],(c98)._f[1])}),F_fA=new HSFun("F_fA",2,function(_bf,_bg){var c99=exprEval(_bf);return function(_dd,_de){return(F_gg)._b(new HSFun("F_fz",0,function(){return(F_fz)._ap([_dd])}),(F_er)._ap([_de]),_bg)}((c99)._f[0],(c99)._f[1])}),F_fB="_\'",F_fC="!@#$%&*+./<=>\u003f\\^|:-~",F_fD=",;()[]{}`",F_fE=new HSFun("F_fE",3,function(_cC,_bp,_bq){var c100=exprEval(_bp);return function(_dl,_dm){return new HSCons(new HSData((-7),[new HSCons(_cC,_dl),_dm]),_bq)}((c100)._f[0],(c100)._f[1])}),F_fF=new HSFun("F_fF",3,function(_cC,_br,_bs){var c101=exprEval(_br);return function(_dn,_do){return new HSCons(new HSData((-7),[new HSCons(_cC,_dn),_do]),_bs)}((c101)._f[0],(c101)._f[1])}),F_fG=new HSFun("F_fG",4,function(_cC,_dp,_bv,_bw){var c102=exprEval(_bv);return function(_dr,_ds){return new HSCons(new HSData((-7),[new HSCons(_cC,(F_cG)._b(_dp,_dr)),_ds]),_bw)}((c102)._f[0],(c102)._f[1])}),F_fH=new HSFun("F_fH",3,function(_cC,_bt,_bu){var c103=exprEval(_bt);return function(_dp,_dq){return(F_gg)._b(new HSFun("F_fG",0,function(){return(F_fG)._ap([_cC,_dp])}),(F_eq)._ap([_dq]),_bu)}((c103)._f[0],(c103)._f[1])}),F_fI="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 1664:1-1701:35.",F_fJ=new HSFun("F_fJ",3,function(_dB,_bF,_bG){var c104=exprEval(_bF);return function(_dD,_dE){var c105=exprEval(_dD);switch((c105)._t){case 3:return function(_dF,_dG){var c106=exprEval(_dF);switch((c106).valueOf()){case 41:var c107=exprEval(_dG);switch((c107)._t){case 2:return new HSCons(new HSData((-7),[_dB,_dE]),_bG);default:return _bG};throw ('X ('+this._n+') '+c107.toSource());default:return _bG};throw ('X ('+this._n+') '+c106.toSource())}((c105)._f[0],(c105)._f[1]);default:return _bG};throw ('X ('+this._n+') '+c105.toSource())}((c104)._f[0],(c104)._f[1])}),F_fK=new HSFun("F_fK",2,function(_bD,_bE){var c108=exprEval(_bD);return function(_dB,_dC){return(F_gg)._b(new HSFun("F_fJ",0,function(){return(F_fJ)._ap([_dB])}),(F_gz)._b(_dC),_bE)}((c108)._f[0],(c108)._f[1])}),F_fL=new HSFun("F_fL",3,function(_du,_bB,_bC){var c109=exprEval(_bB);return function(_dx,_dy){var c110=exprEval(_dx);switch((c110)._t){case 3:return function(_dz,_dA){var c111=exprEval(_dz);switch((c111).valueOf()){case 40:var c112=exprEval(_dA);switch((c112)._t){case 2:return(F_gg)._b(F_fK,((F_es)._ap([_du]))._ap([_dy]),_bC);default:return _bC};throw ('X ('+this._n+') '+c112.toSource());default:return _bC};throw ('X ('+this._n+') '+c111.toSource())}((c110)._f[0],(c110)._f[1]);default:return _bC};throw ('X ('+this._n+') '+c110.toSource())}((c109)._f[0],(c109)._f[1])}),F_fM=new HSFun("F_fM",2,function(_lm,_ln){var c113=exprEval(_lm);return function(_dM,_dN){var c114=exprEval(_dM);switch((c114)._t){case 3:return function(_dO,_dP){var c115=exprEval(_dO);switch((c115).valueOf()){case 93:var c116=exprEval(_dP);switch((c116)._t){case 2:return new HSCons(new HSData((-7),[new HSEOL(),_dN]),_ln);default:return _ln};throw ('X ('+this._n+') '+c116.toSource());default:return _ln};throw ('X ('+this._n+') '+c115.toSource())}((c114)._f[0],(c114)._f[1]);default:return _ln};throw ('X ('+this._n+') '+c114.toSource())}((c113)._f[0],(c113)._f[1])}),F_fN=new HSFun("F_fN",3,function(_dU,_ls,_lt){var c117=exprEval(_ls);return function(_dW,_dX){return new HSCons(new HSData((-7),[new HSCons(_dU,_dW),_dX]),_lt)}((c117)._f[0],(c117)._f[1])}),F_fO=new HSFun("F_fO",3,function(_dK,_lq,_lr){var c118=exprEval(_lq);return function(_dU,_dV){return(F_gg)._b(new HSFun("F_fN",0,function(){return(F_fN)._ap([_dU])}),(F_ew)._ap([_dK,_dV]),_lr)}((c118)._f[0],(c118)._f[1])}),F_fP=new HSFun("F_fP",3,function(_dK,_lo,_lp){var c119=exprEval(_lo);return function(_dQ,_dR){var c120=exprEval(_dQ);switch((c120)._t){case 3:return function(_dS,_dT){var c121=exprEval(_dS);switch((c121).valueOf()){case 44:var c122=exprEval(_dT);switch((c122)._t){case 2:return(F_gg)._b(new HSFun("F_fO",0,function(){return(F_fO)._ap([_dK])}),((exprEval(_dK))._f[0])._ap([0,_dR]),_lp);default:return _lp};throw ('X ('+this._n+') '+c122.toSource());default:return _lp};throw ('X ('+this._n+') '+c121.toSource())}((c120)._f[0],(c120)._f[1]);default:return _lp};throw ('X ('+this._n+') '+c120.toSource())}((c119)._f[0],(c119)._f[1])}),F_fQ=new HSFun("F_fQ",2,function(_lg,_lh){var c123=exprEval(_lg);return function(_d0,_d1){var c124=exprEval(_d0);switch((c124)._t){case 3:return function(_d2,_d3){var c125=exprEval(_d2);switch((c125).valueOf()){case 93:var c126=exprEval(_d3);switch((c126)._t){case 2:return new HSCons(new HSData((-7),[new HSEOL(),_d1]),_lh);default:return _lh};throw ('X ('+this._n+') '+c126.toSource());default:return _lh};throw ('X ('+this._n+') '+c125.toSource())}((c124)._f[0],(c124)._f[1]);default:return _lh};throw ('X ('+this._n+') '+c124.toSource())}((c123)._f[0],(c123)._f[1])}),F_fR=new HSFun("F_fR",3,function(_d4,_lk,_ll){var c127=exprEval(_lk);return function(_d6,_d7){return new HSCons(new HSData((-7),[new HSCons(_d4,_d6),_d7]),_ll)}((c127)._f[0],(c127)._f[1])}),F_fS=new HSFun("F_fS",3,function(_dY,_li,_lj){var c128=exprEval(_li);return function(_d4,_d5){return(F_gg)._b(new HSFun("F_fR",0,function(){return(F_fR)._ap([_d4])}),(F_ew)._ap([_dY,_d5]),_lj)}((c128)._f[0],(c128)._f[1])}),F_fT=new HSFun("F_fT",2,function(_lx,_ly){return new HSCons(_lx,_ly)}),F_fU=new HSFun("F_fU",3,function(_dJ,_lv,_lw){var c129=exprEval(_lv);return function(_d8,_d9){var c130=exprEval(_d8);switch((c130)._t){case 3:return function(_ea,_eb){var c131=exprEval(_ea);switch((c131).valueOf()){case 91:var c132=exprEval(_eb);switch((c132)._t){case 2:return(F_gg)._b(F_fT,(F_ev)._ap([_dJ,_d9]),_lw);default:return _lw};throw ('X ('+this._n+') '+c132.toSource());default:return _lw};throw ('X ('+this._n+') '+c131.toSource())}((c130)._f[0],(c130)._f[1]);default:return _lw};throw ('X ('+this._n+') '+c130.toSource())}((c129)._f[0],(c129)._f[1])}),F_fV=new HSFun("F_fV",2,function(_dJ,_lu){return(F_gg)._b(new HSFun("F_fU",0,function(){return(F_fU)._ap([_dJ])}),(F_gz)._b(_lu),new HSEOL())}),F_fW=new HSFun("F_fW",2,function(_ka,_j9){return new HSCons(_ka,_j9)}),F_fX="[]",F_fY=",",F_fZ="",F_f0="Prelude.gcd: gcd 0 0 is undefined.",F_f1=new HSFun("F_f1",3,function(_eO,_bz,_bA){var c133=exprEval(_bz);return function(_eQ,_eR){var c134=exprEval(_eQ);switch((c134)._t){case 2:var c135=exprEval(_eR);switch((c135)._t){case 2:return new HSCons(_eO,_bA);default:return _bA};throw ('X ('+this._n+') '+c135.toSource());default:return _bA};throw ('X ('+this._n+') '+c134.toSource())}((c133)._f[0],(c133)._f[1])}),F_f2=new HSFun("F_f2",2,function(_bx,_by){var c136=exprEval(_bx);return function(_eO,_eP){return(F_gg)._b(new HSFun("F_f1",0,function(){return(F_f1)._ap([_eO])}),(F_gz)._b(_eP),_by)}((c136)._f[0],(c136)._f[1])}),F_f3="Prelude.read: no parse",F_f4="Prelude.read: ambiguous parse",F_f5="Integer",F_f6=new HSFun("F_f6",1,function(_i){return(exprEval(_i))._f[0]}),F_f7=new HSFun("F_f7",1,function(_i){return(exprEval(_i))._f[1]}),F_f8=new HSFun("F_f8",2,function(_hg,_hj){var c137=exprEval(_hj);return function(_hk,_hl){return new HSData((-7),[((exprEval(_hg))._f[7])._ap([_hk]),_hl])}((c137)._f[0],(c137)._f[1])}),F_f9=new HSFun("F_f9",2,function(_hf,_ki){return(F_ez)._ap([F_dF,_hf,_ki])}),F_ga="Int",F_gb=new HSFun("F_gb",2,function(_kc,_kb){return new HSCons(_kc,_kb)}),F_gc="PreludeList.foldl1: empty list",F_gd=new HSFun("F_gd",4,function(_fv,_fw,_fx,_fy){var c138=exprEval((F_d9)._b(_fw,_fy));switch((c138)._t){case 17:return new HSEOL();case 13:return new HSCons(((exprEval(_fv))._f[4])._ap([_fw]),new HSEOL());case 15:return new HSCons(((exprEval(_fv))._f[4])._ap([_fw]),(F_gd)._b(_fv,(exprEval(_fw))+(exprEval(_fx)),_fx,_fy))};throw ('X ('+this._n+') '+c138.toSource())}),F_ge=new HSFun("F_ge",4,function(_fr,_fs,_ft,_fu){var c139=exprEval((F_d9)._b(_fs,_fu));switch((c139)._t){case 17:return new HSCons(((exprEval(_fr))._f[4])._ap([_fs]),(F_ge)._b(_fr,(exprEval(_fs))+(exprEval(_ft)),_ft,_fu));case 13:return new HSCons(((exprEval(_fr))._f[4])._ap([_fs]),new HSEOL());case 15:return new HSEOL()};throw ('X ('+this._n+') '+c139.toSource())}),F_gf=new HSFun("F_gf",3,function(_b6,_b7,_b8){var c140=exprEval(_b6);switch((c140)._t){case true:return(_b7)._ap([_b8]);case false:return _b8};throw ('X ('+this._n+') '+c140.toSource())}),F_gg=new HSFun("F_gg",3,function(_bX,_bY,_bZ){var c141=exprEval(_bY);switch((c141)._t){case 2:return _bZ;case 3:return function(_b0,_b1){return(_bX)._ap([_b0,new HSFun("F_gg",0,function(){return(F_gg)._b(_bX,_b1,_bZ)})])}((c141)._f[0],(c141)._f[1])};throw ('X ('+this._n+') '+c141.toSource())}),F_gh=new HSFun("F_gh",1,function(_jI){return(exprEval(_jI))._f[8]}),F_gi=new HSFun("F_gi",1,function(_cm){return(F_fc)._ap([new HSFun("F_gB",0,function(){return(F_gB)._ap([_cm])}),F_gE])}),F_gj=new HSFun("F_gj",1,function(_jr){return(exprEval(_jr))._f[5]}),F_gk=new HSFun("F_gk",1,function(_jY){return(exprEval(_jY))._f[2]}),F_gl=new HSFun("F_gl",2,function(_b2,_b3){var c142=exprEval(_b3);switch((c142)._t){case 2:return new HSEOL();case 3:return function(_b4,_b5){var c143=exprEval((_b2)._ap([_b4]));switch((c143)._t){case true:return(F_gl)._b(_b2,_b5);case false:var c144=exprEval(F_gF);switch((c144)._t){case true:return _b3;case false:return(F_gn)._b(F_fb)};throw ('X ('+this._n+') '+c144.toSource())};throw ('X ('+this._n+') '+c143.toSource())}((c142)._f[0],(c142)._f[1])};throw ('X ('+this._n+') '+c142.toSource())}),F_gm=new HSFun("F_gm",2,function(_cn,_co){return(F_gi)._b(((exprEval(_cn))._f[1])._ap([_co]))}),F_gn=new HSFun("F_gn",1,function(a){throw ('E '+exprEval(a).toString());return undefined}),F_go=new HSFun("F_go",3,function(_eH,_eI,_eJ){return(_eH)._ap([_eJ,_eI])}),F_gp=new HSFun("F_gp",3,function(_ij,_ik,_il){var c145=exprEval(_il);switch((c145)._t){case 2:return _ik;case 3:return function(_im,_in){return(F_gp)._b(_ij,(_ij)._ap([_ik,_im]),_in)}((c145)._f[0],(c145)._f[1])};throw ('X ('+this._n+') '+c145.toSource())}),F_gq=new HSFun("F_gq",2,function(_ip,_iq){var c146=exprEval(_iq);switch((c146)._t){case 2:return(F_gn)._b(F_gc);case 3:return function(_ir,_is){return(F_gp)._b(_ip,_ir,_is)}((c146)._f[0],(c146)._f[1])};throw ('X ('+this._n+') '+c146.toSource())}),F_gr=new HSFun("F_gr",3,function(_cb,_cc,_cd){var c147=exprEval(_cd);switch((c147)._t){case 2:return _cc;case 3:return function(_ce,_cf){return(_cb)._ap([_ce,new HSFun("F_gr",0,function(){return(F_gr)._b(_cb,_cc,_cf)})])}((c147)._f[0],(c147)._f[1])};throw ('X ('+this._n+') '+c147.toSource())}),F_gs=new HSFun("F_gs",1,function(_i0){return(exprEval(_i0))._f[3]}),F_gt=new HSFun("F_gt",1,function(_jH){return(exprEval(_jH))._f[7]}),F_gu=new HSFun("F_gu",2,function(_eZ,_e0){return(F_fc)._ap([new HSFun("F_g0",0,function(){return(exprEval(_eZ))._f[6]}),(exprEval(_e0))._f[7]])}),F_gv=new HSFun("F_gv",1,function(_eu){return(exprEval(_eu))._f[0]}),F_gw=new HSFun("F_gw",3,function(_eA,_eB,_eC){var c148=exprEval(((exprEval((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eB,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c148)._t){case true:var c149=exprEval(((exprEval((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eC,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c149)._t){case true:return(F_gn)._b(F_f0);case false:return(F_eu)._ap([_eA,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eB]),((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eC])])};throw ('X ('+this._n+') '+c149.toSource());case false:return(F_eu)._ap([_eA,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eB]),((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eC])])};throw ('X ('+this._n+') '+c148.toSource())}),F_gx=new HSFun("F_gx",1,function(_eG){return _eG}),F_gy=new HSFun("F_gy",1,function(_iA){var c150=exprEval(_iA);switch((c150)._t){case 2:return 0;case 3:return function(_iB,_iC){return(F_ey)._ap([1,_iC])}((c150)._f[0],(c150)._f[1])};throw ('X ('+this._n+') '+c150.toSource())}),F_gz=new HSFun("F_gz",1,function(_cB){var c151=exprEval(_cB);switch((c151)._t){case 2:return new HSCons(new HSData((-7),[F_fg,F_fh]),new HSEOL());case 3:return function(_cC,_cD){var c152=exprEval((F_Z)._b(_cC));switch((c152)._t){case true:return(F_gz)._b((F_gl)._b(F_Z,_cD));case false:var c153=exprEval(_cC);switch((c153).valueOf()){case 34:return(F_gg)._b(F_fo,(F_ek)._ap([_cD]),new HSEOL());case 39:return(F_gg)._b(F_fs,(F_1)._b(_cD),new HSEOL());default:var c154=exprEval((F_em)._ap([_cC]));switch((c154)._t){case true:return new HSCons(new HSData((-7),[new HSCons(_cC,new HSEOL()),_cD]),new HSEOL());case false:var c155=exprEval((F_en)._ap([_cC]));switch((c155)._t){case true:return(F_gg)._b(new HSFun("F_fE",0,function(){return(F_fE)._ap([_cC])}),new HSCons((F_gX)._b(F_en,_cD),new HSEOL()),new HSEOL());case false:var c156=exprEval((F_eo)._ap([_cC]));switch((c156)._t){case true:return(F_gg)._b(new HSFun("F_fF",0,function(){return(F_fF)._ap([_cC])}),new HSCons((F_gX)._b(F_ep,_cD),new HSEOL()),new HSEOL());case false:var c157=exprEval((F_bg)._b(_cC));switch((c157)._t){case true:return(F_gg)._b(new HSFun("F_fH",0,function(){return(F_fH)._ap([_cC])}),new HSCons((F_gX)._b(F_bg,_cD),new HSEOL()),new HSEOL());case false:var c158=exprEval(F_gF);switch((c158)._t){case true:return new HSEOL();case false:return(F_gn)._b(F_fI)};throw ('X ('+this._n+') '+c158.toSource())};throw ('X ('+this._n+') '+c157.toSource())};throw ('X ('+this._n+') '+c156.toSource())};throw ('X ('+this._n+') '+c155.toSource())};throw ('X ('+this._n+') '+c154.toSource())};throw ('X ('+this._n+') '+c153.toSource())};throw ('X ('+this._n+') '+c152.toSource())}((c151)._f[0],(c151)._f[1])};throw ('X ('+this._n+') '+c151.toSource())}),F_gA=new HSFun("F_gA",3,function(_it,_iu,_iv){var c159=exprEval(_iv);switch((c159)._t){case 2:return new HSData(18,[]);case 3:return function(_iw,_ix){var c160=exprEval(_iw);return function(_iy,_iz){var c161=exprEval(((exprEval(_it))._f[1])._ap([_iu,_iy]));switch((c161)._t){case true:return new HSData(16,[_iz]);case false:return(F_gA)._b(_it,_iu,_ix)};throw ('X ('+this._n+') '+c161.toSource())}((c160)._f[0],(c160)._f[1])}((c159)._f[0],(c159)._f[1])};throw ('X ('+this._n+') '+c159.toSource())}),F_gB=new HSFun("F_gB",2,function(_ci,_cj){var c162=exprEval(_cj);switch((c162)._t){case 2:return new HSEOL();case 3:return function(_ck,_cl){return new HSCons((_ci)._ap([_ck]),(F_gB)._b(_ci,_cl))}((c162)._f[0],(c162)._f[1])};throw ('X ('+this._n+') '+c162.toSource())}),F_gC=new HSFun("F_gC",1,function(_jF){return(exprEval(_jF))._f[5]}),F_gD=new HSFun("F_gD",1,function(_eX){var c163=exprEval(_eX);switch((c163)._t){case true:return false;case false:return true};throw ('X ('+this._n+') '+c163.toSource())}),F_gE=new HSFun("F_gE",0,function(){return(F_gr)._ap([F_g1,false])}),F_gF=new HSFun("F_gF",0,function(){return true}),F_gG=new HSFun("F_gG",1,function(_j2){return(exprEval(_j2))._f[7]}),F_gH=new HSFun("F_gH",1,function(_jZ){return(exprEval(_jZ))._f[4]}),F_gI=new HSFun("F_gI",2,function(_eM,_eN){var c164=exprEval((F_gg)._b(F_f2,((F_gK)._b(_eM))._ap([_eN]),new HSEOL()));switch((c164)._t){case 2:return(F_gn)._b(F_f3);case 3:return function(_eS,_eT){var c165=exprEval(_eT);switch((c165)._t){case 2:return _eS;default:return(F_gn)._b(F_f4)};throw ('X ('+this._n+') '+c165.toSource())}((c164)._f[0],(c164)._f[1])};throw ('X ('+this._n+') '+c164.toSource())}),F_gJ=new HSFun("F_gJ",2,function(_dt,_du){var c166=exprEval(_dt);switch((c166)._t){case true:return(F_et)._ap([_du]);case false:return(F_es)._ap([_du])};throw ('X ('+this._n+') '+c166.toSource())}),F_gK=new HSFun("F_gK",1,function(_dH){return((exprEval(_dH))._f[0])._ap([0])}),F_gL=new HSFun("F_gL",1,function(_i4){return(exprEval(_i4))._f[0]}),F_gM=new HSFun("F_gM",1,function(_j0){return(exprEval(_j0))._f[5]}),F_gN=new HSFun("F_gN",1,function(_j7){return(exprEval(_j7))._f[3]}),F_gO=new HSFun("F_gO",0,function(){return(F_gp)._ap([new HSFun("F_go",0,function(){return(F_go)._ap([F_gb])}),new HSEOL()])}),F_gP=new HSFun("F_gP",2,function(a,b){exprEval(a);return b}),F_gQ=new HSFun("F_gQ",1,function(_ja){return(exprEval(_ja))._f[3]}),F_gR=new HSFun("F_gR",0,function(){return F_fW}),F_gS=new HSFun("F_gS",2,function(_eU,_eV){var c167=exprEval(_eU);switch((c167)._t){case true:return(F_fc)._ap([(F_fc)._ap([(F_fW)._ap([mkChar(41)]),_eV]),(F_fW)._ap([mkChar(40)])]);case false:return _eV};throw ('X ('+this._n+') '+c167.toSource())}),F_gT=new HSFun("F_gT",0,function(){return F_cG}),F_gU=new HSFun("F_gU",1,function(_i9){return(exprEval(_i9))._f[0]}),F_gV=new HSFun("F_gV",1,function(_jG){return(exprEval(_jG))._f[6]}),F_gW=new HSFun("F_gW",1,function(_ex){return(exprEval(_ex))._f[1]}),F_gX=new HSFun("F_gX",2,function(_ct,_cu){var c168=exprEval(_cu);switch((c168)._t){case 2:return new HSData((-7),[new HSEOL(),new HSEOL()]);case 3:return function(_cv,_cw){var c169=exprEval((_ct)._ap([_cv]));switch((c169)._t){case true:var _j=new HSFun("_j",0,function(){return(F_gX)._b(_ct,_cw)}),_v=new HSFun("_v",0,function(){return(exprEval(_j))._f[0]}),_w=new HSFun("_w",0,function(){return(exprEval(_j))._f[1]});return new HSData((-7),[new HSCons(_cv,_v),_w]);case false:var c170=exprEval(F_gF);switch((c170)._t){case true:return new HSData((-7),[new HSEOL(),_cu]);case false:return(F_gn)._b(F_ff)};throw ('X ('+this._n+') '+c170.toSource())};throw ('X ('+this._n+') '+c169.toSource())}((c168)._f[0],(c168)._f[1])};throw ('X ('+this._n+') '+c168.toSource())}),F_gY=new HSFun("F_gY",1,function(_eW){return(F_go)._ap([(exprEval(_eW))._f[4]])}),F_gZ=new HSFun("F_gZ",1,function(_i1){return(exprEval(_i1))._f[4]}),F_g0=new HSFun("F_g0",1,function(_j1){return(exprEval(_j1))._f[6]}),F_g1=new HSFun("F_g1",2,function(_cg,_ch){var c171=exprEval(_cg);switch((c171)._t){case true:return true;case false:return _ch};throw ('X ('+this._n+') '+c171.toSource())}),F_g2=new HSFun("F_g2",2,function(_y,_lb){return(F_5)._b(((exprEval(_lb))._f[7])._ap([0]),(F_gA)._b(F_c8,_y,(F_hc)._b(_lb)))}),F_g3=new HSFun("F_g3",2,function(_kR,_kS){var c172=exprEval(_kS);switch((c172)._t){case 2:return((exprEval(_kR))._f[7])._ap([0]);case 3:return function(_kT,_kU){return((exprEval(_kR))._f[3])._ap([((exprEval(_kR))._f[7])._ap([1]),(F_g3)._ap([_kR,_kU])])}((c172)._f[0],(c172)._f[1])};throw ('X ('+this._n+') '+c172.toSource())}),F_g4=new HSFun("F_g4",1,function(_x){return(exprEval(_x))._f[0]}),F_g5=new HSFun("F_g5",1,function(_x){return(exprEval(_x))._f[1]}),F_g6="Roman: Pattern match failure in function at 54:1-56:16.",F_g7="Roman: Pattern match failure in function at 38:1-43:55.",F_g8="",F_g9=new HSFun("F_g9",4,function(_kZ,_k0,_k1,_k2){var c173=exprEval(((exprEval(_k0))._f[1])._ap([_k1,_k2]));switch((c173)._t){case true:return((exprEval(_kZ))._f[4])._ap([_k2,_k1]);case false:var c174=exprEval(((exprEval(_k0))._f[4])._ap([_k1,_k2]));switch((c174)._t){case true:return((exprEval(_kZ))._f[3])._ap([_k2,_k1]);case false:return(F_gn)._b(F_g6)};throw ('X ('+this._n+') '+c174.toSource())};throw ('X ('+this._n+') '+c173.toSource())}),F_ha=new HSFun("F_ha",0,function(){return(F_fc)._ap([(F_fc)._ap([new HSFun("F_gB",0,function(){return(F_gB)._ap([F_2])}),new HSFun("F_hb",0,function(){return(F_hb)._ap([F_dF])})]),new HSFun("F_gr",0,function(){return(F_gr)._ap([new HSFun("F_g9",0,function(){return(F_g9)._ap([F_dF,F_d4])}),0])})])}),F_hb=new HSFun("F_hb",2,function(_kN,_kO){var c175=exprEval(_kO);switch((c175)._t){case 2:return new HSEOL();case 3:return function(_kP,_kQ){var _x=new HSFun("_x",0,function(){return(F_gX)._b(new HSFun("F_da",0,function(){return(F_da)._ap([_kP])}),_kO)}),_z=new HSFun("_z",0,function(){return(exprEval(_x))._f[0]}),_A=new HSFun("_A",0,function(){return(exprEval(_x))._f[1]});return new HSCons(((exprEval(_kN))._f[2])._ap([new HSFun("F_4",0,function(){return(F_4)._b((F_gA)._b(F_c8,_kP,(F_hc)._b(_kN)))}),(F_g3)._ap([_kN,_z])]),(F_hb)._b(_kN,_A))}((c175)._f[0],(c175)._f[1])};throw ('X ('+this._n+') '+c175.toSource())}),F_hc=new HSFun("F_hc",1,function(_kM){return new HSCons(new HSData((-7),[mkChar(73),((exprEval(_kM))._f[7])._ap([1])]),new HSCons(new HSData((-7),[mkChar(86),((exprEval(_kM))._f[7])._ap([5])]),new HSCons(new HSData((-7),[mkChar(88),((exprEval(_kM))._f[7])._ap([10])]),new HSCons(new HSData((-7),[mkChar(76),((exprEval(_kM))._f[7])._ap([50])]),new HSCons(new HSData((-7),[mkChar(67),((exprEval(_kM))._f[7])._ap([100])]),new HSCons(new HSData((-7),[mkChar(68),((exprEval(_kM))._f[7])._ap([500])]),new HSCons(new HSData((-7),[mkChar(77),((exprEval(_kM))._f[7])._ap([1000])]),new HSEOL())))))))}),F_hd=new HSFun("F_hd",0,function(){return new HSCons(new HSData((-7),[mkChar(86),mkChar(73)]),new HSCons(new HSData((-7),[mkChar(88),mkChar(73)]),new HSCons(new HSData((-7),[mkChar(76),mkChar(88)]),new HSCons(new HSData((-7),[mkChar(67),mkChar(88)]),new HSCons(new HSData((-7),[mkChar(68),mkChar(67)]),new HSCons(new HSData((-7),[mkChar(77),mkChar(67)]),new HSEOL()))))))}),F_he=new HSFun("F_he",4,function(_k3,_k4,_k5,_k6){var c176=exprEval(_k5);return function(_k7,_k8){var c177=exprEval(_k6);return function(_k9,_la){var _y=new HSFun("_y",0,function(){return(F_5)._b(mkChar(0),(F_gA)._b(F_c8,_k7,F_hd))}),c178=exprEval(((exprEval(_k4))._f[3])._ap([_k9,_k8]));switch((c178)._t){case true:return(F_he)._b(_k3,_k4,_k5,new HSData((-7),[((exprEval(_k3))._f[4])._ap([_k9,_k8]),new HSCons(_k7,_la)]));case false:var c179=exprEval(((exprEval(_k4))._f[3])._ap([((exprEval(_k3))._f[3])._ap([_k9,((F_g2)._ap([_y]))._ap([_k3])]),_k8]));switch((c179)._t){case true:return new HSData((-7),[((exprEval(_k3))._f[3])._ap([((exprEval(_k3))._f[4])._ap([_k9,_k8]),((F_g2)._ap([_y]))._ap([_k3])]),new HSCons(_k7,new HSCons(_y,_la))]);case false:var c180=exprEval(F_gF);switch((c180)._t){case true:return new HSData((-7),[_k9,_la]);case false:return(F_gn)._b(F_g7)};throw ('X ('+this._n+') '+c180.toSource())};throw ('X ('+this._n+') '+c179.toSource())};throw ('X ('+this._n+') '+c178.toSource())}((c177)._f[0],(c177)._f[1])}((c176)._f[0],(c176)._f[1])}),F_hf=new HSFun("F_hf",1,function(_lc){return((F_fc)._ap([F_gW,F_gO]))._ap([new HSFun("F_gr",0,function(){return(F_gr)._b(new HSFun("F_he",0,function(){return(F_he)._ap([F_dF,F_d4])}),new HSData((-7),[_lc,F_g8]),(F_hc)._b(F_dF))})])}),F_hg=new HSFun("F_hg",1,function(a){return Number(exprEval(a)).toString()}),F_hh=new HSFun("F_hh",2,function(_kq,_kr){return(F_cG)._b((F_hg)._ap([_kq]),_kr)}),F_hi="return Number(exprEval(a)).toString();",F_hj="return 0 - Number(exprEval(a));",F_hk="var ea = exprEval(a); if (ea>0) return 1; else if (ea<0) return -1; else return 0;",F_hl="return Math.abs(exprEval(a));",F_hm="return a;",F_hn="return a;",F_ho="return Number(exprEval(a)) < Number(exprEval(b));",F_hp="return Number(exprEval(a)) <= Number(exprEval(b));",F_hq="return Number(exprEval(a)) > Number(exprEval(b));",F_hr="return Number(exprEval(a)) >= Number(exprEval(b));",F_hs="return Number(exprEval(a)) !== Number(exprEval(b));",F_ht="return Number(exprEval(a)) === Number(exprEval(b));",F_hu="return 0 - Number(exprEval(a));",F_hv="return exprEval(a) * exprEval(b);",F_hw="return exprEval(a) - exprEval(b);",F_hx="return exprEval(a) + exprEval(b);",F_hy="return exprEval(a) % exprEval(b);",F_hz="(function(x,y){return (x - (x % y))/y;})(exprEval(a),exprEval(b));",F_hA="exprEval(a); return b;",F_hB="throw(\'E \' + exprEval(a).toString()); return undefined;",F_hC=new HSFun("F_hC",1,function(a){return Math.abs(exprEval(a))}),F_hD=new HSFun("F_hD",1,function(a){return a}),F_hE=new HSFun("F_hE",1,function(a){var ea=exprEval(a);if(ea>0){return 1}else if(ea<0){return -1}else return 0}),F_hF=new HSFun("F_hF",2,function(a,b){return exprEval(a)+exprEval(b)}),F_hG=new HSFun("F_hG",2,function(a,b){return Number(exprEval(a))===Number(exprEval(b))}),F_hH=new HSFun("F_hH",1,function(a){return a}),F_hI=new HSFun("F_hI",2,function(a,b){return Number(exprEval(a))>=Number(exprEval(b))}),F_hJ=new HSFun("F_hJ",2,function(a,b){return Number(exprEval(a))>Number(exprEval(b))}),F_hK=new HSFun("F_hK",2,function(a,b){return Number(exprEval(a))<=Number(exprEval(b))}),F_hL=new HSFun("F_hL",2,function(a,b){return Number(exprEval(a))>v;break;case URSH:v=u>>>v;break;case PLUS:v=u+v;break;case MINUS:v=u-v;break;case MUL:v=u*v;break;case DIV:v=u/v;break;case MOD:v=u%v;break} hjsmin-0.1.5.1/test/pminified/120_js.js0000644000000000000000000000020112567172013015606 0ustar0000000000000000function my_load(filename){evaluate(snarf(filename),filename,1)};my_load('jsdefs.js');my_load('jsparse.js');my_load('jsexec.js') hjsmin-0.1.5.1/test/pminified/110_perfect.js0000644000000000000000000000077312567172013016637 0ustar0000000000000000function ExprArray(n,v){for(var i=0;i>','>>>','+','-','*','/','%'] function eval(s){a=-1};var global={NaN:NaN,Infinity:Infinity,undefined:undefined,snarf:snarf,evaluate:evaluate,load:function load(s){if(typeof s!="string")return s;evaluate(snarf(s),s,1)},print:print,version:null} function eval(s){} hjsmin-0.1.5.1/test/pminified/fn.js0000644000000000000000000000012712567172013015222 0ustar0000000000000000var global={NaN:NaN,Infinity:Infinity,undefined:undefined,eval:function eval(s){a=-1}} hjsmin-0.1.5.1/test/pminified/00_f.js0000644000000000000000000000004212567172013015337 0ustar0000000000000000function Hello(a){ExprArray(1,1)} hjsmin-0.1.5.1/test/pminified/122_jsexec.js0000644000000000000000000003504412567172013016472 0ustar0000000000000000const GLOBAL_CODE=0,EVAL_CODE=1,FUNCTION_CODE=2 function ExecutionContext(type){this.type=type};var global={NaN:NaN,Infinity:Infinity,undefined:undefined,eval:function eval(s){if(typeof s!="string")return s;var x=ExecutionContext.current,x2=new ExecutionContext(EVAL_CODE);x2.thisObject=x.thisObject;x2.caller=x.caller;x2.callee=x.callee;x2.scope=x.scope;ExecutionContext.current=x2;try{execute(parse(s),x2)}catch(e if e==THROW){x.result=x2.result;throw e}finally{ExecutionContext.current=x};return x2.result},parseInt:parseInt,parseFloat:parseFloat,isNaN:isNaN,isFinite:isFinite,decodeURI:decodeURI,encodeURI:encodeURI,decodeURIComponent:decodeURIComponent,encodeURIComponent:encodeURIComponent,Object:Object,Function:function Function(dummy){var p="",b="",n=arguments.length;if(n){var m=n-1;if(m){p+=arguments[0];for(var k=1;k=0){i=n.defaultIndex-1;matchDefault=true;continue};break};t=a[i];if(t.type==CASE){u=getValue(execute(t.caseLabel,x))}else{if(!matchDefault)continue;u=s};if(u===s)for(;;){if(t.statements.length)try{execute(t.statements,x)}catch(e if e==BREAK&&x.target==n){break switch_loop};if(++i==j)break switch_loop;t=a[i]}};break;case FOR:n.setup&&getValue(execute(n.setup,x));case WHILE:while(!n.condition||getValue(execute(n.condition,x))){try{execute(n.body,x)}catch(e if e==BREAK&&x.target==n){break}catch(e if e==CONTINUE&&x.target==n){continue};n.update&&getValue(execute(n.update,x))};break;case FOR_IN:u=n.varDecl;if(u)execute(u,x);r=n.iterator;s=execute(n.object,x);v=getValue(s);t=(v==null&&!x.ecmaStrictMode)?v:toObject(v,s,n.object);a=[];for(i in t)a.push(i);for(i=0,j=a.length;i>v;break;case URSH:v=u>>>v;break;case PLUS:v=u+v;break;case MINUS:v=u-v;break;case MUL:v=u*v;break;case DIV:v=u/v;break;case MOD:v=u%v;break};putValue(r,v,n[0]);break;case CONDITIONAL:v=getValue(execute(n[0],x))?getValue(execute(n[1],x)):getValue(execute(n[2],x));break;case OR:v=getValue(execute(n[0],x))||getValue(execute(n[1],x));break;case AND:v=getValue(execute(n[0],x))&&getValue(execute(n[1],x));break;case BITWISE_OR:v=getValue(execute(n[0],x))|getValue(execute(n[1],x));break;case BITWISE_XOR:v=getValue(execute(n[0],x))^getValue(execute(n[1],x));break;case BITWISE_AND:v=getValue(execute(n[0],x))&getValue(execute(n[1],x));break;case EQ:v=getValue(execute(n[0],x))==getValue(execute(n[1],x));break;case NE:v=getValue(execute(n[0],x))!=getValue(execute(n[1],x));break;case STRICT_EQ:v=getValue(execute(n[0],x))===getValue(execute(n[1],x));break;case STRICT_NE:v=getValue(execute(n[0],x))!==getValue(execute(n[1],x));break;case LT:v=getValue(execute(n[0],x))=getValue(execute(n[1],x));break;case GT:v=getValue(execute(n[0],x))>getValue(execute(n[1],x));break;case IN:v=getValue(execute(n[0],x)) in getValue(execute(n[1],x));break;case INSTANCEOF:t=getValue(execute(n[0],x));u=getValue(execute(n[1],x));if(isObject(u)&&typeof u.__hasInstance__=="function"){v=u.__hasInstance__(t)}else v=t instanceof u;break;case LSH:v=getValue(execute(n[0],x))<>getValue(execute(n[1],x));break;case URSH:v=getValue(execute(n[0],x))>>>getValue(execute(n[1],x));break;case PLUS:v=getValue(execute(n[0],x))+getValue(execute(n[1],x));break;case MINUS:v=getValue(execute(n[0],x))-getValue(execute(n[1],x));break;case MUL:v=getValue(execute(n[0],x))*getValue(execute(n[1],x));break;case DIV:v=getValue(execute(n[0],x))/getValue(execute(n[1],x));break;case MOD:v=getValue(execute(n[0],x))%getValue(execute(n[1],x));break;case DELETE:t=execute(n[0],x);v=!(t instanceof Reference)||delete t.base[t.propertyName];break;case VOID:getValue(execute(n[0],x));break;case TYPEOF:t=execute(n[0],x);if(t instanceof Reference)t=t.base?t.base[t.propertyName]:undefined;v=typeof t;break;case NOT:v=!getValue(execute(n[0],x));break;case BITWISE_NOT:v=~getValue(execute(n[0],x));break;case UNARY_PLUS:v=+getValue(execute(n[0],x));break;case UNARY_MINUS:v=-getValue(execute(n[0],x));break;case INCREMENT:case DECREMENT:t=execute(n[0],x);u=Number(getValue(t));if(n.postfix)v=u;putValue(t,(n.type==INCREMENT)?++u:--u,n[0]);if(!n.postfix)v=u;break;case DOT:r=execute(n[0],x);t=getValue(r);u=n[1].value;v=new Reference(toObject(t,r,n[0]),u,n);break;case INDEX:r=execute(n[0],x);t=getValue(r);u=getValue(execute(n[1],x));v=new Reference(toObject(t,r,n[0]),String(u),n);break;case LIST:v={};for(i=0,j=n.length;i=0)continue loop;listener.domNode.removeEventListener(listener.eventName,listener.func)}} hjsmin-0.1.5.1/test/pminified/122_jsexec2.js0000644000000000000000000000047312567172013016552 0ustar0000000000000000function execute(n,x){switch(n.type){case CONST:for(i=0,j=n.length;i=0){i=n.defaultIndex-1;matchDefault=true;continue};break};t=a[i];if(t.type==CASE){u=getValue(execute(t.caseLabel,x))}else{if(!matchDefault)continue;u=s};if(u===s)for(;;){if(t.statements.length)try{execute(t.statements,x)}catch(e if e==BREAK&&x.target==n){break switch_loop};if(++i==j)break switch_loop;t=a[i]}};break;default:throw "PANIC: unknown operation "+n.type+": "+uneval(n)};return v} hjsmin-0.1.5.1/test/pminified/101_inheritance.js0000644000000000000000000000327412567172013017477 0ustar0000000000000000Function.prototype.inherits=function(superConstructor){function CreatePrototype(){};CreatePrototype.prototype=superConstructor.prototype;this.prototype=new CreatePrototype();this.prototype.constructor=this;this.superConstructor=superConstructor;this.prototype.callSuper=function(){var caller=arguments.callee.caller,caller=arguments[0],args=new Array();for(var i=1;i0)consts+=", ";var t=tokens[i];if(/^[a-z]/.test(t)){consts+=t.toUpperCase();keywords[t]=i}else consts+=(/^\W/.test(t)?opTypeNames[t]:t);consts+=" = "+x;tokens[t]=j} hjsmin-0.1.5.1/test/pminified/123_jsparse.js0000644000000000000000000003314012567172013016654 0ustar0000000000000000var opRegExpSrc="^";for(i in opTypeNames){if(i=='\n')continue;if(opRegExpSrc!="^")opRegExpSrc+="|^";opRegExpSrc+=i.replace(/[?|^&(){}\[\]+\-*\/\.]/g,"\\$&")};var opRegExp=new RegExp(opRegExpSrc),fpRegExp=/^\d+\.\d*(?:[eE][-+]?\d+)?|^\d+(?:\.\d*)?[eE][-+]?\d+|^\.\d+(?:[eE][-+]?\d+)?/ function Tokenizer(s,f,l){this.cursor=0;this.source=String(s);this.tokens=[];this.tokenIndex=0;this.lookahead=0;this.scanNewlines=false;this.scanOperand=true;this.filename=f||"";this.lineno=l||1};Tokenizer.prototype={get input(){return this.source.substring(this.cursor)}} function CompilerContext(inFunction){this.inFunction=inFunction;this.stmtStack=[];this.funDecls=[];this.varDecls=[]};var CCp=CompilerContext.prototype;CCp.bracketLevel=CCp.curlyLevel=CCp.parenLevel=CCp.hookLevel=0;CCp.ecmaStrictMode=CCp.inForLoopInit=false function Script(t,x){var n=Statements(t,x);n.type=SCRIPT;n.funDecls=x.funDecls;n.varDecls=x.varDecls;return n};Array.prototype.__defineProperty__('top',function(){return this.length&&this[this.length-1]},false,false,true) function Node(t,type){var token=t.token;if(token){this.type=type||token.type;this.value=token.value;this.lineno=token.lineno;this.start=token.start;this.end=token.end}else{this.type=type;this.lineno=t.lineno};this.tokenizer=t;for(var i=2;i=0)s+=t;return s},false,false,true) function nest(t,x,node,func,end){x.stmtStack.push(node);var n=func(t,x);x.stmtStack.pop();end&&t.mustMatch(end);return n} function Statements(t,x){var n=new Node(t,BLOCK);x.stmtStack.push(n);while(!t.done&&t.peek()!=RIGHT_CURLY)n.push(Statement(t,x));x.stmtStack.pop();return n} function Block(t,x){t.mustMatch(LEFT_CURLY);var n=Statements(t,x);t.mustMatch(RIGHT_CURLY);return n};const DECLARED_FORM=0,EXPRESSED_FORM=1,STATEMENT_FORM=2 function Statement(t,x){var i,label,n,n2,ss,tt=t.get();switch(tt){case FUNCTION:return FunctionDefinition(t,x,true,(x.stmtStack.length>1)?STATEMENT_FORM:DECLARED_FORM);case LEFT_CURLY:n=Statements(t,x);t.mustMatch(RIGHT_CURLY);return n;case IF:n=new Node(t);n.condition=ParenExpression(t,x);x.stmtStack.push(n);n.thenPart=Statement(t,x);n.elsePart=t.match(ELSE)?Statement(t,x):null;x.stmtStack.pop();return n;case SWITCH:n=new Node(t);t.mustMatch(LEFT_PAREN);n.discriminant=Expression(t,x);t.mustMatch(RIGHT_PAREN);n.cases=[];n.defaultIndex=-1;x.stmtStack.push(n);t.mustMatch(LEFT_CURLY);while((tt=t.get())!=RIGHT_CURLY){switch(tt){case DEFAULT:if(n.defaultIndex>=0)throw t.newSyntaxError("More than one switch default");case CASE:n2=new Node(t);if(tt==DEFAULT){n.defaultIndex=n.cases.length}else n2.caseLabel=Expression(t,x,COLON);break;default:throw t.newSyntaxError("Invalid switch case")};t.mustMatch(COLON);n2.statements=new Node(t,BLOCK);while((tt=t.peek())!=CASE&&tt!=DEFAULT&&tt!=RIGHT_CURLY)n2.statements.push(Statement(t,x));n.cases.push(n2)};x.stmtStack.pop();return n;case FOR:n=new Node(t);n.isLoop=true;t.mustMatch(LEFT_PAREN);if((tt=t.peek())!=SEMICOLON){x.inForLoopInit=true;if(tt==VAR||tt==CONST){t.get();n2=Variables(t,x)}else n2=Expression(t,x);x.inForLoopInit=false};if(n2&&t.match(IN)){n.type=FOR_IN;if(n2.type==VAR){if(n2.length!=1)throw new SyntaxError("Invalid for..in left-hand side",t.filename,n2.lineno);n.iterator=n2[0];n.varDecl=n2}else{n.iterator=n2;n.varDecl=null};n.object=Expression(t,x)}else{n.setup=n2||null;t.mustMatch(SEMICOLON);n.condition=(t.peek()==SEMICOLON)?null:Expression(t,x);t.mustMatch(SEMICOLON);n.update=(t.peek()==RIGHT_PAREN)?null:Expression(t,x)};t.mustMatch(RIGHT_PAREN);n.body=nest(t,x,n,Statement);return n;case WHILE:n=new Node(t);n.isLoop=true;n.condition=ParenExpression(t,x);n.body=nest(t,x,n,Statement);return n;case DO:n=new Node(t);n.isLoop=true;n.body=nest(t,x,n,Statement,WHILE);n.condition=ParenExpression(t,x);if(!x.ecmaStrictMode){t.match(SEMICOLON);return n};break;case BREAK:case CONTINUE:n=new Node(t);if(t.peekOnSameLine()==IDENTIFIER){t.get();n.label=t.token.value};ss=x.stmtStack;i=ss.length;label=n.label;if(label){do{if(--i<0)throw t.newSyntaxError("Label not found")}while(ss[i].label!=label)}else do{if(--i<0)throw t.newSyntaxError("Invalid "+((tt==BREAK)?"break":"continue"))}while(!ss[i].isLoop&&(tt!=BREAK||ss[i].type!=SWITCH));n.target=ss[i];break;case TRY:n=new Node(t);n.tryBlock=Block(t,x);n.catchClauses=[];while(t.match(CATCH)){n2=new Node(t);t.mustMatch(LEFT_PAREN);n2.varName=t.mustMatch(IDENTIFIER).value;if(t.match(IF)){if(x.ecmaStrictMode)throw t.newSyntaxError("Illegal catch guard");if(n.catchClauses.length&&!n.catchClauses.top().guard)throw t.newSyntaxError("Guarded catch after unguarded");n2.guard=Expression(t,x)}else n2.guard=null;t.mustMatch(RIGHT_PAREN);n2.block=Block(t,x);n.catchClauses.push(n2)};if(t.match(FINALLY))n.finallyBlock=Block(t,x);if(!n.catchClauses.length&&!n.finallyBlock)throw t.newSyntaxError("Invalid try statement");return n;case CATCH:case FINALLY:throw t.newSyntaxError(tokens[tt]+" without preceding try");case THROW:n=new Node(t);n.exception=Expression(t,x);break;case RETURN:if(!x.inFunction)throw t.newSyntaxError("Invalid return");n=new Node(t);tt=t.peekOnSameLine();if(tt!=END&&tt!=NEWLINE&&tt!=SEMICOLON&&tt!=RIGHT_CURLY)n.value=Expression(t,x);break;case WITH:n=new Node(t);n.object=ParenExpression(t,x);n.body=nest(t,x,n,Statement);return n;case VAR:case CONST:n=Variables(t,x);break;case DEBUGGER:n=new Node(t);break;case NEWLINE:case SEMICOLON:n=new Node(t,SEMICOLON);n.expression=null;return n;default:if(tt==IDENTIFIER&&t.peek()==COLON){label=t.token.value;ss=x.stmtStack;for(i=ss.length-1;i>=0;--i)if(ss[i].label==label)throw t.newSyntaxError("Duplicate label");t.get();n=new Node(t,LABEL);n.label=label;n.statement=nest(t,x,n,Statement);return n};n=new Node(t,SEMICOLON);t.unget();n.expression=Expression(t,x);n.end=n.expression.end;break};if(t.lineno==t.token.lineno){tt=t.peekOnSameLine();if(tt!=END&&tt!=NEWLINE&&tt!=SEMICOLON&&tt!=RIGHT_CURLY)throw t.newSyntaxError("Missing ; before statement")};t.match(SEMICOLON);return n} function FunctionDefinition(t,x,requireName,functionForm){var f=new Node(t);if(f.type!=FUNCTION)f.type=(f.value=="get")?GETTER:SETTER;if(t.match(IDENTIFIER)){f.name=t.token.value}else if(requireName)throw t.newSyntaxError("Missing function identifier");t.mustMatch(LEFT_PAREN);f.params=[];var tt;while((tt=t.get())!=RIGHT_PAREN){if(tt!=IDENTIFIER)throw t.newSyntaxError("Missing formal parameter");f.params.push(t.token.value);if(t.peek()!=RIGHT_PAREN)t.mustMatch(COMMA)};t.mustMatch(LEFT_CURLY);var x2=new CompilerContext(true);f.body=Script(t,x2);t.mustMatch(RIGHT_CURLY);f.end=t.token.end;f.functionForm=functionForm;if(functionForm==DECLARED_FORM)x.funDecls.push(f);return f} function Variables(t,x){var n=new Node(t);do{t.mustMatch(IDENTIFIER);var n2=new Node(t);n2.name=n2.value;if(t.match(ASSIGN)){if(t.token.assignOp)throw t.newSyntaxError("Invalid variable initialization");n2.initializer=Expression(t,x,COMMA)};n2.readOnly=(n.type==CONST);n.push(n2);x.varDecls.push(n2)}while(t.match(COMMA));return n} function ParenExpression(t,x){t.mustMatch(LEFT_PAREN);var n=Expression(t,x);t.mustMatch(RIGHT_PAREN);return n};var opPrecedence={SEMICOLON:0,COMMA:1,ASSIGN:2,HOOK:2,COLON:2,CONDITIONAL:2,OR:4,AND:5,BITWISE_OR:6,BITWISE_XOR:7,BITWISE_AND:8,EQ:9,NE:9,STRICT_EQ:9,STRICT_NE:9,LT:10,LE:10,GE:10,GT:10,IN:10,INSTANCEOF:10,LSH:11,RSH:11,URSH:11,PLUS:12,MINUS:12,MUL:13,DIV:13,MOD:13,DELETE:14,VOID:14,TYPEOF:14,NOT:14,BITWISE_NOT:14,UNARY_PLUS:14,UNARY_MINUS:14,INCREMENT:15,DECREMENT:15,NEW:16,DOT:17};for(i in opPrecedence)opPrecedence[GLOBAL[i]]=opPrecedence[i];var opArity={COMMA:-2,ASSIGN:2,CONDITIONAL:3,OR:2,AND:2,BITWISE_OR:2,BITWISE_XOR:2,BITWISE_AND:2,EQ:2,NE:2,STRICT_EQ:2,STRICT_NE:2,LT:2,LE:2,GE:2,GT:2,IN:2,INSTANCEOF:2,LSH:2,RSH:2,URSH:2,PLUS:2,MINUS:2,MUL:2,DIV:2,MOD:2,DELETE:1,VOID:1,TYPEOF:1,NOT:1,BITWISE_NOT:1,UNARY_PLUS:1,UNARY_MINUS:1,INCREMENT:1,DECREMENT:1,NEW:1,NEW_WITH_ARGS:2,DOT:2,INDEX:2,CALL:2,ARRAY_INIT:1,OBJECT_INIT:1,GROUP:1};for(i in opArity)opArity[GLOBAL[i]]=opArity[i] function Expression(t,x,stop){var n,id,tt,operators=[],operands=[],bl=x.bracketLevel,cl=x.curlyLevel,pl=x.parenLevel,hl=x.hookLevel function reduce(){var n=operators.pop(),op=n.type,arity=opArity[op];if(arity==-2){var left=operands.length>=2&&operands[operands.length-2];if(left.type==op){var right=operands.pop();left.push(right);return left};arity=2};var a=operands.splice(operands.length-arity);for(var i=0;iopPrecedence[tt]||(tt==COLON&&operators.top().type==ASSIGN))reduce();if(tt==COLON){n=operators.top();if(n.type!=HOOK)throw t.newSyntaxError("Invalid label");n.type=CONDITIONAL;--x.hookLevel}else{operators.push(new Node(t));if(tt==ASSIGN){operands.top().assignOp=t.token.assignOp}else ++x.hookLevel};t.scanOperand=true;break;case IN:if(x.inForLoopInit&&!x.hookLevel&&!x.bracketLevel&&!x.curlyLevel&&!x.parenLevel)break loop;case COMMA:case OR:case AND:case BITWISE_OR:case BITWISE_XOR:case BITWISE_AND:case EQ:case NE:case STRICT_EQ:case STRICT_NE:case LT:case LE:case GE:case GT:case INSTANCEOF:case LSH:case RSH:case URSH:case PLUS:case MINUS:case MUL:case DIV:case MOD:case DOT:if(t.scanOperand)break loop;while(opPrecedence[operators.top().type]>=opPrecedence[tt])reduce();if(tt==DOT){t.mustMatch(IDENTIFIER);operands.push(new Node(t,DOT,operands.pop(),new Node(t)))}else{operators.push(new Node(t));t.scanOperand=true};break;case DELETE:case VOID:case TYPEOF:case NOT:case BITWISE_NOT:case UNARY_PLUS:case UNARY_MINUS:case NEW:if(!t.scanOperand)break loop;operators.push(new Node(t));break;case INCREMENT:case DECREMENT:if(t.scanOperand){operators.push(new Node(t))}else{while(opPrecedence[operators.top().type]>opPrecedence[tt])reduce();n=new Node(t,tt,operands.pop());n.postfix=true;operands.push(n)};break;case FUNCTION:if(!t.scanOperand)break loop;operands.push(FunctionDefinition(t,x,false,EXPRESSED_FORM));t.scanOperand=false;break;case NULL:case THIS:case TRUE:case FALSE:case IDENTIFIER:case NUMBER:case STRING:case REGEXP:if(!t.scanOperand)break loop;operands.push(new Node(t));t.scanOperand=false;break;case LEFT_BRACKET:if(t.scanOperand){n=new Node(t,ARRAY_INIT);while((tt=t.peek())!=RIGHT_BRACKET){if(tt==COMMA){t.get();n.push(null);continue};n.push(Expression(t,x,COMMA));if(!t.match(COMMA))break};t.mustMatch(RIGHT_BRACKET);operands.push(n);t.scanOperand=false}else{operators.push(new Node(t,INDEX));t.scanOperand=true;++x.bracketLevel};break;case RIGHT_BRACKET:if(t.scanOperand||x.bracketLevel==bl)break loop;while(reduce().type!=INDEX)continue;--x.bracketLevel;break;case LEFT_CURLY:if(!t.scanOperand)break loop;++x.curlyLevel;n=new Node(t,OBJECT_INIT);object_init:if(!t.match(RIGHT_CURLY)){do{tt=t.get();if((t.token.value=="get"||t.token.value=="set")&&t.peek()==IDENTIFIER){if(x.ecmaStrictMode)throw t.newSyntaxError("Illegal property accessor");n.push(FunctionDefinition(t,x,true,EXPRESSED_FORM))}else{switch(tt){case IDENTIFIER:case NUMBER:case STRING:id=new Node(t);break;case RIGHT_CURLY:if(x.ecmaStrictMode)throw t.newSyntaxError("Illegal trailing ,");break object_init;default:throw t.newSyntaxError("Invalid property name")};t.mustMatch(COLON);n.push(new Node(t,PROPERTY_INIT,id,Expression(t,x,COMMA)))}}while(t.match(COMMA));t.mustMatch(RIGHT_CURLY)};operands.push(n);t.scanOperand=false;--x.curlyLevel;break;case RIGHT_CURLY:if(!t.scanOperand&&x.curlyLevel!=cl)throw "PANIC: right curly botch";break loop;case LEFT_PAREN:if(t.scanOperand){operators.push(new Node(t,GROUP))}else{while(opPrecedence[operators.top().type]>opPrecedence[NEW])reduce();n=operators.top();t.scanOperand=true;if(t.match(RIGHT_PAREN)){if(n.type==NEW){--operators.length;n.push(operands.pop())}else n=new Node(t,CALL,operands.pop(),new Node(t,LIST));operands.push(n);t.scanOperand=false;break};if(n.type==NEW){n.type=NEW_WITH_ARGS}else operators.push(new Node(t,CALL))};++x.parenLevel;break;case RIGHT_PAREN:if(t.scanOperand||x.parenLevel==pl)break loop;while((tt=reduce().type)!=GROUP&&tt!=CALL&&tt!=NEW_WITH_ARGS)continue;if(tt!=GROUP){n=operands.top();if(n[1].type!=COMMA){n[1]=new Node(t,LIST,n[1])}else n[1].type=LIST};--x.parenLevel;break;default:break loop}};if(x.hookLevel!=hl)throw t.newSyntaxError("Missing : after ?");if(x.parenLevel!=pl)throw t.newSyntaxError("Missing ) in parenthetical");if(x.bracketLevel!=bl)throw t.newSyntaxError("Missing ] in index expression");if(t.scanOperand)throw t.newSyntaxError("Missing operand");t.scanOperand=true;t.unget();while(operators.length)reduce();return operands.pop()} function parse(s,f,l){var t=new Tokenizer(s,f,l),x=new CompilerContext(false),n=Script(t,x);if(!t.done)throw t.newSyntaxError("Syntax error");return n} hjsmin-0.1.5.1/test/pminified/130s.js0000644000000000000000000000010212567172013015276 0ustar0000000000000000Parse error: Missing function identifier in file 'foo' on line 3 hjsmin-0.1.5.1/test/pminified/121_jsdefs.js0000644000000000000000000000311012567172013016453 0ustar0000000000000000const GLOBAL=this;var tokens=["END","\n",";",",","=","?",":","CONDITIONAL","||","&&","|","^","&","==","!=","===","!==","<","<=",">=",">","<<",">>",">>>","+","-","*","/","%","!","~","UNARY_PLUS","UNARY_MINUS","++","--",".","[","]","{","}","(",")","SCRIPT","BLOCK","LABEL","FOR_IN","CALL","NEW_WITH_ARGS","INDEX","ARRAY_INIT","OBJECT_INIT","PROPERTY_INIT","GETTER","SETTER","GROUP","LIST","IDENTIFIER","NUMBER","STRING","REGEXP","break","case","catch","const","continue","debugger","default","delete","do","else","enum","false","finally","for","function","if","in","instanceof","new","null","return","switch","this","throw","true","try","typeof","var","void","while","with"],opTypeNames={'\n':"NEWLINE",';':"SEMICOLON",',':"COMMA",'?':"HOOK",':':"COLON",'||':"OR",'&&':"AND",'|':"BITWISE_OR",'^':"BITWISE_XOR",'&':"BITWISE_AND",'===':"STRICT_EQ",'==':"EQ",'=':"ASSIGN",'!==':"STRICT_NE",'!=':"NE",'<<':"LSH",'<=':"LE",'<':"LT",'>>>':"URSH",'>>':"RSH",'>=':"GE",'>':"GT",'++':"INCREMENT",'--':"DECREMENT",'+':"PLUS",'-':"MINUS",'*':"MUL",'/':"DIV",'%':"MOD",'!':"NOT",'~':"BITWISE_NOT",'.':"DOT",'[':"LEFT_BRACKET",']':"RIGHT_BRACKET",'{':"LEFT_CURLY",'}':"RIGHT_CURLY",'(':"LEFT_PAREN",')':"RIGHT_PAREN"},keywords={__proto__:null},consts="const ";for(var i=0,j=tokens.length;i0)consts+=", ";var t=tokens[i];if(/^[a-z]/.test(t)){consts+=t.toUpperCase();keywords[t]=i}else consts+=(/^\W/.test(t)?opTypeNames[t]:t);consts+=" = "+i;tokens[t]=i};eval(consts+";");var assignOps=['|','^','&','<<','>>','>>>','+','-','*','/','%'];for(i=0,j=assignOps.length;i0)consts+=", ";var t=tokens[i]};for(var i=0,j=tokens.length;i0)consts+=", ";var t=tokens[i]};for(i=0;;i++)x+=i;for(x in bob); function f(){if(typeof s!="string")return;while(--n>=0)s+=t;var a,f,i,j,r,s,t,u,v;(x.stmtStack.length>1)?STATEMENT_FORM:DECLARED_FORM;n2=new Node(t);while(1){if(tt==DEFAULT){n.defaultIndex=n.cases.length}else n2.caseLabel=Expression(t,x,COLON);break;n=new Node(t);t.mustMatch(LEFT_PAREN);n.discriminant=Expression(t,x);t.mustMatch(RIGHT_PAREN);n.cases=[];n.defaultIndex=-1;x.stmtStack.push(n);t.mustMatch(LEFT_CURLY);while((tt=t.get())!=RIGHT_CURLY){switch(tt){case DEFAULT:if(n.defaultIndex>=0)throw t.newSyntaxError("More than one switch default");case CASE:n2=new Node(t);if(tt==DEFAULT){n.defaultIndex=n.cases.length}else n2.caseLabel=Expression(t,x,COLON);break;default:throw t.newSyntaxError("Invalid switch case")};t.mustMatch(COLON);n2.statements=new Node(t,BLOCK);while((tt=t.peek())!=CASE&&tt!=DEFAULT&&tt!=RIGHT_CURLY)n2.statements.push(Statement(t,x));n.cases.push(n2)};x.stmtStack.pop();return n;do{try{execute(n.body,x)}catch(e if e==BREAK&&x.target==n){break}catch(e if e==CONTINUE&&x.target==n){continue}}while(getValue(execute(n.condition,x)));break}} hjsmin-0.1.5.1/test/pminified/15_literals.js0000644000000000000000000000024312567172013016742 0ustar0000000000000000const GLOBAL=this;var tokens=["END","\n",";"],opTypeNames={'\n':"NEWLINE",';':"SEMICOLON",',':"COMMA"},assignOps=['|','^','&','<<','>>','>>>','+','-','*','/','%'] hjsmin-0.1.5.1/test/pminified/04_if.js0000644000000000000000000000001012567172013015507 0ustar0000000000000000a=f?e:g hjsmin-0.1.5.1/test/pminified/130_htojs2.js0000644000000000000000000026324312567172013016425 0ustar0000000000000000var conIdx={},funIdx={},strIdx={};Number.prototype._c=function(){return this};Number.prototype._r=false;Number.prototype._chr=false;Boolean.prototype._c=function(){return new HSData(this.valueOf()?true:false,[])};Boolean.prototype._r=true;String.prototype._c=function(){var cmeth=this._c;this._c=function(){throw ("B '"+this+"' blackhole: thunk reentered")};try{var res=consStr(this);this._r=true;this._c=function(){return res};return res}catch(e){this._c=cmeth;throw (e)}};String.prototype._r=true;Array.prototype._c=function(){var cmeth=this._c;this._c=function(){throw ("B ["+this.toString()+"] blackhole: thunk reentered")};try{var res=consArr(this);this._r=true;this._c=function(){return res};return res}catch(e){this._c=cmeth;throw (e)}};Array.prototype._r=true;Array.prototype._toArray=function(){return this};var consStr=function(s){if(s.length==0){return new HSEOL()}else{var hdc=mkChar(s.charCodeAt(0));return new HSCons(hdc,s.length>1?s.substring(1):consStr(""))}},consArr=function(ar){if(ar.length==0){return new HSEOL()}else return new HSCons(ar[0],ar.length>1?ar.slice(1):consArr([]))} /* */ function mkChar(c){var n=new Number(c);n._chr=true;return n} function HSCons(head,tail){this._r=false;this._c=function(){return this};this._t=conIdx['Prelude.:'];this._f=[head,tail]};HSCons.prototype.toString=function(){var evhead=exprEval(this._f[0]);if(evhead._chr==true){return(String.fromCharCode(evhead)+(exprEval(this._f[1])).toString())}else return this._toArray().toString()};HSCons.prototype._toArray=function(){return[exprEval(this._f[0])].concat(exprEval(this._f[1])._toArray())} function HSEOL(){this._r=false;this._c=function(){return this};this._t=conIdx['Prelude.[]'];this._f=[];this.toString=function(){return""};this._toArray=function(){return[]}} function HSFun(name,arity,body){this._n=name;this._r=(arity==0);this._x=arity;this._d=this;this._y=0;this._u=null;this._b=body};HSFun.prototype._c=function(){if(!this._r)return this;var cmeth=this._c;this._c=function(){throw ("B "+this._n+" blackhole: thunk reentered")};try{var res=this._b();this._c=function(){return res};return res}catch(e){this._c=cmeth;throw (e)}};HSFun.prototype._ap=function(targs){if(targs.length==0)return this;return new HSDly(this,this,targs)} function HSDly(fun,up,targs){this._a=targs;this._n=fun._n;this._d=fun;this._u=up;this._y=targs.length+up._y;this._r=(this._y>=fun._x)};HSDly.prototype._c=function(){if(!this._r)return this;var cmeth=this._c;this._c=function(){throw ("B "+this._n+" blackhole: thunk reentered")};var cargs=this._a,stack=this._u;for(;stack._u;stack=stack._u)cargs=stack._a.concat(cargs);var res;try{if(cargs.length==this._d._x){res=this._d._b.apply(this._d,cargs);this._u=null;this._c=function(){return res}}else{var evd;if(this._d._x==0){evd=exprEval(this._d);this._a=cargs}else{var feed=cargs.slice(0,this._d._x),over=cargs.slice(this._d._x);evd=exprEval(this._d._ap(feed));this._a=over};this._n=evd._n;this._d=evd._d;this._u=evd;this._y=this._a.length+evd._y;this._r=(this._y>=this._d._x);res=this;this._c=cmeth};return res}catch(e){this._c=cmeth;throw (e)}};HSDly.prototype._ap=function(targs){if(targs.length==0)return this;return new HSDly(this._d,this,targs)} /**/ function HSData(con,arrs){this._r=false;this._c=function(){return this};this._t=con;this._f=arrs} function exprEval(e){for(var ex=e;ex!=undefined&&ex._r;ex=ex._c());return ex} function cbrApply(func,thisp,args){if(func.apply){return func.apply(thisp,args)}else{var s="func(";for(var i=0;i>";strIdx.F_bp="Echo.Prelude.Monad.Echo.JS.>>=";strIdx.F_bq="Echo.Prelude.Monad.Echo.JS.fail";strIdx.F_br="Echo.Prelude.Monad.Echo.JS.return";strIdx.F_c="Data.Char.Data.Char.Prelude.244.prefix";strIdx.F_c0="Prelude.Prelude.Enum.Prelude.Integer.enumFromThen";strIdx.F_c1="Prelude.Prelude.Enum.Prelude.Integer.enumFromThenTo";strIdx.F_c2="Prelude.Prelude.Enum.Prelude.Integer.enumFromTo";strIdx.F_c3="Prelude.Prelude.Enum.Prelude.Integer.fromEnum";strIdx.F_c4="Prelude.Prelude.Enum.Prelude.Integer.pred";strIdx.F_c5="Prelude.Prelude.Enum.Prelude.Integer.succ";strIdx.F_c6="Prelude.Prelude.Enum.Prelude.Integer.toEnum";strIdx.F_c7="Prelude.Prelude.Enum.Prelude.Ordering.fromEnum";strIdx.F_c8="Prelude.Prelude.Eq.Prelude.Char";strIdx.F_c9="Prelude.Prelude.Eq.Prelude.Char./=";strIdx.F_cA="Numeric.showIntAtBase";strIdx.F_cB="Numeric.showSigned";strIdx.F_cC="Prelude.$";strIdx.F_cD="Prelude.&&";strIdx.F_cE="Prelude.*";strIdx.F_cF="Prelude.+";strIdx.F_cG="Prelude.++";strIdx.F_cH="Prelude.-";strIdx.F_cI="Prelude..";strIdx.F_cJ="Prelude.<";strIdx.F_cK="Prelude.<=";strIdx.F_cL="Prelude.==";strIdx.F_cM="Prelude.>";strIdx.F_cN="Prelude.>=";strIdx.F_cO="Prelude.Prelude.Enum.Prelude.Char.fromEnum";strIdx.F_cP="Prelude.Prelude.Enum.Prelude.Int";strIdx.F_cQ="Prelude.Prelude.Enum.Prelude.Int.enumFrom";strIdx.F_cR="Prelude.Prelude.Enum.Prelude.Int.enumFromThen";strIdx.F_cS="Prelude.Prelude.Enum.Prelude.Int.enumFromThenTo";strIdx.F_cT="Prelude.Prelude.Enum.Prelude.Int.enumFromTo";strIdx.F_cU="Prelude.Prelude.Enum.Prelude.Int.fromEnum";strIdx.F_cV="Prelude.Prelude.Enum.Prelude.Int.pred";strIdx.F_cW="Prelude.Prelude.Enum.Prelude.Int.succ";strIdx.F_cX="Prelude.Prelude.Enum.Prelude.Int.toEnum";strIdx.F_cY="Prelude.Prelude.Enum.Prelude.Integer";strIdx.F_cZ="Prelude.Prelude.Enum.Prelude.Integer.enumFrom";strIdx.F_ca="Echo._LAMBDA650";strIdx.F_cb="Echo._LAMBDA651";strIdx.F_cc="Echo.asInt";strIdx.F_cd="Echo.asString";strIdx.F_ce="Echo.catchJS";strIdx.F_cf="Echo.getDocument";strIdx.F_cg="Echo.getProperty";strIdx.F_ch="Echo.getTime";strIdx.F_ci="Echo.inkey";strIdx.F_cj="Echo.main";strIdx.F_ck="Echo.regEventHandler";strIdx.F_cl="Echo.runMethod";strIdx.F_cm="Echo.setProperty";strIdx.F_cn="Numeric.Numeric.Prelude.413.read'";strIdx.F_co="Numeric.Numeric.Prelude.414.read''";strIdx.F_cq="Numeric._LAMBDA2002";strIdx.F_cr="Numeric._LAMBDA2003";strIdx.F_ct="Numeric._LAMBDA2057";strIdx.F_cu="Numeric._LAMBDA2058";strIdx.F_cv="Numeric._LAMBDA2059";strIdx.F_cw="Numeric._LAMBDA2060";strIdx.F_cx="Numeric.lexDigits";strIdx.F_cy="Numeric.readSigned";strIdx.F_cz="Numeric.showInt";strIdx.F_d="Data.Char.Data.Char.Prelude.245.lexEsc";strIdx.F_d0="Prelude.Prelude.Ord.Prelude.Char.compare";strIdx.F_d1="Prelude.Prelude.Ord.Prelude.Char.max";strIdx.F_d2="Prelude.Prelude.Ord.Prelude.Char.min";strIdx.F_d3="Prelude.Prelude.Ord.Prelude.Eq";strIdx.F_d4="Prelude.Prelude.Ord.Prelude.Int";strIdx.F_d5="Prelude.Prelude.Ord.Prelude.Int.<";strIdx.F_d6="Prelude.Prelude.Ord.Prelude.Int.<=";strIdx.F_d7="Prelude.Prelude.Ord.Prelude.Int.>";strIdx.F_d8="Prelude.Prelude.Ord.Prelude.Int.>=";strIdx.F_d9="Prelude.Prelude.Ord.Prelude.Int.compare";strIdx.F_dA="Prelude.Prelude.Integral.Prelude.Integer.quotRem";strIdx.F_dB="Prelude.Prelude.Integral.Prelude.Integer.rem";strIdx.F_dC="Prelude.Prelude.Integral.Prelude.Integer.toInteger";strIdx.F_dD="Prelude.Prelude.Integral.Prelude.Real";strIdx.F_dE="Prelude.Prelude.Num.Prelude.Eq";strIdx.F_dF="Prelude.Prelude.Num.Prelude.Int";strIdx.F_dG="Prelude.Prelude.Num.Prelude.Int.*";strIdx.F_dH="Prelude.Prelude.Num.Prelude.Int.+";strIdx.F_dI="Prelude.Prelude.Num.Prelude.Int.-";strIdx.F_dJ="Prelude.Prelude.Num.Prelude.Int.abs";strIdx.F_dK="Prelude.Prelude.Num.Prelude.Int.fromInteger";strIdx.F_dL="Prelude.Prelude.Num.Prelude.Int.negate";strIdx.F_dM="Prelude.Prelude.Num.Prelude.Int.signum";strIdx.F_dN="Prelude.Prelude.Num.Prelude.Integer";strIdx.F_dO="Prelude.Prelude.Num.Prelude.Integer.*";strIdx.F_dP="Prelude.Prelude.Num.Prelude.Integer.+";strIdx.F_dQ="Prelude.Prelude.Num.Prelude.Integer.-";strIdx.F_dR="Prelude.Prelude.Num.Prelude.Integer.abs";strIdx.F_dS="Prelude.Prelude.Num.Prelude.Integer.fromInteger";strIdx.F_dT="Prelude.Prelude.Num.Prelude.Integer.negate";strIdx.F_dU="Prelude.Prelude.Num.Prelude.Integer.signum";strIdx.F_dV="Prelude.Prelude.Ord.Prelude.Char";strIdx.F_dW="Prelude.Prelude.Ord.Prelude.Char.<";strIdx.F_dX="Prelude.Prelude.Ord.Prelude.Char.<=";strIdx.F_dY="Prelude.Prelude.Ord.Prelude.Char.>";strIdx.F_dZ="Prelude.Prelude.Ord.Prelude.Char.>=";strIdx.F_da="Prelude.Prelude.Eq.Prelude.Char.==";strIdx.F_db="Prelude.Prelude.Eq.Prelude.Int";strIdx.F_dc="Prelude.Prelude.Eq.Prelude.Int./=";strIdx.F_dd="Prelude.Prelude.Eq.Prelude.Int.==";strIdx.F_de="Prelude.Prelude.Eq.Prelude.Integer";strIdx.F_df="Prelude.Prelude.Eq.Prelude.Integer./=";strIdx.F_dg="Prelude.Prelude.Eq.Prelude.Integer.==";strIdx.F_dh="Prelude.Prelude.Eq.Prelude.Ordering";strIdx.F_di="Prelude.Prelude.Eq.Prelude.Ordering./=";strIdx.F_dj="Prelude.Prelude.Eq.Prelude.Ordering.==";strIdx.F_dk="Prelude.Prelude.Eq.Prelude.[]";strIdx.F_dl="Prelude.Prelude.Eq.Prelude.[]./=";strIdx.F_dm="Prelude.Prelude.Eq.Prelude.[].==";strIdx.F_dn="Prelude.Prelude.Integral.Prelude.Int";strIdx.F_do="Prelude.Prelude.Integral.Prelude.Int.div";strIdx.F_dp="Prelude.Prelude.Integral.Prelude.Int.divMod";strIdx.F_dq="Prelude.Prelude.Integral.Prelude.Int.mod";strIdx.F_dr="Prelude.Prelude.Integral.Prelude.Int.quot";strIdx.F_ds="Prelude.Prelude.Integral.Prelude.Int.quotRem";strIdx.F_dt="Prelude.Prelude.Integral.Prelude.Int.rem";strIdx.F_du="Prelude.Prelude.Integral.Prelude.Int.toInteger";strIdx.F_dv="Prelude.Prelude.Integral.Prelude.Integer";strIdx.F_dw="Prelude.Prelude.Integral.Prelude.Integer.div";strIdx.F_dx="Prelude.Prelude.Integral.Prelude.Integer.divMod";strIdx.F_dy="Prelude.Prelude.Integral.Prelude.Integer.mod";strIdx.F_dz="Prelude.Prelude.Integral.Prelude.Integer.quot";strIdx.F_e="Data.Char.Data.Char.Prelude.246.match";strIdx.F_e0="Prelude.Prelude._.divMod";strIdx.F_e1="Prelude.Prelude._.enumFromThenTo";strIdx.F_e2="Prelude.Prelude._.enumFromTo";strIdx.F_e3="Prelude.Prelude._.fail";strIdx.F_e4="Prelude.Prelude._.max";strIdx.F_e5="Prelude.Prelude._.min";strIdx.F_e6="Prelude.Prelude._.pred";strIdx.F_e7="Prelude.Prelude._.readList";strIdx.F_e8="Prelude.Prelude._.show";strIdx.F_e9="Prelude.Prelude._.showList";strIdx.F_eA="Prelude.Prelude.Read.Prelude.Int";strIdx.F_eB="Prelude.Prelude.Read.Prelude.Int.readList";strIdx.F_eC="Prelude.Prelude.Read.Prelude.Int.readsPrec";strIdx.F_eD="Prelude.Prelude.Read.Prelude.Integer.readsPrec";strIdx.F_eE="Prelude.Prelude.Real.Prelude.Int";strIdx.F_eF="Prelude.Prelude.Real.Prelude.Int.toRational";strIdx.F_eG="Prelude.Prelude.Real.Prelude.Integer";strIdx.F_eH="Prelude.Prelude.Real.Prelude.Integer.toRational";strIdx.F_eI="Prelude.Prelude.Real.Prelude.Num";strIdx.F_eJ="Prelude.Prelude.Real.Prelude.Ord";strIdx.F_eK="Prelude.Prelude.Show.Prelude.Int";strIdx.F_eL="Prelude.Prelude.Show.Prelude.Int.show";strIdx.F_eM="Prelude.Prelude.Show.Prelude.Int.showList";strIdx.F_eN="Prelude.Prelude.Show.Prelude.Int.showsPrec";strIdx.F_eO="Prelude.Prelude.Show.Prelude.Int.showsType";strIdx.F_eP="Prelude.Prelude.Show.Prelude.Integer";strIdx.F_eQ="Prelude.Prelude.Show.Prelude.Integer.show";strIdx.F_eR="Prelude.Prelude.Show.Prelude.Integer.showList";strIdx.F_eS="Prelude.Prelude.Show.Prelude.Integer.showsPrec";strIdx.F_eT="Prelude.Prelude.Show.Prelude.Integer.showsType";strIdx.F_eU="Prelude.Prelude._./=";strIdx.F_eV="Prelude.Prelude._.<";strIdx.F_eW="Prelude.Prelude._.>";strIdx.F_eX="Prelude.Prelude._.>=";strIdx.F_eY="Prelude.Prelude._.compare";strIdx.F_eZ="Prelude.Prelude._.div";strIdx.F_ea="Prelude.Prelude.Ord.Prelude.Int.max";strIdx.F_eb="Prelude.Prelude.Ord.Prelude.Int.min";strIdx.F_ec="Prelude.Prelude.Ord.Prelude.Integer";strIdx.F_ed="Prelude.Prelude.Ord.Prelude.Integer.<";strIdx.F_ee="Prelude.Prelude.Ord.Prelude.Integer.<=";strIdx.F_ef="Prelude.Prelude.Ord.Prelude.Integer.>";strIdx.F_eg="Prelude.Prelude.Ord.Prelude.Integer.>=";strIdx.F_eh="Prelude.Prelude.Ord.Prelude.Integer.compare";strIdx.F_ei="Prelude.Prelude.Ord.Prelude.Integer.max";strIdx.F_ej="Prelude.Prelude.Ord.Prelude.Integer.min";strIdx.F_ek="Prelude.Prelude.Prelude.1812.lexString";strIdx.F_el="Prelude.Prelude.Prelude.1813.lexStrItem";strIdx.F_em="Prelude.Prelude.Prelude.1837.isSingle";strIdx.F_en="Prelude.Prelude.Prelude.1838.isSym";strIdx.F_eo="Prelude.Prelude.Prelude.1839.isIdInit";strIdx.F_ep="Prelude.Prelude.Prelude.1840.isIdChar";strIdx.F_eq="Prelude.Prelude.Prelude.1841.lexFracExp";strIdx.F_er="Prelude.Prelude.Prelude.1842.lexExp";strIdx.F_es="Prelude.Prelude.Prelude.1899.optional";strIdx.F_et="Prelude.Prelude.Prelude.1900.mandatory";strIdx.F_eu="Prelude.Prelude.Prelude.1937.gcd'";strIdx.F_ev="Prelude.Prelude.Prelude.535.readl";strIdx.F_ew="Prelude.Prelude.Prelude.536.readl'";strIdx.F_ex="Prelude.Prelude.Prelude.580.showl";strIdx.F_ey="Prelude.Prelude.Prelude.890.ll";strIdx.F_ez="Prelude.Prelude.Prelude.Read.Prelude.Int.readsPrec'Id 3510";strIdx.F_f1="Prelude._LAMBDA27500";strIdx.F_f2="Prelude._LAMBDA27501";strIdx.F_f6="Prelude._LAMBDA27620";strIdx.F_f7="Prelude._LAMBDA27621";strIdx.F_f8="Prelude._LAMBDA27631";strIdx.F_f9="Prelude._LAMBDA27632";strIdx.F_fA="Prelude._LAMBDA26955";strIdx.F_fE="Prelude._LAMBDA26959";strIdx.F_fF="Prelude._LAMBDA26960";strIdx.F_fG="Prelude._LAMBDA26961";strIdx.F_fH="Prelude._LAMBDA26962";strIdx.F_fJ="Prelude._LAMBDA26964";strIdx.F_fK="Prelude._LAMBDA26965";strIdx.F_fL="Prelude._LAMBDA26966";strIdx.F_fM="Prelude._LAMBDA26999";strIdx.F_fN="Prelude._LAMBDA27000";strIdx.F_fO="Prelude._LAMBDA27001";strIdx.F_fP="Prelude._LAMBDA27002";strIdx.F_fQ="Prelude._LAMBDA27003";strIdx.F_fR="Prelude._LAMBDA27004";strIdx.F_fS="Prelude._LAMBDA27005";strIdx.F_fT="Prelude._LAMBDA27006";strIdx.F_fU="Prelude._LAMBDA27007";strIdx.F_fV="Prelude._LAMBDA27008";strIdx.F_fW="Prelude._LAMBDA27246";strIdx.F_fa="Prelude.Prelude._.succ";strIdx.F_fc="Prelude._LAMBDA26931";strIdx.F_fd="Prelude._LAMBDA26932";strIdx.F_fe="Prelude._LAMBDA26933";strIdx.F_fk="Prelude._LAMBDA26939";strIdx.F_fm="Prelude._LAMBDA26941";strIdx.F_fn="Prelude._LAMBDA26942";strIdx.F_fo="Prelude._LAMBDA26943";strIdx.F_fr="Prelude._LAMBDA26946";strIdx.F_fs="Prelude._LAMBDA26947";strIdx.F_fv="Prelude._LAMBDA26950";strIdx.F_fw="Prelude._LAMBDA26951";strIdx.F_fx="Prelude._LAMBDA26952";strIdx.F_fz="Prelude._LAMBDA26954";strIdx.F_g0="Prelude.toInteger";strIdx.F_g1="Prelude.||";strIdx.F_g2="Roman.Roman.Prelude.221.k";strIdx.F_g3="Roman.Roman.Prelude.228.length";strIdx.F_g4="Roman._LAMBDA480";strIdx.F_g5="Roman._LAMBDA481";strIdx.F_g9="Roman.fromNumeral";strIdx.F_gA="Prelude.lookup";strIdx.F_gB="Prelude.map";strIdx.F_gC="Prelude.negate";strIdx.F_gD="Prelude.not";strIdx.F_gE="Prelude.or";strIdx.F_gF="Prelude.otherwise";strIdx.F_gG="Prelude.quot";strIdx.F_gH="Prelude.quotRem";strIdx.F_gI="Prelude.read";strIdx.F_gJ="Prelude.readParen";strIdx.F_gK="Prelude.reads";strIdx.F_gL="Prelude.readsPrec";strIdx.F_gM="Prelude.rem";strIdx.F_gN="Prelude.return";strIdx.F_gO="Prelude.reverse";strIdx.F_gP="Prelude.seq";strIdx.F_gQ="Prelude.show";strIdx.F_gR="Prelude.showChar";strIdx.F_gS="Prelude.showParen";strIdx.F_gT="Prelude.showString";strIdx.F_gU="Prelude.showsPrec";strIdx.F_gV="Prelude.signum";strIdx.F_gW="Prelude.snd";strIdx.F_gX="Prelude.span";strIdx.F_gY="Prelude.subtract";strIdx.F_gZ="Prelude.toEnum";strIdx.F_gb="Prelude._LAMBDA27663";strIdx.F_gd="Prelude._enumFromToDecC";strIdx.F_ge="Prelude._enumFromToIncC";strIdx.F_gf="Prelude._filter";strIdx.F_gg="Prelude._foldr";strIdx.F_gh="Prelude.abs";strIdx.F_gi="Prelude.any";strIdx.F_gj="Prelude.compare";strIdx.F_gk="Prelude.divMod";strIdx.F_gl="Prelude.dropWhile";strIdx.F_gm="Prelude.elem";strIdx.F_gn="Prelude.error";strIdx.F_go="Prelude.flip";strIdx.F_gp="Prelude.foldl";strIdx.F_gq="Prelude.foldl1";strIdx.F_gr="Prelude.foldr";strIdx.F_gs="Prelude.fromEnum";strIdx.F_gt="Prelude.fromInteger";strIdx.F_gu="Prelude.fromIntegral";strIdx.F_gv="Prelude.fst";strIdx.F_gw="Prelude.gcd";strIdx.F_gx="Prelude.id";strIdx.F_gy="Prelude.length";strIdx.F_gz="Prelude.lex";strIdx.F_hC="YHC.Primitive.primIntAbs";strIdx.F_hD="YHC.Primitive.primIntFromInteger";strIdx.F_hE="YHC.Primitive.primIntSignum";strIdx.F_hF="YHC.Primitive.primIntegerAdd";strIdx.F_hG="YHC.Primitive.primIntegerEq";strIdx.F_hH="YHC.Primitive.primIntegerFromInt";strIdx.F_hI="YHC.Primitive.primIntegerGe";strIdx.F_hJ="YHC.Primitive.primIntegerGt";strIdx.F_hK="YHC.Primitive.primIntegerLe";strIdx.F_hL="YHC.Primitive.primIntegerLt";strIdx.F_hM="YHC.Primitive.primIntegerMul";strIdx.F_hN="YHC.Primitive.primIntegerNe";strIdx.F_hO="YHC.Primitive.primIntegerNeg";strIdx.F_hP="YHC.Primitive.primIntegerQuot";strIdx.F_hQ="YHC.Primitive.primIntegerQuotRem";strIdx.F_hR="YHC.Primitive.primIntegerRem";strIdx.F_hS="YHC.Primitive.primIntegerSub";strIdx.F_ha="Roman.fromRoman";strIdx.F_hb="Roman.maxmunch";strIdx.F_hc="Roman.numerals";strIdx.F_hd="Roman.subnums";strIdx.F_he="Roman.toNumeral";strIdx.F_hf="Roman.toRoman";strIdx.F_hg="StdOverlay.StdOverlay.Prelude.255.showInt";strIdx.F_hh="StdOverlay.StdOverlay.Prelude.256.showPosInt";strIdx.F_m="Data.Char._LAMBDA1026";strIdx.F_n="Data.Char._LAMBDA1027";var F_b=new HSFun("F_b",3,function(_lJ,_lK,_lL){var c1=exprEval(_lK);switch((c1)._t){case true:return _lL;case false:return((exprEval(_lJ))._f[3])._ap([new HSData((-6),[])])};throw ('X ('+this._n+') '+c1.toSource())}),F_c=new HSFun("F_c",2,function(_lZ,_l0){var c2=exprEval(_l0);return function(_l1,_l2){return new HSData((-7),[new HSCons(_lZ,_l1),_l2])}((c2)._f[0],(c2)._f[1])}),F_d=new HSFun("F_d",1,function(_l3){var c3=exprEval(_l3);switch((c3)._t){case 3:return function(_l4,_l5){var c4=exprEval(((F_gm)._b(F_c8,_l4))._ap([F_l]));switch((c4)._t){case true:return new HSCons(new HSData((-7),[new HSCons(_l4,new HSEOL()),_l5]),new HSEOL());case false:var c5=exprEval(_l4);switch((c5).valueOf()){case 94:var c6=exprEval(_l5);switch((c6)._t){case 3:return function(_l6,_l7){var c7=exprEval((F_cD)._b((F_dZ)._b(_l6,mkChar(64)),(Number(exprEval(_l6)))<=(Number(exprEval(mkChar(95))))));switch((c7)._t){case true:return new HSCons(new HSData((-7),[new HSCons(mkChar(94),new HSCons(_l6,new HSEOL())),_l7]),new HSEOL());case false:var c8=exprEval((F_bg)._b(_l4));switch((c8)._t){case true:return new HSCons((F_gX)._b(F_bg,_l3),new HSEOL());case false:var c9=exprEval((F_0)._b(_l4));switch((c9)._t){case true:var c10=exprEval((F_gg)._b(new HSFun("F_n",0,function(){return(F_n)._ap([_l3])}),new HSCons(F_o,(F_gB)._b(F_gW,F_U)),new HSEOL()));switch((c10)._t){case 2:return new HSEOL();case 3:return function(_ma,_mb){return new HSCons(_ma,new HSEOL())}((c10)._f[0],(c10)._f[1])};throw ('X ('+this._n+') '+c10.toSource());case false:return new HSEOL()};throw ('X ('+this._n+') '+c9.toSource())};throw ('X ('+this._n+') '+c8.toSource())};throw ('X ('+this._n+') '+c7.toSource())}((c6)._f[0],(c6)._f[1]);default:var c11=exprEval((F_bg)._b(_l4));switch((c11)._t){case true:return new HSCons((F_gX)._b(F_bg,_l3),new HSEOL());case false:var c12=exprEval((F_0)._b(_l4));switch((c12)._t){case true:var c13=exprEval((F_gg)._b(new HSFun("F_n",0,function(){return(F_n)._ap([_l3])}),new HSCons(F_o,(F_gB)._b(F_gW,F_U)),new HSEOL()));switch((c13)._t){case 2:return new HSEOL();case 3:return function(_ma,_mb){return new HSCons(_ma,new HSEOL())}((c13)._f[0],(c13)._f[1])};throw ('X ('+this._n+') '+c13.toSource());case false:return new HSEOL()};throw ('X ('+this._n+') '+c12.toSource())};throw ('X ('+this._n+') '+c11.toSource())};throw ('X ('+this._n+') '+c6.toSource());case 111:return new HSCons((F_c)._ap([mkChar(111),new HSFun("F_gX",0,function(){return(F_gX)._b(F_bi,_l5)})]),new HSEOL());case 120:return new HSCons((F_c)._ap([mkChar(120),new HSFun("F_gX",0,function(){return(F_gX)._b(F_bh,_l5)})]),new HSEOL());default:var c14=exprEval((F_bg)._b(_l4));switch((c14)._t){case true:return new HSCons((F_gX)._b(F_bg,_l3),new HSEOL());case false:var c15=exprEval((F_0)._b(_l4));switch((c15)._t){case true:var c16=exprEval((F_gg)._b(new HSFun("F_n",0,function(){return(F_n)._ap([_l3])}),new HSCons(F_o,(F_gB)._b(F_gW,F_U)),new HSEOL()));switch((c16)._t){case 2:return new HSEOL();case 3:return function(_ma,_mb){return new HSCons(_ma,new HSEOL())}((c16)._f[0],(c16)._f[1])};throw ('X ('+this._n+') '+c16.toSource());case false:return new HSEOL()};throw ('X ('+this._n+') '+c15.toSource())};throw ('X ('+this._n+') '+c14.toSource())};throw ('X ('+this._n+') '+c5.toSource())};throw ('X ('+this._n+') '+c4.toSource())}((c3)._f[0],(c3)._f[1]);default:return new HSEOL()};throw ('X ('+this._n+') '+c3.toSource())}),F_e=new HSFun("F_e",3,function(_lS,_lT,_lU){var c17=exprEval(_lT);switch((c17)._t){case 3:return function(_lV,_lW){var c18=exprEval(_lU);switch((c18)._t){case 3:return function(_lX,_lY){var c19=exprEval(((exprEval(_lS))._f[1])._ap([_lV,_lX]));switch((c19)._t){case true:return(F_e)._ap([_lS,_lW,_lY]);case false:return new HSData((-7),[_lT,_lU])};throw ('X ('+this._n+') '+c19.toSource())}((c18)._f[0],(c18)._f[1]);default:return new HSData((-7),[_lT,_lU])};throw ('X ('+this._n+') '+c18.toSource())}((c17)._f[0],(c17)._f[1]);default:return new HSData((-7),[_lT,_lU])};throw ('X ('+this._n+') '+c17.toSource())}),F_f="ESC",F_g="FS",F_h="GS",F_i="RS",F_j="US",F_k="SP",F_l="abfnrtv\\\"\'",F_m=new HSFun("F_m",3,function(_hd,_io,_iH){var c20=exprEval(_io);return function(_l8,_l9){var c21=exprEval(_l8);switch((c21)._t){case 2:return new HSCons(new HSData((-7),[_hd,_l9]),_iH);default:return _iH};throw ('X ('+this._n+') '+c21.toSource())}((c20)._f[0],(c20)._f[1])}),F_n=new HSFun("F_n",3,function(_l3,_hd,_he){return(F_gg)._b(new HSFun("F_m",0,function(){return(F_m)._ap([_hd])}),new HSCons((F_e)._ap([F_c8,_hd,_l3]),new HSEOL()),_he)}),F_o="DEL",F_p=" \u0009\u000a\u000d\u000c\u000b\xa0",F_q="Char.intToDigit: not a digit",F_r="Data.Char: Pattern match failure in function at 74:1-77:62.",F_s="Data.Char: Pattern match failure in function at 275:1-276:28.",F_t="NUL",F_u="SOH",F_v="STX",F_w="ETX",F_x="EOT",F_y="ENQ",F_z="ACK",F_A="BEL",F_B="BS",F_C="HT",F_D="LF",F_E="VT",F_F="FF",F_G="CR",F_H="SO",F_I="SI",F_J="DLE",F_K="DC1",F_L="DC2",F_M="DC3",F_N="DC4",F_O="NAK",F_P="SYN",F_Q="ETB",F_R="CAN",F_S="EM",F_T="SUB",F_U=new HSFun("F_U",0,function(){return new HSCons(new HSData((-7),[mkChar(0),F_t]),new HSCons(new HSData((-7),[mkChar(1),F_u]),new HSCons(new HSData((-7),[mkChar(2),F_v]),new HSCons(new HSData((-7),[mkChar(3),F_w]),new HSCons(new HSData((-7),[mkChar(4),F_x]),new HSCons(new HSData((-7),[mkChar(5),F_y]),new HSCons(new HSData((-7),[mkChar(6),F_z]),new HSCons(new HSData((-7),[mkChar(7),F_A]),new HSCons(new HSData((-7),[mkChar(8),F_B]),new HSCons(new HSData((-7),[mkChar(9),F_C]),new HSCons(new HSData((-7),[mkChar(10),F_D]),new HSCons(new HSData((-7),[mkChar(11),F_E]),new HSCons(new HSData((-7),[mkChar(12),F_F]),new HSCons(new HSData((-7),[mkChar(13),F_G]),new HSCons(new HSData((-7),[mkChar(14),F_H]),new HSCons(new HSData((-7),[mkChar(15),F_I]),new HSCons(new HSData((-7),[mkChar(16),F_J]),new HSCons(new HSData((-7),[mkChar(17),F_K]),new HSCons(new HSData((-7),[mkChar(18),F_L]),new HSCons(new HSData((-7),[mkChar(19),F_M]),new HSCons(new HSData((-7),[mkChar(20),F_N]),new HSCons(new HSData((-7),[mkChar(21),F_O]),new HSCons(new HSData((-7),[mkChar(22),F_P]),new HSCons(new HSData((-7),[mkChar(23),F_Q]),new HSCons(new HSData((-7),[mkChar(24),F_R]),new HSCons(new HSData((-7),[mkChar(25),F_S]),new HSCons(new HSData((-7),[mkChar(26),F_T]),new HSCons(new HSData((-7),[mkChar(27),F_f]),new HSCons(new HSData((-7),[mkChar(28),F_g]),new HSCons(new HSData((-7),[mkChar(29),F_h]),new HSCons(new HSData((-7),[mkChar(30),F_i]),new HSCons(new HSData((-7),[mkChar(31),F_j]),new HSCons(new HSData((-7),[mkChar(32),F_k]),new HSEOL())))))))))))))))))))))))))))))))))}),F_V=new HSFun("F_V",1,function(_mf){var c22=exprEval((F_cD)._b((Number(exprEval(_mf)))>=(0),(Number(exprEval(_mf)))<=(9)));switch((c22)._t){case true:return(F_be)._ap([(exprEval((F_bk)._ap([mkChar(48)])))+(exprEval(_mf))]);case false:var c23=exprEval((F_cD)._b((Number(exprEval(_mf)))>=(10),(Number(exprEval(_mf)))<=(15)));switch((c23)._t){case true:return(F_be)._ap([(exprEval((exprEval((F_bk)._ap([mkChar(97)])))+(exprEval(_mf))))-(10)]);case false:var c24=exprEval(F_gF);switch((c24)._t){case true:return(F_gn)._b(F_q);case false:return(F_gn)._b(F_r)};throw ('X ('+this._n+') '+c24.toSource())};throw ('X ('+this._n+') '+c23.toSource())};throw ('X ('+this._n+') '+c22.toSource())}),F_W=new HSFun("F_W",1,function(_md){return(F_g1)._b((F_0)._b(_md),new HSFun("F_Y",0,function(){return(F_Y)._b(_md)}))}),F_X=new HSFun("F_X",1,function(_me){return(F_g1)._b((F_W)._b(_me),new HSFun("F_bg",0,function(){return(F_bg)._b(_me)}))}),F_Y=new HSFun("F_Y",1,function(_lM){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lM,mkChar(97)),(Number(exprEval(_lM)))<=(Number(exprEval(mkChar(122))))),new HSFun("F_g1",0,function(){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lM,mkChar(223)),(Number(exprEval(_lM)))<=(Number(exprEval(mkChar(246))))),new HSFun("F_cD",0,function(){return(F_cD)._b((F_dZ)._b(_lM,mkChar(248)),(Number(exprEval(_lM)))<=(Number(exprEval(mkChar(255)))))}))}))}),F_Z=new HSFun("F_Z",1,function(_mc){return((F_gm)._b(F_c8,_mc))._ap([F_p])}),F_0=new HSFun("F_0",1,function(_lO){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lO,mkChar(65)),(Number(exprEval(_lO)))<=(Number(exprEval(mkChar(90))))),new HSFun("F_g1",0,function(){return(F_g1)._b((F_cD)._b((F_dZ)._b(_lO,mkChar(192)),(Number(exprEval(_lO)))<=(Number(exprEval(mkChar(214))))),new HSFun("F_cD",0,function(){return(F_cD)._b((F_dZ)._b(_lO,mkChar(216)),(Number(exprEval(_lO)))<=(Number(exprEval(mkChar(222)))))}))}))}),F_1=new HSFun("F_1",1,function(_lP){var c25=exprEval(_lP);switch((c25)._t){case 2:return new HSEOL();case 3:return function(_lQ,_lR){var c26=exprEval(_lQ);switch((c26).valueOf()){case 92:return(F_gB)._b((F_c)._ap([mkChar(92)]),(F_d)._ap([_lR]));default:return new HSCons(new HSData((-7),[new HSCons(_lQ,new HSEOL()),_lR]),new HSEOL())};throw ('X ('+this._n+') '+c26.toSource())}((c25)._f[0],(c25)._f[1])};throw ('X ('+this._n+') '+c25.toSource())}),F_2=new HSFun("F_2",1,function(_lN){var c27=exprEval((F_Y)._b(_lN));switch((c27)._t){case true:return(exprEval((exprEval(_lN))-(exprEval(mkChar(97)))))+(exprEval(mkChar(65)));case false:var c28=exprEval(F_gF);switch((c28)._t){case true:return _lN;case false:return(F_gn)._b(F_s)};throw ('X ('+this._n+') '+c28.toSource())};throw ('X ('+this._n+') '+c27.toSource())}),F_3="Maybe.fromJust: Nothing",F_4=new HSFun("F_4",1,function(_kg){var c29=exprEval(_kg);switch((c29)._t){case 18:return(F_gn)._b(F_3);case 16:return(c29)._f[0]};throw ('X ('+this._n+') '+c29.toSource())}),F_5=new HSFun("F_5",2,function(_kd,_ke){var c30=exprEval(_ke);switch((c30)._t){case 18:return _kd;case 16:return(c30)._f[0]};throw ('X ('+this._n+') '+c30.toSource())}),F_6=new HSFun("F_6",3,function(_I,_J,_K){return(F_8)._b(_I,((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[2])._ap([_J,((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[6])._ap([_K])]),((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[8])._ap([_K]))}),F_7="Ratio.%: zero denominator",F_8=new HSFun("F_8",3,function(_F,_G,_H){var _lf=new HSFun("_lf",0,function(){return _F}),_b=new HSFun("_b",0,function(){return(F_gw)._b(_lf,_G,_H)}),c31=exprEval(((exprEval((exprEval((exprEval((exprEval(_F))._f[0]))._f[0]))._f[0]))._f[1])._ap([_H,((exprEval((exprEval((exprEval(_F))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c31)._t){case true:return(F_gn)._b(F_7);case false:return new HSData((-4),[((exprEval(_F))._f[7])._ap([_G,_b]),((exprEval(_F))._f[7])._ap([_H,_b])])};throw ('X ('+this._n+') '+c31.toSource())}),F_9=new HSFun("F_9",2,function(_ee,_ef){var c32=exprEval(_ee);return function(_kl,_km){var c33=exprEval(_kl);switch((c33)._t){case 3:return function(_kn,_ko){return new HSCons(new HSData((-7),[_kl,_km]),_ef)}((c33)._f[0],(c33)._f[1]);default:return _ef};throw ('X ('+this._n+') '+c33.toSource())}((c32)._f[0],(c32)._f[1])}),F_ba=new HSFun("F_ba",4,function(_kp,_kq,_ec,_ed){return((exprEval((exprEval((exprEval(_kp))._f[0]))._f[0]))._f[3])._ap([((exprEval((exprEval((exprEval(_kp))._f[0]))._f[0]))._f[2])._ap([_ec,_kq]),_ed])}),F_bb=new HSFun("F_bb",5,function(_kq,_kp,_ks,_c7,_dI){var c34=exprEval(_c7);return function(_ku,_kv){return new HSCons(new HSData((-7),[new HSFun("F_gq",0,function(){return(F_gq)._b(new HSFun("F_ba",0,function(){return(F_ba)._ap([_kp,_kq])}),(F_gB)._b((F_fc)._ap([_ks,(F_gu)._b(F_dn,new HSFun("F_eI",0,function(){return(exprEval((exprEval(_kp))._f[0]))._f[0]}))]),_ku))}),_kv]),_dI)}((c34)._f[0],(c34)._f[1])}),F_bc="Char.digitToInt: not a digit",F_bd="Data._CharNumeric: Pattern match failure in function at 22:1-26:64.",F_be=new HSFun("F_be",0,function(){return F_gx}),F_bf=new HSFun("F_bf",1,function(_ky){var c35=exprEval((F_bg)._b(_ky));switch((c35)._t){case true:return(exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(48)])));case false:var c36=exprEval((F_cD)._b((F_dZ)._b(_ky,mkChar(97)),(Number(exprEval(_ky)))<=(Number(exprEval(mkChar(102))))));switch((c36)._t){case true:return(exprEval((exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(97)])))))+(10);case false:var c37=exprEval((F_cD)._b((F_dZ)._b(_ky,mkChar(65)),(Number(exprEval(_ky)))<=(Number(exprEval(mkChar(70))))));switch((c37)._t){case true:return(exprEval((exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(65)])))))+(10);case false:var c38=exprEval(F_gF);switch((c38)._t){case true:return(F_gn)._b(F_bc);case false:return(F_gn)._b(F_bd)};throw ('X ('+this._n+') '+c38.toSource())};throw ('X ('+this._n+') '+c37.toSource())};throw ('X ('+this._n+') '+c36.toSource())};throw ('X ('+this._n+') '+c35.toSource())}),F_bg=new HSFun("F_bg",1,function(_kx){return(F_cD)._b((F_dZ)._b(_kx,mkChar(48)),(Number(exprEval(_kx)))<=(Number(exprEval(mkChar(57)))))}),F_bh=new HSFun("F_bh",1,function(_kw){return(F_g1)._b((F_cD)._b((F_dZ)._b(_kw,mkChar(48)),(Number(exprEval(_kw)))<=(Number(exprEval(mkChar(57))))),new HSFun("F_g1",0,function(){return(F_g1)._b((F_cD)._b((F_dZ)._b(_kw,mkChar(65)),(Number(exprEval(_kw)))<=(Number(exprEval(mkChar(70))))),new HSFun("F_cD",0,function(){return(F_cD)._b((F_dZ)._b(_kw,mkChar(97)),(Number(exprEval(_kw)))<=(Number(exprEval(mkChar(102)))))}))}))}),F_bi=new HSFun("F_bi",1,function(_kz){return(F_cD)._b((F_dZ)._b(_kz,mkChar(48)),(Number(exprEval(_kz)))<=(Number(exprEval(mkChar(55)))))}),F_bj=new HSFun("F_bj",2,function(_kj,_kk){return(F_gg)._b(F_9,new HSCons((F_gX)._b(_kj,_kk),new HSEOL()),new HSEOL())}),F_bk=new HSFun("F_bk",0,function(){return F_gx}),F_bl=new HSFun("F_bl",1,function(_kA){return(F_bm)._ap([_kA,((exprEval((exprEval((exprEval(_kA))._f[0]))._f[0]))._f[7])._ap([10]),F_bg,F_bf])}),F_bm=new HSFun("F_bm",5,function(_kp,_kq,_kr,_ks,_kt){return(F_gg)._b(new HSFun("F_bb",0,function(){return(F_bb)._ap([_kq,_kp,_ks])}),(F_bj)._b(_kr,_kt),new HSEOL())}),F_bn=new HSFun("F_bn",0,function(){return new HSData((-9),[F_bp,F_bo,F_bq,F_br])}),F_bo=new HSFun("F_bo",2,function(_lC,_lD){var c39=exprEval(_lC);return _lD}),F_bp=new HSFun("F_bp",2,function(_lF,_lG){var c40=exprEval(_lF);return function(_lH){return(_lG)._ap([_lH])}((c40)._f[0])}),F_bq=new HSFun("F_bq",1,function(_lI){return(F_gn)._b(_lI)}),F_br=new HSFun("F_br",1,function(_lB){return(F_gP)._b(_lB,new HSData((-5),[_lB]))}),F_bs="return new HSData(conIdx[\'Echo.JS\'],[document]);",F_bt="return new HSData(conIdx[\'Echo.JS\'],[exprEval(a)[exprEval(b).toString()]]);",F_bu="exprEval(a)[exprEval(b).toString()]=exprEval(c);return new HSData(conIdx[\'Echo.JS\'],[]);",F_bv="exprEval(a)[exprEval(b).toString()]=function(e){if(!e){e=window.event;}; return exprEval(exprEval(c)._ap([e]));}; return new HSData(conIdx[\'Echo.JS\'],[]);",F_bw="return new HSData(conIdx[\'Echo.JS\'],[new Number(exprEval(a))]);",F_bx="return new HSData(conIdx[\'Echo.JS\'],[new String(exprEval(a))]);",F_by="try {return exprEval(a);} catch(_e) {return exprEval(b)._ap([_e]);}",F_bz="return new HSData(conIdx[\'Echo.JS\'],[(new Date()).getTime()]);",F_bA="var a1=exprEval(a); return new HSData(conIdx[\'Echo.JS\'],[cbrApply(a1[exprEval(b).toString()],a1,exprEval(c)._toArray())]);",F_bB="keyCode",F_bC="body",F_bD="createElement",F_bE="div",F_bF="value",F_bG="",F_bH=new HSFun("F_bH",1,function(v593){return(F_br)._b(F_bG)}),F_bI="",F_bJ=new HSFun("F_bJ",1,function(v594){return(F_br)._b(F_bI)}),F_bK=" ",F_bL=" ",F_bM=" ",F_bN=" ms",F_bO="innerHTML",F_bP="insertBefore",F_bQ="value",F_bR="",F_bS=new HSFun("F_bS",8,function(_et,_fK,_fO,_f8,_e2,_e3,_lz,_hc){var _kJ=new HSFun("_kJ",0,function(){return F_dF}),_c=new HSFun("_c",0,function(){return((exprEval(_kJ))._f[4])._ap([_hc,_et])}),_kL=new HSFun("_kL",0,function(){return F_eK}),_d=new HSFun("_d",0,function(){return(F_cG)._b(_fK,new HSFun("F_cG",0,function(){return(F_cG)._b(F_bK,new HSFun("F_cG",0,function(){return(F_cG)._b(_fO,new HSFun("F_cG",0,function(){return(F_cG)._b(F_bL,new HSFun("F_cG",0,function(){return(F_cG)._b(_f8,new HSFun("F_cG",0,function(){return(F_cG)._b(F_bM,new HSFun("F_cG",0,function(){return(F_cG)._b(((exprEval(_kL))._f[3])._ap([_c]),F_bN)}))}))}))}))}))}))});return(F_bo)._b((F_cm)._b(_e3,F_bO,_d),(F_bo)._b((F_cl)._b(_e2,F_bP,new HSCons(_e3,new HSCons(_lz,new HSEOL()))),(F_bo)._b((F_cm)._b(_lz,F_bQ,F_bR),(F_br)._b(new HSData((-6),[])))))}),F_bT=new HSFun("F_bT",7,function(_et,_fK,_fO,_e2,_e3,_lz,_f8){return(F_bp)._b((F_ch)._b(0),new HSFun("F_bS",0,function(){return(F_bS)._ap([_et,_fK,_fO,_f8,_e2,_e3,_lz])}))}),F_bU=new HSFun("F_bU",6,function(_et,_fK,_e2,_e3,_lz,_fO){return(F_bp)._b((F_ce)._b(new HSFun("F_cC",0,function(){return(F_cC)._b(F_br,new HSFun("F_hf",0,function(){return(F_hf)._b(new HSFun("F_gI",0,function(){return(F_gI)._b(F_eA,_fK)}))}))}),F_bJ),new HSFun("F_bT",0,function(){return(F_bT)._ap([_et,_fK,_fO,_e2,_e3,_lz])}))}),F_bV=new HSFun("F_bV",5,function(_et,_e2,_e3,_lz,_fK){return(F_bo)._b((F_cC)._b(new HSFun("F_b",0,function(){return(F_b)._ap([F_bn,(Number(exprEval((F_gy)._b(_fK))))>(0)])}),new HSFun("F_bp",0,function(){return(F_bp)._b((F_ce)._b(new HSFun("F_cC",0,function(){return(F_cC)._b(F_br,((F_fc)._ap([F_ha,F_eL]))._ap([_fK]))}),F_bH),new HSFun("F_bU",0,function(){return(F_bU)._ap([_et,_fK,_e2,_e3,_lz])}))})),(F_br)._b(new HSData((-6),[])))}),F_bW=new HSFun("F_bW",4,function(_et,_e2,_lz,_e3){return(F_bp)._b((F_bp)._b((F_cg)._b(_lz,F_bF),F_cd),new HSFun("F_bV",0,function(){return(F_bV)._ap([_et,_e2,_e3,_lz])}))}),F_bX=new HSFun("F_bX",4,function(_eY,_et,_lz,_e2){return(F_bp)._b((F_cl)._b(_eY,F_bD,new HSCons(F_bE,new HSEOL())),new HSFun("F_bW",0,function(){return(F_bW)._ap([_et,_e2,_lz])}))}),F_bY=new HSFun("F_bY",3,function(_et,_lz,_eY){return(F_bp)._b((F_cg)._b(_eY,F_bC),new HSFun("F_bX",0,function(){return(F_bX)._ap([_eY,_et,_lz])}))}),F_bZ=new HSFun("F_bZ",2,function(_lz,_et){return(F_bp)._b(F_cf,new HSFun("F_bY",0,function(){return(F_bY)._ap([_et,_lz])}))}),F_b0=new HSFun("F_b0",2,function(_lz,_eq){return(F_bo)._b((F_cC)._b(new HSFun("F_b",0,function(){return(F_b)._ap([F_bn,(Number(exprEval(_eq)))===(13)])}),new HSFun("F_bp",0,function(){return(F_bp)._b((F_ch)._b(0),new HSFun("F_bZ",0,function(){return(F_bZ)._ap([_lz])}))})),(F_br)._b(new HSData((-6),[])))}),F_b1="body",F_b2="createElement",F_b3="input",F_b4="id",F_b5="input-echo",F_b6="appendChild",F_b7="onkeypress",F_b8="focus",F_b9=new HSFun("F_b9",2,function(_io,_iH){return(F_bo)._b((F_cm)._b(_iH,F_b4,F_b5),(F_bo)._b((F_cl)._b(_io,F_b6,new HSCons(_iH,new HSEOL())),(F_bo)._b((F_ck)._b(_iH,F_b7,new HSFun("F_ci",0,function(){return(F_ci)._ap([_iH])})),(F_bo)._b((F_cl)._b(_iH,F_b8,new HSEOL()),(F_br)._b(new HSData((-6),[]))))))}),F_ca=new HSFun("F_ca",2,function(_ia,_io){return(F_bp)._b((F_cl)._b(_ia,F_b2,new HSCons(F_b3,new HSEOL())),new HSFun("F_b9",0,function(){return(F_b9)._ap([_io])}))}),F_cb=new HSFun("F_cb",1,function(_ia){return(F_bp)._b((F_cg)._b(_ia,F_b1),new HSFun("F_ca",0,function(){return(F_ca)._ap([_ia])}))}),F_cc=new HSFun("F_cc",1,function(a){return new HSData(conIdx['Echo.JS'],[new Number(exprEval(a))])}),F_cd=new HSFun("F_cd",1,function(a){return new HSData(conIdx['Echo.JS'],[new String(exprEval(a))])}),F_ce=new HSFun("F_ce",2,function(a,b){try{return exprEval(a)}catch(_e){return exprEval(b)._ap([_e])}}),F_cf=new HSFun("F_cf",0,function(){return new HSData(conIdx['Echo.JS'],[document])}),F_cg=new HSFun("F_cg",2,function(a,b){return new HSData(conIdx['Echo.JS'],[exprEval(a)[exprEval(b).toString()]])}),F_ch=new HSFun("F_ch",1,function(a){return new HSData(conIdx['Echo.JS'],[(new Date()).getTime()])}),F_ci=new HSFun("F_ci",2,function(_lz,_lA){return(F_bp)._b((F_bp)._b((F_cg)._b(_lA,F_bB),F_cc),new HSFun("F_b0",0,function(){return(F_b0)._ap([_lz])}))}),F_cj=new HSFun("F_cj",0,function(){return(F_bp)._b(F_cf,F_cb)}),F_ck=new HSFun("F_ck",3,function(a,b,c){exprEval(a)[exprEval(b).toString()]=function(e){if(!e)e=window.event;return exprEval(exprEval(c)._ap([e]))};return new HSData(conIdx['Echo.JS'],[])}),F_cl=new HSFun("F_cl",3,function(a,b,c){var a1=exprEval(a);return new HSData(conIdx['Echo.JS'],[cbrApply(a1[exprEval(b).toString()],a1,exprEval(c)._toArray())])}),F_cm=new HSFun("F_cm",3,function(a,b,c){exprEval(a)[exprEval(b).toString()]=exprEval(c);return new HSData(conIdx['Echo.JS'],[])}),F_cn=new HSFun("F_cn",3,function(_E,_bI,_bO){return(F_cG)._b(((F_co)._ap([_bI]))._ap([_bO]),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_cw",0,function(){return(F_cw)._ap([_E,_bI])}),(F_gz)._b(_bO),new HSEOL())}))}),F_co=new HSFun("F_co",2,function(_bI,_bJ){return(F_gg)._b(new HSFun("F_cu",0,function(){return(F_cu)._ap([_bI])}),(F_gz)._b(_bJ),new HSEOL())}),F_cp="Numeric.showIntAtBase: can\'t show negative numbers",F_cq=new HSFun("F_cq",1,function(_e){return(exprEval(_e))._f[0]}),F_cr=new HSFun("F_cr",1,function(_e){return(exprEval(_e))._f[1]}),F_cs="Numeric: Pattern match failure in function at 435:1-440:66.",F_ct=new HSFun("F_ct",3,function(_bL,_kJ,_kK){var c41=exprEval(_kJ);return function(_bM,_bN){var c42=exprEval(_bN);switch((c42)._t){case 2:return new HSCons(new HSData((-7),[_bM,_bL]),_kK);default:return _kK};throw ('X ('+this._n+') '+c42.toSource())}((c41)._f[0],(c41)._f[1])}),F_cu=new HSFun("F_cu",3,function(_bI,_kH,_kI){var c43=exprEval(_kH);return function(_bK,_bL){return(F_gg)._b(new HSFun("F_ct",0,function(){return(F_ct)._ap([_bL])}),(_bI)._ap([_bK]),_kI)}((c43)._f[0],(c43)._f[1])}),F_cv=new HSFun("F_cv",3,function(_E,_kD,_kE){var c44=exprEval(_kD);return function(_bT,_bU){return new HSCons(new HSData((-7),[((exprEval(_E))._f[5])._ap([_bT]),_bU]),_kE)}((c44)._f[0],(c44)._f[1])}),F_cw=new HSFun("F_cw",4,function(_E,_bI,_kB,_kC){var c45=exprEval(_kB);return function(_bP,_bQ){var c46=exprEval(_bP);switch((c46)._t){case 3:return function(_bR,_bS){var c47=exprEval(_bR);switch((c47).valueOf()){case 45:var c48=exprEval(_bS);switch((c48)._t){case 2:return(F_gg)._b(new HSFun("F_cv",0,function(){return(F_cv)._ap([_E])}),((F_co)._ap([_bI]))._ap([_bQ]),_kC);default:return _kC};throw ('X ('+this._n+') '+c48.toSource());default:return _kC};throw ('X ('+this._n+') '+c47.toSource())}((c46)._f[0],(c46)._f[1]);default:return _kC};throw ('X ('+this._n+') '+c46.toSource())}((c45)._f[0],(c45)._f[1])}),F_cx=new HSFun("F_cx",0,function(){return(F_bj)._ap([F_bg])}),F_cy=new HSFun("F_cy",2,function(_bH,_bI){var _E=new HSFun("_E",0,function(){return(exprEval(_bH))._f[0]});return(F_gJ)._b(false,new HSFun("F_cn",0,function(){return(F_cn)._ap([_E,_bI])}))}),F_cz=new HSFun("F_cz",1,function(_4){return(F_cA)._ap([_4,((exprEval((exprEval((exprEval(_4))._f[0]))._f[0]))._f[7])._ap([10]),F_V])}),F_cA=new HSFun("F_cA",5,function(_V,_W,_X,_Y,_Z){var c49=exprEval(((exprEval((exprEval((exprEval(_V))._f[0]))._f[1]))._f[1])._ap([_Y,((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c49)._t){case true:return(F_gn)._b(F_cp);case false:var c50=exprEval(F_gF);switch((c50)._t){case true:var _ld=new HSFun("_ld",0,function(){return _V}),_e=new HSFun("_e",0,function(){return((exprEval(_ld))._f[4])._ap([_Y,_W])}),_f=new HSFun("_f",0,function(){return(exprEval(_e))._f[0]}),_g=new HSFun("_g",0,function(){return(exprEval(_e))._f[1]}),_le=new HSFun("_le",0,function(){return _V}),_h=new HSFun("_h",0,function(){return new HSCons((_X)._ap([((F_gu)._b(_le,F_dF))._ap([_g])]),_Z)}),c51=exprEval(((exprEval((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[0]))._f[1])._ap([_f,((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c51)._t){case true:return _h;case false:return(F_cA)._b(_V,_W,_X,_f,_h)};throw ('X ('+this._n+') '+c51.toSource());case false:return(F_gn)._b(F_cs)};throw ('X ('+this._n+') '+c50.toSource())};throw ('X ('+this._n+') '+c49.toSource())}),F_cB=new HSFun("F_cB",4,function(_R,_S,_T,_U){var c52=exprEval(((exprEval((exprEval(_R))._f[1]))._f[1])._ap([_U,((exprEval((exprEval(_R))._f[0]))._f[7])._ap([0])]));switch((c52)._t){case true:return(F_gS)._b((Number(exprEval(_T)))>(6),(F_fc)._ap([(_S)._ap([((exprEval((exprEval(_R))._f[0]))._f[5])._ap([_U])]),(F_fW)._ap([mkChar(45)])]));case false:return(_S)._ap([_U])};throw ('X ('+this._n+') '+c52.toSource())}),F_cC=new HSFun("F_cC",2,function(_eK,_eL){return(_eK)._ap([_eL])}),F_cD=new HSFun("F_cD",2,function(_er,_es){var c53=exprEval(_er);switch((c53)._t){case true:return _es;case false:return false};throw ('X ('+this._n+') '+c53.toSource())}),F_cE=new HSFun("F_cE",1,function(_jC){return(exprEval(_jC))._f[2]}),F_cF=new HSFun("F_cF",1,function(_jD){return(exprEval(_jD))._f[3]}),F_cG=new HSFun("F_cG",2,function(_cp,_cq){var c54=exprEval(_cp);switch((c54)._t){case 2:return _cq;case 3:return function(_cr,_cs){return new HSCons(_cr,(F_cG)._b(_cs,_cq))}((c54)._f[0],(c54)._f[1])};throw ('X ('+this._n+') '+c54.toSource())}),F_cH=new HSFun("F_cH",1,function(_jE){return(exprEval(_jE))._f[4]}),F_cI=new HSFun("F_cI",2,function(_b9,_ca){return(F_fc)._ap([_ca,_b9])}),F_cJ=new HSFun("F_cJ",1,function(_jn){return(exprEval(_jn))._f[1]}),F_cK=new HSFun("F_cK",1,function(_jo){return(exprEval(_jo))._f[2]}),F_cL=new HSFun("F_cL",1,function(_jd){return(exprEval(_jd))._f[1]}),F_cM=new HSFun("F_cM",1,function(_jq){return(exprEval(_jq))._f[4]}),F_cN=new HSFun("F_cN",1,function(_jp){return(exprEval(_jp))._f[3]}),F_cO=new HSFun("F_cO",1,function(_f7){return _f7}),F_cP=new HSFun("F_cP",0,function(){return new HSData((-10),[F_cW,F_cV,F_cQ,F_cU,F_cX,F_cR,F_cT,F_cS])}),F_cQ=new HSFun("F_cQ",1,function(_hH){return new HSCons(_hH,(F_cQ)._b((exprEval(_hH))+(1)))}),F_cR=new HSFun("F_cR",2,function(_hF,_hG){return new HSCons(_hF,(F_cR)._b(_hG,(exprEval((2)*(exprEval(_hG))))-(exprEval(_hF))))}),F_cS=new HSFun("F_cS",3,function(_hK,_hL,_hM){return(F_e1)._b(F_cP,_hK,_hL,_hM)}),F_cT=new HSFun("F_cT",2,function(_hN,_hO){return(F_e2)._b(F_cP,_hN,_hO)}),F_cU=new HSFun("F_cU",1,function(_hI){return _hI}),F_cV=new HSFun("F_cV",1,function(_hP){return(F_e6)._b(F_cP,_hP)}),F_cW=new HSFun("F_cW",1,function(_hQ){return(F_fa)._b(F_cP,_hQ)}),F_cX=new HSFun("F_cX",1,function(_hJ){return _hJ}),F_cY=new HSFun("F_cY",0,function(){return new HSData((-10),[F_c5,F_c4,F_cZ,F_c3,F_c6,F_c0,F_c2,F_c1])}),F_cZ=new HSFun("F_cZ",1,function(_g2){return new HSCons(_g2,(F_cZ)._b((F_hF)._b(_g2,1)))}),F_c0=new HSFun("F_c0",2,function(_g0,_g1){return new HSCons(_g0,(F_c0)._b(_g1,(F_hF)._b((F_hM)._b(2,_g1),_g0)))}),F_c1=new HSFun("F_c1",3,function(_g7,_g8,_g9){return(F_e1)._b(F_cY,_g7,_g8,_g9)}),F_c2=new HSFun("F_c2",2,function(_ha,_hb){return(F_e2)._b(F_cY,_ha,_hb)}),F_c3=new HSFun("F_c3",1,function(_g3){return(F_hD)._b(_g3)}),F_c4=new HSFun("F_c4",1,function(_g5){return(F_hS)._b(_g5,1)}),F_c5=new HSFun("F_c5",1,function(_g6){return(F_hF)._b(_g6,1)}),F_c6=new HSFun("F_c6",1,function(_g4){return(F_hH)._b(_g4)}),F_c7=new HSFun("F_c7",1,function(_fq){var c55=exprEval(_fq);switch((c55)._t){case 17:return 0;case 13:return 1;case 15:return 2};throw ('X ('+this._n+') '+c55.toSource())}),F_c8=new HSFun("F_c8",0,function(){return new HSData((-7),[F_c9,F_da])}),F_c9=new HSFun("F_c9",2,function(_f5,_f6){return(F_eU)._b(F_c8,_f5,_f6)}),F_da=new HSFun("F_da",2,function(_f3,_f4){return(Number(exprEval(_f3)))===(Number(exprEval(_f4)))}),F_db=new HSFun("F_db",0,function(){return new HSData((-7),[F_dc,F_dd])}),F_dc=new HSFun("F_dc",2,function(_if,_ig){return(Number(exprEval(_if)))!==(Number(exprEval(_ig)))}),F_dd=new HSFun("F_dd",2,function(_ih,_ii){return(Number(exprEval(_ih)))===(Number(exprEval(_ii)))}),F_de=new HSFun("F_de",0,function(){return new HSData((-7),[F_df,F_dg])}),F_df=new HSFun("F_df",2,function(_gW,_gX){return(F_hN)._b(_gW,_gX)}),F_dg=new HSFun("F_dg",2,function(_gY,_gZ){return(F_hG)._b(_gY,_gZ)}),F_dh=new HSFun("F_dh",0,function(){return new HSData((-7),[F_di,F_dj])}),F_di=new HSFun("F_di",2,function(_fo,_fp){return(F_eU)._b(F_dh,_fo,_fp)}),F_dj=new HSFun("F_dj",2,function(_fj,_fk){return(Number(exprEval((F_c7)._b(_fj))))===(Number(exprEval((F_c7)._b(_fk))))}),F_dk=new HSFun("F_dk",1,function(_bW){return new HSData((-7),[new HSFun("F_dl",0,function(){return(F_dl)._ap([_bW])}),new HSFun("F_dm",0,function(){return(F_dm)._ap([_bW])})])}),F_dl=new HSFun("F_dl",3,function(_iP,_iQ,_iR){return(F_eU)._b(new HSFun("F_dk",0,function(){return(F_dk)._b(_iP)}),_iQ,_iR)}),F_dm=new HSFun("F_dm",3,function(_iI,_iJ,_iK){var c56=exprEval(_iJ);switch((c56)._t){case 2:var c57=exprEval(_iK);switch((c57)._t){case 2:return true;default:return false};throw ('X ('+this._n+') '+c57.toSource());case 3:return function(_iL,_iM){var c58=exprEval(_iK);switch((c58)._t){case 3:return function(_iN,_iO){return(F_cD)._b(((exprEval(_iI))._f[1])._ap([_iL,_iN]),new HSFun("F_dm",0,function(){return(F_dm)._b(_iI,_iM,_iO)}))}((c58)._f[0],(c58)._f[1]);default:return false};throw ('X ('+this._n+') '+c58.toSource())}((c56)._f[0],(c56)._f[1])};throw ('X ('+this._n+') '+c56.toSource())}),F_dn=new HSFun("F_dn",0,function(){return new HSData((-11),[F_eE,F_cP,F_dp,F_dq,F_ds,F_dt,F_du,F_dr,F_do])}),F_do=new HSFun("F_do",2,function(_hC,_hD){return(F_eZ)._b(F_dn,_hC,_hD)}),F_dp=new HSFun("F_dp",2,function(_hx,_hy){return(F_e0)._b(F_dn,_hx,_hy)}),F_dq=new HSFun("F_dq",2,function(_hp,_hq){var _k=new HSFun("_k",0,function(){return(exprEval(_hp))%(exprEval(_hq))}),c59=exprEval((Number(exprEval((F_hE)._b(_k))))===(Number(exprEval(NEG_W(exprEval((F_hE)._b(_hq)))))));switch((c59)._t){case true:return(exprEval(_k))+(exprEval(_hq));case false:return _k};throw ('X ('+this._n+') '+c59.toSource())}),F_dr=new HSFun("F_dr",2,function(_hv,_hw){return function(x,y){return(x-(x%y))/y}(Number(exprEval(_hv)),Number(exprEval(_hw)))}),F_ds=new HSFun("F_ds",2,function(_hr,_hs){return new HSData((-7),[function(x,y){return(x-(x%y))/y}(Number(exprEval(_hr)),Number(exprEval(_hs))),(exprEval(_hr))%(exprEval(_hs))])}),F_dt=new HSFun("F_dt",2,function(_ht,_hu){return(exprEval(_ht))%(exprEval(_hu))}),F_du=new HSFun("F_du",1,function(_ho){return(F_hH)._b(_ho)}),F_dv=new HSFun("F_dv",0,function(){return new HSData((-11),[F_eG,F_cY,F_dx,F_dy,F_dA,F_dB,F_dC,F_dz,F_dw])}),F_dw=new HSFun("F_dw",2,function(_gi,_gj){return(exprEval((F_dx)._b(_gi,_gj)))._f[0]}),F_dx=new HSFun("F_dx",2,function(_gv,_gw){return(F_e0)._b(F_dv,_gv,_gw)}),F_dy=new HSFun("F_dy",2,function(_gg,_gh){return(exprEval((F_dx)._b(_gg,_gh)))._f[1]}),F_dz=new HSFun("F_dz",2,function(_gm,_gn){return(F_hP)._b(_gm,_gn)}),F_dA=new HSFun("F_dA",2,function(_ge,_gf){return(F_hQ)._b(_ge,_gf)}),F_dB=new HSFun("F_dB",2,function(_gk,_gl){return(F_hR)._b(_gk,_gl)}),F_dC=new HSFun("F_dC",1,function(_gd){return _gd}),F_dD=new HSFun("F_dD",1,function(_jX){return(exprEval(_jX))._f[0]}),F_dE=new HSFun("F_dE",1,function(_jB){return(exprEval(_jB))._f[0]}),F_dF=new HSFun("F_dF",0,function(){return new HSData((-11),[F_db,F_eK,F_dG,F_dH,F_dI,F_dL,F_dM,F_dK,F_dJ])}),F_dG=new HSFun("F_dG",2,function(_hU,_hV){return(exprEval(_hU))*(exprEval(_hV))}),F_dH=new HSFun("F_dH",2,function(_hY,_hZ){return(exprEval(_hY))+(exprEval(_hZ))}),F_dI=new HSFun("F_dI",2,function(_hW,_hX){return(exprEval(_hW))-(exprEval(_hX))}),F_dJ=new HSFun("F_dJ",1,function(_hT){return(F_hC)._b(_hT)}),F_dK=new HSFun("F_dK",1,function(_hR){return(F_hD)._b(_hR)}),F_dL=new HSFun("F_dL",1,function(a){return 0-Number(exprEval(a))}),F_dM=new HSFun("F_dM",1,function(_hS){return(F_hE)._b(_hS)}),F_dN=new HSFun("F_dN",0,function(){return new HSData((-11),[F_de,F_eP,F_dO,F_dP,F_dQ,F_dT,F_dU,F_dS,F_dR])}),F_dO=new HSFun("F_dO",2,function(_gC,_gD){return(F_hM)._b(_gC,_gD)}),F_dP=new HSFun("F_dP",2,function(_gG,_gH){return(F_hF)._b(_gG,_gH)}),F_dQ=new HSFun("F_dQ",2,function(_gE,_gF){return(F_hS)._b(_gE,_gF)}),F_dR=new HSFun("F_dR",1,function(_gA){var c60=exprEval((F_hL)._b(_gA,0));switch((c60)._t){case true:return(F_hO)._b(_gA);case false:return _gA};throw ('X ('+this._n+') '+c60.toSource())}),F_dS=new HSFun("F_dS",1,function(_gy){return _gy}),F_dT=new HSFun("F_dT",1,function(_gB){return(F_hO)._b(_gB)}),F_dU=new HSFun("F_dU",1,function(_gz){var c61=exprEval((F_eh)._b(_gz,0));switch((c61)._t){case 17:return -1;case 13:return 0;case 15:return 1};throw ('X ('+this._n+') '+c61.toSource())}),F_dV=new HSFun("F_dV",0,function(){return new HSData((-10),[F_c8,F_dW,F_dX,F_dZ,F_dY,F_d0,F_d2,F_d1])}),F_dW=new HSFun("F_dW",2,function(_f1,_f2){return(F_eV)._b(F_dV,_f1,_f2)}),F_dX=new HSFun("F_dX",2,function(_fR,_fS){return(Number(exprEval(_fR)))<=(Number(exprEval(_fS)))}),F_dY=new HSFun("F_dY",2,function(_fX,_fY){return(F_eW)._b(F_dV,_fX,_fY)}),F_dZ=new HSFun("F_dZ",2,function(_fZ,_f0){return(F_eX)._b(F_dV,_fZ,_f0)}),F_d0=new HSFun("F_d0",2,function(_fP,_fQ){return(F_d9)._b(_fP,_fQ)}),F_d1=new HSFun("F_d1",2,function(_fV,_fW){return(F_e4)._b(F_dV,_fV,_fW)}),F_d2=new HSFun("F_d2",2,function(_fT,_fU){return(F_e5)._b(F_dV,_fT,_fU)}),F_d3=new HSFun("F_d3",1,function(_jm){return(exprEval(_jm))._f[0]}),F_d4=new HSFun("F_d4",0,function(){return new HSData((-10),[F_db,F_d5,F_d6,F_d8,F_d7,F_d9,F_eb,F_ea])}),F_d5=new HSFun("F_d5",2,function(_h6,_h7){return(Number(exprEval(_h6)))<(Number(exprEval(_h7)))}),F_d6=new HSFun("F_d6",2,function(_h4,_h5){return(Number(exprEval(_h4)))<=(Number(exprEval(_h5)))}),F_d7=new HSFun("F_d7",2,function(_h0,_h1){return(Number(exprEval(_h0)))>(Number(exprEval(_h1)))}),F_d8=new HSFun("F_d8",2,function(_h2,_h3){return(Number(exprEval(_h2)))>=(Number(exprEval(_h3)))}),F_d9=new HSFun("F_d9",2,function(_id,_ie){return(F_eY)._b(F_d4,_id,_ie)}),F_ea=new HSFun("F_ea",2,function(_ib,_ic){return(F_e4)._b(F_d4,_ib,_ic)}),F_eb=new HSFun("F_eb",2,function(_h8,_h9){return(F_e5)._b(F_d4,_h8,_h9)}),F_ec=new HSFun("F_ec",0,function(){return new HSData((-10),[F_de,F_ed,F_ee,F_eg,F_ef,F_eh,F_ej,F_ei])}),F_ed=new HSFun("F_ed",2,function(_gO,_gP){return(F_hL)._b(_gO,_gP)}),F_ee=new HSFun("F_ee",2,function(_gM,_gN){return(F_hK)._b(_gM,_gN)}),F_ef=new HSFun("F_ef",2,function(_gI,_gJ){return(F_hJ)._b(_gI,_gJ)}),F_eg=new HSFun("F_eg",2,function(_gK,_gL){return(F_hI)._b(_gK,_gL)}),F_eh=new HSFun("F_eh",2,function(_gU,_gV){return(F_eY)._b(F_ec,_gU,_gV)}),F_ei=new HSFun("F_ei",2,function(_gS,_gT){return(F_e4)._b(F_ec,_gS,_gT)}),F_ej=new HSFun("F_ej",2,function(_gQ,_gR){return(F_e5)._b(F_ec,_gQ,_gR)}),F_ek=new HSFun("F_ek",1,function(_cL){var c62=exprEval(_cL);switch((c62)._t){case 3:return function(_cM,_cN){var c63=exprEval(_cM);switch((c63).valueOf()){case 34:return new HSCons(new HSData((-7),[F_fl,_cN]),new HSEOL());default:return(F_gg)._b(F_fn,(F_el)._ap([_cL]),new HSEOL())};throw ('X ('+this._n+') '+c63.toSource())}((c62)._f[0],(c62)._f[1]);default:return(F_gg)._b(F_fn,(F_el)._ap([_cL]),new HSEOL())};throw ('X ('+this._n+') '+c62.toSource())}),F_el=new HSFun("F_el",1,function(_cE){var c64=exprEval(_cE);switch((c64)._t){case 3:return function(_cF,_cG){var c65=exprEval(_cF);switch((c65).valueOf()){case 92:var c66=exprEval(_cG);switch((c66)._t){case 3:return function(_cH,_cI){var c67=exprEval(_cH);switch((c67).valueOf()){case 38:return new HSCons(new HSData((-7),[F_fi,_cI]),new HSEOL());default:var c68=exprEval((F_Z)._b(_cH));switch((c68)._t){case true:return(F_gg)._b(F_fk,new HSCons((F_gl)._b(F_Z,_cI),new HSEOL()),new HSEOL());case false:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c68.toSource())};throw ('X ('+this._n+') '+c67.toSource())}((c66)._f[0],(c66)._f[1]);default:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c66.toSource());default:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c65.toSource())}((c64)._f[0],(c64)._f[1]);default:return(F_1)._b(_cE)};throw ('X ('+this._n+') '+c64.toSource())}),F_em=new HSFun("F_em",1,function(_dk){return((F_gm)._b(F_c8,_dk))._ap([F_fD])}),F_en=new HSFun("F_en",1,function(_dj){return((F_gm)._b(F_c8,_dj))._ap([F_fC])}),F_eo=new HSFun("F_eo",1,function(_di){return(F_g1)._b((F_W)._b(_di),(Number(exprEval(_di)))===(Number(exprEval(mkChar(95)))))}),F_ep=new HSFun("F_ep",1,function(_dh){return(F_g1)._b((F_X)._b(_dh),((F_gm)._b(F_c8,_dh))._ap([F_fB]))}),F_eq=new HSFun("F_eq",1,function(_c8){var c69=exprEval(_c8);switch((c69)._t){case 3:return function(_c9,_da){var c70=exprEval(_c9);switch((c70).valueOf()){case 46:var c71=exprEval(_da);switch((c71)._t){case 3:return function(_db,_dc){var c72=exprEval((F_bg)._b(_db));switch((c72)._t){case true:return(F_gg)._b(F_fA,(F_cx)._ap([new HSCons(_db,_dc)]),new HSEOL());case false:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c72.toSource())}((c71)._f[0],(c71)._f[1]);default:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c71.toSource());default:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c70.toSource())}((c69)._f[0],(c69)._f[1]);default:return(F_er)._ap([_c8])};throw ('X ('+this._n+') '+c69.toSource())}),F_er=new HSFun("F_er",1,function(_cY){var c73=exprEval(_cY);switch((c73)._t){case 3:return function(_cZ,_c0){var c74=exprEval(((F_gm)._b(F_c8,_cZ))._ap([F_ft]));switch((c74)._t){case true:return(F_cG)._b((F_gg)._b(new HSFun("F_fw",0,function(){return(F_fw)._ap([_cZ])}),new HSCons(_c0,new HSEOL()),new HSEOL()),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_fx",0,function(){return(F_fx)._ap([_cZ])}),(F_cx)._ap([_c0]),new HSEOL())}));case false:return new HSCons(new HSData((-7),[F_fy,_cY]),new HSEOL())};throw ('X ('+this._n+') '+c74.toSource())}((c73)._f[0],(c73)._f[1]);default:return new HSCons(new HSData((-7),[F_fy,_cY]),new HSEOL())};throw ('X ('+this._n+') '+c73.toSource())}),F_es=new HSFun("F_es",2,function(_du,_dv){return(F_cG)._b((_du)._ap([_dv]),((F_et)._ap([_du]))._ap([_dv]))}),F_et=new HSFun("F_et",2,function(_du,_dw){return(F_gg)._b(new HSFun("F_fL",0,function(){return(F_fL)._ap([_du])}),(F_gz)._b(_dw),new HSEOL())}),F_eu=new HSFun("F_eu",3,function(_eD,_eE,_eF){var c75=exprEval(((exprEval((exprEval((exprEval((exprEval(_eD))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eF,((exprEval((exprEval((exprEval(_eD))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c75)._t){case true:return _eE;case false:return(F_eu)._ap([_eD,_eF,((exprEval(_eD))._f[5])._ap([_eE,_eF])])};throw ('X ('+this._n+') '+c75.toSource())}),F_ev=new HSFun("F_ev",2,function(_dY,_dZ){return(F_cG)._b((F_gg)._b(F_fQ,(F_gz)._b(_dZ),new HSEOL()),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_fS",0,function(){return(F_fS)._ap([_dY])}),((exprEval(_dY))._f[0])._ap([0,_dZ]),new HSEOL())}))}),F_ew=new HSFun("F_ew",2,function(_dK,_dL){return(F_cG)._b((F_gg)._b(F_fM,(F_gz)._b(_dL),new HSEOL()),new HSFun("F_gg",0,function(){return(F_gg)._b(new HSFun("F_fP",0,function(){return(F_fP)._ap([_dK])}),(F_gz)._b(_dL),new HSEOL())}))}),F_ex=new HSFun("F_ex",2,function(_ek,_el){var c76=exprEval(_el);switch((c76)._t){case 2:return(F_fW)._ap([mkChar(93)]);case 3:return function(_em,_en){return(F_fc)._ap([(F_fc)._ap([(F_ex)._ap([_ek,_en]),((exprEval(_ek))._f[0])._ap([0,_em])]),(F_gT)._ap([F_fY])])}((c76)._f[0],(c76)._f[1])};throw ('X ('+this._n+') '+c76.toSource())}),F_ey=new HSFun("F_ey",2,function(_iD,_iE){var c77=exprEval(_iE);switch((c77)._t){case 2:return _iD;case 3:return function(_iF,_iG){var _u=new HSFun("_u",0,function(){return(exprEval(_iD))+(1)});return(F_gP)._b(_u,(F_ey)._ap([_u,_iG]))}((c77)._f[0],(c77)._f[1])};throw ('X ('+this._n+') '+c77.toSource())}),F_ez=new HSFun("F_ez",3,function(_hg,_hh,_hi){return(F_gB)._b(new HSFun("F_f8",0,function(){return(F_f8)._ap([_hg])}),((F_eD)._b(_hh))._ap([_hi]))}),F_eA=new HSFun("F_eA",0,function(){return new HSData((-7),[F_eC,F_eB])}),F_eB=new HSFun("F_eB",0,function(){return(F_e7)._b(F_eA)}),F_eC=new HSFun("F_eC",1,function(_hf){return(F_f9)._ap([_hf])}),F_eD=new HSFun("F_eD",1,function(v25828){return(F_cy)._b(F_eG,new HSFun("F_bl",0,function(){return(F_bl)._b(F_dv)}))}),F_eE=new HSFun("F_eE",0,function(){return new HSData((-8),[F_dF,F_d4,F_eF])}),F_eF=new HSFun("F_eF",1,function(_hE){return(F_6)._b(F_dv,(F_hH)._b(_hE),1)}),F_eG=new HSFun("F_eG",0,function(){return new HSData((-8),[F_dN,F_ec,F_eH])}),F_eH=new HSFun("F_eH",1,function(_gx){return(F_6)._b(F_dv,_gx,1)}),F_eI=new HSFun("F_eI",1,function(_jM){return(exprEval(_jM))._f[0]}),F_eJ=new HSFun("F_eJ",1,function(_jN){return(exprEval(_jN))._f[1]}),F_eK=new HSFun("F_eK",0,function(){return new HSData((-9),[F_eN,F_eO,F_eM,F_eL])}),F_eL=new HSFun("F_eL",1,function(_hn){return(F_e8)._b(F_eK,_hn)}),F_eM=new HSFun("F_eM",1,function(_hm){return(F_e9)._b(F_eK,_hm)}),F_eN=new HSFun("F_eN",2,function(_kn,_ko){var c78=exprEval((Number(exprEval(_ko)))<(0));switch((c78)._t){case true:return(F_gS)._b((Number(exprEval(_kn)))>(6),(F_fc)._ap([(F_hh)._ap([new HSFun("F_dL",0,function(){return(F_dL)._b(_ko)})]),(F_fW)._ap([mkChar(45)])]));case false:return(F_hh)._ap([_ko])};throw ('X ('+this._n+') '+c78.toSource())}),F_eO=new HSFun("F_eO",1,function(v26141){return(F_gT)._ap([F_ga])}),F_eP=new HSFun("F_eP",0,function(){return new HSData((-9),[F_eS,F_eT,F_eR,F_eQ])}),F_eQ=new HSFun("F_eQ",1,function(_gc){return(F_e8)._b(F_eP,_gc)}),F_eR=new HSFun("F_eR",1,function(_gb){return(F_e9)._b(F_eP,_gb)}),F_eS=new HSFun("F_eS",2,function(_f9,_ga){return(F_cB)._b(F_eG,new HSFun("F_cz",0,function(){return(F_cz)._b(F_dv)}),_f9,_ga)}),F_eT=new HSFun("F_eT",1,function(v25823){return(F_gT)._ap([F_f5])}),F_eU=new HSFun("F_eU",3,function(_fl,_fm,_fn){return(F_gD)._b(((exprEval(_fl))._f[1])._ap([_fm,_fn]))}),F_eV=new HSFun("F_eV",3,function(_fg,_fh,_fi){return(F_dj)._b(((exprEval(_fg))._f[5])._ap([_fh,_fi]),new HSData(17,[]))}),F_eW=new HSFun("F_eW",3,function(_fa,_fb,_fc){return(F_dj)._b(((exprEval(_fa))._f[5])._ap([_fb,_fc]),new HSData(15,[]))}),F_eX=new HSFun("F_eX",3,function(_fd,_fe,_ff){return(F_di)._b(((exprEval(_fd))._f[5])._ap([_fe,_ff]),new HSData(17,[]))}),F_eY=new HSFun("F_eY",3,function(_fL,_fM,_fN){var c79=exprEval(((exprEval((exprEval(_fL))._f[0]))._f[1])._ap([_fM,_fN]));switch((c79)._t){case true:return new HSData(13,[]);case false:var c80=exprEval(((exprEval(_fL))._f[2])._ap([_fM,_fN]));switch((c80)._t){case true:return new HSData(17,[]);case false:return new HSData(15,[])};throw ('X ('+this._n+') '+c80.toSource())};throw ('X ('+this._n+') '+c79.toSource())}),F_eZ=new HSFun("F_eZ",3,function(_hz,_hA,_hB){return(exprEval(((exprEval(_hz))._f[2])._ap([_hA,_hB])))._f[0]}),F_e0=new HSFun("F_e0",3,function(_go,_gp,_gq){var _Q=new HSFun("_Q",0,function(){return _go}),_r=new HSFun("_r",0,function(){return((exprEval(_Q))._f[4])._ap([_gp,_gq])}),_i=new HSFun("_i",0,function(){return _r}),_s=new HSFun("_s",0,function(){return(exprEval(_i))._f[0]}),_t=new HSFun("_t",0,function(){return(exprEval(_i))._f[1]}),c81=exprEval(((exprEval((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[0]))._f[1])._ap([((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[6])._ap([_t]),((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[5])._ap([((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[6])._ap([_gq])])]));switch((c81)._t){case true:return new HSData((-7),[((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[4])._ap([_s,((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[7])._ap([1])]),((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[3])._ap([_t,_gq])]);case false:return _r};throw ('X ('+this._n+') '+c81.toSource())}),F_e1=new HSFun("F_e1",4,function(_fz,_fA,_fB,_fC){var _L=new HSFun("_L",0,function(){return _fz}),_o=new HSFun("_o",0,function(){return((exprEval(_L))._f[3])._ap([_fB])}),_M=new HSFun("_M",0,function(){return _fz}),_n=new HSFun("_n",0,function(){return((exprEval(_M))._f[3])._ap([_fA])}),_q=new HSFun("_q",0,function(){return(exprEval(_o))-(exprEval(_n))}),_N=new HSFun("_N",0,function(){return _fz}),_p=new HSFun("_p",0,function(){return((exprEval(_N))._f[3])._ap([_fC])}),c82=exprEval((Number(exprEval(_q)))>=(0));switch((c82)._t){case true:return(F_ge)._b(_fz,_n,_q,_p);case false:return(F_gd)._b(_fz,_n,_q,_p)};throw ('X ('+this._n+') '+c82.toSource())}),F_e2=new HSFun("F_e2",3,function(_fD,_fE,_fF){var _O=new HSFun("_O",0,function(){return _fD}),_m=new HSFun("_m",0,function(){return((exprEval(_O))._f[3])._ap([_fF])}),_P=new HSFun("_P",0,function(){return _fD}),_l=new HSFun("_l",0,function(){return((exprEval(_P))._f[3])._ap([_fE])}),c83=exprEval((F_d9)._b(_l,_m));switch((c83)._t){case 17:return(F_ge)._b(_fD,_l,1,_m);case 13:return new HSCons(_fE,new HSEOL());case 15:return new HSEOL()};throw ('X ('+this._n+') '+c83.toSource())}),F_e3=new HSFun("F_e3",2,function(v25368,_e1){return(F_gn)._b(_e1)}),F_e4=new HSFun("F_e4",3,function(_e7,_e8,_e9){var c84=exprEval(((exprEval(_e7))._f[3])._ap([_e8,_e9]));switch((c84)._t){case true:return _e8;case false:return _e9};throw ('X ('+this._n+') '+c84.toSource())}),F_e5=new HSFun("F_e5",3,function(_e4,_e5,_e6){var c85=exprEval(((exprEval(_e4))._f[2])._ap([_e5,_e6]));switch((c85)._t){case true:return _e5;case false:return _e6};throw ('X ('+this._n+') '+c85.toSource())}),F_e6=new HSFun("F_e6",2,function(_fG,_fH){return((F_fc)._ap([(F_fc)._ap([new HSFun("F_gs",0,function(){return(exprEval(_fG))._f[3]}),((F_gY)._b(F_dF))._ap([1])]),(exprEval(_fG))._f[4]]))._ap([_fH])}),F_e7=new HSFun("F_e7",1,function(_dJ){return(F_gJ)._b(false,new HSFun("F_fV",0,function(){return(F_fV)._ap([_dJ])}))}),F_e8=new HSFun("F_e8",2,function(_eo,_ep){return((exprEval(_eo))._f[0])._ap([0,_ep,F_fZ])}),F_e9=new HSFun("F_e9",2,function(_eg,_eh){var c86=exprEval(_eh);switch((c86)._t){case 2:return(F_gT)._ap([F_fX]);case 3:return function(_ei,_ej){return(F_fc)._ap([(F_fc)._ap([(F_ex)._ap([_eg,_ej]),((exprEval(_eg))._f[0])._ap([0,_ei])]),(F_fW)._ap([mkChar(91)])])}((c86)._f[0],(c86)._f[1])};throw ('X ('+this._n+') '+c86.toSource())}),F_fa=new HSFun("F_fa",2,function(_fI,_fJ){return((F_fc)._ap([(F_fc)._ap([new HSFun("F_gs",0,function(){return(exprEval(_fI))._f[3]}),new HSFun("F_go",0,function(){return(F_go)._ap([F_dH,1])})]),(exprEval(_fI))._f[4]]))._ap([_fJ])}),F_fb="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 592:1-594:31.",F_fc=new HSFun("F_fc",3,function(_ca,_b9,_bV){return(_b9)._ap([(_ca)._ap([_bV])])}),F_fd=new HSFun("F_fd",1,function(_j){return(exprEval(_j))._f[0]}),F_fe=new HSFun("F_fe",1,function(_j){return(exprEval(_j))._f[1]}),F_ff="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 736:1-738:32.",F_fg="",F_fh="",F_fi="\\&",F_fj="\\&",F_fk=new HSFun("F_fk",2,function(_bb,_bc){var c87=exprEval(_bb);switch((c87)._t){case 3:return function(_cJ,_cK){var c88=exprEval(_cJ);switch((c88).valueOf()){case 92:return new HSCons(new HSData((-7),[F_fj,_cK]),_bc);default:return _bc};throw ('X ('+this._n+') '+c88.toSource())}((c87)._f[0],(c87)._f[1]);default:return _bc};throw ('X ('+this._n+') '+c87.toSource())}),F_fl="\"",F_fm=new HSFun("F_fm",3,function(_cO,_9,_ba){var c89=exprEval(_9);return function(_cQ,_cR){return new HSCons(new HSData((-7),[new HSFun("F_cG",0,function(){return(F_cG)._b(_cO,_cQ)}),_cR]),_ba)}((c89)._f[0],(c89)._f[1])}),F_fn=new HSFun("F_fn",2,function(_7,_8){var c90=exprEval(_7);return function(_cO,_cP){return(F_gg)._b(new HSFun("F_fm",0,function(){return(F_fm)._ap([_cO])}),(F_ek)._ap([_cP]),_8)}((c90)._f[0],(c90)._f[1])}),F_fo=new HSFun("F_fo",2,function(_bd,_be){var c91=exprEval(_bd);return function(_cS,_cT){return new HSCons(new HSData((-7),[new HSCons(mkChar(34),_cS),_cT]),_be)}((c91)._f[0],(c91)._f[1])}),F_fp="\'",F_fq="\'",F_fr=new HSFun("F_fr",3,function(_cU,_cX,_j8){return new HSCons(new HSData((-7),[new HSCons(mkChar(39),(F_cG)._b(_cU,F_fq)),_cX]),_j8)}),F_fs=new HSFun("F_fs",2,function(_5,_6){var c92=exprEval(_5);return function(_cU,_cV){var c93=exprEval(_cV);switch((c93)._t){case 3:return function(_cW,_cX){var c94=exprEval(_cW);switch((c94).valueOf()){case 39:return(F_gf)._b((F_dl)._b(F_c8,_cU,F_fp),new HSFun("F_fr",0,function(){return(F_fr)._ap([_cU,_cX])}),_6);default:return _6};throw ('X ('+this._n+') '+c94.toSource())}((c93)._f[0],(c93)._f[1]);default:return _6};throw ('X ('+this._n+') '+c93.toSource())}((c92)._f[0],(c92)._f[1])}),F_ft="eE",F_fu="+-",F_fv=new HSFun("F_fv",4,function(_cZ,_c1,_bl,_bm){var c95=exprEval(_bl);return function(_c3,_c4){return new HSCons(new HSData((-7),[new HSCons(_cZ,new HSCons(_c1,_c3)),_c4]),_bm)}((c95)._f[0],(c95)._f[1])}),F_fw=new HSFun("F_fw",3,function(_cZ,_bj,_bk){var c96=exprEval(_bj);switch((c96)._t){case 3:return function(_c1,_c2){return(F_gf)._b(((F_gm)._b(F_c8,_c1))._ap([F_fu]),new HSFun("F_gg",0,function(){return(F_gg)._ap([new HSFun("F_fv",0,function(){return(F_fv)._ap([_cZ,_c1])}),(F_cx)._ap([_c2])])}),_bk)}((c96)._f[0],(c96)._f[1]);default:return _bk};throw ('X ('+this._n+') '+c96.toSource())}),F_fx=new HSFun("F_fx",3,function(_cZ,_bn,_bo){var c97=exprEval(_bn);return function(_c5,_c6){return new HSCons(new HSData((-7),[new HSCons(_cZ,_c5),_c6]),_bo)}((c97)._f[0],(c97)._f[1])}),F_fy="",F_fz=new HSFun("F_fz",3,function(_dd,_bh,_bi){var c98=exprEval(_bh);return function(_df,_dg){return new HSCons(new HSData((-7),[new HSCons(mkChar(46),(F_cG)._b(_dd,_df)),_dg]),_bi)}((c98)._f[0],(c98)._f[1])}),F_fA=new HSFun("F_fA",2,function(_bf,_bg){var c99=exprEval(_bf);return function(_dd,_de){return(F_gg)._b(new HSFun("F_fz",0,function(){return(F_fz)._ap([_dd])}),(F_er)._ap([_de]),_bg)}((c99)._f[0],(c99)._f[1])}),F_fB="_\'",F_fC="!@#$%&*+./<=>\u003f\\^|:-~",F_fD=",;()[]{}`",F_fE=new HSFun("F_fE",3,function(_cC,_bp,_bq){var c100=exprEval(_bp);return function(_dl,_dm){return new HSCons(new HSData((-7),[new HSCons(_cC,_dl),_dm]),_bq)}((c100)._f[0],(c100)._f[1])}),F_fF=new HSFun("F_fF",3,function(_cC,_br,_bs){var c101=exprEval(_br);return function(_dn,_do){return new HSCons(new HSData((-7),[new HSCons(_cC,_dn),_do]),_bs)}((c101)._f[0],(c101)._f[1])}),F_fG=new HSFun("F_fG",4,function(_cC,_dp,_bv,_bw){var c102=exprEval(_bv);return function(_dr,_ds){return new HSCons(new HSData((-7),[new HSCons(_cC,(F_cG)._b(_dp,_dr)),_ds]),_bw)}((c102)._f[0],(c102)._f[1])}),F_fH=new HSFun("F_fH",3,function(_cC,_bt,_bu){var c103=exprEval(_bt);return function(_dp,_dq){return(F_gg)._b(new HSFun("F_fG",0,function(){return(F_fG)._ap([_cC,_dp])}),(F_eq)._ap([_dq]),_bu)}((c103)._f[0],(c103)._f[1])}),F_fI="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 1664:1-1701:35.",F_fJ=new HSFun("F_fJ",3,function(_dB,_bF,_bG){var c104=exprEval(_bF);return function(_dD,_dE){var c105=exprEval(_dD);switch((c105)._t){case 3:return function(_dF,_dG){var c106=exprEval(_dF);switch((c106).valueOf()){case 41:var c107=exprEval(_dG);switch((c107)._t){case 2:return new HSCons(new HSData((-7),[_dB,_dE]),_bG);default:return _bG};throw ('X ('+this._n+') '+c107.toSource());default:return _bG};throw ('X ('+this._n+') '+c106.toSource())}((c105)._f[0],(c105)._f[1]);default:return _bG};throw ('X ('+this._n+') '+c105.toSource())}((c104)._f[0],(c104)._f[1])}),F_fK=new HSFun("F_fK",2,function(_bD,_bE){var c108=exprEval(_bD);return function(_dB,_dC){return(F_gg)._b(new HSFun("F_fJ",0,function(){return(F_fJ)._ap([_dB])}),(F_gz)._b(_dC),_bE)}((c108)._f[0],(c108)._f[1])}),F_fL=new HSFun("F_fL",3,function(_du,_bB,_bC){var c109=exprEval(_bB);return function(_dx,_dy){var c110=exprEval(_dx);switch((c110)._t){case 3:return function(_dz,_dA){var c111=exprEval(_dz);switch((c111).valueOf()){case 40:var c112=exprEval(_dA);switch((c112)._t){case 2:return(F_gg)._b(F_fK,((F_es)._ap([_du]))._ap([_dy]),_bC);default:return _bC};throw ('X ('+this._n+') '+c112.toSource());default:return _bC};throw ('X ('+this._n+') '+c111.toSource())}((c110)._f[0],(c110)._f[1]);default:return _bC};throw ('X ('+this._n+') '+c110.toSource())}((c109)._f[0],(c109)._f[1])}),F_fM=new HSFun("F_fM",2,function(_lm,_ln){var c113=exprEval(_lm);return function(_dM,_dN){var c114=exprEval(_dM);switch((c114)._t){case 3:return function(_dO,_dP){var c115=exprEval(_dO);switch((c115).valueOf()){case 93:var c116=exprEval(_dP);switch((c116)._t){case 2:return new HSCons(new HSData((-7),[new HSEOL(),_dN]),_ln);default:return _ln};throw ('X ('+this._n+') '+c116.toSource());default:return _ln};throw ('X ('+this._n+') '+c115.toSource())}((c114)._f[0],(c114)._f[1]);default:return _ln};throw ('X ('+this._n+') '+c114.toSource())}((c113)._f[0],(c113)._f[1])}),F_fN=new HSFun("F_fN",3,function(_dU,_ls,_lt){var c117=exprEval(_ls);return function(_dW,_dX){return new HSCons(new HSData((-7),[new HSCons(_dU,_dW),_dX]),_lt)}((c117)._f[0],(c117)._f[1])}),F_fO=new HSFun("F_fO",3,function(_dK,_lq,_lr){var c118=exprEval(_lq);return function(_dU,_dV){return(F_gg)._b(new HSFun("F_fN",0,function(){return(F_fN)._ap([_dU])}),(F_ew)._ap([_dK,_dV]),_lr)}((c118)._f[0],(c118)._f[1])}),F_fP=new HSFun("F_fP",3,function(_dK,_lo,_lp){var c119=exprEval(_lo);return function(_dQ,_dR){var c120=exprEval(_dQ);switch((c120)._t){case 3:return function(_dS,_dT){var c121=exprEval(_dS);switch((c121).valueOf()){case 44:var c122=exprEval(_dT);switch((c122)._t){case 2:return(F_gg)._b(new HSFun("F_fO",0,function(){return(F_fO)._ap([_dK])}),((exprEval(_dK))._f[0])._ap([0,_dR]),_lp);default:return _lp};throw ('X ('+this._n+') '+c122.toSource());default:return _lp};throw ('X ('+this._n+') '+c121.toSource())}((c120)._f[0],(c120)._f[1]);default:return _lp};throw ('X ('+this._n+') '+c120.toSource())}((c119)._f[0],(c119)._f[1])}),F_fQ=new HSFun("F_fQ",2,function(_lg,_lh){var c123=exprEval(_lg);return function(_d0,_d1){var c124=exprEval(_d0);switch((c124)._t){case 3:return function(_d2,_d3){var c125=exprEval(_d2);switch((c125).valueOf()){case 93:var c126=exprEval(_d3);switch((c126)._t){case 2:return new HSCons(new HSData((-7),[new HSEOL(),_d1]),_lh);default:return _lh};throw ('X ('+this._n+') '+c126.toSource());default:return _lh};throw ('X ('+this._n+') '+c125.toSource())}((c124)._f[0],(c124)._f[1]);default:return _lh};throw ('X ('+this._n+') '+c124.toSource())}((c123)._f[0],(c123)._f[1])}),F_fR=new HSFun("F_fR",3,function(_d4,_lk,_ll){var c127=exprEval(_lk);return function(_d6,_d7){return new HSCons(new HSData((-7),[new HSCons(_d4,_d6),_d7]),_ll)}((c127)._f[0],(c127)._f[1])}),F_fS=new HSFun("F_fS",3,function(_dY,_li,_lj){var c128=exprEval(_li);return function(_d4,_d5){return(F_gg)._b(new HSFun("F_fR",0,function(){return(F_fR)._ap([_d4])}),(F_ew)._ap([_dY,_d5]),_lj)}((c128)._f[0],(c128)._f[1])}),F_fT=new HSFun("F_fT",2,function(_lx,_ly){return new HSCons(_lx,_ly)}),F_fU=new HSFun("F_fU",3,function(_dJ,_lv,_lw){var c129=exprEval(_lv);return function(_d8,_d9){var c130=exprEval(_d8);switch((c130)._t){case 3:return function(_ea,_eb){var c131=exprEval(_ea);switch((c131).valueOf()){case 91:var c132=exprEval(_eb);switch((c132)._t){case 2:return(F_gg)._b(F_fT,(F_ev)._ap([_dJ,_d9]),_lw);default:return _lw};throw ('X ('+this._n+') '+c132.toSource());default:return _lw};throw ('X ('+this._n+') '+c131.toSource())}((c130)._f[0],(c130)._f[1]);default:return _lw};throw ('X ('+this._n+') '+c130.toSource())}((c129)._f[0],(c129)._f[1])}),F_fV=new HSFun("F_fV",2,function(_dJ,_lu){return(F_gg)._b(new HSFun("F_fU",0,function(){return(F_fU)._ap([_dJ])}),(F_gz)._b(_lu),new HSEOL())}),F_fW=new HSFun("F_fW",2,function(_ka,_j9){return new HSCons(_ka,_j9)}),F_fX="[]",F_fY=",",F_fZ="",F_f0="Prelude.gcd: gcd 0 0 is undefined.",F_f1=new HSFun("F_f1",3,function(_eO,_bz,_bA){var c133=exprEval(_bz);return function(_eQ,_eR){var c134=exprEval(_eQ);switch((c134)._t){case 2:var c135=exprEval(_eR);switch((c135)._t){case 2:return new HSCons(_eO,_bA);default:return _bA};throw ('X ('+this._n+') '+c135.toSource());default:return _bA};throw ('X ('+this._n+') '+c134.toSource())}((c133)._f[0],(c133)._f[1])}),F_f2=new HSFun("F_f2",2,function(_bx,_by){var c136=exprEval(_bx);return function(_eO,_eP){return(F_gg)._b(new HSFun("F_f1",0,function(){return(F_f1)._ap([_eO])}),(F_gz)._b(_eP),_by)}((c136)._f[0],(c136)._f[1])}),F_f3="Prelude.read: no parse",F_f4="Prelude.read: ambiguous parse",F_f5="Integer",F_f6=new HSFun("F_f6",1,function(_i){return(exprEval(_i))._f[0]}),F_f7=new HSFun("F_f7",1,function(_i){return(exprEval(_i))._f[1]}),F_f8=new HSFun("F_f8",2,function(_hg,_hj){var c137=exprEval(_hj);return function(_hk,_hl){return new HSData((-7),[((exprEval(_hg))._f[7])._ap([_hk]),_hl])}((c137)._f[0],(c137)._f[1])}),F_f9=new HSFun("F_f9",2,function(_hf,_ki){return(F_ez)._ap([F_dF,_hf,_ki])}),F_ga="Int",F_gb=new HSFun("F_gb",2,function(_kc,_kb){return new HSCons(_kc,_kb)}),F_gc="PreludeList.foldl1: empty list",F_gd=new HSFun("F_gd",4,function(_fv,_fw,_fx,_fy){var c138=exprEval((F_d9)._b(_fw,_fy));switch((c138)._t){case 17:return new HSEOL();case 13:return new HSCons(((exprEval(_fv))._f[4])._ap([_fw]),new HSEOL());case 15:return new HSCons(((exprEval(_fv))._f[4])._ap([_fw]),(F_gd)._b(_fv,(exprEval(_fw))+(exprEval(_fx)),_fx,_fy))};throw ('X ('+this._n+') '+c138.toSource())}),F_ge=new HSFun("F_ge",4,function(_fr,_fs,_ft,_fu){var c139=exprEval((F_d9)._b(_fs,_fu));switch((c139)._t){case 17:return new HSCons(((exprEval(_fr))._f[4])._ap([_fs]),(F_ge)._b(_fr,(exprEval(_fs))+(exprEval(_ft)),_ft,_fu));case 13:return new HSCons(((exprEval(_fr))._f[4])._ap([_fs]),new HSEOL());case 15:return new HSEOL()};throw ('X ('+this._n+') '+c139.toSource())}),F_gf=new HSFun("F_gf",3,function(_b6,_b7,_b8){var c140=exprEval(_b6);switch((c140)._t){case true:return(_b7)._ap([_b8]);case false:return _b8};throw ('X ('+this._n+') '+c140.toSource())}),F_gg=new HSFun("F_gg",3,function(_bX,_bY,_bZ){var c141=exprEval(_bY);switch((c141)._t){case 2:return _bZ;case 3:return function(_b0,_b1){return(_bX)._ap([_b0,new HSFun("F_gg",0,function(){return(F_gg)._b(_bX,_b1,_bZ)})])}((c141)._f[0],(c141)._f[1])};throw ('X ('+this._n+') '+c141.toSource())}),F_gh=new HSFun("F_gh",1,function(_jI){return(exprEval(_jI))._f[8]}),F_gi=new HSFun("F_gi",1,function(_cm){return(F_fc)._ap([new HSFun("F_gB",0,function(){return(F_gB)._ap([_cm])}),F_gE])}),F_gj=new HSFun("F_gj",1,function(_jr){return(exprEval(_jr))._f[5]}),F_gk=new HSFun("F_gk",1,function(_jY){return(exprEval(_jY))._f[2]}),F_gl=new HSFun("F_gl",2,function(_b2,_b3){var c142=exprEval(_b3);switch((c142)._t){case 2:return new HSEOL();case 3:return function(_b4,_b5){var c143=exprEval((_b2)._ap([_b4]));switch((c143)._t){case true:return(F_gl)._b(_b2,_b5);case false:var c144=exprEval(F_gF);switch((c144)._t){case true:return _b3;case false:return(F_gn)._b(F_fb)};throw ('X ('+this._n+') '+c144.toSource())};throw ('X ('+this._n+') '+c143.toSource())}((c142)._f[0],(c142)._f[1])};throw ('X ('+this._n+') '+c142.toSource())}),F_gm=new HSFun("F_gm",2,function(_cn,_co){return(F_gi)._b(((exprEval(_cn))._f[1])._ap([_co]))}),F_gn=new HSFun("F_gn",1,function(a){throw ('E '+exprEval(a).toString());return undefined}),F_go=new HSFun("F_go",3,function(_eH,_eI,_eJ){return(_eH)._ap([_eJ,_eI])}),F_gp=new HSFun("F_gp",3,function(_ij,_ik,_il){var c145=exprEval(_il);switch((c145)._t){case 2:return _ik;case 3:return function(_im,_in){return(F_gp)._b(_ij,(_ij)._ap([_ik,_im]),_in)}((c145)._f[0],(c145)._f[1])};throw ('X ('+this._n+') '+c145.toSource())}),F_gq=new HSFun("F_gq",2,function(_ip,_iq){var c146=exprEval(_iq);switch((c146)._t){case 2:return(F_gn)._b(F_gc);case 3:return function(_ir,_is){return(F_gp)._b(_ip,_ir,_is)}((c146)._f[0],(c146)._f[1])};throw ('X ('+this._n+') '+c146.toSource())}),F_gr=new HSFun("F_gr",3,function(_cb,_cc,_cd){var c147=exprEval(_cd);switch((c147)._t){case 2:return _cc;case 3:return function(_ce,_cf){return(_cb)._ap([_ce,new HSFun("F_gr",0,function(){return(F_gr)._b(_cb,_cc,_cf)})])}((c147)._f[0],(c147)._f[1])};throw ('X ('+this._n+') '+c147.toSource())}),F_gs=new HSFun("F_gs",1,function(_i0){return(exprEval(_i0))._f[3]}),F_gt=new HSFun("F_gt",1,function(_jH){return(exprEval(_jH))._f[7]}),F_gu=new HSFun("F_gu",2,function(_eZ,_e0){return(F_fc)._ap([new HSFun("F_g0",0,function(){return(exprEval(_eZ))._f[6]}),(exprEval(_e0))._f[7]])}),F_gv=new HSFun("F_gv",1,function(_eu){return(exprEval(_eu))._f[0]}),F_gw=new HSFun("F_gw",3,function(_eA,_eB,_eC){var c148=exprEval(((exprEval((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eB,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c148)._t){case true:var c149=exprEval(((exprEval((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eC,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[7])._ap([0])]));switch((c149)._t){case true:return(F_gn)._b(F_f0);case false:return(F_eu)._ap([_eA,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eB]),((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eC])])};throw ('X ('+this._n+') '+c149.toSource());case false:return(F_eu)._ap([_eA,((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eB]),((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eC])])};throw ('X ('+this._n+') '+c148.toSource())}),F_gx=new HSFun("F_gx",1,function(_eG){return _eG}),F_gy=new HSFun("F_gy",1,function(_iA){var c150=exprEval(_iA);switch((c150)._t){case 2:return 0;case 3:return function(_iB,_iC){return(F_ey)._ap([1,_iC])}((c150)._f[0],(c150)._f[1])};throw ('X ('+this._n+') '+c150.toSource())}),F_gz=new HSFun("F_gz",1,function(_cB){var c151=exprEval(_cB);switch((c151)._t){case 2:return new HSCons(new HSData((-7),[F_fg,F_fh]),new HSEOL());case 3:return function(_cC,_cD){var c152=exprEval((F_Z)._b(_cC));switch((c152)._t){case true:return(F_gz)._b((F_gl)._b(F_Z,_cD));case false:var c153=exprEval(_cC);switch((c153).valueOf()){case 34:return(F_gg)._b(F_fo,(F_ek)._ap([_cD]),new HSEOL());case 39:return(F_gg)._b(F_fs,(F_1)._b(_cD),new HSEOL());default:var c154=exprEval((F_em)._ap([_cC]));switch((c154)._t){case true:return new HSCons(new HSData((-7),[new HSCons(_cC,new HSEOL()),_cD]),new HSEOL());case false:var c155=exprEval((F_en)._ap([_cC]));switch((c155)._t){case true:return(F_gg)._b(new HSFun("F_fE",0,function(){return(F_fE)._ap([_cC])}),new HSCons((F_gX)._b(F_en,_cD),new HSEOL()),new HSEOL());case false:var c156=exprEval((F_eo)._ap([_cC]));switch((c156)._t){case true:return(F_gg)._b(new HSFun("F_fF",0,function(){return(F_fF)._ap([_cC])}),new HSCons((F_gX)._b(F_ep,_cD),new HSEOL()),new HSEOL());case false:var c157=exprEval((F_bg)._b(_cC));switch((c157)._t){case true:return(F_gg)._b(new HSFun("F_fH",0,function(){return(F_fH)._ap([_cC])}),new HSCons((F_gX)._b(F_bg,_cD),new HSEOL()),new HSEOL());case false:var c158=exprEval(F_gF);switch((c158)._t){case true:return new HSEOL();case false:return(F_gn)._b(F_fI)};throw ('X ('+this._n+') '+c158.toSource())};throw ('X ('+this._n+') '+c157.toSource())};throw ('X ('+this._n+') '+c156.toSource())};throw ('X ('+this._n+') '+c155.toSource())};throw ('X ('+this._n+') '+c154.toSource())};throw ('X ('+this._n+') '+c153.toSource())};throw ('X ('+this._n+') '+c152.toSource())}((c151)._f[0],(c151)._f[1])};throw ('X ('+this._n+') '+c151.toSource())}),F_gA=new HSFun("F_gA",3,function(_it,_iu,_iv){var c159=exprEval(_iv);switch((c159)._t){case 2:return new HSData(18,[]);case 3:return function(_iw,_ix){var c160=exprEval(_iw);return function(_iy,_iz){var c161=exprEval(((exprEval(_it))._f[1])._ap([_iu,_iy]));switch((c161)._t){case true:return new HSData(16,[_iz]);case false:return(F_gA)._b(_it,_iu,_ix)};throw ('X ('+this._n+') '+c161.toSource())}((c160)._f[0],(c160)._f[1])}((c159)._f[0],(c159)._f[1])};throw ('X ('+this._n+') '+c159.toSource())}),F_gB=new HSFun("F_gB",2,function(_ci,_cj){var c162=exprEval(_cj);switch((c162)._t){case 2:return new HSEOL();case 3:return function(_ck,_cl){return new HSCons((_ci)._ap([_ck]),(F_gB)._b(_ci,_cl))}((c162)._f[0],(c162)._f[1])};throw ('X ('+this._n+') '+c162.toSource())}),F_gC=new HSFun("F_gC",1,function(_jF){return(exprEval(_jF))._f[5]}),F_gD=new HSFun("F_gD",1,function(_eX){var c163=exprEval(_eX);switch((c163)._t){case true:return false;case false:return true};throw ('X ('+this._n+') '+c163.toSource())}),F_gE=new HSFun("F_gE",0,function(){return(F_gr)._ap([F_g1,false])}),F_gF=new HSFun("F_gF",0,function(){return true}),F_gG=new HSFun("F_gG",1,function(_j2){return(exprEval(_j2))._f[7]}),F_gH=new HSFun("F_gH",1,function(_jZ){return(exprEval(_jZ))._f[4]}),F_gI=new HSFun("F_gI",2,function(_eM,_eN){var c164=exprEval((F_gg)._b(F_f2,((F_gK)._b(_eM))._ap([_eN]),new HSEOL()));switch((c164)._t){case 2:return(F_gn)._b(F_f3);case 3:return function(_eS,_eT){var c165=exprEval(_eT);switch((c165)._t){case 2:return _eS;default:return(F_gn)._b(F_f4)};throw ('X ('+this._n+') '+c165.toSource())}((c164)._f[0],(c164)._f[1])};throw ('X ('+this._n+') '+c164.toSource())}),F_gJ=new HSFun("F_gJ",2,function(_dt,_du){var c166=exprEval(_dt);switch((c166)._t){case true:return(F_et)._ap([_du]);case false:return(F_es)._ap([_du])};throw ('X ('+this._n+') '+c166.toSource())}),F_gK=new HSFun("F_gK",1,function(_dH){return((exprEval(_dH))._f[0])._ap([0])}),F_gL=new HSFun("F_gL",1,function(_i4){return(exprEval(_i4))._f[0]}),F_gM=new HSFun("F_gM",1,function(_j0){return(exprEval(_j0))._f[5]}),F_gN=new HSFun("F_gN",1,function(_j7){return(exprEval(_j7))._f[3]}),F_gO=new HSFun("F_gO",0,function(){return(F_gp)._ap([new HSFun("F_go",0,function(){return(F_go)._ap([F_gb])}),new HSEOL()])}),F_gP=new HSFun("F_gP",2,function(a,b){exprEval(a);return b}),F_gQ=new HSFun("F_gQ",1,function(_ja){return(exprEval(_ja))._f[3]}),F_gR=new HSFun("F_gR",0,function(){return F_fW}),F_gS=new HSFun("F_gS",2,function(_eU,_eV){var c167=exprEval(_eU);switch((c167)._t){case true:return(F_fc)._ap([(F_fc)._ap([(F_fW)._ap([mkChar(41)]),_eV]),(F_fW)._ap([mkChar(40)])]);case false:return _eV};throw ('X ('+this._n+') '+c167.toSource())}),F_gT=new HSFun("F_gT",0,function(){return F_cG}),F_gU=new HSFun("F_gU",1,function(_i9){return(exprEval(_i9))._f[0]}),F_gV=new HSFun("F_gV",1,function(_jG){return(exprEval(_jG))._f[6]}),F_gW=new HSFun("F_gW",1,function(_ex){return(exprEval(_ex))._f[1]}),F_gX=new HSFun("F_gX",2,function(_ct,_cu){var c168=exprEval(_cu);switch((c168)._t){case 2:return new HSData((-7),[new HSEOL(),new HSEOL()]);case 3:return function(_cv,_cw){var c169=exprEval((_ct)._ap([_cv]));switch((c169)._t){case true:var _j=new HSFun("_j",0,function(){return(F_gX)._b(_ct,_cw)}),_v=new HSFun("_v",0,function(){return(exprEval(_j))._f[0]}),_w=new HSFun("_w",0,function(){return(exprEval(_j))._f[1]});return new HSData((-7),[new HSCons(_cv,_v),_w]);case false:var c170=exprEval(F_gF);switch((c170)._t){case true:return new HSData((-7),[new HSEOL(),_cu]);case false:return(F_gn)._b(F_ff)};throw ('X ('+this._n+') '+c170.toSource())};throw ('X ('+this._n+') '+c169.toSource())}((c168)._f[0],(c168)._f[1])};throw ('X ('+this._n+') '+c168.toSource())}),F_gY=new HSFun("F_gY",1,function(_eW){return(F_go)._ap([(exprEval(_eW))._f[4]])}),F_gZ=new HSFun("F_gZ",1,function(_i1){return(exprEval(_i1))._f[4]}),F_g0=new HSFun("F_g0",1,function(_j1){return(exprEval(_j1))._f[6]}),F_g1=new HSFun("F_g1",2,function(_cg,_ch){var c171=exprEval(_cg);switch((c171)._t){case true:return true;case false:return _ch};throw ('X ('+this._n+') '+c171.toSource())}),F_g2=new HSFun("F_g2",2,function(_y,_lb){return(F_5)._b(((exprEval(_lb))._f[7])._ap([0]),(F_gA)._b(F_c8,_y,(F_hc)._b(_lb)))}),F_g3=new HSFun("F_g3",2,function(_kR,_kS){var c172=exprEval(_kS);switch((c172)._t){case 2:return((exprEval(_kR))._f[7])._ap([0]);case 3:return function(_kT,_kU){return((exprEval(_kR))._f[3])._ap([((exprEval(_kR))._f[7])._ap([1]),(F_g3)._ap([_kR,_kU])])}((c172)._f[0],(c172)._f[1])};throw ('X ('+this._n+') '+c172.toSource())}),F_g4=new HSFun("F_g4",1,function(_x){return(exprEval(_x))._f[0]}),F_g5=new HSFun("F_g5",1,function(_x){return(exprEval(_x))._f[1]}),F_g6="Roman: Pattern match failure in function at 54:1-56:16.",F_g7="Roman: Pattern match failure in function at 38:1-43:55.",F_g8="",F_g9=new HSFun("F_g9",4,function(_kZ,_k0,_k1,_k2){var c173=exprEval(((exprEval(_k0))._f[1])._ap([_k1,_k2]));switch((c173)._t){case true:return((exprEval(_kZ))._f[4])._ap([_k2,_k1]);case false:var c174=exprEval(((exprEval(_k0))._f[4])._ap([_k1,_k2]));switch((c174)._t){case true:return((exprEval(_kZ))._f[3])._ap([_k2,_k1]);case false:return(F_gn)._b(F_g6)};throw ('X ('+this._n+') '+c174.toSource())};throw ('X ('+this._n+') '+c173.toSource())}),F_ha=new HSFun("F_ha",0,function(){return(F_fc)._ap([(F_fc)._ap([new HSFun("F_gB",0,function(){return(F_gB)._ap([F_2])}),new HSFun("F_hb",0,function(){return(F_hb)._ap([F_dF])})]),new HSFun("F_gr",0,function(){return(F_gr)._ap([new HSFun("F_g9",0,function(){return(F_g9)._ap([F_dF,F_d4])}),0])})])}),F_hb=new HSFun("F_hb",2,function(_kN,_kO){var c175=exprEval(_kO);switch((c175)._t){case 2:return new HSEOL();case 3:return function(_kP,_kQ){var _x=new HSFun("_x",0,function(){return(F_gX)._b(new HSFun("F_da",0,function(){return(F_da)._ap([_kP])}),_kO)}),_z=new HSFun("_z",0,function(){return(exprEval(_x))._f[0]}),_A=new HSFun("_A",0,function(){return(exprEval(_x))._f[1]});return new HSCons(((exprEval(_kN))._f[2])._ap([new HSFun("F_4",0,function(){return(F_4)._b((F_gA)._b(F_c8,_kP,(F_hc)._b(_kN)))}),(F_g3)._ap([_kN,_z])]),(F_hb)._b(_kN,_A))}((c175)._f[0],(c175)._f[1])};throw ('X ('+this._n+') '+c175.toSource())}),F_hc=new HSFun("F_hc",1,function(_kM){return new HSCons(new HSData((-7),[mkChar(73),((exprEval(_kM))._f[7])._ap([1])]),new HSCons(new HSData((-7),[mkChar(86),((exprEval(_kM))._f[7])._ap([5])]),new HSCons(new HSData((-7),[mkChar(88),((exprEval(_kM))._f[7])._ap([10])]),new HSCons(new HSData((-7),[mkChar(76),((exprEval(_kM))._f[7])._ap([50])]),new HSCons(new HSData((-7),[mkChar(67),((exprEval(_kM))._f[7])._ap([100])]),new HSCons(new HSData((-7),[mkChar(68),((exprEval(_kM))._f[7])._ap([500])]),new HSCons(new HSData((-7),[mkChar(77),((exprEval(_kM))._f[7])._ap([1000])]),new HSEOL())))))))}),F_hd=new HSFun("F_hd",0,function(){return new HSCons(new HSData((-7),[mkChar(86),mkChar(73)]),new HSCons(new HSData((-7),[mkChar(88),mkChar(73)]),new HSCons(new HSData((-7),[mkChar(76),mkChar(88)]),new HSCons(new HSData((-7),[mkChar(67),mkChar(88)]),new HSCons(new HSData((-7),[mkChar(68),mkChar(67)]),new HSCons(new HSData((-7),[mkChar(77),mkChar(67)]),new HSEOL()))))))}),F_he=new HSFun("F_he",4,function(_k3,_k4,_k5,_k6){var c176=exprEval(_k5);return function(_k7,_k8){var c177=exprEval(_k6);return function(_k9,_la){var _y=new HSFun("_y",0,function(){return(F_5)._b(mkChar(0),(F_gA)._b(F_c8,_k7,F_hd))}),c178=exprEval(((exprEval(_k4))._f[3])._ap([_k9,_k8]));switch((c178)._t){case true:return(F_he)._b(_k3,_k4,_k5,new HSData((-7),[((exprEval(_k3))._f[4])._ap([_k9,_k8]),new HSCons(_k7,_la)]));case false:var c179=exprEval(((exprEval(_k4))._f[3])._ap([((exprEval(_k3))._f[3])._ap([_k9,((F_g2)._ap([_y]))._ap([_k3])]),_k8]));switch((c179)._t){case true:return new HSData((-7),[((exprEval(_k3))._f[3])._ap([((exprEval(_k3))._f[4])._ap([_k9,_k8]),((F_g2)._ap([_y]))._ap([_k3])]),new HSCons(_k7,new HSCons(_y,_la))]);case false:var c180=exprEval(F_gF);switch((c180)._t){case true:return new HSData((-7),[_k9,_la]);case false:return(F_gn)._b(F_g7)};throw ('X ('+this._n+') '+c180.toSource())};throw ('X ('+this._n+') '+c179.toSource())};throw ('X ('+this._n+') '+c178.toSource())}((c177)._f[0],(c177)._f[1])}((c176)._f[0],(c176)._f[1])}),F_hf=new HSFun("F_hf",1,function(_lc){return((F_fc)._ap([F_gW,F_gO]))._ap([new HSFun("F_gr",0,function(){return(F_gr)._b(new HSFun("F_he",0,function(){return(F_he)._ap([F_dF,F_d4])}),new HSData((-7),[_lc,F_g8]),(F_hc)._b(F_dF))})])}),F_hg=new HSFun("F_hg",1,function(a){return Number(exprEval(a)).toString()}),F_hh=new HSFun("F_hh",2,function(_kq,_kr){return(F_cG)._b((F_hg)._ap([_kq]),_kr)}),F_hi="return Number(exprEval(a)).toString();",F_hj="return 0 - Number(exprEval(a));",F_hk="var ea = exprEval(a); if (ea>0) return 1; else if (ea<0) return -1; else return 0;",F_hl="return Math.abs(exprEval(a));",F_hm="return a;",F_hn="return a;",F_ho="return Number(exprEval(a)) < Number(exprEval(b));",F_hp="return Number(exprEval(a)) <= Number(exprEval(b));",F_hq="return Number(exprEval(a)) > Number(exprEval(b));",F_hr="return Number(exprEval(a)) >= Number(exprEval(b));",F_hs="return Number(exprEval(a)) !== Number(exprEval(b));",F_ht="return Number(exprEval(a)) === Number(exprEval(b));",F_hu="return 0 - Number(exprEval(a));",F_hv="return exprEval(a) * exprEval(b);",F_hw="return exprEval(a) - exprEval(b);",F_hx="return exprEval(a) + exprEval(b);",F_hy="return exprEval(a) % exprEval(b);",F_hz="(function(x,y){return (x - (x % y))/y;})(exprEval(a),exprEval(b));",F_hA="exprEval(a); return b;",F_hB="throw(\'E \' + exprEval(a).toString()); return undefined;",F_hC=new HSFun("F_hC",1,function(a){return Math.abs(exprEval(a))}),F_hD=new HSFun("F_hD",1,function(a){return a}),F_hE=new HSFun("F_hE",1,function(a){var ea=exprEval(a);if(ea>0){return 1}else if(ea<0){return -1}else return 0}),F_hF=new HSFun("F_hF",2,function(a,b){return exprEval(a)+exprEval(b)}),F_hG=new HSFun("F_hG",2,function(a,b){return Number(exprEval(a))===Number(exprEval(b))}),F_hH=new HSFun("F_hH",1,function(a){return a}),F_hI=new HSFun("F_hI",2,function(a,b){return Number(exprEval(a))>=Number(exprEval(b))}),F_hJ=new HSFun("F_hJ",2,function(a,b){return Number(exprEval(a))>Number(exprEval(b))}),F_hK=new HSFun("F_hK",2,function(a,b){return Number(exprEval(a))<=Number(exprEval(b))}),F_hL=new HSFun("F_hL",2,function(a,b){return Number(exprEval(a)) Javascript compiler. // Runtime support functions. // Declare a variable which will serve as a constructor index. // It will be populated later. var conIdx = { }; // Declare a variable which will serve as a function name index. // It will be populated later. var funIdx = { }; // Declare a variable which will serve as a string literals reverse index. // It will be populated later. var strIdx = { }; // Make primitive types behave as thunks. Number.prototype._c = function () {return this;}; Number.prototype._r = false; Number.prototype._chr = false; Boolean.prototype._c = function () { return new HSData(this.valueOf() ? true : false,[]); }; Boolean.prototype._r = true; // Strings when evaluated return their first character CONS'ed with // the remainder of the string. String.prototype._c = function () { var cmeth = this._c; this._c = function () { throw ("B '" + this + "' blackhole: thunk reentered"); } try { var res = consStr (this); this._r = true; this._c = function () {return res;} return res; } catch (e) { this._c = cmeth; throw (e); } }; String.prototype._r = true; // Arrays when evaluated return their first element CONS'ed with // the remainder of the array. Array.prototype._c = function () { var cmeth = this._c; this._c = function () { throw ("B [" + this.toString() + "] blackhole: thunk reentered"); } try { var res = consArr (this); this._r = true; this._c = function () {return res;} return res; } catch (e) { this._c = cmeth; throw (e); } }; Array.prototype._r = true; Array.prototype._toArray = function () {return this;}; // Convert a String into its first character CONS'ed with the string remainder. var consStr = function (s) { if (s.length == 0) { return new HSEOL (); } else { var hdc = mkChar (s.charCodeAt (0)); return new HSCons (hdc, s.length > 1 ? s.substring (1) : consStr ("")); }; }; // Convert an Array into its first element CONS'ed with the array remainder. var consArr = function (ar) { if (ar.length == 0) { return new HSEOL (); } else { return new HSCons (ar[0], ar.length > 1 ? ar.slice (1) : consArr ([])); }; }; // Create a Number object with a special property pretending that // this is a character. function mkChar(c) { var n = new Number(c); n._chr = true; return n; } // Object for consistent representation of lists function HSCons (head,tail) { this._r = false; this._c = function () { return this; }; this._t = conIdx['Prelude.:']; this._f = [head, tail]; }; HSCons.prototype.toString = function () { var evhead = exprEval (this._f[0]); if (evhead._chr == true) { return (String.fromCharCode(evhead) + (exprEval(this._f[1])).toString ()); } else { return this._toArray().toString(); }; }; HSCons.prototype._toArray = function () { return [exprEval(this._f[0])].concat(exprEval(this._f[1])._toArray ()); }; function HSEOL() { this._r = false; this._c = function () {return this; }; this._t = conIdx['Prelude.[]']; this._f = []; this.toString = function() { return ""}; this._toArray = function() {return [];}; } // A HSFun object represents function body but holds no arguments. // It may be evaluated only for nullary functions. // Its _ap method creates a HSDly object referring to this function // and holding call arguments. function HSFun (name, arity, body) { this._n = name; // function name this._r = (arity == 0); // evaluable only for nullary functions this._x = arity; // function arity this._d = this; // refer to self this._y = 0; // actual number of args this._u = null; // nothing up stack this._b = body; // function body } HSFun.prototype._c = function () { if (!this._r) return this; // nothing to do if not evaluable var cmeth = this._c; // save the _c method this._c = function () { // install blackhole handler throw ("B " + this._n + " blackhole: thunk reentered"); }; try { var res = this._b(); // obtain evaluation result this._c = function () { // replace the _c method to return the result return res; // without re-evaluation }; return res; // return result of this evaluation } catch (e) { // if an exception is caught this._c = cmeth; // restore the method throw (e); // rethrow } }; HSFun.prototype._ap = function (targs) { if (targs.length == 0) return this; return new HSDly(this, this, targs); }; // A HSDly object holds function arguments. It also holds // a reference to the HSFun to be evaluated when required, // and also reference to another HSDly (or to the HSFun if first application). // Its _ap method acts same way as HSFun's does. // Its _c method retrieves all arguments in proper order, // evaluates the HSFun object with proper number of arguments applied, // and returns a new HSDly with all remaining arguments and whatever came out // from the evaluation of HSFun. function HSDly (fun, up, targs) { this._a = targs; // arguments to hold this._n = fun._n; // function name this._d = fun; // delayed function object (HSFun) this._u = up; // up stack (HSFun or HSDly) this._y = targs.length + up._y; // summary number of arguments in the stack this._r = (this._y >= fun._x); // evaluable only if # args >= function arity } HSDly.prototype._c = function () { if (!this._r) return this; var cmeth = this._c; this._c = function () { throw ("B " + this._n + " blackhole: thunk reentered"); }; var cargs = this._a; // arguments read from the stack var stack = this._u; for (; stack._u; stack = stack._u) { cargs = stack._a.concat(cargs); // concatenate in correct order }; var res; // to store result try { if (cargs.length == this._d._x) { // saturated call res = this._d._b.apply(this._d,cargs); this._u = null; // tear the stack apart this._c = function () { // replace the method to return result return res; // without reevaluation }; } else { // oversaturated call var evd; if (this._d._x == 0) { // nullary function evd = exprEval(this._d); // evaluate it this._a = cargs; // carry all the arguments over } else { // need to feed some arguments var feed = cargs.slice (0, this._d._x); var over = cargs.slice (this._d._x); evd = exprEval(this._d._ap(feed)); this._a = over; // and carry the rest over } this._n = evd._n; // name of whatever was computed this._d = evd._d; // now refer to whatever it refers to this._u = evd; // now this is our upstack this._y = this._a.length + evd._y; // new total arguments this._r = (this._y >= this._d._x); // are we evaluable? res = this; // reuse this object this._c = cmeth; // restore the _c method } return res; // return result; } catch (e) { // if exception is raised this._c = cmeth; // restore method throw (e); // rethrow } }; HSDly.prototype._ap = function (targs) { if (targs.length == 0) return this; return new HSDly(this._d, this, targs); }; // Object type for a Haskell data function HSData (con, arrs) { this._r = false; this._c = function () { return this; }; this._t = con; this._f = arrs; }; // Toplevel expression evaluator entry point function exprEval (e) { for (var ex = e; ex != undefined && ex._r ; ex = ex._c()) ; return ex; }; // Cross-browser version of the `apply' function // Suggested by Neil, should work around MSIE DOM methods // that do not support the `apply' method. function cbrApply(func, thisp, args) { if (func.apply) return func.apply(thisp,args); else { var s = "func("; for (var i = 0; i < args.length; i++) s += (i == 0 ? "" : ",") + "args[" + i + "]"; s += ")"; return eval(s); } } // Support for XML HTTP requests. Based on // http://www.w3schools.com/xml/tryit.asp?filename=try_xmlhttprequest_js4 function newXmlHttpRequest () { var xmlhttp; xmlhttp = null; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } else throw "R XML HTTP Request not supported"; return xmlhttp; } /******* Generated Code: Do Not Edit *******/ conIdx["Data.Ratio.:%"] = (-4); conIdx["Echo.JS"] = (-5); conIdx["Prelude.()"] = (-6); conIdx["Prelude.(,)"] = (-7); conIdx["Prelude.(,,)"] = (-8); conIdx["Prelude.(,,,)"] = (-9); conIdx["Prelude.(,,,,,,,)"] = (-10); conIdx["Prelude.(,,,,,,,,)"] = (-11); conIdx["Prelude.:"] = 3; conIdx["Prelude.EQ"] = 13; conIdx["Prelude.False"] = false; conIdx["Prelude.GT"] = 15; conIdx["Prelude.Just"] = 16; conIdx["Prelude.LT"] = 17; conIdx["Prelude.Nothing"] = 18; conIdx["Prelude.True"] = true; conIdx["Prelude.[]"] = 2; strIdx["F_0"] = "Data.Char.isUpper"; strIdx["F_1"] = "Data.Char.lexLitChar"; strIdx["F_2"] = "Data.Char.toUpper"; strIdx["F_4"] = "Data.Maybe.fromJust"; strIdx["F_5"] = "Data.Maybe.fromMaybe"; strIdx["F_6"] = "Data.Ratio.%"; strIdx["F_8"] = "Data.Ratio.reduce"; strIdx["F_9"] = "Data._CharNumeric._LAMBDA409"; strIdx["F_U"] = "Data.Char.asciiTab"; strIdx["F_V"] = "Data.Char.intToDigit"; strIdx["F_W"] = "Data.Char.isAlpha"; strIdx["F_X"] = "Data.Char.isAlphaNum"; strIdx["F_Y"] = "Data.Char.isLower"; strIdx["F_Z"] = "Data.Char.isSpace"; strIdx["F_b"] = "Control.Monad.when"; strIdx["F_b0"] = "Echo._LAMBDA640"; strIdx["F_b9"] = "Echo._LAMBDA649"; strIdx["F_bH"] = "Echo._LAMBDA621"; strIdx["F_bJ"] = "Echo._LAMBDA623"; strIdx["F_bS"] = "Echo._LAMBDA632"; strIdx["F_bT"] = "Echo._LAMBDA633"; strIdx["F_bU"] = "Echo._LAMBDA634"; strIdx["F_bV"] = "Echo._LAMBDA635"; strIdx["F_bW"] = "Echo._LAMBDA636"; strIdx["F_bX"] = "Echo._LAMBDA637"; strIdx["F_bY"] = "Echo._LAMBDA638"; strIdx["F_bZ"] = "Echo._LAMBDA639"; strIdx["F_ba"] = "Data._CharNumeric._LAMBDA410"; strIdx["F_bb"] = "Data._CharNumeric._LAMBDA411"; strIdx["F_be"] = "Data._CharNumeric.chr"; strIdx["F_bf"] = "Data._CharNumeric.digitToInt"; strIdx["F_bg"] = "Data._CharNumeric.isDigit"; strIdx["F_bh"] = "Data._CharNumeric.isHexDigit"; strIdx["F_bi"] = "Data._CharNumeric.isOctDigit"; strIdx["F_bj"] = "Data._CharNumeric.nonnull"; strIdx["F_bk"] = "Data._CharNumeric.ord"; strIdx["F_bl"] = "Data._CharNumeric.readDec"; strIdx["F_bm"] = "Data._CharNumeric.readInt"; strIdx["F_bn"] = "Echo.Prelude.Monad.Echo.JS"; strIdx["F_bo"] = "Echo.Prelude.Monad.Echo.JS.>>"; strIdx["F_bp"] = "Echo.Prelude.Monad.Echo.JS.>>="; strIdx["F_bq"] = "Echo.Prelude.Monad.Echo.JS.fail"; strIdx["F_br"] = "Echo.Prelude.Monad.Echo.JS.return"; strIdx["F_c"] = "Data.Char.Data.Char.Prelude.244.prefix"; strIdx["F_c0"] = "Prelude.Prelude.Enum.Prelude.Integer.enumFromThen"; strIdx["F_c1"] = "Prelude.Prelude.Enum.Prelude.Integer.enumFromThenTo"; strIdx["F_c2"] = "Prelude.Prelude.Enum.Prelude.Integer.enumFromTo"; strIdx["F_c3"] = "Prelude.Prelude.Enum.Prelude.Integer.fromEnum"; strIdx["F_c4"] = "Prelude.Prelude.Enum.Prelude.Integer.pred"; strIdx["F_c5"] = "Prelude.Prelude.Enum.Prelude.Integer.succ"; strIdx["F_c6"] = "Prelude.Prelude.Enum.Prelude.Integer.toEnum"; strIdx["F_c7"] = "Prelude.Prelude.Enum.Prelude.Ordering.fromEnum"; strIdx["F_c8"] = "Prelude.Prelude.Eq.Prelude.Char"; strIdx["F_c9"] = "Prelude.Prelude.Eq.Prelude.Char./="; strIdx["F_cA"] = "Numeric.showIntAtBase"; strIdx["F_cB"] = "Numeric.showSigned"; strIdx["F_cC"] = "Prelude.$"; strIdx["F_cD"] = "Prelude.&&"; strIdx["F_cE"] = "Prelude.*"; strIdx["F_cF"] = "Prelude.+"; strIdx["F_cG"] = "Prelude.++"; strIdx["F_cH"] = "Prelude.-"; strIdx["F_cI"] = "Prelude.."; strIdx["F_cJ"] = "Prelude.<"; strIdx["F_cK"] = "Prelude.<="; strIdx["F_cL"] = "Prelude.=="; strIdx["F_cM"] = "Prelude.>"; strIdx["F_cN"] = "Prelude.>="; strIdx["F_cO"] = "Prelude.Prelude.Enum.Prelude.Char.fromEnum"; strIdx["F_cP"] = "Prelude.Prelude.Enum.Prelude.Int"; strIdx["F_cQ"] = "Prelude.Prelude.Enum.Prelude.Int.enumFrom"; strIdx["F_cR"] = "Prelude.Prelude.Enum.Prelude.Int.enumFromThen"; strIdx["F_cS"] = "Prelude.Prelude.Enum.Prelude.Int.enumFromThenTo"; strIdx["F_cT"] = "Prelude.Prelude.Enum.Prelude.Int.enumFromTo"; strIdx["F_cU"] = "Prelude.Prelude.Enum.Prelude.Int.fromEnum"; strIdx["F_cV"] = "Prelude.Prelude.Enum.Prelude.Int.pred"; strIdx["F_cW"] = "Prelude.Prelude.Enum.Prelude.Int.succ"; strIdx["F_cX"] = "Prelude.Prelude.Enum.Prelude.Int.toEnum"; strIdx["F_cY"] = "Prelude.Prelude.Enum.Prelude.Integer"; strIdx["F_cZ"] = "Prelude.Prelude.Enum.Prelude.Integer.enumFrom"; strIdx["F_ca"] = "Echo._LAMBDA650"; strIdx["F_cb"] = "Echo._LAMBDA651"; strIdx["F_cc"] = "Echo.asInt"; strIdx["F_cd"] = "Echo.asString"; strIdx["F_ce"] = "Echo.catchJS"; strIdx["F_cf"] = "Echo.getDocument"; strIdx["F_cg"] = "Echo.getProperty"; strIdx["F_ch"] = "Echo.getTime"; strIdx["F_ci"] = "Echo.inkey"; strIdx["F_cj"] = "Echo.main"; strIdx["F_ck"] = "Echo.regEventHandler"; strIdx["F_cl"] = "Echo.runMethod"; strIdx["F_cm"] = "Echo.setProperty"; strIdx["F_cn"] = "Numeric.Numeric.Prelude.413.read'"; strIdx["F_co"] = "Numeric.Numeric.Prelude.414.read''"; strIdx["F_cq"] = "Numeric._LAMBDA2002"; strIdx["F_cr"] = "Numeric._LAMBDA2003"; strIdx["F_ct"] = "Numeric._LAMBDA2057"; strIdx["F_cu"] = "Numeric._LAMBDA2058"; strIdx["F_cv"] = "Numeric._LAMBDA2059"; strIdx["F_cw"] = "Numeric._LAMBDA2060"; strIdx["F_cx"] = "Numeric.lexDigits"; strIdx["F_cy"] = "Numeric.readSigned"; strIdx["F_cz"] = "Numeric.showInt"; strIdx["F_d"] = "Data.Char.Data.Char.Prelude.245.lexEsc"; strIdx["F_d0"] = "Prelude.Prelude.Ord.Prelude.Char.compare"; strIdx["F_d1"] = "Prelude.Prelude.Ord.Prelude.Char.max"; strIdx["F_d2"] = "Prelude.Prelude.Ord.Prelude.Char.min"; strIdx["F_d3"] = "Prelude.Prelude.Ord.Prelude.Eq"; strIdx["F_d4"] = "Prelude.Prelude.Ord.Prelude.Int"; strIdx["F_d5"] = "Prelude.Prelude.Ord.Prelude.Int.<"; strIdx["F_d6"] = "Prelude.Prelude.Ord.Prelude.Int.<="; strIdx["F_d7"] = "Prelude.Prelude.Ord.Prelude.Int.>"; strIdx["F_d8"] = "Prelude.Prelude.Ord.Prelude.Int.>="; strIdx["F_d9"] = "Prelude.Prelude.Ord.Prelude.Int.compare"; strIdx["F_dA"] = "Prelude.Prelude.Integral.Prelude.Integer.quotRem"; strIdx["F_dB"] = "Prelude.Prelude.Integral.Prelude.Integer.rem"; strIdx["F_dC"] = "Prelude.Prelude.Integral.Prelude.Integer.toInteger"; strIdx["F_dD"] = "Prelude.Prelude.Integral.Prelude.Real"; strIdx["F_dE"] = "Prelude.Prelude.Num.Prelude.Eq"; strIdx["F_dF"] = "Prelude.Prelude.Num.Prelude.Int"; strIdx["F_dG"] = "Prelude.Prelude.Num.Prelude.Int.*"; strIdx["F_dH"] = "Prelude.Prelude.Num.Prelude.Int.+"; strIdx["F_dI"] = "Prelude.Prelude.Num.Prelude.Int.-"; strIdx["F_dJ"] = "Prelude.Prelude.Num.Prelude.Int.abs"; strIdx["F_dK"] = "Prelude.Prelude.Num.Prelude.Int.fromInteger"; strIdx["F_dL"] = "Prelude.Prelude.Num.Prelude.Int.negate"; strIdx["F_dM"] = "Prelude.Prelude.Num.Prelude.Int.signum"; strIdx["F_dN"] = "Prelude.Prelude.Num.Prelude.Integer"; strIdx["F_dO"] = "Prelude.Prelude.Num.Prelude.Integer.*"; strIdx["F_dP"] = "Prelude.Prelude.Num.Prelude.Integer.+"; strIdx["F_dQ"] = "Prelude.Prelude.Num.Prelude.Integer.-"; strIdx["F_dR"] = "Prelude.Prelude.Num.Prelude.Integer.abs"; strIdx["F_dS"] = "Prelude.Prelude.Num.Prelude.Integer.fromInteger"; strIdx["F_dT"] = "Prelude.Prelude.Num.Prelude.Integer.negate"; strIdx["F_dU"] = "Prelude.Prelude.Num.Prelude.Integer.signum"; strIdx["F_dV"] = "Prelude.Prelude.Ord.Prelude.Char"; strIdx["F_dW"] = "Prelude.Prelude.Ord.Prelude.Char.<"; strIdx["F_dX"] = "Prelude.Prelude.Ord.Prelude.Char.<="; strIdx["F_dY"] = "Prelude.Prelude.Ord.Prelude.Char.>"; strIdx["F_dZ"] = "Prelude.Prelude.Ord.Prelude.Char.>="; strIdx["F_da"] = "Prelude.Prelude.Eq.Prelude.Char.=="; strIdx["F_db"] = "Prelude.Prelude.Eq.Prelude.Int"; strIdx["F_dc"] = "Prelude.Prelude.Eq.Prelude.Int./="; strIdx["F_dd"] = "Prelude.Prelude.Eq.Prelude.Int.=="; strIdx["F_de"] = "Prelude.Prelude.Eq.Prelude.Integer"; strIdx["F_df"] = "Prelude.Prelude.Eq.Prelude.Integer./="; strIdx["F_dg"] = "Prelude.Prelude.Eq.Prelude.Integer.=="; strIdx["F_dh"] = "Prelude.Prelude.Eq.Prelude.Ordering"; strIdx["F_di"] = "Prelude.Prelude.Eq.Prelude.Ordering./="; strIdx["F_dj"] = "Prelude.Prelude.Eq.Prelude.Ordering.=="; strIdx["F_dk"] = "Prelude.Prelude.Eq.Prelude.[]"; strIdx["F_dl"] = "Prelude.Prelude.Eq.Prelude.[]./="; strIdx["F_dm"] = "Prelude.Prelude.Eq.Prelude.[].=="; strIdx["F_dn"] = "Prelude.Prelude.Integral.Prelude.Int"; strIdx["F_do"] = "Prelude.Prelude.Integral.Prelude.Int.div"; strIdx["F_dp"] = "Prelude.Prelude.Integral.Prelude.Int.divMod"; strIdx["F_dq"] = "Prelude.Prelude.Integral.Prelude.Int.mod"; strIdx["F_dr"] = "Prelude.Prelude.Integral.Prelude.Int.quot"; strIdx["F_ds"] = "Prelude.Prelude.Integral.Prelude.Int.quotRem"; strIdx["F_dt"] = "Prelude.Prelude.Integral.Prelude.Int.rem"; strIdx["F_du"] = "Prelude.Prelude.Integral.Prelude.Int.toInteger"; strIdx["F_dv"] = "Prelude.Prelude.Integral.Prelude.Integer"; strIdx["F_dw"] = "Prelude.Prelude.Integral.Prelude.Integer.div"; strIdx["F_dx"] = "Prelude.Prelude.Integral.Prelude.Integer.divMod"; strIdx["F_dy"] = "Prelude.Prelude.Integral.Prelude.Integer.mod"; strIdx["F_dz"] = "Prelude.Prelude.Integral.Prelude.Integer.quot"; strIdx["F_e"] = "Data.Char.Data.Char.Prelude.246.match"; strIdx["F_e0"] = "Prelude.Prelude._.divMod"; strIdx["F_e1"] = "Prelude.Prelude._.enumFromThenTo"; strIdx["F_e2"] = "Prelude.Prelude._.enumFromTo"; strIdx["F_e3"] = "Prelude.Prelude._.fail"; strIdx["F_e4"] = "Prelude.Prelude._.max"; strIdx["F_e5"] = "Prelude.Prelude._.min"; strIdx["F_e6"] = "Prelude.Prelude._.pred"; strIdx["F_e7"] = "Prelude.Prelude._.readList"; strIdx["F_e8"] = "Prelude.Prelude._.show"; strIdx["F_e9"] = "Prelude.Prelude._.showList"; strIdx["F_eA"] = "Prelude.Prelude.Read.Prelude.Int"; strIdx["F_eB"] = "Prelude.Prelude.Read.Prelude.Int.readList"; strIdx["F_eC"] = "Prelude.Prelude.Read.Prelude.Int.readsPrec"; strIdx["F_eD"] = "Prelude.Prelude.Read.Prelude.Integer.readsPrec"; strIdx["F_eE"] = "Prelude.Prelude.Real.Prelude.Int"; strIdx["F_eF"] = "Prelude.Prelude.Real.Prelude.Int.toRational"; strIdx["F_eG"] = "Prelude.Prelude.Real.Prelude.Integer"; strIdx["F_eH"] = "Prelude.Prelude.Real.Prelude.Integer.toRational"; strIdx["F_eI"] = "Prelude.Prelude.Real.Prelude.Num"; strIdx["F_eJ"] = "Prelude.Prelude.Real.Prelude.Ord"; strIdx["F_eK"] = "Prelude.Prelude.Show.Prelude.Int"; strIdx["F_eL"] = "Prelude.Prelude.Show.Prelude.Int.show"; strIdx["F_eM"] = "Prelude.Prelude.Show.Prelude.Int.showList"; strIdx["F_eN"] = "Prelude.Prelude.Show.Prelude.Int.showsPrec"; strIdx["F_eO"] = "Prelude.Prelude.Show.Prelude.Int.showsType"; strIdx["F_eP"] = "Prelude.Prelude.Show.Prelude.Integer"; strIdx["F_eQ"] = "Prelude.Prelude.Show.Prelude.Integer.show"; strIdx["F_eR"] = "Prelude.Prelude.Show.Prelude.Integer.showList"; strIdx["F_eS"] = "Prelude.Prelude.Show.Prelude.Integer.showsPrec"; strIdx["F_eT"] = "Prelude.Prelude.Show.Prelude.Integer.showsType"; strIdx["F_eU"] = "Prelude.Prelude._./="; strIdx["F_eV"] = "Prelude.Prelude._.<"; strIdx["F_eW"] = "Prelude.Prelude._.>"; strIdx["F_eX"] = "Prelude.Prelude._.>="; strIdx["F_eY"] = "Prelude.Prelude._.compare"; strIdx["F_eZ"] = "Prelude.Prelude._.div"; strIdx["F_ea"] = "Prelude.Prelude.Ord.Prelude.Int.max"; strIdx["F_eb"] = "Prelude.Prelude.Ord.Prelude.Int.min"; strIdx["F_ec"] = "Prelude.Prelude.Ord.Prelude.Integer"; strIdx["F_ed"] = "Prelude.Prelude.Ord.Prelude.Integer.<"; strIdx["F_ee"] = "Prelude.Prelude.Ord.Prelude.Integer.<="; strIdx["F_ef"] = "Prelude.Prelude.Ord.Prelude.Integer.>"; strIdx["F_eg"] = "Prelude.Prelude.Ord.Prelude.Integer.>="; strIdx["F_eh"] = "Prelude.Prelude.Ord.Prelude.Integer.compare"; strIdx["F_ei"] = "Prelude.Prelude.Ord.Prelude.Integer.max"; strIdx["F_ej"] = "Prelude.Prelude.Ord.Prelude.Integer.min"; strIdx["F_ek"] = "Prelude.Prelude.Prelude.1812.lexString"; strIdx["F_el"] = "Prelude.Prelude.Prelude.1813.lexStrItem"; strIdx["F_em"] = "Prelude.Prelude.Prelude.1837.isSingle"; strIdx["F_en"] = "Prelude.Prelude.Prelude.1838.isSym"; strIdx["F_eo"] = "Prelude.Prelude.Prelude.1839.isIdInit"; strIdx["F_ep"] = "Prelude.Prelude.Prelude.1840.isIdChar"; strIdx["F_eq"] = "Prelude.Prelude.Prelude.1841.lexFracExp"; strIdx["F_er"] = "Prelude.Prelude.Prelude.1842.lexExp"; strIdx["F_es"] = "Prelude.Prelude.Prelude.1899.optional"; strIdx["F_et"] = "Prelude.Prelude.Prelude.1900.mandatory"; strIdx["F_eu"] = "Prelude.Prelude.Prelude.1937.gcd'"; strIdx["F_ev"] = "Prelude.Prelude.Prelude.535.readl"; strIdx["F_ew"] = "Prelude.Prelude.Prelude.536.readl'"; strIdx["F_ex"] = "Prelude.Prelude.Prelude.580.showl"; strIdx["F_ey"] = "Prelude.Prelude.Prelude.890.ll"; strIdx["F_ez"] = "Prelude.Prelude.Prelude.Read.Prelude.Int.readsPrec'Id 3510"; strIdx["F_f1"] = "Prelude._LAMBDA27500"; strIdx["F_f2"] = "Prelude._LAMBDA27501"; strIdx["F_f6"] = "Prelude._LAMBDA27620"; strIdx["F_f7"] = "Prelude._LAMBDA27621"; strIdx["F_f8"] = "Prelude._LAMBDA27631"; strIdx["F_f9"] = "Prelude._LAMBDA27632"; strIdx["F_fA"] = "Prelude._LAMBDA26955"; strIdx["F_fE"] = "Prelude._LAMBDA26959"; strIdx["F_fF"] = "Prelude._LAMBDA26960"; strIdx["F_fG"] = "Prelude._LAMBDA26961"; strIdx["F_fH"] = "Prelude._LAMBDA26962"; strIdx["F_fJ"] = "Prelude._LAMBDA26964"; strIdx["F_fK"] = "Prelude._LAMBDA26965"; strIdx["F_fL"] = "Prelude._LAMBDA26966"; strIdx["F_fM"] = "Prelude._LAMBDA26999"; strIdx["F_fN"] = "Prelude._LAMBDA27000"; strIdx["F_fO"] = "Prelude._LAMBDA27001"; strIdx["F_fP"] = "Prelude._LAMBDA27002"; strIdx["F_fQ"] = "Prelude._LAMBDA27003"; strIdx["F_fR"] = "Prelude._LAMBDA27004"; strIdx["F_fS"] = "Prelude._LAMBDA27005"; strIdx["F_fT"] = "Prelude._LAMBDA27006"; strIdx["F_fU"] = "Prelude._LAMBDA27007"; strIdx["F_fV"] = "Prelude._LAMBDA27008"; strIdx["F_fW"] = "Prelude._LAMBDA27246"; strIdx["F_fa"] = "Prelude.Prelude._.succ"; strIdx["F_fc"] = "Prelude._LAMBDA26931"; strIdx["F_fd"] = "Prelude._LAMBDA26932"; strIdx["F_fe"] = "Prelude._LAMBDA26933"; strIdx["F_fk"] = "Prelude._LAMBDA26939"; strIdx["F_fm"] = "Prelude._LAMBDA26941"; strIdx["F_fn"] = "Prelude._LAMBDA26942"; strIdx["F_fo"] = "Prelude._LAMBDA26943"; strIdx["F_fr"] = "Prelude._LAMBDA26946"; strIdx["F_fs"] = "Prelude._LAMBDA26947"; strIdx["F_fv"] = "Prelude._LAMBDA26950"; strIdx["F_fw"] = "Prelude._LAMBDA26951"; strIdx["F_fx"] = "Prelude._LAMBDA26952"; strIdx["F_fz"] = "Prelude._LAMBDA26954"; strIdx["F_g0"] = "Prelude.toInteger"; strIdx["F_g1"] = "Prelude.||"; strIdx["F_g2"] = "Roman.Roman.Prelude.221.k"; strIdx["F_g3"] = "Roman.Roman.Prelude.228.length"; strIdx["F_g4"] = "Roman._LAMBDA480"; strIdx["F_g5"] = "Roman._LAMBDA481"; strIdx["F_g9"] = "Roman.fromNumeral"; strIdx["F_gA"] = "Prelude.lookup"; strIdx["F_gB"] = "Prelude.map"; strIdx["F_gC"] = "Prelude.negate"; strIdx["F_gD"] = "Prelude.not"; strIdx["F_gE"] = "Prelude.or"; strIdx["F_gF"] = "Prelude.otherwise"; strIdx["F_gG"] = "Prelude.quot"; strIdx["F_gH"] = "Prelude.quotRem"; strIdx["F_gI"] = "Prelude.read"; strIdx["F_gJ"] = "Prelude.readParen"; strIdx["F_gK"] = "Prelude.reads"; strIdx["F_gL"] = "Prelude.readsPrec"; strIdx["F_gM"] = "Prelude.rem"; strIdx["F_gN"] = "Prelude.return"; strIdx["F_gO"] = "Prelude.reverse"; strIdx["F_gP"] = "Prelude.seq"; strIdx["F_gQ"] = "Prelude.show"; strIdx["F_gR"] = "Prelude.showChar"; strIdx["F_gS"] = "Prelude.showParen"; strIdx["F_gT"] = "Prelude.showString"; strIdx["F_gU"] = "Prelude.showsPrec"; strIdx["F_gV"] = "Prelude.signum"; strIdx["F_gW"] = "Prelude.snd"; strIdx["F_gX"] = "Prelude.span"; strIdx["F_gY"] = "Prelude.subtract"; strIdx["F_gZ"] = "Prelude.toEnum"; strIdx["F_gb"] = "Prelude._LAMBDA27663"; strIdx["F_gd"] = "Prelude._enumFromToDecC"; strIdx["F_ge"] = "Prelude._enumFromToIncC"; strIdx["F_gf"] = "Prelude._filter"; strIdx["F_gg"] = "Prelude._foldr"; strIdx["F_gh"] = "Prelude.abs"; strIdx["F_gi"] = "Prelude.any"; strIdx["F_gj"] = "Prelude.compare"; strIdx["F_gk"] = "Prelude.divMod"; strIdx["F_gl"] = "Prelude.dropWhile"; strIdx["F_gm"] = "Prelude.elem"; strIdx["F_gn"] = "Prelude.error"; strIdx["F_go"] = "Prelude.flip"; strIdx["F_gp"] = "Prelude.foldl"; strIdx["F_gq"] = "Prelude.foldl1"; strIdx["F_gr"] = "Prelude.foldr"; strIdx["F_gs"] = "Prelude.fromEnum"; strIdx["F_gt"] = "Prelude.fromInteger"; strIdx["F_gu"] = "Prelude.fromIntegral"; strIdx["F_gv"] = "Prelude.fst"; strIdx["F_gw"] = "Prelude.gcd"; strIdx["F_gx"] = "Prelude.id"; strIdx["F_gy"] = "Prelude.length"; strIdx["F_gz"] = "Prelude.lex"; strIdx["F_hC"] = "YHC.Primitive.primIntAbs"; strIdx["F_hD"] = "YHC.Primitive.primIntFromInteger"; strIdx["F_hE"] = "YHC.Primitive.primIntSignum"; strIdx["F_hF"] = "YHC.Primitive.primIntegerAdd"; strIdx["F_hG"] = "YHC.Primitive.primIntegerEq"; strIdx["F_hH"] = "YHC.Primitive.primIntegerFromInt"; strIdx["F_hI"] = "YHC.Primitive.primIntegerGe"; strIdx["F_hJ"] = "YHC.Primitive.primIntegerGt"; strIdx["F_hK"] = "YHC.Primitive.primIntegerLe"; strIdx["F_hL"] = "YHC.Primitive.primIntegerLt"; strIdx["F_hM"] = "YHC.Primitive.primIntegerMul"; strIdx["F_hN"] = "YHC.Primitive.primIntegerNe"; strIdx["F_hO"] = "YHC.Primitive.primIntegerNeg"; strIdx["F_hP"] = "YHC.Primitive.primIntegerQuot"; strIdx["F_hQ"] = "YHC.Primitive.primIntegerQuotRem"; strIdx["F_hR"] = "YHC.Primitive.primIntegerRem"; strIdx["F_hS"] = "YHC.Primitive.primIntegerSub"; strIdx["F_ha"] = "Roman.fromRoman"; strIdx["F_hb"] = "Roman.maxmunch"; strIdx["F_hc"] = "Roman.numerals"; strIdx["F_hd"] = "Roman.subnums"; strIdx["F_he"] = "Roman.toNumeral"; strIdx["F_hf"] = "Roman.toRoman"; strIdx["F_hg"] = "StdOverlay.StdOverlay.Prelude.255.showInt"; strIdx["F_hh"] = "StdOverlay.StdOverlay.Prelude.256.showPosInt"; strIdx["F_m"] = "Data.Char._LAMBDA1026"; strIdx["F_n"] = "Data.Char._LAMBDA1027"; var F_b=new HSFun("F_b", 3, function(_lJ, _lK, _lL){ var c1=exprEval(_lK); switch((c1)._t) { case true : return _lL; case false : return ((exprEval(_lJ))._f[3])._ap([new HSData((-6), [])]); } throw('X (' + this._n + ') ' +c1.toSource()); }); var F_c=new HSFun("F_c", 2, function(_lZ, _l0){ var c2=exprEval(_l0); return function(_l1, _l2){return new HSData((-7), [new HSCons(_lZ, _l1), _l2]);}((c2)._f[0], (c2)._f[1]); }); var F_d=new HSFun("F_d", 1, function(_l3){ var c3=exprEval(_l3); switch((c3)._t) { case 3 : return function(_l4, _l5){ var c4=exprEval(((F_gm)._b(F_c8, _l4))._ap([F_l])); switch((c4)._t) { case true : return new HSCons(new HSData((-7), [new HSCons(_l4, new HSEOL()), _l5]), new HSEOL()); case false : var c5=exprEval(_l4); switch((c5).valueOf()) { case 94 : var c6=exprEval(_l5); switch((c6)._t) { case 3 : return function(_l6, _l7){ var c7=exprEval((F_cD)._b((F_dZ)._b(_l6, mkChar(64)), (Number(exprEval(_l6)))<=(Number(exprEval(mkChar(95)))))); switch((c7)._t) { case true : return new HSCons(new HSData((-7), [new HSCons(mkChar(94), new HSCons(_l6, new HSEOL())), _l7]), new HSEOL()); case false : var c8=exprEval((F_bg)._b(_l4)); switch((c8)._t) { case true : return new HSCons((F_gX)._b(F_bg, _l3), new HSEOL()); case false : var c9=exprEval((F_0)._b(_l4)); switch((c9)._t) { case true : var c10=exprEval((F_gg)._b(new HSFun("F_n", 0, function(){return (F_n)._ap([_l3]);}), new HSCons(F_o, (F_gB)._b(F_gW, F_U)), new HSEOL())); switch((c10)._t) { case 2 : return new HSEOL(); case 3 : return function(_ma, _mb){return new HSCons(_ma, new HSEOL());}((c10)._f[0], (c10)._f[1]); } throw('X (' + this._n + ') ' +c10.toSource()); case false : return new HSEOL(); } throw('X (' + this._n + ') ' +c9.toSource()); } throw('X (' + this._n + ') ' +c8.toSource()); } throw('X (' + this._n + ') ' +c7.toSource()); }((c6)._f[0], (c6)._f[1]); default : var c11=exprEval((F_bg)._b(_l4)); switch((c11)._t) { case true : return new HSCons((F_gX)._b(F_bg, _l3), new HSEOL()); case false : var c12=exprEval((F_0)._b(_l4)); switch((c12)._t) { case true : var c13=exprEval((F_gg)._b(new HSFun("F_n", 0, function(){return (F_n)._ap([_l3]);}), new HSCons(F_o, (F_gB)._b(F_gW, F_U)), new HSEOL())); switch((c13)._t) { case 2 : return new HSEOL(); case 3 : return function(_ma, _mb){return new HSCons(_ma, new HSEOL());}((c13)._f[0], (c13)._f[1]); } throw('X (' + this._n + ') ' +c13.toSource()); case false : return new HSEOL(); } throw('X (' + this._n + ') ' +c12.toSource()); } throw('X (' + this._n + ') ' +c11.toSource()); } throw('X (' + this._n + ') ' +c6.toSource()); case 111 : return new HSCons((F_c)._ap([mkChar(111), new HSFun("F_gX", 0, function(){return (F_gX)._b(F_bi, _l5);})]), new HSEOL()); case 120 : return new HSCons((F_c)._ap([mkChar(120), new HSFun("F_gX", 0, function(){return (F_gX)._b(F_bh, _l5);})]), new HSEOL()); default : var c14=exprEval((F_bg)._b(_l4)); switch((c14)._t) { case true : return new HSCons((F_gX)._b(F_bg, _l3), new HSEOL()); case false : var c15=exprEval((F_0)._b(_l4)); switch((c15)._t) { case true : var c16=exprEval((F_gg)._b(new HSFun("F_n", 0, function(){return (F_n)._ap([_l3]);}), new HSCons(F_o, (F_gB)._b(F_gW, F_U)), new HSEOL())); switch((c16)._t) { case 2 : return new HSEOL(); case 3 : return function(_ma, _mb){return new HSCons(_ma, new HSEOL());}((c16)._f[0], (c16)._f[1]); } throw('X (' + this._n + ') ' +c16.toSource()); case false : return new HSEOL(); } throw('X (' + this._n + ') ' +c15.toSource()); } throw('X (' + this._n + ') ' +c14.toSource()); } throw('X (' + this._n + ') ' +c5.toSource()); } throw('X (' + this._n + ') ' +c4.toSource()); }((c3)._f[0], (c3)._f[1]); default : return new HSEOL(); } throw('X (' + this._n + ') ' +c3.toSource()); }); var F_e=new HSFun("F_e", 3, function(_lS, _lT, _lU){ var c17=exprEval(_lT); switch((c17)._t) { case 3 : return function(_lV, _lW){ var c18=exprEval(_lU); switch((c18)._t) { case 3 : return function(_lX, _lY){ var c19=exprEval(((exprEval(_lS))._f[1])._ap([_lV, _lX])); switch((c19)._t) { case true : return (F_e)._ap([_lS, _lW, _lY]); case false : return new HSData((-7), [_lT, _lU]); } throw('X (' + this._n + ') ' +c19.toSource()); }((c18)._f[0], (c18)._f[1]); default : return new HSData((-7), [_lT, _lU]); } throw('X (' + this._n + ') ' +c18.toSource()); }((c17)._f[0], (c17)._f[1]); default : return new HSData((-7), [_lT, _lU]); } throw('X (' + this._n + ') ' +c17.toSource()); }); var F_f="ESC"; var F_g="FS"; var F_h="GS"; var F_i="RS"; var F_j="US"; var F_k="SP"; var F_l="abfnrtv\\\"\'"; var F_m=new HSFun("F_m", 3, function(_hd, _io, _iH){ var c20=exprEval(_io); return function(_l8, _l9){ var c21=exprEval(_l8); switch((c21)._t) { case 2 : return new HSCons(new HSData((-7), [_hd, _l9]), _iH); default : return _iH; } throw('X (' + this._n + ') ' +c21.toSource()); }((c20)._f[0], (c20)._f[1]); }); var F_n=new HSFun("F_n", 3, function(_l3, _hd, _he){return (F_gg)._b(new HSFun("F_m", 0, function(){return (F_m)._ap([_hd]);}), new HSCons((F_e)._ap([F_c8, _hd, _l3]), new HSEOL()), _he);}); var F_o="DEL"; var F_p=" \u0009\u000a\u000d\u000c\u000b\xa0"; var F_q="Char.intToDigit: not a digit"; var F_r="Data.Char: Pattern match failure in function at 74:1-77:62."; var F_s="Data.Char: Pattern match failure in function at 275:1-276:28."; var F_t="NUL"; var F_u="SOH"; var F_v="STX"; var F_w="ETX"; var F_x="EOT"; var F_y="ENQ"; var F_z="ACK"; var F_A="BEL"; var F_B="BS"; var F_C="HT"; var F_D="LF"; var F_E="VT"; var F_F="FF"; var F_G="CR"; var F_H="SO"; var F_I="SI"; var F_J="DLE"; var F_K="DC1"; var F_L="DC2"; var F_M="DC3"; var F_N="DC4"; var F_O="NAK"; var F_P="SYN"; var F_Q="ETB"; var F_R="CAN"; var F_S="EM"; var F_T="SUB"; var F_U=new HSFun("F_U", 0, function(){return new HSCons(new HSData((-7), [mkChar(0), F_t]), new HSCons(new HSData((-7), [mkChar(1), F_u]), new HSCons(new HSData((-7), [mkChar(2), F_v]), new HSCons(new HSData((-7), [mkChar(3), F_w]), new HSCons(new HSData((-7), [mkChar(4), F_x]), new HSCons(new HSData((-7), [mkChar(5), F_y]), new HSCons(new HSData((-7), [mkChar(6), F_z]), new HSCons(new HSData((-7), [mkChar(7), F_A]), new HSCons(new HSData((-7), [mkChar(8), F_B]), new HSCons(new HSData((-7), [mkChar(9), F_C]), new HSCons(new HSData((-7), [mkChar(10), F_D]), new HSCons(new HSData((-7), [mkChar(11), F_E]), new HSCons(new HSData((-7), [mkChar(12), F_F]), new HSCons(new HSData((-7), [mkChar(13), F_G]), new HSCons(new HSData((-7), [mkChar(14), F_H]), new HSCons(new HSData((-7), [mkChar(15), F_I]), new HSCons(new HSData((-7), [mkChar(16), F_J]), new HSCons(new HSData((-7), [mkChar(17), F_K]), new HSCons(new HSData((-7), [mkChar(18), F_L]), new HSCons(new HSData((-7), [mkChar(19), F_M]), new HSCons(new HSData((-7), [mkChar(20), F_N]), new HSCons(new HSData((-7), [mkChar(21), F_O]), new HSCons(new HSData((-7), [mkChar(22), F_P]), new HSCons(new HSData((-7), [mkChar(23), F_Q]), new HSCons(new HSData((-7), [mkChar(24), F_R]), new HSCons(new HSData((-7), [mkChar(25), F_S]), new HSCons(new HSData((-7), [mkChar(26), F_T]), new HSCons(new HSData((-7), [mkChar(27), F_f]), new HSCons(new HSData((-7), [mkChar(28), F_g]), new HSCons(new HSData((-7), [mkChar(29), F_h]), new HSCons(new HSData((-7), [mkChar(30), F_i]), new HSCons(new HSData((-7), [mkChar(31), F_j]), new HSCons(new HSData((-7), [mkChar(32), F_k]), new HSEOL())))))))))))))))))))))))))))))))));}); var F_V=new HSFun("F_V", 1, function(_mf){ var c22=exprEval((F_cD)._b((Number(exprEval(_mf)))>=(0), (Number(exprEval(_mf)))<=(9))); switch((c22)._t) { case true : return (F_be)._ap([(exprEval((F_bk)._ap([mkChar(48)])))+(exprEval(_mf))]); case false : var c23=exprEval((F_cD)._b((Number(exprEval(_mf)))>=(10), (Number(exprEval(_mf)))<=(15))); switch((c23)._t) { case true : return (F_be)._ap([(exprEval((exprEval((F_bk)._ap([mkChar(97)])))+(exprEval(_mf))))-(10)]); case false : var c24=exprEval(F_gF); switch((c24)._t) { case true : return (F_gn)._b(F_q); case false : return (F_gn)._b(F_r); } throw('X (' + this._n + ') ' +c24.toSource()); } throw('X (' + this._n + ') ' +c23.toSource()); } throw('X (' + this._n + ') ' +c22.toSource()); }); var F_W=new HSFun("F_W", 1, function(_md){return (F_g1)._b((F_0)._b(_md), new HSFun("F_Y", 0, function(){return (F_Y)._b(_md);}));}); var F_X=new HSFun("F_X", 1, function(_me){return (F_g1)._b((F_W)._b(_me), new HSFun("F_bg", 0, function(){return (F_bg)._b(_me);}));}); var F_Y=new HSFun("F_Y", 1, function(_lM){return (F_g1)._b((F_cD)._b((F_dZ)._b(_lM, mkChar(97)), (Number(exprEval(_lM)))<=(Number(exprEval(mkChar(122))))), new HSFun("F_g1", 0, function(){return (F_g1)._b((F_cD)._b((F_dZ)._b(_lM, mkChar(223)), (Number(exprEval(_lM)))<=(Number(exprEval(mkChar(246))))), new HSFun("F_cD", 0, function(){return (F_cD)._b((F_dZ)._b(_lM, mkChar(248)), (Number(exprEval(_lM)))<=(Number(exprEval(mkChar(255)))));}));}));}); var F_Z=new HSFun("F_Z", 1, function(_mc){return ((F_gm)._b(F_c8, _mc))._ap([F_p]);}); var F_0=new HSFun("F_0", 1, function(_lO){return (F_g1)._b((F_cD)._b((F_dZ)._b(_lO, mkChar(65)), (Number(exprEval(_lO)))<=(Number(exprEval(mkChar(90))))), new HSFun("F_g1", 0, function(){return (F_g1)._b((F_cD)._b((F_dZ)._b(_lO, mkChar(192)), (Number(exprEval(_lO)))<=(Number(exprEval(mkChar(214))))), new HSFun("F_cD", 0, function(){return (F_cD)._b((F_dZ)._b(_lO, mkChar(216)), (Number(exprEval(_lO)))<=(Number(exprEval(mkChar(222)))));}));}));}); var F_1=new HSFun("F_1", 1, function(_lP){ var c25=exprEval(_lP); switch((c25)._t) { case 2 : return new HSEOL(); case 3 : return function(_lQ, _lR){ var c26=exprEval(_lQ); switch((c26).valueOf()) { case 92 : return (F_gB)._b((F_c)._ap([mkChar(92)]), (F_d)._ap([_lR])); default : return new HSCons(new HSData((-7), [new HSCons(_lQ, new HSEOL()), _lR]), new HSEOL()); } throw('X (' + this._n + ') ' +c26.toSource()); }((c25)._f[0], (c25)._f[1]); } throw('X (' + this._n + ') ' +c25.toSource()); }); var F_2=new HSFun("F_2", 1, function(_lN){ var c27=exprEval((F_Y)._b(_lN)); switch((c27)._t) { case true : return (exprEval((exprEval(_lN))-(exprEval(mkChar(97)))))+(exprEval(mkChar(65))); case false : var c28=exprEval(F_gF); switch((c28)._t) { case true : return _lN; case false : return (F_gn)._b(F_s); } throw('X (' + this._n + ') ' +c28.toSource()); } throw('X (' + this._n + ') ' +c27.toSource()); }); var F_3="Maybe.fromJust: Nothing"; var F_4=new HSFun("F_4", 1, function(_kg){ var c29=exprEval(_kg); switch((c29)._t) { case 18 : return (F_gn)._b(F_3); case 16 : return (c29)._f[0]; } throw('X (' + this._n + ') ' +c29.toSource()); }); var F_5=new HSFun("F_5", 2, function(_kd, _ke){ var c30=exprEval(_ke); switch((c30)._t) { case 18 : return _kd; case 16 : return (c30)._f[0]; } throw('X (' + this._n + ') ' +c30.toSource()); }); var F_6=new HSFun("F_6", 3, function(_I, _J, _K){return (F_8)._b(_I, ((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[2])._ap([_J, ((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[6])._ap([_K])]), ((exprEval((exprEval((exprEval(_I))._f[0]))._f[0]))._f[8])._ap([_K]));}); var F_7="Ratio.%: zero denominator"; var F_8=new HSFun("F_8", 3, function(_F, _G, _H){ var _lf=new HSFun("_lf", 0, function(){return _F;}); var _b=new HSFun("_b", 0, function(){return (F_gw)._b(_lf, _G, _H);}); var c31=exprEval(((exprEval((exprEval((exprEval((exprEval(_F))._f[0]))._f[0]))._f[0]))._f[1])._ap([_H, ((exprEval((exprEval((exprEval(_F))._f[0]))._f[0]))._f[7])._ap([0])])); switch((c31)._t) { case true : return (F_gn)._b(F_7); case false : return new HSData((-4), [((exprEval(_F))._f[7])._ap([_G, _b]), ((exprEval(_F))._f[7])._ap([_H, _b])]); } throw('X (' + this._n + ') ' +c31.toSource()); }); var F_9=new HSFun("F_9", 2, function(_ee, _ef){ var c32=exprEval(_ee); return function(_kl, _km){ var c33=exprEval(_kl); switch((c33)._t) { case 3 : return function(_kn, _ko){return new HSCons(new HSData((-7), [_kl, _km]), _ef);}((c33)._f[0], (c33)._f[1]); default : return _ef; } throw('X (' + this._n + ') ' +c33.toSource()); }((c32)._f[0], (c32)._f[1]); }); var F_ba=new HSFun("F_ba", 4, function(_kp, _kq, _ec, _ed){return ((exprEval((exprEval((exprEval(_kp))._f[0]))._f[0]))._f[3])._ap([((exprEval((exprEval((exprEval(_kp))._f[0]))._f[0]))._f[2])._ap([_ec, _kq]), _ed]);}); var F_bb=new HSFun("F_bb", 5, function(_kq, _kp, _ks, _c7, _dI){ var c34=exprEval(_c7); return function(_ku, _kv){return new HSCons(new HSData((-7), [new HSFun("F_gq", 0, function(){return (F_gq)._b(new HSFun("F_ba", 0, function(){return (F_ba)._ap([_kp, _kq]);}), (F_gB)._b((F_fc)._ap([_ks, (F_gu)._b(F_dn, new HSFun("F_eI", 0, function(){return (exprEval((exprEval(_kp))._f[0]))._f[0];}))]), _ku));}), _kv]), _dI);}((c34)._f[0], (c34)._f[1]); }); var F_bc="Char.digitToInt: not a digit"; var F_bd="Data._CharNumeric: Pattern match failure in function at 22:1-26:64."; var F_be=new HSFun("F_be", 0, function(){return F_gx;}); var F_bf=new HSFun("F_bf", 1, function(_ky){ var c35=exprEval((F_bg)._b(_ky)); switch((c35)._t) { case true : return (exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(48)]))); case false : var c36=exprEval((F_cD)._b((F_dZ)._b(_ky, mkChar(97)), (Number(exprEval(_ky)))<=(Number(exprEval(mkChar(102)))))); switch((c36)._t) { case true : return (exprEval((exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(97)])))))+(10); case false : var c37=exprEval((F_cD)._b((F_dZ)._b(_ky, mkChar(65)), (Number(exprEval(_ky)))<=(Number(exprEval(mkChar(70)))))); switch((c37)._t) { case true : return (exprEval((exprEval((F_bk)._ap([_ky])))-(exprEval((F_bk)._ap([mkChar(65)])))))+(10); case false : var c38=exprEval(F_gF); switch((c38)._t) { case true : return (F_gn)._b(F_bc); case false : return (F_gn)._b(F_bd); } throw('X (' + this._n + ') ' +c38.toSource()); } throw('X (' + this._n + ') ' +c37.toSource()); } throw('X (' + this._n + ') ' +c36.toSource()); } throw('X (' + this._n + ') ' +c35.toSource()); }); var F_bg=new HSFun("F_bg", 1, function(_kx){return (F_cD)._b((F_dZ)._b(_kx, mkChar(48)), (Number(exprEval(_kx)))<=(Number(exprEval(mkChar(57)))));}); var F_bh=new HSFun("F_bh", 1, function(_kw){return (F_g1)._b((F_cD)._b((F_dZ)._b(_kw, mkChar(48)), (Number(exprEval(_kw)))<=(Number(exprEval(mkChar(57))))), new HSFun("F_g1", 0, function(){return (F_g1)._b((F_cD)._b((F_dZ)._b(_kw, mkChar(65)), (Number(exprEval(_kw)))<=(Number(exprEval(mkChar(70))))), new HSFun("F_cD", 0, function(){return (F_cD)._b((F_dZ)._b(_kw, mkChar(97)), (Number(exprEval(_kw)))<=(Number(exprEval(mkChar(102)))));}));}));}); var F_bi=new HSFun("F_bi", 1, function(_kz){return (F_cD)._b((F_dZ)._b(_kz, mkChar(48)), (Number(exprEval(_kz)))<=(Number(exprEval(mkChar(55)))));}); var F_bj=new HSFun("F_bj", 2, function(_kj, _kk){return (F_gg)._b(F_9, new HSCons((F_gX)._b(_kj, _kk), new HSEOL()), new HSEOL());}); var F_bk=new HSFun("F_bk", 0, function(){return F_gx;}); var F_bl=new HSFun("F_bl", 1, function(_kA){return (F_bm)._ap([_kA, ((exprEval((exprEval((exprEval(_kA))._f[0]))._f[0]))._f[7])._ap([10]), F_bg, F_bf]);}); var F_bm=new HSFun("F_bm", 5, function(_kp, _kq, _kr, _ks, _kt){return (F_gg)._b(new HSFun("F_bb", 0, function(){return (F_bb)._ap([_kq, _kp, _ks]);}), (F_bj)._b(_kr, _kt), new HSEOL());}); var F_bn=new HSFun("F_bn", 0, function(){return new HSData((-9), [F_bp, F_bo, F_bq, F_br]);}); var F_bo=new HSFun("F_bo", 2, function(_lC, _lD){ var c39=exprEval(_lC); return _lD; }); var F_bp=new HSFun("F_bp", 2, function(_lF, _lG){ var c40=exprEval(_lF); return function(_lH){return (_lG)._ap([_lH]);}((c40)._f[0]); }); var F_bq=new HSFun("F_bq", 1, function(_lI){return (F_gn)._b(_lI);}); var F_br=new HSFun("F_br", 1, function(_lB){return (F_gP)._b(_lB, new HSData((-5), [_lB]));}); var F_bs="return new HSData(conIdx[\'Echo.JS\'],[document]);"; var F_bt="return new HSData(conIdx[\'Echo.JS\'],[exprEval(a)[exprEval(b).toString()]]);"; var F_bu="exprEval(a)[exprEval(b).toString()]=exprEval(c);return new HSData(conIdx[\'Echo.JS\'],[]);"; var F_bv="exprEval(a)[exprEval(b).toString()]=function(e){if(!e){e=window.event;}; return exprEval(exprEval(c)._ap([e]));}; return new HSData(conIdx[\'Echo.JS\'],[]);"; var F_bw="return new HSData(conIdx[\'Echo.JS\'],[new Number(exprEval(a))]);"; var F_bx="return new HSData(conIdx[\'Echo.JS\'],[new String(exprEval(a))]);"; var F_by="try {return exprEval(a);} catch(_e) {return exprEval(b)._ap([_e]);}"; var F_bz="return new HSData(conIdx[\'Echo.JS\'],[(new Date()).getTime()]);"; var F_bA="var a1=exprEval(a); return new HSData(conIdx[\'Echo.JS\'],[cbrApply(a1[exprEval(b).toString()],a1,exprEval(c)._toArray())]);"; var F_bB="keyCode"; var F_bC="body"; var F_bD="createElement"; var F_bE="div"; var F_bF="value"; var F_bG=""; var F_bH=new HSFun("F_bH", 1, function(v593){return (F_br)._b(F_bG);}); var F_bI=""; var F_bJ=new HSFun("F_bJ", 1, function(v594){return (F_br)._b(F_bI);}); var F_bK=" "; var F_bL=" "; var F_bM=" "; var F_bN=" ms"; var F_bO="innerHTML"; var F_bP="insertBefore"; var F_bQ="value"; var F_bR=""; var F_bS=new HSFun("F_bS", 8, function(_et, _fK, _fO, _f8, _e2, _e3, _lz, _hc){ var _kJ=new HSFun("_kJ", 0, function(){return F_dF;}); var _c=new HSFun("_c", 0, function(){return ((exprEval(_kJ))._f[4])._ap([_hc, _et]);}); var _kL=new HSFun("_kL", 0, function(){return F_eK;}); var _d=new HSFun("_d", 0, function(){return (F_cG)._b(_fK, new HSFun("F_cG", 0, function(){return (F_cG)._b(F_bK, new HSFun("F_cG", 0, function(){return (F_cG)._b(_fO, new HSFun("F_cG", 0, function(){return (F_cG)._b(F_bL, new HSFun("F_cG", 0, function(){return (F_cG)._b(_f8, new HSFun("F_cG", 0, function(){return (F_cG)._b(F_bM, new HSFun("F_cG", 0, function(){return (F_cG)._b(((exprEval(_kL))._f[3])._ap([_c]), F_bN);}));}));}));}));}));}));}); return (F_bo)._b((F_cm)._b(_e3, F_bO, _d), (F_bo)._b((F_cl)._b(_e2, F_bP, new HSCons(_e3, new HSCons(_lz, new HSEOL()))), (F_bo)._b((F_cm)._b(_lz, F_bQ, F_bR), (F_br)._b(new HSData((-6), []))))); }); var F_bT=new HSFun("F_bT", 7, function(_et, _fK, _fO, _e2, _e3, _lz, _f8){return (F_bp)._b((F_ch)._b(0), new HSFun("F_bS", 0, function(){return (F_bS)._ap([_et, _fK, _fO, _f8, _e2, _e3, _lz]);}));}); var F_bU=new HSFun("F_bU", 6, function(_et, _fK, _e2, _e3, _lz, _fO){return (F_bp)._b((F_ce)._b(new HSFun("F_cC", 0, function(){return (F_cC)._b(F_br, new HSFun("F_hf", 0, function(){return (F_hf)._b(new HSFun("F_gI", 0, function(){return (F_gI)._b(F_eA, _fK);}));}));}), F_bJ), new HSFun("F_bT", 0, function(){return (F_bT)._ap([_et, _fK, _fO, _e2, _e3, _lz]);}));}); var F_bV=new HSFun("F_bV", 5, function(_et, _e2, _e3, _lz, _fK){return (F_bo)._b((F_cC)._b(new HSFun("F_b", 0, function(){return (F_b)._ap([F_bn, (Number(exprEval((F_gy)._b(_fK))))>(0)]);}), new HSFun("F_bp", 0, function(){return (F_bp)._b((F_ce)._b(new HSFun("F_cC", 0, function(){return (F_cC)._b(F_br, ((F_fc)._ap([F_ha, F_eL]))._ap([_fK]));}), F_bH), new HSFun("F_bU", 0, function(){return (F_bU)._ap([_et, _fK, _e2, _e3, _lz]);}));})), (F_br)._b(new HSData((-6), [])));}); var F_bW=new HSFun("F_bW", 4, function(_et, _e2, _lz, _e3){return (F_bp)._b((F_bp)._b((F_cg)._b(_lz, F_bF), F_cd), new HSFun("F_bV", 0, function(){return (F_bV)._ap([_et, _e2, _e3, _lz]);}));}); var F_bX=new HSFun("F_bX", 4, function(_eY, _et, _lz, _e2){return (F_bp)._b((F_cl)._b(_eY, F_bD, new HSCons(F_bE, new HSEOL())), new HSFun("F_bW", 0, function(){return (F_bW)._ap([_et, _e2, _lz]);}));}); var F_bY=new HSFun("F_bY", 3, function(_et, _lz, _eY){return (F_bp)._b((F_cg)._b(_eY, F_bC), new HSFun("F_bX", 0, function(){return (F_bX)._ap([_eY, _et, _lz]);}));}); var F_bZ=new HSFun("F_bZ", 2, function(_lz, _et){return (F_bp)._b(F_cf, new HSFun("F_bY", 0, function(){return (F_bY)._ap([_et, _lz]);}));}); var F_b0=new HSFun("F_b0", 2, function(_lz, _eq){return (F_bo)._b((F_cC)._b(new HSFun("F_b", 0, function(){return (F_b)._ap([F_bn, (Number(exprEval(_eq)))===(13)]);}), new HSFun("F_bp", 0, function(){return (F_bp)._b((F_ch)._b(0), new HSFun("F_bZ", 0, function(){return (F_bZ)._ap([_lz]);}));})), (F_br)._b(new HSData((-6), [])));}); var F_b1="body"; var F_b2="createElement"; var F_b3="input"; var F_b4="id"; var F_b5="input-echo"; var F_b6="appendChild"; var F_b7="onkeypress"; var F_b8="focus"; var F_b9=new HSFun("F_b9", 2, function(_io, _iH){return (F_bo)._b((F_cm)._b(_iH, F_b4, F_b5), (F_bo)._b((F_cl)._b(_io, F_b6, new HSCons(_iH, new HSEOL())), (F_bo)._b((F_ck)._b(_iH, F_b7, new HSFun("F_ci", 0, function(){return (F_ci)._ap([_iH]);})), (F_bo)._b((F_cl)._b(_iH, F_b8, new HSEOL()), (F_br)._b(new HSData((-6), []))))));}); var F_ca=new HSFun("F_ca", 2, function(_ia, _io){return (F_bp)._b((F_cl)._b(_ia, F_b2, new HSCons(F_b3, new HSEOL())), new HSFun("F_b9", 0, function(){return (F_b9)._ap([_io]);}));}); var F_cb=new HSFun("F_cb", 1, function(_ia){return (F_bp)._b((F_cg)._b(_ia, F_b1), new HSFun("F_ca", 0, function(){return (F_ca)._ap([_ia]);}));}); var F_cc=new HSFun("F_cc", 1, function(a){ return new HSData(conIdx['Echo.JS'],[new Number(exprEval(a))]);}); var F_cd=new HSFun("F_cd", 1, function(a){ return new HSData(conIdx['Echo.JS'],[new String(exprEval(a))]);}); var F_ce=new HSFun("F_ce", 2, function(a, b){ try {return exprEval(a);} catch(_e) {return exprEval(b)._ap([_e]);}}); var F_cf=new HSFun("F_cf", 0, function(){ return new HSData(conIdx['Echo.JS'],[document]);}); var F_cg=new HSFun("F_cg", 2, function(a, b){ return new HSData(conIdx['Echo.JS'],[exprEval(a)[exprEval(b).toString()]]);}); var F_ch=new HSFun("F_ch", 1, function(a){ return new HSData(conIdx['Echo.JS'],[(new Date()).getTime()]);}); var F_ci=new HSFun("F_ci", 2, function(_lz, _lA){return (F_bp)._b((F_bp)._b((F_cg)._b(_lA, F_bB), F_cc), new HSFun("F_b0", 0, function(){return (F_b0)._ap([_lz]);}));}); var F_cj=new HSFun("F_cj", 0, function(){return (F_bp)._b(F_cf, F_cb);}); var F_ck=new HSFun("F_ck", 3, function(a, b, c){ exprEval(a)[exprEval(b).toString()]=function(e){if(!e){e=window.event;}; return exprEval(exprEval(c)._ap([e]));}; return new HSData(conIdx['Echo.JS'],[]);}); var F_cl=new HSFun("F_cl", 3, function(a, b, c){ var a1=exprEval(a); return new HSData(conIdx['Echo.JS'],[cbrApply(a1[exprEval(b).toString()],a1,exprEval(c)._toArray())]);}); var F_cm=new HSFun("F_cm", 3, function(a, b, c){ exprEval(a)[exprEval(b).toString()]=exprEval(c);return new HSData(conIdx['Echo.JS'],[]);}); var F_cn=new HSFun("F_cn", 3, function(_E, _bI, _bO){return (F_cG)._b(((F_co)._ap([_bI]))._ap([_bO]), new HSFun("F_gg", 0, function(){return (F_gg)._b(new HSFun("F_cw", 0, function(){return (F_cw)._ap([_E, _bI]);}), (F_gz)._b(_bO), new HSEOL());}));}); var F_co=new HSFun("F_co", 2, function(_bI, _bJ){return (F_gg)._b(new HSFun("F_cu", 0, function(){return (F_cu)._ap([_bI]);}), (F_gz)._b(_bJ), new HSEOL());}); var F_cp="Numeric.showIntAtBase: can\'t show negative numbers"; var F_cq=new HSFun("F_cq", 1, function(_e){return (exprEval(_e))._f[0];}); var F_cr=new HSFun("F_cr", 1, function(_e){return (exprEval(_e))._f[1];}); var F_cs="Numeric: Pattern match failure in function at 435:1-440:66."; var F_ct=new HSFun("F_ct", 3, function(_bL, _kJ, _kK){ var c41=exprEval(_kJ); return function(_bM, _bN){ var c42=exprEval(_bN); switch((c42)._t) { case 2 : return new HSCons(new HSData((-7), [_bM, _bL]), _kK); default : return _kK; } throw('X (' + this._n + ') ' +c42.toSource()); }((c41)._f[0], (c41)._f[1]); }); var F_cu=new HSFun("F_cu", 3, function(_bI, _kH, _kI){ var c43=exprEval(_kH); return function(_bK, _bL){return (F_gg)._b(new HSFun("F_ct", 0, function(){return (F_ct)._ap([_bL]);}), (_bI)._ap([_bK]), _kI);}((c43)._f[0], (c43)._f[1]); }); var F_cv=new HSFun("F_cv", 3, function(_E, _kD, _kE){ var c44=exprEval(_kD); return function(_bT, _bU){return new HSCons(new HSData((-7), [((exprEval(_E))._f[5])._ap([_bT]), _bU]), _kE);}((c44)._f[0], (c44)._f[1]); }); var F_cw=new HSFun("F_cw", 4, function(_E, _bI, _kB, _kC){ var c45=exprEval(_kB); return function(_bP, _bQ){ var c46=exprEval(_bP); switch((c46)._t) { case 3 : return function(_bR, _bS){ var c47=exprEval(_bR); switch((c47).valueOf()) { case 45 : var c48=exprEval(_bS); switch((c48)._t) { case 2 : return (F_gg)._b(new HSFun("F_cv", 0, function(){return (F_cv)._ap([_E]);}), ((F_co)._ap([_bI]))._ap([_bQ]), _kC); default : return _kC; } throw('X (' + this._n + ') ' +c48.toSource()); default : return _kC; } throw('X (' + this._n + ') ' +c47.toSource()); }((c46)._f[0], (c46)._f[1]); default : return _kC; } throw('X (' + this._n + ') ' +c46.toSource()); }((c45)._f[0], (c45)._f[1]); }); var F_cx=new HSFun("F_cx", 0, function(){return (F_bj)._ap([F_bg]);}); var F_cy=new HSFun("F_cy", 2, function(_bH, _bI){ var _E=new HSFun("_E", 0, function(){return (exprEval(_bH))._f[0];}); return (F_gJ)._b(false, new HSFun("F_cn", 0, function(){return (F_cn)._ap([_E, _bI]);})); }); var F_cz=new HSFun("F_cz", 1, function(_4){return (F_cA)._ap([_4, ((exprEval((exprEval((exprEval(_4))._f[0]))._f[0]))._f[7])._ap([10]), F_V]);}); var F_cA=new HSFun("F_cA", 5, function(_V, _W, _X, _Y, _Z){ var c49=exprEval(((exprEval((exprEval((exprEval(_V))._f[0]))._f[1]))._f[1])._ap([_Y, ((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[7])._ap([0])])); switch((c49)._t) { case true : return (F_gn)._b(F_cp); case false : var c50=exprEval(F_gF); switch((c50)._t) { case true : var _ld=new HSFun("_ld", 0, function(){return _V;}); var _e=new HSFun("_e", 0, function(){return ((exprEval(_ld))._f[4])._ap([_Y, _W]);}); var _f=new HSFun("_f", 0, function(){return (exprEval(_e))._f[0];}); var _g=new HSFun("_g", 0, function(){return (exprEval(_e))._f[1];}); var _le=new HSFun("_le", 0, function(){return _V;}); var _h=new HSFun("_h", 0, function(){return new HSCons((_X)._ap([((F_gu)._b(_le, F_dF))._ap([_g])]), _Z);}); var c51=exprEval(((exprEval((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[0]))._f[1])._ap([_f, ((exprEval((exprEval((exprEval(_V))._f[0]))._f[0]))._f[7])._ap([0])])); switch((c51)._t) { case true : return _h; case false : return (F_cA)._b(_V, _W, _X, _f, _h); } throw('X (' + this._n + ') ' +c51.toSource()); case false : return (F_gn)._b(F_cs); } throw('X (' + this._n + ') ' +c50.toSource()); } throw('X (' + this._n + ') ' +c49.toSource()); }); var F_cB=new HSFun("F_cB", 4, function(_R, _S, _T, _U){ var c52=exprEval(((exprEval((exprEval(_R))._f[1]))._f[1])._ap([_U, ((exprEval((exprEval(_R))._f[0]))._f[7])._ap([0])])); switch((c52)._t) { case true : return (F_gS)._b((Number(exprEval(_T)))>(6), (F_fc)._ap([(_S)._ap([((exprEval((exprEval(_R))._f[0]))._f[5])._ap([_U])]), (F_fW)._ap([mkChar(45)])])); case false : return (_S)._ap([_U]); } throw('X (' + this._n + ') ' +c52.toSource()); }); var F_cC=new HSFun("F_cC", 2, function(_eK, _eL){return (_eK)._ap([_eL]);}); var F_cD=new HSFun("F_cD", 2, function(_er, _es){ var c53=exprEval(_er); switch((c53)._t) { case true : return _es; case false : return false; } throw('X (' + this._n + ') ' +c53.toSource()); }); var F_cE=new HSFun("F_cE", 1, function(_jC){return (exprEval(_jC))._f[2];}); var F_cF=new HSFun("F_cF", 1, function(_jD){return (exprEval(_jD))._f[3];}); var F_cG=new HSFun("F_cG", 2, function(_cp, _cq){ var c54=exprEval(_cp); switch((c54)._t) { case 2 : return _cq; case 3 : return function(_cr, _cs){return new HSCons(_cr, (F_cG)._b(_cs, _cq));}((c54)._f[0], (c54)._f[1]); } throw('X (' + this._n + ') ' +c54.toSource()); }); var F_cH=new HSFun("F_cH", 1, function(_jE){return (exprEval(_jE))._f[4];}); var F_cI=new HSFun("F_cI", 2, function(_b9, _ca){return (F_fc)._ap([_ca, _b9]);}); var F_cJ=new HSFun("F_cJ", 1, function(_jn){return (exprEval(_jn))._f[1];}); var F_cK=new HSFun("F_cK", 1, function(_jo){return (exprEval(_jo))._f[2];}); var F_cL=new HSFun("F_cL", 1, function(_jd){return (exprEval(_jd))._f[1];}); var F_cM=new HSFun("F_cM", 1, function(_jq){return (exprEval(_jq))._f[4];}); var F_cN=new HSFun("F_cN", 1, function(_jp){return (exprEval(_jp))._f[3];}); var F_cO=new HSFun("F_cO", 1, function(_f7){return _f7;}); var F_cP=new HSFun("F_cP", 0, function(){return new HSData((-10), [F_cW, F_cV, F_cQ, F_cU, F_cX, F_cR, F_cT, F_cS]);}); var F_cQ=new HSFun("F_cQ", 1, function(_hH){return new HSCons(_hH, (F_cQ)._b((exprEval(_hH))+(1)));}); var F_cR=new HSFun("F_cR", 2, function(_hF, _hG){return new HSCons(_hF, (F_cR)._b(_hG, (exprEval((2)*(exprEval(_hG))))-(exprEval(_hF))));}); var F_cS=new HSFun("F_cS", 3, function(_hK, _hL, _hM){return (F_e1)._b(F_cP, _hK, _hL, _hM);}); var F_cT=new HSFun("F_cT", 2, function(_hN, _hO){return (F_e2)._b(F_cP, _hN, _hO);}); var F_cU=new HSFun("F_cU", 1, function(_hI){return _hI;}); var F_cV=new HSFun("F_cV", 1, function(_hP){return (F_e6)._b(F_cP, _hP);}); var F_cW=new HSFun("F_cW", 1, function(_hQ){return (F_fa)._b(F_cP, _hQ);}); var F_cX=new HSFun("F_cX", 1, function(_hJ){return _hJ;}); var F_cY=new HSFun("F_cY", 0, function(){return new HSData((-10), [F_c5, F_c4, F_cZ, F_c3, F_c6, F_c0, F_c2, F_c1]);}); var F_cZ=new HSFun("F_cZ", 1, function(_g2){return new HSCons(_g2, (F_cZ)._b((F_hF)._b(_g2, 1)));}); var F_c0=new HSFun("F_c0", 2, function(_g0, _g1){return new HSCons(_g0, (F_c0)._b(_g1, (F_hF)._b((F_hM)._b(2, _g1), _g0)));}); var F_c1=new HSFun("F_c1", 3, function(_g7, _g8, _g9){return (F_e1)._b(F_cY, _g7, _g8, _g9);}); var F_c2=new HSFun("F_c2", 2, function(_ha, _hb){return (F_e2)._b(F_cY, _ha, _hb);}); var F_c3=new HSFun("F_c3", 1, function(_g3){return (F_hD)._b(_g3);}); var F_c4=new HSFun("F_c4", 1, function(_g5){return (F_hS)._b(_g5, 1);}); var F_c5=new HSFun("F_c5", 1, function(_g6){return (F_hF)._b(_g6, 1);}); var F_c6=new HSFun("F_c6", 1, function(_g4){return (F_hH)._b(_g4);}); var F_c7=new HSFun("F_c7", 1, function(_fq){ var c55=exprEval(_fq); switch((c55)._t) { case 17 : return 0; case 13 : return 1; case 15 : return 2; } throw('X (' + this._n + ') ' +c55.toSource()); }); var F_c8=new HSFun("F_c8", 0, function(){return new HSData((-7), [F_c9, F_da]);}); var F_c9=new HSFun("F_c9", 2, function(_f5, _f6){return (F_eU)._b(F_c8, _f5, _f6);}); var F_da=new HSFun("F_da", 2, function(_f3, _f4){return (Number(exprEval(_f3)))===(Number(exprEval(_f4)));}); var F_db=new HSFun("F_db", 0, function(){return new HSData((-7), [F_dc, F_dd]);}); var F_dc=new HSFun("F_dc", 2, function(_if, _ig){return (Number(exprEval(_if)))!==(Number(exprEval(_ig)));}); var F_dd=new HSFun("F_dd", 2, function(_ih, _ii){return (Number(exprEval(_ih)))===(Number(exprEval(_ii)));}); var F_de=new HSFun("F_de", 0, function(){return new HSData((-7), [F_df, F_dg]);}); var F_df=new HSFun("F_df", 2, function(_gW, _gX){return (F_hN)._b(_gW, _gX);}); var F_dg=new HSFun("F_dg", 2, function(_gY, _gZ){return (F_hG)._b(_gY, _gZ);}); var F_dh=new HSFun("F_dh", 0, function(){return new HSData((-7), [F_di, F_dj]);}); var F_di=new HSFun("F_di", 2, function(_fo, _fp){return (F_eU)._b(F_dh, _fo, _fp);}); var F_dj=new HSFun("F_dj", 2, function(_fj, _fk){return (Number(exprEval((F_c7)._b(_fj))))===(Number(exprEval((F_c7)._b(_fk))));}); var F_dk=new HSFun("F_dk", 1, function(_bW){return new HSData((-7), [new HSFun("F_dl", 0, function(){return (F_dl)._ap([_bW]);}), new HSFun("F_dm", 0, function(){return (F_dm)._ap([_bW]);})]);}); var F_dl=new HSFun("F_dl", 3, function(_iP, _iQ, _iR){return (F_eU)._b(new HSFun("F_dk", 0, function(){return (F_dk)._b(_iP);}), _iQ, _iR);}); var F_dm=new HSFun("F_dm", 3, function(_iI, _iJ, _iK){ var c56=exprEval(_iJ); switch((c56)._t) { case 2 : var c57=exprEval(_iK); switch((c57)._t) { case 2 : return true; default : return false; } throw('X (' + this._n + ') ' +c57.toSource()); case 3 : return function(_iL, _iM){ var c58=exprEval(_iK); switch((c58)._t) { case 3 : return function(_iN, _iO){return (F_cD)._b(((exprEval(_iI))._f[1])._ap([_iL, _iN]), new HSFun("F_dm", 0, function(){return (F_dm)._b(_iI, _iM, _iO);}));}((c58)._f[0], (c58)._f[1]); default : return false; } throw('X (' + this._n + ') ' +c58.toSource()); }((c56)._f[0], (c56)._f[1]); } throw('X (' + this._n + ') ' +c56.toSource()); }); var F_dn=new HSFun("F_dn", 0, function(){return new HSData((-11), [F_eE, F_cP, F_dp, F_dq, F_ds, F_dt, F_du, F_dr, F_do]);}); var F_do=new HSFun("F_do", 2, function(_hC, _hD){return (F_eZ)._b(F_dn, _hC, _hD);}); var F_dp=new HSFun("F_dp", 2, function(_hx, _hy){return (F_e0)._b(F_dn, _hx, _hy);}); var F_dq=new HSFun("F_dq", 2, function(_hp, _hq){ var _k=new HSFun("_k", 0, function(){return (exprEval(_hp))%(exprEval(_hq));}); var c59=exprEval((Number(exprEval((F_hE)._b(_k))))===(Number(exprEval(NEG_W(exprEval((F_hE)._b(_hq))))))); switch((c59)._t) { case true : return (exprEval(_k))+(exprEval(_hq)); case false : return _k; } throw('X (' + this._n + ') ' +c59.toSource()); }); var F_dr=new HSFun("F_dr", 2, function(_hv, _hw){return function(x,y){return (x - (x % y))/y;}(Number(exprEval(_hv)),Number(exprEval(_hw)));}); var F_ds=new HSFun("F_ds", 2, function(_hr, _hs){return new HSData((-7), [function(x,y){return (x - (x % y))/y;}(Number(exprEval(_hr)),Number(exprEval(_hs))), (exprEval(_hr))%(exprEval(_hs))]);}); var F_dt=new HSFun("F_dt", 2, function(_ht, _hu){return (exprEval(_ht))%(exprEval(_hu));}); var F_du=new HSFun("F_du", 1, function(_ho){return (F_hH)._b(_ho);}); var F_dv=new HSFun("F_dv", 0, function(){return new HSData((-11), [F_eG, F_cY, F_dx, F_dy, F_dA, F_dB, F_dC, F_dz, F_dw]);}); var F_dw=new HSFun("F_dw", 2, function(_gi, _gj){return (exprEval((F_dx)._b(_gi, _gj)))._f[0];}); var F_dx=new HSFun("F_dx", 2, function(_gv, _gw){return (F_e0)._b(F_dv, _gv, _gw);}); var F_dy=new HSFun("F_dy", 2, function(_gg, _gh){return (exprEval((F_dx)._b(_gg, _gh)))._f[1];}); var F_dz=new HSFun("F_dz", 2, function(_gm, _gn){return (F_hP)._b(_gm, _gn);}); var F_dA=new HSFun("F_dA", 2, function(_ge, _gf){return (F_hQ)._b(_ge, _gf);}); var F_dB=new HSFun("F_dB", 2, function(_gk, _gl){return (F_hR)._b(_gk, _gl);}); var F_dC=new HSFun("F_dC", 1, function(_gd){return _gd;}); var F_dD=new HSFun("F_dD", 1, function(_jX){return (exprEval(_jX))._f[0];}); var F_dE=new HSFun("F_dE", 1, function(_jB){return (exprEval(_jB))._f[0];}); var F_dF=new HSFun("F_dF", 0, function(){return new HSData((-11), [F_db, F_eK, F_dG, F_dH, F_dI, F_dL, F_dM, F_dK, F_dJ]);}); var F_dG=new HSFun("F_dG", 2, function(_hU, _hV){return (exprEval(_hU))*(exprEval(_hV));}); var F_dH=new HSFun("F_dH", 2, function(_hY, _hZ){return (exprEval(_hY))+(exprEval(_hZ));}); var F_dI=new HSFun("F_dI", 2, function(_hW, _hX){return (exprEval(_hW))-(exprEval(_hX));}); var F_dJ=new HSFun("F_dJ", 1, function(_hT){return (F_hC)._b(_hT);}); var F_dK=new HSFun("F_dK", 1, function(_hR){return (F_hD)._b(_hR);}); var F_dL=new HSFun("F_dL", 1, function(a){ return 0 - Number(exprEval(a));}); var F_dM=new HSFun("F_dM", 1, function(_hS){return (F_hE)._b(_hS);}); var F_dN=new HSFun("F_dN", 0, function(){return new HSData((-11), [F_de, F_eP, F_dO, F_dP, F_dQ, F_dT, F_dU, F_dS, F_dR]);}); var F_dO=new HSFun("F_dO", 2, function(_gC, _gD){return (F_hM)._b(_gC, _gD);}); var F_dP=new HSFun("F_dP", 2, function(_gG, _gH){return (F_hF)._b(_gG, _gH);}); var F_dQ=new HSFun("F_dQ", 2, function(_gE, _gF){return (F_hS)._b(_gE, _gF);}); var F_dR=new HSFun("F_dR", 1, function(_gA){ var c60=exprEval((F_hL)._b(_gA, 0)); switch((c60)._t) { case true : return (F_hO)._b(_gA); case false : return _gA; } throw('X (' + this._n + ') ' +c60.toSource()); }); var F_dS=new HSFun("F_dS", 1, function(_gy){return _gy;}); var F_dT=new HSFun("F_dT", 1, function(_gB){return (F_hO)._b(_gB);}); var F_dU=new HSFun("F_dU", 1, function(_gz){ var c61=exprEval((F_eh)._b(_gz, 0)); switch((c61)._t) { case 17 : return -1; case 13 : return 0; case 15 : return 1; } throw('X (' + this._n + ') ' +c61.toSource()); }); var F_dV=new HSFun("F_dV", 0, function(){return new HSData((-10), [F_c8, F_dW, F_dX, F_dZ, F_dY, F_d0, F_d2, F_d1]);}); var F_dW=new HSFun("F_dW", 2, function(_f1, _f2){return (F_eV)._b(F_dV, _f1, _f2);}); var F_dX=new HSFun("F_dX", 2, function(_fR, _fS){return (Number(exprEval(_fR)))<=(Number(exprEval(_fS)));}); var F_dY=new HSFun("F_dY", 2, function(_fX, _fY){return (F_eW)._b(F_dV, _fX, _fY);}); var F_dZ=new HSFun("F_dZ", 2, function(_fZ, _f0){return (F_eX)._b(F_dV, _fZ, _f0);}); var F_d0=new HSFun("F_d0", 2, function(_fP, _fQ){return (F_d9)._b(_fP, _fQ);}); var F_d1=new HSFun("F_d1", 2, function(_fV, _fW){return (F_e4)._b(F_dV, _fV, _fW);}); var F_d2=new HSFun("F_d2", 2, function(_fT, _fU){return (F_e5)._b(F_dV, _fT, _fU);}); var F_d3=new HSFun("F_d3", 1, function(_jm){return (exprEval(_jm))._f[0];}); var F_d4=new HSFun("F_d4", 0, function(){return new HSData((-10), [F_db, F_d5, F_d6, F_d8, F_d7, F_d9, F_eb, F_ea]);}); var F_d5=new HSFun("F_d5", 2, function(_h6, _h7){return (Number(exprEval(_h6)))<(Number(exprEval(_h7)));}); var F_d6=new HSFun("F_d6", 2, function(_h4, _h5){return (Number(exprEval(_h4)))<=(Number(exprEval(_h5)));}); var F_d7=new HSFun("F_d7", 2, function(_h0, _h1){return (Number(exprEval(_h0)))>(Number(exprEval(_h1)));}); var F_d8=new HSFun("F_d8", 2, function(_h2, _h3){return (Number(exprEval(_h2)))>=(Number(exprEval(_h3)));}); var F_d9=new HSFun("F_d9", 2, function(_id, _ie){return (F_eY)._b(F_d4, _id, _ie);}); var F_ea=new HSFun("F_ea", 2, function(_ib, _ic){return (F_e4)._b(F_d4, _ib, _ic);}); var F_eb=new HSFun("F_eb", 2, function(_h8, _h9){return (F_e5)._b(F_d4, _h8, _h9);}); var F_ec=new HSFun("F_ec", 0, function(){return new HSData((-10), [F_de, F_ed, F_ee, F_eg, F_ef, F_eh, F_ej, F_ei]);}); var F_ed=new HSFun("F_ed", 2, function(_gO, _gP){return (F_hL)._b(_gO, _gP);}); var F_ee=new HSFun("F_ee", 2, function(_gM, _gN){return (F_hK)._b(_gM, _gN);}); var F_ef=new HSFun("F_ef", 2, function(_gI, _gJ){return (F_hJ)._b(_gI, _gJ);}); var F_eg=new HSFun("F_eg", 2, function(_gK, _gL){return (F_hI)._b(_gK, _gL);}); var F_eh=new HSFun("F_eh", 2, function(_gU, _gV){return (F_eY)._b(F_ec, _gU, _gV);}); var F_ei=new HSFun("F_ei", 2, function(_gS, _gT){return (F_e4)._b(F_ec, _gS, _gT);}); var F_ej=new HSFun("F_ej", 2, function(_gQ, _gR){return (F_e5)._b(F_ec, _gQ, _gR);}); var F_ek=new HSFun("F_ek", 1, function(_cL){ var c62=exprEval(_cL); switch((c62)._t) { case 3 : return function(_cM, _cN){ var c63=exprEval(_cM); switch((c63).valueOf()) { case 34 : return new HSCons(new HSData((-7), [F_fl, _cN]), new HSEOL()); default : return (F_gg)._b(F_fn, (F_el)._ap([_cL]), new HSEOL()); } throw('X (' + this._n + ') ' +c63.toSource()); }((c62)._f[0], (c62)._f[1]); default : return (F_gg)._b(F_fn, (F_el)._ap([_cL]), new HSEOL()); } throw('X (' + this._n + ') ' +c62.toSource()); }); var F_el=new HSFun("F_el", 1, function(_cE){ var c64=exprEval(_cE); switch((c64)._t) { case 3 : return function(_cF, _cG){ var c65=exprEval(_cF); switch((c65).valueOf()) { case 92 : var c66=exprEval(_cG); switch((c66)._t) { case 3 : return function(_cH, _cI){ var c67=exprEval(_cH); switch((c67).valueOf()) { case 38 : return new HSCons(new HSData((-7), [F_fi, _cI]), new HSEOL()); default : var c68=exprEval((F_Z)._b(_cH)); switch((c68)._t) { case true : return (F_gg)._b(F_fk, new HSCons((F_gl)._b(F_Z, _cI), new HSEOL()), new HSEOL()); case false : return (F_1)._b(_cE); } throw('X (' + this._n + ') ' +c68.toSource()); } throw('X (' + this._n + ') ' +c67.toSource()); }((c66)._f[0], (c66)._f[1]); default : return (F_1)._b(_cE); } throw('X (' + this._n + ') ' +c66.toSource()); default : return (F_1)._b(_cE); } throw('X (' + this._n + ') ' +c65.toSource()); }((c64)._f[0], (c64)._f[1]); default : return (F_1)._b(_cE); } throw('X (' + this._n + ') ' +c64.toSource()); }); var F_em=new HSFun("F_em", 1, function(_dk){return ((F_gm)._b(F_c8, _dk))._ap([F_fD]);}); var F_en=new HSFun("F_en", 1, function(_dj){return ((F_gm)._b(F_c8, _dj))._ap([F_fC]);}); var F_eo=new HSFun("F_eo", 1, function(_di){return (F_g1)._b((F_W)._b(_di), (Number(exprEval(_di)))===(Number(exprEval(mkChar(95)))));}); var F_ep=new HSFun("F_ep", 1, function(_dh){return (F_g1)._b((F_X)._b(_dh), ((F_gm)._b(F_c8, _dh))._ap([F_fB]));}); var F_eq=new HSFun("F_eq", 1, function(_c8){ var c69=exprEval(_c8); switch((c69)._t) { case 3 : return function(_c9, _da){ var c70=exprEval(_c9); switch((c70).valueOf()) { case 46 : var c71=exprEval(_da); switch((c71)._t) { case 3 : return function(_db, _dc){ var c72=exprEval((F_bg)._b(_db)); switch((c72)._t) { case true : return (F_gg)._b(F_fA, (F_cx)._ap([new HSCons(_db, _dc)]), new HSEOL()); case false : return (F_er)._ap([_c8]); } throw('X (' + this._n + ') ' +c72.toSource()); }((c71)._f[0], (c71)._f[1]); default : return (F_er)._ap([_c8]); } throw('X (' + this._n + ') ' +c71.toSource()); default : return (F_er)._ap([_c8]); } throw('X (' + this._n + ') ' +c70.toSource()); }((c69)._f[0], (c69)._f[1]); default : return (F_er)._ap([_c8]); } throw('X (' + this._n + ') ' +c69.toSource()); }); var F_er=new HSFun("F_er", 1, function(_cY){ var c73=exprEval(_cY); switch((c73)._t) { case 3 : return function(_cZ, _c0){ var c74=exprEval(((F_gm)._b(F_c8, _cZ))._ap([F_ft])); switch((c74)._t) { case true : return (F_cG)._b((F_gg)._b(new HSFun("F_fw", 0, function(){return (F_fw)._ap([_cZ]);}), new HSCons(_c0, new HSEOL()), new HSEOL()), new HSFun("F_gg", 0, function(){return (F_gg)._b(new HSFun("F_fx", 0, function(){return (F_fx)._ap([_cZ]);}), (F_cx)._ap([_c0]), new HSEOL());})); case false : return new HSCons(new HSData((-7), [F_fy, _cY]), new HSEOL()); } throw('X (' + this._n + ') ' +c74.toSource()); }((c73)._f[0], (c73)._f[1]); default : return new HSCons(new HSData((-7), [F_fy, _cY]), new HSEOL()); } throw('X (' + this._n + ') ' +c73.toSource()); }); var F_es=new HSFun("F_es", 2, function(_du, _dv){return (F_cG)._b((_du)._ap([_dv]), ((F_et)._ap([_du]))._ap([_dv]));}); var F_et=new HSFun("F_et", 2, function(_du, _dw){return (F_gg)._b(new HSFun("F_fL", 0, function(){return (F_fL)._ap([_du]);}), (F_gz)._b(_dw), new HSEOL());}); var F_eu=new HSFun("F_eu", 3, function(_eD, _eE, _eF){ var c75=exprEval(((exprEval((exprEval((exprEval((exprEval(_eD))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eF, ((exprEval((exprEval((exprEval(_eD))._f[0]))._f[0]))._f[7])._ap([0])])); switch((c75)._t) { case true : return _eE; case false : return (F_eu)._ap([_eD, _eF, ((exprEval(_eD))._f[5])._ap([_eE, _eF])]); } throw('X (' + this._n + ') ' +c75.toSource()); }); var F_ev=new HSFun("F_ev", 2, function(_dY, _dZ){return (F_cG)._b((F_gg)._b(F_fQ, (F_gz)._b(_dZ), new HSEOL()), new HSFun("F_gg", 0, function(){return (F_gg)._b(new HSFun("F_fS", 0, function(){return (F_fS)._ap([_dY]);}), ((exprEval(_dY))._f[0])._ap([0, _dZ]), new HSEOL());}));}); var F_ew=new HSFun("F_ew", 2, function(_dK, _dL){return (F_cG)._b((F_gg)._b(F_fM, (F_gz)._b(_dL), new HSEOL()), new HSFun("F_gg", 0, function(){return (F_gg)._b(new HSFun("F_fP", 0, function(){return (F_fP)._ap([_dK]);}), (F_gz)._b(_dL), new HSEOL());}));}); var F_ex=new HSFun("F_ex", 2, function(_ek, _el){ var c76=exprEval(_el); switch((c76)._t) { case 2 : return (F_fW)._ap([mkChar(93)]); case 3 : return function(_em, _en){return (F_fc)._ap([(F_fc)._ap([(F_ex)._ap([_ek, _en]), ((exprEval(_ek))._f[0])._ap([0, _em])]), (F_gT)._ap([F_fY])]);}((c76)._f[0], (c76)._f[1]); } throw('X (' + this._n + ') ' +c76.toSource()); }); var F_ey=new HSFun("F_ey", 2, function(_iD, _iE){ var c77=exprEval(_iE); switch((c77)._t) { case 2 : return _iD; case 3 : return function(_iF, _iG){ var _u=new HSFun("_u", 0, function(){return (exprEval(_iD))+(1);}); return (F_gP)._b(_u, (F_ey)._ap([_u, _iG])); }((c77)._f[0], (c77)._f[1]); } throw('X (' + this._n + ') ' +c77.toSource()); }); var F_ez=new HSFun("F_ez", 3, function(_hg, _hh, _hi){return (F_gB)._b(new HSFun("F_f8", 0, function(){return (F_f8)._ap([_hg]);}), ((F_eD)._b(_hh))._ap([_hi]));}); var F_eA=new HSFun("F_eA", 0, function(){return new HSData((-7), [F_eC, F_eB]);}); var F_eB=new HSFun("F_eB", 0, function(){return (F_e7)._b(F_eA);}); var F_eC=new HSFun("F_eC", 1, function(_hf){return (F_f9)._ap([_hf]);}); var F_eD=new HSFun("F_eD", 1, function(v25828){return (F_cy)._b(F_eG, new HSFun("F_bl", 0, function(){return (F_bl)._b(F_dv);}));}); var F_eE=new HSFun("F_eE", 0, function(){return new HSData((-8), [F_dF, F_d4, F_eF]);}); var F_eF=new HSFun("F_eF", 1, function(_hE){return (F_6)._b(F_dv, (F_hH)._b(_hE), 1);}); var F_eG=new HSFun("F_eG", 0, function(){return new HSData((-8), [F_dN, F_ec, F_eH]);}); var F_eH=new HSFun("F_eH", 1, function(_gx){return (F_6)._b(F_dv, _gx, 1);}); var F_eI=new HSFun("F_eI", 1, function(_jM){return (exprEval(_jM))._f[0];}); var F_eJ=new HSFun("F_eJ", 1, function(_jN){return (exprEval(_jN))._f[1];}); var F_eK=new HSFun("F_eK", 0, function(){return new HSData((-9), [F_eN, F_eO, F_eM, F_eL]);}); var F_eL=new HSFun("F_eL", 1, function(_hn){return (F_e8)._b(F_eK, _hn);}); var F_eM=new HSFun("F_eM", 1, function(_hm){return (F_e9)._b(F_eK, _hm);}); var F_eN=new HSFun("F_eN", 2, function(_kn, _ko){ var c78=exprEval((Number(exprEval(_ko)))<(0)); switch((c78)._t) { case true : return (F_gS)._b((Number(exprEval(_kn)))>(6), (F_fc)._ap([(F_hh)._ap([new HSFun("F_dL", 0, function(){return (F_dL)._b(_ko);})]), (F_fW)._ap([mkChar(45)])])); case false : return (F_hh)._ap([_ko]); } throw('X (' + this._n + ') ' +c78.toSource()); }); var F_eO=new HSFun("F_eO", 1, function(v26141){return (F_gT)._ap([F_ga]);}); var F_eP=new HSFun("F_eP", 0, function(){return new HSData((-9), [F_eS, F_eT, F_eR, F_eQ]);}); var F_eQ=new HSFun("F_eQ", 1, function(_gc){return (F_e8)._b(F_eP, _gc);}); var F_eR=new HSFun("F_eR", 1, function(_gb){return (F_e9)._b(F_eP, _gb);}); var F_eS=new HSFun("F_eS", 2, function(_f9, _ga){return (F_cB)._b(F_eG, new HSFun("F_cz", 0, function(){return (F_cz)._b(F_dv);}), _f9, _ga);}); var F_eT=new HSFun("F_eT", 1, function(v25823){return (F_gT)._ap([F_f5]);}); var F_eU=new HSFun("F_eU", 3, function(_fl, _fm, _fn){return (F_gD)._b(((exprEval(_fl))._f[1])._ap([_fm, _fn]));}); var F_eV=new HSFun("F_eV", 3, function(_fg, _fh, _fi){return (F_dj)._b(((exprEval(_fg))._f[5])._ap([_fh, _fi]), new HSData(17, []));}); var F_eW=new HSFun("F_eW", 3, function(_fa, _fb, _fc){return (F_dj)._b(((exprEval(_fa))._f[5])._ap([_fb, _fc]), new HSData(15, []));}); var F_eX=new HSFun("F_eX", 3, function(_fd, _fe, _ff){return (F_di)._b(((exprEval(_fd))._f[5])._ap([_fe, _ff]), new HSData(17, []));}); var F_eY=new HSFun("F_eY", 3, function(_fL, _fM, _fN){ var c79=exprEval(((exprEval((exprEval(_fL))._f[0]))._f[1])._ap([_fM, _fN])); switch((c79)._t) { case true : return new HSData(13, []); case false : var c80=exprEval(((exprEval(_fL))._f[2])._ap([_fM, _fN])); switch((c80)._t) { case true : return new HSData(17, []); case false : return new HSData(15, []); } throw('X (' + this._n + ') ' +c80.toSource()); } throw('X (' + this._n + ') ' +c79.toSource()); }); var F_eZ=new HSFun("F_eZ", 3, function(_hz, _hA, _hB){return (exprEval(((exprEval(_hz))._f[2])._ap([_hA, _hB])))._f[0];}); var F_e0=new HSFun("F_e0", 3, function(_go, _gp, _gq){ var _Q=new HSFun("_Q", 0, function(){return _go;}); var _r=new HSFun("_r", 0, function(){return ((exprEval(_Q))._f[4])._ap([_gp, _gq]);}); var _i=new HSFun("_i", 0, function(){return _r;}); var _s=new HSFun("_s", 0, function(){return (exprEval(_i))._f[0];}); var _t=new HSFun("_t", 0, function(){return (exprEval(_i))._f[1];}); var c81=exprEval(((exprEval((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[0]))._f[1])._ap([((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[6])._ap([_t]), ((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[5])._ap([((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[6])._ap([_gq])])])); switch((c81)._t) { case true : return new HSData((-7), [((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[4])._ap([_s, ((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[7])._ap([1])]), ((exprEval((exprEval((exprEval(_go))._f[0]))._f[0]))._f[3])._ap([_t, _gq])]); case false : return _r; } throw('X (' + this._n + ') ' +c81.toSource()); }); var F_e1=new HSFun("F_e1", 4, function(_fz, _fA, _fB, _fC){ var _L=new HSFun("_L", 0, function(){return _fz;}); var _o=new HSFun("_o", 0, function(){return ((exprEval(_L))._f[3])._ap([_fB]);}); var _M=new HSFun("_M", 0, function(){return _fz;}); var _n=new HSFun("_n", 0, function(){return ((exprEval(_M))._f[3])._ap([_fA]);}); var _q=new HSFun("_q", 0, function(){return (exprEval(_o))-(exprEval(_n));}); var _N=new HSFun("_N", 0, function(){return _fz;}); var _p=new HSFun("_p", 0, function(){return ((exprEval(_N))._f[3])._ap([_fC]);}); var c82=exprEval((Number(exprEval(_q)))>=(0)); switch((c82)._t) { case true : return (F_ge)._b(_fz, _n, _q, _p); case false : return (F_gd)._b(_fz, _n, _q, _p); } throw('X (' + this._n + ') ' +c82.toSource()); }); var F_e2=new HSFun("F_e2", 3, function(_fD, _fE, _fF){ var _O=new HSFun("_O", 0, function(){return _fD;}); var _m=new HSFun("_m", 0, function(){return ((exprEval(_O))._f[3])._ap([_fF]);}); var _P=new HSFun("_P", 0, function(){return _fD;}); var _l=new HSFun("_l", 0, function(){return ((exprEval(_P))._f[3])._ap([_fE]);}); var c83=exprEval((F_d9)._b(_l, _m)); switch((c83)._t) { case 17 : return (F_ge)._b(_fD, _l, 1, _m); case 13 : return new HSCons(_fE, new HSEOL()); case 15 : return new HSEOL(); } throw('X (' + this._n + ') ' +c83.toSource()); }); var F_e3=new HSFun("F_e3", 2, function(v25368, _e1){return (F_gn)._b(_e1);}); var F_e4=new HSFun("F_e4", 3, function(_e7, _e8, _e9){ var c84=exprEval(((exprEval(_e7))._f[3])._ap([_e8, _e9])); switch((c84)._t) { case true : return _e8; case false : return _e9; } throw('X (' + this._n + ') ' +c84.toSource()); }); var F_e5=new HSFun("F_e5", 3, function(_e4, _e5, _e6){ var c85=exprEval(((exprEval(_e4))._f[2])._ap([_e5, _e6])); switch((c85)._t) { case true : return _e5; case false : return _e6; } throw('X (' + this._n + ') ' +c85.toSource()); }); var F_e6=new HSFun("F_e6", 2, function(_fG, _fH){return ((F_fc)._ap([(F_fc)._ap([new HSFun("F_gs", 0, function(){return (exprEval(_fG))._f[3];}), ((F_gY)._b(F_dF))._ap([1])]), (exprEval(_fG))._f[4]]))._ap([_fH]);}); var F_e7=new HSFun("F_e7", 1, function(_dJ){return (F_gJ)._b(false, new HSFun("F_fV", 0, function(){return (F_fV)._ap([_dJ]);}));}); var F_e8=new HSFun("F_e8", 2, function(_eo, _ep){return ((exprEval(_eo))._f[0])._ap([0, _ep, F_fZ]);}); var F_e9=new HSFun("F_e9", 2, function(_eg, _eh){ var c86=exprEval(_eh); switch((c86)._t) { case 2 : return (F_gT)._ap([F_fX]); case 3 : return function(_ei, _ej){return (F_fc)._ap([(F_fc)._ap([(F_ex)._ap([_eg, _ej]), ((exprEval(_eg))._f[0])._ap([0, _ei])]), (F_fW)._ap([mkChar(91)])]);}((c86)._f[0], (c86)._f[1]); } throw('X (' + this._n + ') ' +c86.toSource()); }); var F_fa=new HSFun("F_fa", 2, function(_fI, _fJ){return ((F_fc)._ap([(F_fc)._ap([new HSFun("F_gs", 0, function(){return (exprEval(_fI))._f[3];}), new HSFun("F_go", 0, function(){return (F_go)._ap([F_dH, 1]);})]), (exprEval(_fI))._f[4]]))._ap([_fJ]);}); var F_fb="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 592:1-594:31."; var F_fc=new HSFun("F_fc", 3, function(_ca, _b9, _bV){return (_b9)._ap([(_ca)._ap([_bV])]);}); var F_fd=new HSFun("F_fd", 1, function(_j){return (exprEval(_j))._f[0];}); var F_fe=new HSFun("F_fe", 1, function(_j){return (exprEval(_j))._f[1];}); var F_ff="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 736:1-738:32."; var F_fg=""; var F_fh=""; var F_fi="\\&"; var F_fj="\\&"; var F_fk=new HSFun("F_fk", 2, function(_bb, _bc){ var c87=exprEval(_bb); switch((c87)._t) { case 3 : return function(_cJ, _cK){ var c88=exprEval(_cJ); switch((c88).valueOf()) { case 92 : return new HSCons(new HSData((-7), [F_fj, _cK]), _bc); default : return _bc; } throw('X (' + this._n + ') ' +c88.toSource()); }((c87)._f[0], (c87)._f[1]); default : return _bc; } throw('X (' + this._n + ') ' +c87.toSource()); }); var F_fl="\""; var F_fm=new HSFun("F_fm", 3, function(_cO, _9, _ba){ var c89=exprEval(_9); return function(_cQ, _cR){return new HSCons(new HSData((-7), [new HSFun("F_cG", 0, function(){return (F_cG)._b(_cO, _cQ);}), _cR]), _ba);}((c89)._f[0], (c89)._f[1]); }); var F_fn=new HSFun("F_fn", 2, function(_7, _8){ var c90=exprEval(_7); return function(_cO, _cP){return (F_gg)._b(new HSFun("F_fm", 0, function(){return (F_fm)._ap([_cO]);}), (F_ek)._ap([_cP]), _8);}((c90)._f[0], (c90)._f[1]); }); var F_fo=new HSFun("F_fo", 2, function(_bd, _be){ var c91=exprEval(_bd); return function(_cS, _cT){return new HSCons(new HSData((-7), [new HSCons(mkChar(34), _cS), _cT]), _be);}((c91)._f[0], (c91)._f[1]); }); var F_fp="\'"; var F_fq="\'"; var F_fr=new HSFun("F_fr", 3, function(_cU, _cX, _j8){return new HSCons(new HSData((-7), [new HSCons(mkChar(39), (F_cG)._b(_cU, F_fq)), _cX]), _j8);}); var F_fs=new HSFun("F_fs", 2, function(_5, _6){ var c92=exprEval(_5); return function(_cU, _cV){ var c93=exprEval(_cV); switch((c93)._t) { case 3 : return function(_cW, _cX){ var c94=exprEval(_cW); switch((c94).valueOf()) { case 39 : return (F_gf)._b((F_dl)._b(F_c8, _cU, F_fp), new HSFun("F_fr", 0, function(){return (F_fr)._ap([_cU, _cX]);}), _6); default : return _6; } throw('X (' + this._n + ') ' +c94.toSource()); }((c93)._f[0], (c93)._f[1]); default : return _6; } throw('X (' + this._n + ') ' +c93.toSource()); }((c92)._f[0], (c92)._f[1]); }); var F_ft="eE"; var F_fu="+-"; var F_fv=new HSFun("F_fv", 4, function(_cZ, _c1, _bl, _bm){ var c95=exprEval(_bl); return function(_c3, _c4){return new HSCons(new HSData((-7), [new HSCons(_cZ, new HSCons(_c1, _c3)), _c4]), _bm);}((c95)._f[0], (c95)._f[1]); }); var F_fw=new HSFun("F_fw", 3, function(_cZ, _bj, _bk){ var c96=exprEval(_bj); switch((c96)._t) { case 3 : return function(_c1, _c2){return (F_gf)._b(((F_gm)._b(F_c8, _c1))._ap([F_fu]), new HSFun("F_gg", 0, function(){return (F_gg)._ap([new HSFun("F_fv", 0, function(){return (F_fv)._ap([_cZ, _c1]);}), (F_cx)._ap([_c2])]);}), _bk);}((c96)._f[0], (c96)._f[1]); default : return _bk; } throw('X (' + this._n + ') ' +c96.toSource()); }); var F_fx=new HSFun("F_fx", 3, function(_cZ, _bn, _bo){ var c97=exprEval(_bn); return function(_c5, _c6){return new HSCons(new HSData((-7), [new HSCons(_cZ, _c5), _c6]), _bo);}((c97)._f[0], (c97)._f[1]); }); var F_fy=""; var F_fz=new HSFun("F_fz", 3, function(_dd, _bh, _bi){ var c98=exprEval(_bh); return function(_df, _dg){return new HSCons(new HSData((-7), [new HSCons(mkChar(46), (F_cG)._b(_dd, _df)), _dg]), _bi);}((c98)._f[0], (c98)._f[1]); }); var F_fA=new HSFun("F_fA", 2, function(_bf, _bg){ var c99=exprEval(_bf); return function(_dd, _de){return (F_gg)._b(new HSFun("F_fz", 0, function(){return (F_fz)._ap([_dd]);}), (F_er)._ap([_de]), _bg);}((c99)._f[0], (c99)._f[1]); }); var F_fB="_\'"; var F_fC="!@#$%&*+./<=>\u003f\\^|:-~"; var F_fD=",;()[]{}`"; var F_fE=new HSFun("F_fE", 3, function(_cC, _bp, _bq){ var c100=exprEval(_bp); return function(_dl, _dm){return new HSCons(new HSData((-7), [new HSCons(_cC, _dl), _dm]), _bq);}((c100)._f[0], (c100)._f[1]); }); var F_fF=new HSFun("F_fF", 3, function(_cC, _br, _bs){ var c101=exprEval(_br); return function(_dn, _do){return new HSCons(new HSData((-7), [new HSCons(_cC, _dn), _do]), _bs);}((c101)._f[0], (c101)._f[1]); }); var F_fG=new HSFun("F_fG", 4, function(_cC, _dp, _bv, _bw){ var c102=exprEval(_bv); return function(_dr, _ds){return new HSCons(new HSData((-7), [new HSCons(_cC, (F_cG)._b(_dp, _dr)), _ds]), _bw);}((c102)._f[0], (c102)._f[1]); }); var F_fH=new HSFun("F_fH", 3, function(_cC, _bt, _bu){ var c103=exprEval(_bt); return function(_dp, _dq){return (F_gg)._b(new HSFun("F_fG", 0, function(){return (F_fG)._ap([_cC, _dp]);}), (F_eq)._ap([_dq]), _bu);}((c103)._f[0], (c103)._f[1]); }); var F_fI="Prelude:/winshare/src/yhc/src/packages/yhc-base-1.0/Prelude.hs: Pattern match failure in function at 1664:1-1701:35."; var F_fJ=new HSFun("F_fJ", 3, function(_dB, _bF, _bG){ var c104=exprEval(_bF); return function(_dD, _dE){ var c105=exprEval(_dD); switch((c105)._t) { case 3 : return function(_dF, _dG){ var c106=exprEval(_dF); switch((c106).valueOf()) { case 41 : var c107=exprEval(_dG); switch((c107)._t) { case 2 : return new HSCons(new HSData((-7), [_dB, _dE]), _bG); default : return _bG; } throw('X (' + this._n + ') ' +c107.toSource()); default : return _bG; } throw('X (' + this._n + ') ' +c106.toSource()); }((c105)._f[0], (c105)._f[1]); default : return _bG; } throw('X (' + this._n + ') ' +c105.toSource()); }((c104)._f[0], (c104)._f[1]); }); var F_fK=new HSFun("F_fK", 2, function(_bD, _bE){ var c108=exprEval(_bD); return function(_dB, _dC){return (F_gg)._b(new HSFun("F_fJ", 0, function(){return (F_fJ)._ap([_dB]);}), (F_gz)._b(_dC), _bE);}((c108)._f[0], (c108)._f[1]); }); var F_fL=new HSFun("F_fL", 3, function(_du, _bB, _bC){ var c109=exprEval(_bB); return function(_dx, _dy){ var c110=exprEval(_dx); switch((c110)._t) { case 3 : return function(_dz, _dA){ var c111=exprEval(_dz); switch((c111).valueOf()) { case 40 : var c112=exprEval(_dA); switch((c112)._t) { case 2 : return (F_gg)._b(F_fK, ((F_es)._ap([_du]))._ap([_dy]), _bC); default : return _bC; } throw('X (' + this._n + ') ' +c112.toSource()); default : return _bC; } throw('X (' + this._n + ') ' +c111.toSource()); }((c110)._f[0], (c110)._f[1]); default : return _bC; } throw('X (' + this._n + ') ' +c110.toSource()); }((c109)._f[0], (c109)._f[1]); }); var F_fM=new HSFun("F_fM", 2, function(_lm, _ln){ var c113=exprEval(_lm); return function(_dM, _dN){ var c114=exprEval(_dM); switch((c114)._t) { case 3 : return function(_dO, _dP){ var c115=exprEval(_dO); switch((c115).valueOf()) { case 93 : var c116=exprEval(_dP); switch((c116)._t) { case 2 : return new HSCons(new HSData((-7), [new HSEOL(), _dN]), _ln); default : return _ln; } throw('X (' + this._n + ') ' +c116.toSource()); default : return _ln; } throw('X (' + this._n + ') ' +c115.toSource()); }((c114)._f[0], (c114)._f[1]); default : return _ln; } throw('X (' + this._n + ') ' +c114.toSource()); }((c113)._f[0], (c113)._f[1]); }); var F_fN=new HSFun("F_fN", 3, function(_dU, _ls, _lt){ var c117=exprEval(_ls); return function(_dW, _dX){return new HSCons(new HSData((-7), [new HSCons(_dU, _dW), _dX]), _lt);}((c117)._f[0], (c117)._f[1]); }); var F_fO=new HSFun("F_fO", 3, function(_dK, _lq, _lr){ var c118=exprEval(_lq); return function(_dU, _dV){return (F_gg)._b(new HSFun("F_fN", 0, function(){return (F_fN)._ap([_dU]);}), (F_ew)._ap([_dK, _dV]), _lr);}((c118)._f[0], (c118)._f[1]); }); var F_fP=new HSFun("F_fP", 3, function(_dK, _lo, _lp){ var c119=exprEval(_lo); return function(_dQ, _dR){ var c120=exprEval(_dQ); switch((c120)._t) { case 3 : return function(_dS, _dT){ var c121=exprEval(_dS); switch((c121).valueOf()) { case 44 : var c122=exprEval(_dT); switch((c122)._t) { case 2 : return (F_gg)._b(new HSFun("F_fO", 0, function(){return (F_fO)._ap([_dK]);}), ((exprEval(_dK))._f[0])._ap([0, _dR]), _lp); default : return _lp; } throw('X (' + this._n + ') ' +c122.toSource()); default : return _lp; } throw('X (' + this._n + ') ' +c121.toSource()); }((c120)._f[0], (c120)._f[1]); default : return _lp; } throw('X (' + this._n + ') ' +c120.toSource()); }((c119)._f[0], (c119)._f[1]); }); var F_fQ=new HSFun("F_fQ", 2, function(_lg, _lh){ var c123=exprEval(_lg); return function(_d0, _d1){ var c124=exprEval(_d0); switch((c124)._t) { case 3 : return function(_d2, _d3){ var c125=exprEval(_d2); switch((c125).valueOf()) { case 93 : var c126=exprEval(_d3); switch((c126)._t) { case 2 : return new HSCons(new HSData((-7), [new HSEOL(), _d1]), _lh); default : return _lh; } throw('X (' + this._n + ') ' +c126.toSource()); default : return _lh; } throw('X (' + this._n + ') ' +c125.toSource()); }((c124)._f[0], (c124)._f[1]); default : return _lh; } throw('X (' + this._n + ') ' +c124.toSource()); }((c123)._f[0], (c123)._f[1]); }); var F_fR=new HSFun("F_fR", 3, function(_d4, _lk, _ll){ var c127=exprEval(_lk); return function(_d6, _d7){return new HSCons(new HSData((-7), [new HSCons(_d4, _d6), _d7]), _ll);}((c127)._f[0], (c127)._f[1]); }); var F_fS=new HSFun("F_fS", 3, function(_dY, _li, _lj){ var c128=exprEval(_li); return function(_d4, _d5){return (F_gg)._b(new HSFun("F_fR", 0, function(){return (F_fR)._ap([_d4]);}), (F_ew)._ap([_dY, _d5]), _lj);}((c128)._f[0], (c128)._f[1]); }); var F_fT=new HSFun("F_fT", 2, function(_lx, _ly){return new HSCons(_lx, _ly);}); var F_fU=new HSFun("F_fU", 3, function(_dJ, _lv, _lw){ var c129=exprEval(_lv); return function(_d8, _d9){ var c130=exprEval(_d8); switch((c130)._t) { case 3 : return function(_ea, _eb){ var c131=exprEval(_ea); switch((c131).valueOf()) { case 91 : var c132=exprEval(_eb); switch((c132)._t) { case 2 : return (F_gg)._b(F_fT, (F_ev)._ap([_dJ, _d9]), _lw); default : return _lw; } throw('X (' + this._n + ') ' +c132.toSource()); default : return _lw; } throw('X (' + this._n + ') ' +c131.toSource()); }((c130)._f[0], (c130)._f[1]); default : return _lw; } throw('X (' + this._n + ') ' +c130.toSource()); }((c129)._f[0], (c129)._f[1]); }); var F_fV=new HSFun("F_fV", 2, function(_dJ, _lu){return (F_gg)._b(new HSFun("F_fU", 0, function(){return (F_fU)._ap([_dJ]);}), (F_gz)._b(_lu), new HSEOL());}); var F_fW=new HSFun("F_fW", 2, function(_ka, _j9){return new HSCons(_ka, _j9);}); var F_fX="[]"; var F_fY=","; var F_fZ=""; var F_f0="Prelude.gcd: gcd 0 0 is undefined."; var F_f1=new HSFun("F_f1", 3, function(_eO, _bz, _bA){ var c133=exprEval(_bz); return function(_eQ, _eR){ var c134=exprEval(_eQ); switch((c134)._t) { case 2 : var c135=exprEval(_eR); switch((c135)._t) { case 2 : return new HSCons(_eO, _bA); default : return _bA; } throw('X (' + this._n + ') ' +c135.toSource()); default : return _bA; } throw('X (' + this._n + ') ' +c134.toSource()); }((c133)._f[0], (c133)._f[1]); }); var F_f2=new HSFun("F_f2", 2, function(_bx, _by){ var c136=exprEval(_bx); return function(_eO, _eP){return (F_gg)._b(new HSFun("F_f1", 0, function(){return (F_f1)._ap([_eO]);}), (F_gz)._b(_eP), _by);}((c136)._f[0], (c136)._f[1]); }); var F_f3="Prelude.read: no parse"; var F_f4="Prelude.read: ambiguous parse"; var F_f5="Integer"; var F_f6=new HSFun("F_f6", 1, function(_i){return (exprEval(_i))._f[0];}); var F_f7=new HSFun("F_f7", 1, function(_i){return (exprEval(_i))._f[1];}); var F_f8=new HSFun("F_f8", 2, function(_hg, _hj){ var c137=exprEval(_hj); return function(_hk, _hl){return new HSData((-7), [((exprEval(_hg))._f[7])._ap([_hk]), _hl]);}((c137)._f[0], (c137)._f[1]); }); var F_f9=new HSFun("F_f9", 2, function(_hf, _ki){return (F_ez)._ap([F_dF, _hf, _ki]);}); var F_ga="Int"; var F_gb=new HSFun("F_gb", 2, function(_kc, _kb){return new HSCons(_kc, _kb);}); var F_gc="PreludeList.foldl1: empty list"; var F_gd=new HSFun("F_gd", 4, function(_fv, _fw, _fx, _fy){ var c138=exprEval((F_d9)._b(_fw, _fy)); switch((c138)._t) { case 17 : return new HSEOL(); case 13 : return new HSCons(((exprEval(_fv))._f[4])._ap([_fw]), new HSEOL()); case 15 : return new HSCons(((exprEval(_fv))._f[4])._ap([_fw]), (F_gd)._b(_fv, (exprEval(_fw))+(exprEval(_fx)), _fx, _fy)); } throw('X (' + this._n + ') ' +c138.toSource()); }); var F_ge=new HSFun("F_ge", 4, function(_fr, _fs, _ft, _fu){ var c139=exprEval((F_d9)._b(_fs, _fu)); switch((c139)._t) { case 17 : return new HSCons(((exprEval(_fr))._f[4])._ap([_fs]), (F_ge)._b(_fr, (exprEval(_fs))+(exprEval(_ft)), _ft, _fu)); case 13 : return new HSCons(((exprEval(_fr))._f[4])._ap([_fs]), new HSEOL()); case 15 : return new HSEOL(); } throw('X (' + this._n + ') ' +c139.toSource()); }); var F_gf=new HSFun("F_gf", 3, function(_b6, _b7, _b8){ var c140=exprEval(_b6); switch((c140)._t) { case true : return (_b7)._ap([_b8]); case false : return _b8; } throw('X (' + this._n + ') ' +c140.toSource()); }); var F_gg=new HSFun("F_gg", 3, function(_bX, _bY, _bZ){ var c141=exprEval(_bY); switch((c141)._t) { case 2 : return _bZ; case 3 : return function(_b0, _b1){return (_bX)._ap([_b0, new HSFun("F_gg", 0, function(){return (F_gg)._b(_bX, _b1, _bZ);})]);}((c141)._f[0], (c141)._f[1]); } throw('X (' + this._n + ') ' +c141.toSource()); }); var F_gh=new HSFun("F_gh", 1, function(_jI){return (exprEval(_jI))._f[8];}); var F_gi=new HSFun("F_gi", 1, function(_cm){return (F_fc)._ap([new HSFun("F_gB", 0, function(){return (F_gB)._ap([_cm]);}), F_gE]);}); var F_gj=new HSFun("F_gj", 1, function(_jr){return (exprEval(_jr))._f[5];}); var F_gk=new HSFun("F_gk", 1, function(_jY){return (exprEval(_jY))._f[2];}); var F_gl=new HSFun("F_gl", 2, function(_b2, _b3){ var c142=exprEval(_b3); switch((c142)._t) { case 2 : return new HSEOL(); case 3 : return function(_b4, _b5){ var c143=exprEval((_b2)._ap([_b4])); switch((c143)._t) { case true : return (F_gl)._b(_b2, _b5); case false : var c144=exprEval(F_gF); switch((c144)._t) { case true : return _b3; case false : return (F_gn)._b(F_fb); } throw('X (' + this._n + ') ' +c144.toSource()); } throw('X (' + this._n + ') ' +c143.toSource()); }((c142)._f[0], (c142)._f[1]); } throw('X (' + this._n + ') ' +c142.toSource()); }); var F_gm=new HSFun("F_gm", 2, function(_cn, _co){return (F_gi)._b(((exprEval(_cn))._f[1])._ap([_co]));}); var F_gn=new HSFun("F_gn", 1, function(a){ throw('E ' + exprEval(a).toString()); return undefined;}); var F_go=new HSFun("F_go", 3, function(_eH, _eI, _eJ){return (_eH)._ap([_eJ, _eI]);}); var F_gp=new HSFun("F_gp", 3, function(_ij, _ik, _il){ var c145=exprEval(_il); switch((c145)._t) { case 2 : return _ik; case 3 : return function(_im, _in){return (F_gp)._b(_ij, (_ij)._ap([_ik, _im]), _in);}((c145)._f[0], (c145)._f[1]); } throw('X (' + this._n + ') ' +c145.toSource()); }); var F_gq=new HSFun("F_gq", 2, function(_ip, _iq){ var c146=exprEval(_iq); switch((c146)._t) { case 2 : return (F_gn)._b(F_gc); case 3 : return function(_ir, _is){return (F_gp)._b(_ip, _ir, _is);}((c146)._f[0], (c146)._f[1]); } throw('X (' + this._n + ') ' +c146.toSource()); }); var F_gr=new HSFun("F_gr", 3, function(_cb, _cc, _cd){ var c147=exprEval(_cd); switch((c147)._t) { case 2 : return _cc; case 3 : return function(_ce, _cf){return (_cb)._ap([_ce, new HSFun("F_gr", 0, function(){return (F_gr)._b(_cb, _cc, _cf);})]);}((c147)._f[0], (c147)._f[1]); } throw('X (' + this._n + ') ' +c147.toSource()); }); var F_gs=new HSFun("F_gs", 1, function(_i0){return (exprEval(_i0))._f[3];}); var F_gt=new HSFun("F_gt", 1, function(_jH){return (exprEval(_jH))._f[7];}); var F_gu=new HSFun("F_gu", 2, function(_eZ, _e0){return (F_fc)._ap([new HSFun("F_g0", 0, function(){return (exprEval(_eZ))._f[6];}), (exprEval(_e0))._f[7]]);}); var F_gv=new HSFun("F_gv", 1, function(_eu){return (exprEval(_eu))._f[0];}); var F_gw=new HSFun("F_gw", 3, function(_eA, _eB, _eC){ var c148=exprEval(((exprEval((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eB, ((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[7])._ap([0])])); switch((c148)._t) { case true : var c149=exprEval(((exprEval((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[0]))._f[1])._ap([_eC, ((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[7])._ap([0])])); switch((c149)._t) { case true : return (F_gn)._b(F_f0); case false : return (F_eu)._ap([_eA, ((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eB]), ((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eC])]); } throw('X (' + this._n + ') ' +c149.toSource()); case false : return (F_eu)._ap([_eA, ((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eB]), ((exprEval((exprEval((exprEval(_eA))._f[0]))._f[0]))._f[8])._ap([_eC])]); } throw('X (' + this._n + ') ' +c148.toSource()); }); var F_gx=new HSFun("F_gx", 1, function(_eG){return _eG;}); var F_gy=new HSFun("F_gy", 1, function(_iA){ var c150=exprEval(_iA); switch((c150)._t) { case 2 : return 0; case 3 : return function(_iB, _iC){return (F_ey)._ap([1, _iC]);}((c150)._f[0], (c150)._f[1]); } throw('X (' + this._n + ') ' +c150.toSource()); }); var F_gz=new HSFun("F_gz", 1, function(_cB){ var c151=exprEval(_cB); switch((c151)._t) { case 2 : return new HSCons(new HSData((-7), [F_fg, F_fh]), new HSEOL()); case 3 : return function(_cC, _cD){ var c152=exprEval((F_Z)._b(_cC)); switch((c152)._t) { case true : return (F_gz)._b((F_gl)._b(F_Z, _cD)); case false : var c153=exprEval(_cC); switch((c153).valueOf()) { case 34 : return (F_gg)._b(F_fo, (F_ek)._ap([_cD]), new HSEOL()); case 39 : return (F_gg)._b(F_fs, (F_1)._b(_cD), new HSEOL()); default : var c154=exprEval((F_em)._ap([_cC])); switch((c154)._t) { case true : return new HSCons(new HSData((-7), [new HSCons(_cC, new HSEOL()), _cD]), new HSEOL()); case false : var c155=exprEval((F_en)._ap([_cC])); switch((c155)._t) { case true : return (F_gg)._b(new HSFun("F_fE", 0, function(){return (F_fE)._ap([_cC]);}), new HSCons((F_gX)._b(F_en, _cD), new HSEOL()), new HSEOL()); case false : var c156=exprEval((F_eo)._ap([_cC])); switch((c156)._t) { case true : return (F_gg)._b(new HSFun("F_fF", 0, function(){return (F_fF)._ap([_cC]);}), new HSCons((F_gX)._b(F_ep, _cD), new HSEOL()), new HSEOL()); case false : var c157=exprEval((F_bg)._b(_cC)); switch((c157)._t) { case true : return (F_gg)._b(new HSFun("F_fH", 0, function(){return (F_fH)._ap([_cC]);}), new HSCons((F_gX)._b(F_bg, _cD), new HSEOL()), new HSEOL()); case false : var c158=exprEval(F_gF); switch((c158)._t) { case true : return new HSEOL(); case false : return (F_gn)._b(F_fI); } throw('X (' + this._n + ') ' +c158.toSource()); } throw('X (' + this._n + ') ' +c157.toSource()); } throw('X (' + this._n + ') ' +c156.toSource()); } throw('X (' + this._n + ') ' +c155.toSource()); } throw('X (' + this._n + ') ' +c154.toSource()); } throw('X (' + this._n + ') ' +c153.toSource()); } throw('X (' + this._n + ') ' +c152.toSource()); }((c151)._f[0], (c151)._f[1]); } throw('X (' + this._n + ') ' +c151.toSource()); }); var F_gA=new HSFun("F_gA", 3, function(_it, _iu, _iv){ var c159=exprEval(_iv); switch((c159)._t) { case 2 : return new HSData(18, []); case 3 : return function(_iw, _ix){ var c160=exprEval(_iw); return function(_iy, _iz){ var c161=exprEval(((exprEval(_it))._f[1])._ap([_iu, _iy])); switch((c161)._t) { case true : return new HSData(16, [_iz]); case false : return (F_gA)._b(_it, _iu, _ix); } throw('X (' + this._n + ') ' +c161.toSource()); }((c160)._f[0], (c160)._f[1]); }((c159)._f[0], (c159)._f[1]); } throw('X (' + this._n + ') ' +c159.toSource()); }); var F_gB=new HSFun("F_gB", 2, function(_ci, _cj){ var c162=exprEval(_cj); switch((c162)._t) { case 2 : return new HSEOL(); case 3 : return function(_ck, _cl){return new HSCons((_ci)._ap([_ck]), (F_gB)._b(_ci, _cl));}((c162)._f[0], (c162)._f[1]); } throw('X (' + this._n + ') ' +c162.toSource()); }); var F_gC=new HSFun("F_gC", 1, function(_jF){return (exprEval(_jF))._f[5];}); var F_gD=new HSFun("F_gD", 1, function(_eX){ var c163=exprEval(_eX); switch((c163)._t) { case true : return false; case false : return true; } throw('X (' + this._n + ') ' +c163.toSource()); }); var F_gE=new HSFun("F_gE", 0, function(){return (F_gr)._ap([F_g1, false]);}); var F_gF=new HSFun("F_gF", 0, function(){return true;}); var F_gG=new HSFun("F_gG", 1, function(_j2){return (exprEval(_j2))._f[7];}); var F_gH=new HSFun("F_gH", 1, function(_jZ){return (exprEval(_jZ))._f[4];}); var F_gI=new HSFun("F_gI", 2, function(_eM, _eN){ var c164=exprEval((F_gg)._b(F_f2, ((F_gK)._b(_eM))._ap([_eN]), new HSEOL())); switch((c164)._t) { case 2 : return (F_gn)._b(F_f3); case 3 : return function(_eS, _eT){ var c165=exprEval(_eT); switch((c165)._t) { case 2 : return _eS; default : return (F_gn)._b(F_f4); } throw('X (' + this._n + ') ' +c165.toSource()); }((c164)._f[0], (c164)._f[1]); } throw('X (' + this._n + ') ' +c164.toSource()); }); var F_gJ=new HSFun("F_gJ", 2, function(_dt, _du){ var c166=exprEval(_dt); switch((c166)._t) { case true : return (F_et)._ap([_du]); case false : return (F_es)._ap([_du]); } throw('X (' + this._n + ') ' +c166.toSource()); }); var F_gK=new HSFun("F_gK", 1, function(_dH){return ((exprEval(_dH))._f[0])._ap([0]);}); var F_gL=new HSFun("F_gL", 1, function(_i4){return (exprEval(_i4))._f[0];}); var F_gM=new HSFun("F_gM", 1, function(_j0){return (exprEval(_j0))._f[5];}); var F_gN=new HSFun("F_gN", 1, function(_j7){return (exprEval(_j7))._f[3];}); var F_gO=new HSFun("F_gO", 0, function(){return (F_gp)._ap([new HSFun("F_go", 0, function(){return (F_go)._ap([F_gb]);}), new HSEOL()]);}); var F_gP=new HSFun("F_gP", 2, function(a, b){ exprEval(a); return b;}); var F_gQ=new HSFun("F_gQ", 1, function(_ja){return (exprEval(_ja))._f[3];}); var F_gR=new HSFun("F_gR", 0, function(){return F_fW;}); var F_gS=new HSFun("F_gS", 2, function(_eU, _eV){ var c167=exprEval(_eU); switch((c167)._t) { case true : return (F_fc)._ap([(F_fc)._ap([(F_fW)._ap([mkChar(41)]), _eV]), (F_fW)._ap([mkChar(40)])]); case false : return _eV; } throw('X (' + this._n + ') ' +c167.toSource()); }); var F_gT=new HSFun("F_gT", 0, function(){return F_cG;}); var F_gU=new HSFun("F_gU", 1, function(_i9){return (exprEval(_i9))._f[0];}); var F_gV=new HSFun("F_gV", 1, function(_jG){return (exprEval(_jG))._f[6];}); var F_gW=new HSFun("F_gW", 1, function(_ex){return (exprEval(_ex))._f[1];}); var F_gX=new HSFun("F_gX", 2, function(_ct, _cu){ var c168=exprEval(_cu); switch((c168)._t) { case 2 : return new HSData((-7), [new HSEOL(), new HSEOL()]); case 3 : return function(_cv, _cw){ var c169=exprEval((_ct)._ap([_cv])); switch((c169)._t) { case true : var _j=new HSFun("_j", 0, function(){return (F_gX)._b(_ct, _cw);}); var _v=new HSFun("_v", 0, function(){return (exprEval(_j))._f[0];}); var _w=new HSFun("_w", 0, function(){return (exprEval(_j))._f[1];}); return new HSData((-7), [new HSCons(_cv, _v), _w]); case false : var c170=exprEval(F_gF); switch((c170)._t) { case true : return new HSData((-7), [new HSEOL(), _cu]); case false : return (F_gn)._b(F_ff); } throw('X (' + this._n + ') ' +c170.toSource()); } throw('X (' + this._n + ') ' +c169.toSource()); }((c168)._f[0], (c168)._f[1]); } throw('X (' + this._n + ') ' +c168.toSource()); }); var F_gY=new HSFun("F_gY", 1, function(_eW){return (F_go)._ap([(exprEval(_eW))._f[4]]);}); var F_gZ=new HSFun("F_gZ", 1, function(_i1){return (exprEval(_i1))._f[4];}); var F_g0=new HSFun("F_g0", 1, function(_j1){return (exprEval(_j1))._f[6];}); var F_g1=new HSFun("F_g1", 2, function(_cg, _ch){ var c171=exprEval(_cg); switch((c171)._t) { case true : return true; case false : return _ch; } throw('X (' + this._n + ') ' +c171.toSource()); }); var F_g2=new HSFun("F_g2", 2, function(_y, _lb){return (F_5)._b(((exprEval(_lb))._f[7])._ap([0]), (F_gA)._b(F_c8, _y, (F_hc)._b(_lb)));}); var F_g3=new HSFun("F_g3", 2, function(_kR, _kS){ var c172=exprEval(_kS); switch((c172)._t) { case 2 : return ((exprEval(_kR))._f[7])._ap([0]); case 3 : return function(_kT, _kU){return ((exprEval(_kR))._f[3])._ap([((exprEval(_kR))._f[7])._ap([1]), (F_g3)._ap([_kR, _kU])]);}((c172)._f[0], (c172)._f[1]); } throw('X (' + this._n + ') ' +c172.toSource()); }); var F_g4=new HSFun("F_g4", 1, function(_x){return (exprEval(_x))._f[0];}); var F_g5=new HSFun("F_g5", 1, function(_x){return (exprEval(_x))._f[1];}); var F_g6="Roman: Pattern match failure in function at 54:1-56:16."; var F_g7="Roman: Pattern match failure in function at 38:1-43:55."; var F_g8=""; var F_g9=new HSFun("F_g9", 4, function(_kZ, _k0, _k1, _k2){ var c173=exprEval(((exprEval(_k0))._f[1])._ap([_k1, _k2])); switch((c173)._t) { case true : return ((exprEval(_kZ))._f[4])._ap([_k2, _k1]); case false : var c174=exprEval(((exprEval(_k0))._f[4])._ap([_k1, _k2])); switch((c174)._t) { case true : return ((exprEval(_kZ))._f[3])._ap([_k2, _k1]); case false : return (F_gn)._b(F_g6); } throw('X (' + this._n + ') ' +c174.toSource()); } throw('X (' + this._n + ') ' +c173.toSource()); }); var F_ha=new HSFun("F_ha", 0, function(){return (F_fc)._ap([(F_fc)._ap([new HSFun("F_gB", 0, function(){return (F_gB)._ap([F_2]);}), new HSFun("F_hb", 0, function(){return (F_hb)._ap([F_dF]);})]), new HSFun("F_gr", 0, function(){return (F_gr)._ap([new HSFun("F_g9", 0, function(){return (F_g9)._ap([F_dF, F_d4]);}), 0]);})]);}); var F_hb=new HSFun("F_hb", 2, function(_kN, _kO){ var c175=exprEval(_kO); switch((c175)._t) { case 2 : return new HSEOL(); case 3 : return function(_kP, _kQ){ var _x=new HSFun("_x", 0, function(){return (F_gX)._b(new HSFun("F_da", 0, function(){return (F_da)._ap([_kP]);}), _kO);}); var _z=new HSFun("_z", 0, function(){return (exprEval(_x))._f[0];}); var _A=new HSFun("_A", 0, function(){return (exprEval(_x))._f[1];}); return new HSCons(((exprEval(_kN))._f[2])._ap([new HSFun("F_4", 0, function(){return (F_4)._b((F_gA)._b(F_c8, _kP, (F_hc)._b(_kN)));}), (F_g3)._ap([_kN, _z])]), (F_hb)._b(_kN, _A)); }((c175)._f[0], (c175)._f[1]); } throw('X (' + this._n + ') ' +c175.toSource()); }); var F_hc=new HSFun("F_hc", 1, function(_kM){return new HSCons(new HSData((-7), [mkChar(73), ((exprEval(_kM))._f[7])._ap([1])]), new HSCons(new HSData((-7), [mkChar(86), ((exprEval(_kM))._f[7])._ap([5])]), new HSCons(new HSData((-7), [mkChar(88), ((exprEval(_kM))._f[7])._ap([10])]), new HSCons(new HSData((-7), [mkChar(76), ((exprEval(_kM))._f[7])._ap([50])]), new HSCons(new HSData((-7), [mkChar(67), ((exprEval(_kM))._f[7])._ap([100])]), new HSCons(new HSData((-7), [mkChar(68), ((exprEval(_kM))._f[7])._ap([500])]), new HSCons(new HSData((-7), [mkChar(77), ((exprEval(_kM))._f[7])._ap([1000])]), new HSEOL())))))));}); var F_hd=new HSFun("F_hd", 0, function(){return new HSCons(new HSData((-7), [mkChar(86), mkChar(73)]), new HSCons(new HSData((-7), [mkChar(88), mkChar(73)]), new HSCons(new HSData((-7), [mkChar(76), mkChar(88)]), new HSCons(new HSData((-7), [mkChar(67), mkChar(88)]), new HSCons(new HSData((-7), [mkChar(68), mkChar(67)]), new HSCons(new HSData((-7), [mkChar(77), mkChar(67)]), new HSEOL()))))));}); var F_he=new HSFun("F_he", 4, function(_k3, _k4, _k5, _k6){ var c176=exprEval(_k5); return function(_k7, _k8){ var c177=exprEval(_k6); return function(_k9, _la){ var _y=new HSFun("_y", 0, function(){return (F_5)._b(mkChar(0), (F_gA)._b(F_c8, _k7, F_hd));}); var c178=exprEval(((exprEval(_k4))._f[3])._ap([_k9, _k8])); switch((c178)._t) { case true : return (F_he)._b(_k3, _k4, _k5, new HSData((-7), [((exprEval(_k3))._f[4])._ap([_k9, _k8]), new HSCons(_k7, _la)])); case false : var c179=exprEval(((exprEval(_k4))._f[3])._ap([((exprEval(_k3))._f[3])._ap([_k9, ((F_g2)._ap([_y]))._ap([_k3])]), _k8])); switch((c179)._t) { case true : return new HSData((-7), [((exprEval(_k3))._f[3])._ap([((exprEval(_k3))._f[4])._ap([_k9, _k8]), ((F_g2)._ap([_y]))._ap([_k3])]), new HSCons(_k7, new HSCons(_y, _la))]); case false : var c180=exprEval(F_gF); switch((c180)._t) { case true : return new HSData((-7), [_k9, _la]); case false : return (F_gn)._b(F_g7); } throw('X (' + this._n + ') ' +c180.toSource()); } throw('X (' + this._n + ') ' +c179.toSource()); } throw('X (' + this._n + ') ' +c178.toSource()); }((c177)._f[0], (c177)._f[1]); }((c176)._f[0], (c176)._f[1]); }); var F_hf=new HSFun("F_hf", 1, function(_lc){return ((F_fc)._ap([F_gW, F_gO]))._ap([new HSFun("F_gr", 0, function(){return (F_gr)._b(new HSFun("F_he", 0, function(){return (F_he)._ap([F_dF, F_d4]);}), new HSData((-7), [_lc, F_g8]), (F_hc)._b(F_dF));})]);}); var F_hg=new HSFun("F_hg", 1, function(a){ return Number(exprEval(a)).toString();}); var F_hh=new HSFun("F_hh", 2, function(_kq, _kr){return (F_cG)._b((F_hg)._ap([_kq]), _kr);}); var F_hi="return Number(exprEval(a)).toString();"; var F_hj="return 0 - Number(exprEval(a));"; var F_hk="var ea = exprEval(a); if (ea>0) return 1; else if (ea<0) return -1; else return 0;"; var F_hl="return Math.abs(exprEval(a));"; var F_hm="return a;"; var F_hn="return a;"; var F_ho="return Number(exprEval(a)) < Number(exprEval(b));"; var F_hp="return Number(exprEval(a)) <= Number(exprEval(b));"; var F_hq="return Number(exprEval(a)) > Number(exprEval(b));"; var F_hr="return Number(exprEval(a)) >= Number(exprEval(b));"; var F_hs="return Number(exprEval(a)) !== Number(exprEval(b));"; var F_ht="return Number(exprEval(a)) === Number(exprEval(b));"; var F_hu="return 0 - Number(exprEval(a));"; var F_hv="return exprEval(a) * exprEval(b);"; var F_hw="return exprEval(a) - exprEval(b);"; var F_hx="return exprEval(a) + exprEval(b);"; var F_hy="return exprEval(a) % exprEval(b);"; var F_hz="(function(x,y){return (x - (x % y))/y;})(exprEval(a),exprEval(b));"; var F_hA="exprEval(a); return b;"; var F_hB="throw(\'E \' + exprEval(a).toString()); return undefined;"; var F_hC=new HSFun("F_hC", 1, function(a){ return Math.abs(exprEval(a));}); var F_hD=new HSFun("F_hD", 1, function(a){ return a;}); var F_hE=new HSFun("F_hE", 1, function(a){ var ea = exprEval(a); if (ea>0) return 1; else if (ea<0) return -1; else return 0;}); var F_hF=new HSFun("F_hF", 2, function(a, b){ return exprEval(a) + exprEval(b);}); var F_hG=new HSFun("F_hG", 2, function(a, b){ return Number(exprEval(a)) === Number(exprEval(b));}); var F_hH=new HSFun("F_hH", 1, function(a){ return a;}); var F_hI=new HSFun("F_hI", 2, function(a, b){ return Number(exprEval(a)) >= Number(exprEval(b));}); var F_hJ=new HSFun("F_hJ", 2, function(a, b){ return Number(exprEval(a)) > Number(exprEval(b));}); var F_hK=new HSFun("F_hK", 2, function(a, b){ return Number(exprEval(a)) <= Number(exprEval(b));}); var F_hL=new HSFun("F_hL", 2, function(a, b){ return Number(exprEval(a)) < Number(exprEval(b));}); var F_hM=new HSFun("F_hM", 2, function(a, b){ return exprEval(a) * exprEval(b);}); var F_hN=new HSFun("F_hN", 2, function(a, b){ return Number(exprEval(a)) !== Number(exprEval(b));}); var F_hO=new HSFun("F_hO", 1, function(a){ return 0 - Number(exprEval(a));}); var F_hP=new HSFun("F_hP", 2, function(a, b){ (function(x,y){return (x - (x % y))/y;})(exprEval(a),exprEval(b));}); var F_hQ=new HSFun("F_hQ", 2, function(_kF, _kG){ var _C=new HSFun("_C", 0, function(){return (F_hR)._b(_kF, _kG);}); var _B=new HSFun("_B", 0, function(){return (F_hP)._b(_kF, _kG);}); return new HSData((-7), [_B, _C]); }); var F_hR=new HSFun("F_hR", 2, function(a, b){ return exprEval(a) % exprEval(b);}); var F_hS=new HSFun("F_hS", 2, function(a, b){ return exprEval(a) - exprEval(b);}); funIdx["Echo.main"] = F_cj; hjsmin-0.1.5.1/test/parsingonly/5_comments.js0000755000000000000000000000072512567172013017300 0ustar0000000000000000// Helper to avoid Object.prototype.hasOwnProperty polluting scope objects. // One problem is that lexer is picking the longest string function bob() { /* This a comment inside a function second line of the comment */ } function bill() { /* This a comment inside a function second line of the comment */ i=2; function mary() { /* bob */ var currentConstructor = this.constructor var methodName = null } } hjsmin-0.1.5.1/test/parsingonly/07_expr.js0000755000000000000000000000047712567172013016517 0ustar0000000000000000w=x*y+1/2 {z=z + 1} 1 + 2 "Prototype does not have an ancestor: " + currentConstructor + "." Error("Prototype does not have an ancestor: " + currentConstructor + ".") // Expression inside func call with a newline inside them Error("Prototype does not have an ancestor: " + currentConstructor + ".") hjsmin-0.1.5.1/test/parsingonly/10_switch.js0000755000000000000000000000200612567172013017022 0ustar0000000000000000switch(i){ case 1: 1; case 2: 2; } function x() { switch (typeof v) { case "boolean": return new global.Boolean(v); case "number": i=1; break; return new global.Number(v); case "string": return new global.String(v); case "function": return v; case "object": if (v !== null) return v; } } switch (t) { case BITWISE_OR: v = u | v; break; case BITWISE_XOR: v = u ^ v; break; case BITWISE_AND: v = u & v; break; case LSH: v = u << v; break; case RSH: v = u >> v; break; case URSH: v = u >>> v; break; case PLUS: v = u + v; break; case MINUS: v = u - v; break; case MUL: v = u * v; break; case DIV: v = u / v; break; case MOD: v = u % v; break; } hjsmin-0.1.5.1/test/parsingonly/120_js.js0000755000000000000000000000532012567172013016221 0ustar0000000000000000/* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Narcissus JavaScript engine. * * The Initial Developer of the Original Code is * Brendan Eich . * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* * Narcissus - JS implemented in JS. * * Native objects and classes implemented metacircularly: * the global object (singleton) * eval * function objects, Function * * SpiderMonkey extensions used: * catch guards * const declarations * get and set functions in object initialisers * Object.prototype.__defineGetter__ * Object.prototype.__defineSetter__ * Object.prototype.__defineProperty__ * Object.prototype.__proto__ * filename and line number arguments to *Error constructors * callable regular expression objects * * SpiderMonkey extensions supported metacircularly: * catch guards * const declarations * get and set functions in object initialisers */ /* * Loads a file relative to the calling script's (our) source directory, and not * the directory that the executing shell is being run out of. */ function my_load(filename) { evaluate(snarf(filename), filename, 1); } my_load('jsdefs.js'); my_load('jsparse.js'); my_load('jsexec.js'); hjsmin-0.1.5.1/test/parsingonly/110_perfect.js0000755000000000000000000000226312567172013017237 0ustar0000000000000000// Some simple testing of new, eval and some string stuff. // constructor -- expression array initialization function ExprArray(n,v) { // Initializes n values to v coerced to a string. for (var i = 0; i < n; i++) { this[i] = "" + v; } } // Print the perfect numbers up to n and the sum expression for n's divisors. function perfect(n) { print("The perfect numbers up to " + n + " are:"); // We build sumOfDivisors[i] to hold a string expression for // the sum of the divisors of i, excluding i itself. var sumOfDivisors = new ExprArray(n+1,1); for (var divisor = 2; divisor <= n; divisor++) { for (var j = divisor + divisor; j <= n; j += divisor) { sumOfDivisors[j] += " + " + divisor; } // At this point everything up to 'divisor' has its sumOfDivisors // expression calculated, so we can determine whether it's perfect // already by evaluating. if (eval(sumOfDivisors[divisor]) == divisor) { print("" + divisor + " = " + sumOfDivisors[divisor]); } } print("That's all."); } print("\nA number is 'perfect' if it is equal to the sum of its"); print("divisors (excluding itself).\n"); perfect(500); hjsmin-0.1.5.1/test/parsingonly/41_functions.js0000755000000000000000000000002012567172013017527 0ustar0000000000000000function(){}() hjsmin-0.1.5.1/test/parsingonly/06_block.js0000755000000000000000000000004012567172013016614 0ustar0000000000000000{ {}{}{{}} { } } hjsmin-0.1.5.1/test/parsingonly/16_literals.js0000755000000000000000000000137412567172013017355 0ustar0000000000000000const GLOBAL = this; var tokens = [ "END", // Operators and punctuators. Some pair-wise order matters, e.g. (+, -) // and (UNARY_PLUS, UNARY_MINUS). "\n", ";"]; var opTypeNames = { '\n': "NEWLINE", ';': "SEMICOLON", ',': "COMMA" }; var assignOps = ['|', '^', '&', '<<', '>>', '>>>', '+', '-', '*', '/', '%']; function eval(s) { a=-1; } var global = { // Value properties. NaN: NaN, Infinity: Infinity, undefined: undefined, // Exte snarf: snarf, evaluate: evaluate, load: function load(s) { if (typeof s != "string") return s; evaluate(snarf(s), s, 1); }, print: print, version: null }; function eval(s) { ; } hjsmin-0.1.5.1/test/parsingonly/fn.js0000755000000000000000000000017312567172013015627 0ustar0000000000000000 var global = { NaN: NaN, Infinity: Infinity, undefined: undefined, eval: function eval(s) { a=-1; } }; hjsmin-0.1.5.1/test/parsingonly/00_f.js0000755000000000000000000000005112567172013015743 0ustar0000000000000000function Hello(a) { ExprArray(1,1); }hjsmin-0.1.5.1/test/parsingonly/122_jsexec.js0000755000000000000000000007015712567172013017102 0ustar0000000000000000/* ***** BEGIN LICENSE BLOCK ***** * vim: set ts=4 sw=4 et tw=80: * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Narcissus JavaScript engine. * * The Initial Developer of the Original Code is * Brendan Eich . * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* * Narcissus - JS implemented in JS. * * Execution of parse trees. * * Standard classes except for eval, Function, Array, and String are borrowed * from the host JS environment. Function is metacircular. Array and String * are reflected via wrapping the corresponding native constructor and adding * an extra level of prototype-based delegation. */ const GLOBAL_CODE = 0, EVAL_CODE = 1, FUNCTION_CODE = 2; function ExecutionContext(type) { this.type = type; } var global = { // Value properties. NaN: NaN, Infinity: Infinity, undefined: undefined, // Function properties. eval: function eval(s) { if (typeof s != "string") return s; var x = ExecutionContext.current; var x2 = new ExecutionContext(EVAL_CODE); x2.thisObject = x.thisObject; x2.caller = x.caller; x2.callee = x.callee; x2.scope = x.scope; ExecutionContext.current = x2; try { execute(parse(s), x2); } catch (e if e == THROW) { x.result = x2.result; throw e; } finally { ExecutionContext.current = x; } return x2.result; }, parseInt: parseInt, parseFloat: parseFloat, isNaN: isNaN, isFinite: isFinite, decodeURI: decodeURI, encodeURI: encodeURI, decodeURIComponent: decodeURIComponent, encodeURIComponent: encodeURIComponent, // Class constructors. Where ECMA-262 requires C.length == 1, we declare // a dummy formal parameter. Object: Object, Function: function Function(dummy) { var p = "", b = "", n = arguments.length; if (n) { var m = n - 1; if (m) { p += arguments[0]; for (var k = 1; k < m; k++) p += "," + arguments[k]; } b += arguments[m]; } // XXX We want to pass a good file and line to the tokenizer. // Note the anonymous name to maintain parity with Spidermonkey. var t = new Tokenizer("anonymous(" + p + ") {" + b + "}"); // NB: Use the STATEMENT_FORM constant since we don't want to push this // function onto the null compilation context. var f = FunctionDefinition(t, null, false, STATEMENT_FORM); var s = {object: global, parent: null}; return new FunctionObject(f, s); }, Array: function Array(dummy) { // Array when called as a function acts as a constructor. return GLOBAL.Array.apply(this, arguments); }, String: function String(s) { // Called as function or constructor: convert argument to string type. s = arguments.length ? "" + s : ""; if (this instanceof String) { // Called as constructor: save the argument as the string value // of this String object and return this object. this.value = s; return this; } return s; }, Boolean: Boolean, Number: Number, Date: Date, RegExp: RegExp, Error: Error, EvalError: EvalError, RangeError: RangeError, ReferenceError: ReferenceError, SyntaxError: SyntaxError, TypeError: TypeError, URIError: URIError, // Other properties. Math: Math, // Extensions to ECMA. snarf: snarf, evaluate: evaluate, load: function load(s) { if (typeof s != "string") return s; evaluate(snarf(s), s, 1) }, print: print, version: null }; // Helper to avoid Object.prototype.hasOwnProperty polluting scope objects. function hasDirectProperty(o, p) { return Object.prototype.hasOwnProperty.call(o, p); } // Reflect a host class into the target global environment by delegation. function reflectClass(name, proto) { var gctor = global[name]; gctor.__defineProperty__('prototype', proto, true, true, true); proto.__defineProperty__('constructor', gctor, false, false, true); return proto; } // Reflect Array -- note that all Array methods are generic. reflectClass('Array', new Array); // Reflect String, overriding non-generic methods. var gSp = reflectClass('String', new String); gSp.toSource = function () { return this.value.toSource(); }; gSp.toString = function () { return this.value; }; gSp.valueOf = function () { return this.value; }; global.String.fromCharCode = String.fromCharCode; var XCp = ExecutionContext.prototype; ExecutionContext.current = XCp.caller = XCp.callee = null; XCp.scope = {object: global, parent: null}; XCp.thisObject = global; XCp.result = undefined; XCp.target = null; XCp.ecmaStrictMode = false; function Reference(base, propertyName, node) { this.base = base; this.propertyName = propertyName; this.node = node; } Reference.prototype.toString = function () { return this.node.getSource(); } function getValue(v) { if (v instanceof Reference) { if (!v.base) { throw new ReferenceError(v.propertyName + " is not defined", v.node.filename, v.node.lineno); } return v.base[v.propertyName]; } return v; } function putValue(v, w, vn) { if (v instanceof Reference) return (v.base || global)[v.propertyName] = w; throw new ReferenceError("Invalid assignment left-hand side", vn.filename, vn.lineno); } function isPrimitive(v) { var t = typeof v; return (t == "object") ? v === null : t != "function"; } function isObject(v) { var t = typeof v; return (t == "object") ? v !== null : t == "function"; } // If r instanceof Reference, v == getValue(r); else v === r. If passed, rn // is the node whose execute result was r. function toObject(v, r, rn) { switch (typeof v) { case "boolean": return new global.Boolean(v); case "number": return new global.Number(v); case "string": return new global.String(v); case "function": return v; case "object": if (v !== null) return v; } var message = r + " (type " + (typeof v) + ") has no properties"; throw rn ? new TypeError(message, rn.filename, rn.lineno) : new TypeError(message); } //function execute(n, x) { function execute(n, x) { var a, f, i, j, r, s, t, u, v; switch (n.type) { case FUNCTION: if (n.functionForm != DECLARED_FORM) { if (!n.name || n.functionForm == STATEMENT_FORM) { v = new FunctionObject(n, x.scope); if (n.functionForm == STATEMENT_FORM) x.scope.object.__defineProperty__(n.name, v, true); } else { t = new Object; x.scope = {object: t, parent: x.scope}; try { v = new FunctionObject(n, x.scope); t.__defineProperty__(n.name, v, true, true); } finally { x.scope = x.scope.parent; } } } break; case SCRIPT: t = x.scope.object; a = n.funDecls; for (i = 0, j = a.length; i < j; i++) { s = a[i].name; f = new FunctionObject(a[i], x.scope); t.__defineProperty__(s, f, x.type != EVAL_CODE); } a = n.varDecls; for (i = 0, j = a.length; i < j; i++) { u = a[i]; s = u.name; if (u.readOnly && hasDirectProperty(t, s)) { throw new TypeError("Redeclaration of const " + s, u.filename, u.lineno); }//++??AZ??"c:/Mark/MyDevelopments/haskell/HJS/hjs-0.2/testsuite/parsingonly/122_jsexec.js" if (u.readOnly || !hasDirectProperty(t, s)) { t.__defineProperty__(s, undefined, x.type != EVAL_CODE, u.readOnly); } } // FALL THROUGH case BLOCK: for (i = 0, j = n.length; i < j; i++) execute(n[i], x); break; case IF: if (getValue(execute(n.condition, x))) execute(n.thenPart, x); else if (n.elsePart) execute(n.elsePart, x); break; case SWITCH: s = getValue(execute(n.discriminant, x)); a = n.cases; var matchDefault = false; switch_loop: for (i = 0, j = a.length; ; i++) { if (i == j) { if (n.defaultIndex >= 0) { i = n.defaultIndex - 1; // no case matched, do default matchDefault = true; continue; } break; // no default, exit switch_loop } t = a[i]; // next case (might be default!) if (t.type == CASE) { u = getValue(execute(t.caseLabel, x)); } else { if (!matchDefault) // not defaulting, skip for now continue; u = s; // force match to do default } if (u === s) { for (;;) { // this loop exits switch_loop if (t.statements.length) { try { execute(t.statements, x); } catch (e if e == BREAK && x.target == n) { break switch_loop; } } if (++i == j) break switch_loop; t = a[i]; } // NOT REACHED } } break; case FOR: n.setup && getValue(execute(n.setup, x)); // FALL THROUGH case WHILE: while (!n.condition || getValue(execute(n.condition, x))) { try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } n.update && getValue(execute(n.update, x)); } break; case FOR_IN: u = n.varDecl; if (u) execute(u, x); r = n.iterator; s = execute(n.object, x); v = getValue(s); // ECMA deviation to track extant browser JS implementation behavior. t = (v == null && !x.ecmaStrictMode) ? v : toObject(v, s, n.object); a = []; for (i in t) a.push(i); for (i = 0, j = a.length; i < j; i++) { putValue(execute(r, x), a[i], r); try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } } break; case DO: do { try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } } while (getValue(execute(n.condition, x))); break; case BREAK: case CONTINUE: x.target = n.target; throw n.type; case TRY: try { execute(n.tryBlock, x); } catch (e if e == THROW && (j = n.catchClauses.length)) { e = x.result; x.result = undefined; for (i = 0; ; i++) { if (i == j) { x.result = e; throw THROW; } t = n.catchClauses[i]; x.scope = {object: {}, parent: x.scope}; x.scope.object.__defineProperty__(t.varName, e, true); try { if (t.guard && !getValue(execute(t.guard, x))) continue; execute(t.block, x); break; } finally { x.scope = x.scope.parent; } } } finally { if (n.finallyBlock) execute(n.finallyBlock, x); } break; case THROW: x.result = getValue(execute(n.exception, x)); throw THROW; case RETURN: x.result = getValue(execute(n.value, x)); throw RETURN; case WITH: r = execute(n.object, x); t = toObject(getValue(r), r, n.object); x.scope = {object: t, parent: x.scope}; try { execute(n.body, x); } finally { x.scope = x.scope.parent; } break; case VAR: case CONST: for (i = 0, j = n.length; i < j; i++) { u = n[i].initializer; if (!u) continue; t = n[i].name; for (s = x.scope; s; s = s.parent) { if (hasDirectProperty(s.object, t)) break; } u = getValue(execute(u, x)); if (n.type == CONST) s.object.__defineProperty__(t, u, x.type != EVAL_CODE, true); else s.object[t] = u; } break; case DEBUGGER: throw "NYI: " + tokens[n.type]; case SEMICOLON: if (n.expression) x.result = getValue(execute(n.expression, x)); break; case LABEL: try { execute(n.statement, x); } catch (e if e == BREAK && x.target == n) { } break; case COMMA: for (i = 0, j = n.length; i < j; i++) v = getValue(execute(n[i], x)); break; case ASSIGN: r = execute(n[0], x); t = n[0].assignOp; if (t) u = getValue(r); v = getValue(execute(n[1], x)); if (t) { switch (t) { case BITWISE_OR: v = u | v; break; case BITWISE_XOR: v = u ^ v; break; case BITWISE_AND: v = u & v; break; case LSH: v = u << v; break; case RSH: v = u >> v; break; case URSH: v = u >>> v; break; case PLUS: v = u + v; break; case MINUS: v = u - v; break; case MUL: v = u * v; break; case DIV: v = u / v; break; case MOD: v = u % v; break; } } putValue(r, v, n[0]); break; case CONDITIONAL: v = getValue(execute(n[0], x)) ? getValue(execute(n[1], x)) : getValue(execute(n[2], x)); break; case OR: v = getValue(execute(n[0], x)) || getValue(execute(n[1], x)); break; case AND: v = getValue(execute(n[0], x)) && getValue(execute(n[1], x)); break; case BITWISE_OR: v = getValue(execute(n[0], x)) | getValue(execute(n[1], x)); break; case BITWISE_XOR: v = getValue(execute(n[0], x)) ^ getValue(execute(n[1], x)); break; case BITWISE_AND: v = getValue(execute(n[0], x)) & getValue(execute(n[1], x)); break; case EQ: v = getValue(execute(n[0], x)) == getValue(execute(n[1], x)); break; case NE: v = getValue(execute(n[0], x)) != getValue(execute(n[1], x)); break; case STRICT_EQ: v = getValue(execute(n[0], x)) === getValue(execute(n[1], x)); break; case STRICT_NE: v = getValue(execute(n[0], x)) !== getValue(execute(n[1], x)); break; case LT: v = getValue(execute(n[0], x)) < getValue(execute(n[1], x)); break; case LE: v = getValue(execute(n[0], x)) <= getValue(execute(n[1], x)); break; case GE: v = getValue(execute(n[0], x)) >= getValue(execute(n[1], x)); break; case GT: v = getValue(execute(n[0], x)) > getValue(execute(n[1], x)); break; case IN: v = getValue(execute(n[0], x)) in getValue(execute(n[1], x)); break; case INSTANCEOF: t = getValue(execute(n[0], x)); u = getValue(execute(n[1], x)); if (isObject(u) && typeof u.__hasInstance__ == "function") v = u.__hasInstance__(t); else v = t instanceof u; break; case LSH: v = getValue(execute(n[0], x)) << getValue(execute(n[1], x)); break; case RSH: v = getValue(execute(n[0], x)) >> getValue(execute(n[1], x)); break; case URSH: v = getValue(execute(n[0], x)) >>> getValue(execute(n[1], x)); break; case PLUS: v = getValue(execute(n[0], x)) + getValue(execute(n[1], x)); break; case MINUS: v = getValue(execute(n[0], x)) - getValue(execute(n[1], x)); break; case MUL: v = getValue(execute(n[0], x)) * getValue(execute(n[1], x)); break; case DIV: v = getValue(execute(n[0], x)) / getValue(execute(n[1], x)); break; case MOD: v = getValue(execute(n[0], x)) % getValue(execute(n[1], x)); break; case DELETE: t = execute(n[0], x); v = !(t instanceof Reference) || delete t.base[t.propertyName]; break; case VOID: getValue(execute(n[0], x)); break; case TYPEOF: t = execute(n[0], x); if (t instanceof Reference) t = t.base ? t.base[t.propertyName] : undefined; v = typeof t; break; case NOT: v = !getValue(execute(n[0], x)); break; case BITWISE_NOT: v = ~getValue(execute(n[0], x)); break; case UNARY_PLUS: v = +getValue(execute(n[0], x)); break; case UNARY_MINUS: v = -getValue(execute(n[0], x)); break; case INCREMENT: case DECREMENT: t = execute(n[0], x); u = Number(getValue(t)); if (n.postfix) v = u; putValue(t, (n.type == INCREMENT) ? ++u : --u, n[0]); if (!n.postfix) v = u; break; case DOT: r = execute(n[0], x); t = getValue(r); u = n[1].value; v = new Reference(toObject(t, r, n[0]), u, n); break; case INDEX: r = execute(n[0], x); t = getValue(r); u = getValue(execute(n[1], x)); v = new Reference(toObject(t, r, n[0]), String(u), n); break; case LIST: // Curse ECMA for specifying that arguments is not an Array object! v = {}; for (i = 0, j = n.length; i < j; i++) { u = getValue(execute(n[i], x)); v.__defineProperty__(i, u, false, false, true); } v.__defineProperty__('length', i, false, false, true); break; case CALL: r = execute(n[0], x); a = execute(n[1], x); f = getValue(r); if (isPrimitive(f) || typeof f.__call__ != "function") { throw new TypeError(r + " is not callable", n[0].filename, n[0].lineno); } t = (r instanceof Reference) ? r.base : null; if (t instanceof Activation) t = null; v = f.__call__(t, a, x); break; case NEW: case NEW_WITH_ARGS: r = execute(n[0], x); f = getValue(r); if (n.type == NEW) { a = {}; a.__defineProperty__('length', 0, false, false, true); } else { a = execute(n[1], x); } if (isPrimitive(f) || typeof f.__construct__ != "function") { throw new TypeError(r + " is not a constructor", n[0].filename, n[0].lineno); } v = f.__construct__(a, x); break; case ARRAY_INIT: v = []; for (i = 0, j = n.length; i < j; i++) { if (n[i]) v[i] = getValue(execute(n[i], x)); } v.length = j; break; case OBJECT_INIT: v = {}; for (i = 0, j = n.length; i < j; i++) { t = n[i]; if (t.type == PROPERTY_INIT) { v[t[0].value] = getValue(execute(t[1], x)); } else { f = new FunctionObject(t, x.scope); u = (t.type == GETTER) ? '__defineGetter__' : '__defineSetter__'; v[u](t.name, thunk(f, x)); } } break; case NULL: v = null; break; case THIS: v = x.thisObject; break; case TRUE: v = true; break; case FALSE: v = false; break; case IDENTIFIER: for (s = x.scope; s; s = s.parent) { if (n.value in s.object) break; } v = new Reference(s && s.object, n.value, n); break; case NUMBER: case STRING: case REGEXP: v = n.value; break; case GROUP: v = execute(n[0], x); break; default: throw "PANIC: unknown operation " + n.type + ": " + uneval(n); } return v; //} } function Activation(f, a) { for (var i = 0, j = f.params.length; i < j; i++) this.__defineProperty__(f.params[i], a[i], true); this.__defineProperty__('arguments', a, true); } // Null Activation.prototype's proto slot so that Object.prototype.* does not // pollute the scope of heavyweight functions. Also delete its 'constructor' // property so that it doesn't pollute function scopes. But first, we must // copy __defineProperty__ down from Object.prototype. Activation.prototype.__defineProperty__ = Object.prototype.__defineProperty__; Activation.prototype.__proto__ = null; delete Activation.prototype.constructor; function FunctionObject(node, scope) { this.node = node; this.scope = scope; this.__defineProperty__('length', node.params.length, true, true, true); var proto = {}; this.__defineProperty__('prototype', proto, true); proto.__defineProperty__('constructor', this, false, false, true); } var FOp = FunctionObject.prototype = { // Internal methods. __call__: function (t, a, x) { var x2 = new ExecutionContext(FUNCTION_CODE); x2.thisObject = t || global; x2.caller = x; x2.callee = this; a.__defineProperty__('callee', this, false, false, true); var f = this.node; x2.scope = {object: new Activation(f, a), parent: this.scope}; ExecutionContext.current = x2; try { execute(f.body, x2); } catch (e if e == RETURN) { return x2.result; } catch (e if e == THROW) { x.result = x2.result; throw THROW; } finally { ExecutionContext.current = x; } return undefined; }, __construct__: function (a, x) { var o = new Object; var p = this.prototype; if (isObject(p)) o.__proto__ = p; // else o.__proto__ defaulted to Object.prototype var v = this.__call__(o, a, x); if (isObject(v)) return v; return o; }, __hasInstance__: function (v) { if (isPrimitive(v)) return false; var p = this.prototype; if (isPrimitive(p)) { throw new TypeError("'prototype' property is not an object", this.node.filename, this.node.lineno); } var o; while ((o = v.__proto__)) { if (o == p) return true; v = o; } return false; }, // Standard methods. toString: function () { return this.node.getSource(); }, apply: function (t, a) { // Curse ECMA again! if (typeof this.__call__ != "function") { throw new TypeError("Function.prototype.apply called on" + " uncallable object"); } if (t === undefined || t === null) t = global; else if (typeof t != "object") t = toObject(t, t); if (a === undefined || a === null) { a = {}; a.__defineProperty__('length', 0, false, false, true); } else if (a instanceof Array) { var v = {}; for (var i = 0, j = a.length; i < j; i++) v.__defineProperty__(i, a[i], false, false, true); v.__defineProperty__('length', i, false, false, true); a = v; } else if (!(a instanceof Object)) { // XXX check for a non-arguments object throw new TypeError("Second argument to Function.prototype.apply" + " must be an array or arguments object", this.node.filename, this.node.lineno); } return this.__call__(t, a, ExecutionContext.current); }, call: function (t) { // Curse ECMA a third time! var a = Array.prototype.splice.call(arguments, 1); return this.apply(t, a); } }; // Connect Function.prototype and Function.prototype.constructor in global. reflectClass('Function', FOp); // Help native and host-scripted functions be like FunctionObjects. var Fp = Function.prototype; var REp = RegExp.prototype; if (!('__call__' in Fp)) { Fp.__defineProperty__('__call__', function (t, a, x) { // Curse ECMA yet again! a = Array.prototype.splice.call(a, 0, a.length); return this.apply(t, a); }, true, true, true); REp.__defineProperty__('__call__', function (t, a, x) { a = Array.prototype.splice.call(a, 0, a.length); return this.exec.apply(this, a); }, true, true, true); Fp.__defineProperty__('__construct__', function (a, x) { a = Array.prototype.splice.call(a, 0, a.length); return this.__applyConstructor__(a); }, true, true, true); // Since we use native functions such as Date along with host ones such // as global.eval, we want both to be considered instances of the native // Function constructor. Fp.__defineProperty__('__hasInstance__', function (v) { return v instanceof Function || v instanceof global.Function; }, true, true, true); } function thunk(f, x) { return function () { return f.__call__(this, arguments, x); }; } function evaluate(s, f, l) { if (typeof s != "string") return s; var x = ExecutionContext.current; var x2 = new ExecutionContext(GLOBAL_CODE); ExecutionContext.current = x2; try { execute(parse(s, f, l), x2); } catch (e if e == THROW) { if (x) { x.result = x2.result; throw THROW; } throw x2.result; } finally { ExecutionContext.current = x; } return x2.result; } hjsmin-0.1.5.1/test/parsingonly/40_functions.js0000755000000000000000000000126712567172013017544 0ustar0000000000000000function bob(){} function bob(a,b){} function bob(a,b){a=1; } // constructor -- expression array initialization function ExprArray(n,v) { // Initializes n values to v coerced to a string. for (var i = 0; i < n; i++) { this[i] = "" + v; } } function Hello() { ExprArray(1,1); } Reference.prototype.toString = function () { return this.node.getSource(); } function getValue(v) { if (v instanceof Reference) { if (!v.base) { throw new ReferenceError(v.propertyName + " is not defined", v.node.filename, v.node.lineno); } return v.base[v.propertyName]; } return v; }hjsmin-0.1.5.1/test/parsingonly/06_newexpr.js0000755000000000000000000000006312567172013017217 0ustar0000000000000000new bob; new bob(1) new bob()(1,2) bob[1](1,2) hjsmin-0.1.5.1/test/parsingonly/20_continue_loop.js0000644000000000000000000000061412567172013020377 0ustar0000000000000000function filterListeners(inputs, listeners) { loop: for (var i = listeners.length; i--; ) { var listener = listeners[i]; for (var j = inputs.length; j--; ) { if (listener.relevantInputs.indexOf(inputs[j].id) >= 0) { continue loop; } } listener.domNode.removeEventListener(listener.eventName, listener.func); } } hjsmin-0.1.5.1/test/parsingonly/122_jsexec2.js0000755000000000000000000007015712567172013017164 0ustar0000000000000000/* ***** BEGIN LICENSE BLOCK ***** * vim: set ts=4 sw=4 et tw=80: * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Narcissus JavaScript engine. * * The Initial Developer of the Original Code is * Brendan Eich . * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* * Narcissus - JS implemented in JS. * * Execution of parse trees. * * Standard classes except for eval, Function, Array, and String are borrowed * from the host JS environment. Function is metacircular. Array and String * are reflected via wrapping the corresponding native constructor and adding * an extra level of prototype-based delegation. */ const GLOBAL_CODE = 0, EVAL_CODE = 1, FUNCTION_CODE = 2; function ExecutionContext(type) { this.type = type; } var global = { // Value properties. NaN: NaN, Infinity: Infinity, undefined: undefined, // Function properties. eval: function eval(s) { if (typeof s != "string") return s; var x = ExecutionContext.current; var x2 = new ExecutionContext(EVAL_CODE); x2.thisObject = x.thisObject; x2.caller = x.caller; x2.callee = x.callee; x2.scope = x.scope; ExecutionContext.current = x2; try { execute(parse(s), x2); } catch (e if e == THROW) { x.result = x2.result; throw e; } finally { ExecutionContext.current = x; } return x2.result; }, parseInt: parseInt, parseFloat: parseFloat, isNaN: isNaN, isFinite: isFinite, decodeURI: decodeURI, encodeURI: encodeURI, decodeURIComponent: decodeURIComponent, encodeURIComponent: encodeURIComponent, // Class constructors. Where ECMA-262 requires C.length == 1, we declare // a dummy formal parameter. Object: Object, Function: function Function(dummy) { var p = "", b = "", n = arguments.length; if (n) { var m = n - 1; if (m) { p += arguments[0]; for (var k = 1; k < m; k++) p += "," + arguments[k]; } b += arguments[m]; } // XXX We want to pass a good file and line to the tokenizer. // Note the anonymous name to maintain parity with Spidermonkey. var t = new Tokenizer("anonymous(" + p + ") {" + b + "}"); // NB: Use the STATEMENT_FORM constant since we don't want to push this // function onto the null compilation context. var f = FunctionDefinition(t, null, false, STATEMENT_FORM); var s = {object: global, parent: null}; return new FunctionObject(f, s); }, Array: function Array(dummy) { // Array when called as a function acts as a constructor. return GLOBAL.Array.apply(this, arguments); }, String: function String(s) { // Called as function or constructor: convert argument to string type. s = arguments.length ? "" + s : ""; if (this instanceof String) { // Called as constructor: save the argument as the string value // of this String object and return this object. this.value = s; return this; } return s; }, Boolean: Boolean, Number: Number, Date: Date, RegExp: RegExp, Error: Error, EvalError: EvalError, RangeError: RangeError, ReferenceError: ReferenceError, SyntaxError: SyntaxError, TypeError: TypeError, URIError: URIError, // Other properties. Math: Math, // Extensions to ECMA. snarf: snarf, evaluate: evaluate, load: function load(s) { if (typeof s != "string") return s; evaluate(snarf(s), s, 1) }, print: print, version: null }; // Helper to avoid Object.prototype.hasOwnProperty polluting scope objects. function hasDirectProperty(o, p) { return Object.prototype.hasOwnProperty.call(o, p); } // Reflect a host class into the target global environment by delegation. function reflectClass(name, proto) { var gctor = global[name]; gctor.__defineProperty__('prototype', proto, true, true, true); proto.__defineProperty__('constructor', gctor, false, false, true); return proto; } // Reflect Array -- note that all Array methods are generic. reflectClass('Array', new Array); // Reflect String, overriding non-generic methods. var gSp = reflectClass('String', new String); gSp.toSource = function () { return this.value.toSource(); }; gSp.toString = function () { return this.value; }; gSp.valueOf = function () { return this.value; }; global.String.fromCharCode = String.fromCharCode; var XCp = ExecutionContext.prototype; ExecutionContext.current = XCp.caller = XCp.callee = null; XCp.scope = {object: global, parent: null}; XCp.thisObject = global; XCp.result = undefined; XCp.target = null; XCp.ecmaStrictMode = false; function Reference(base, propertyName, node) { this.base = base; this.propertyName = propertyName; this.node = node; } Reference.prototype.toString = function () { return this.node.getSource(); } function getValue(v) { if (v instanceof Reference) { if (!v.base) { throw new ReferenceError(v.propertyName + " is not defined", v.node.filename, v.node.lineno); } return v.base[v.propertyName]; } return v; } function putValue(v, w, vn) { if (v instanceof Reference) return (v.base || global)[v.propertyName] = w; throw new ReferenceError("Invalid assignment left-hand side", vn.filename, vn.lineno); } function isPrimitive(v) { var t = typeof v; return (t == "object") ? v === null : t != "function"; } function isObject(v) { var t = typeof v; return (t == "object") ? v !== null : t == "function"; } // If r instanceof Reference, v == getValue(r); else v === r. If passed, rn // is the node whose execute result was r. function toObject(v, r, rn) { switch (typeof v) { case "boolean": return new global.Boolean(v); case "number": return new global.Number(v); case "string": return new global.String(v); case "function": return v; case "object": if (v !== null) return v; } var message = r + " (type " + (typeof v) + ") has no properties"; throw rn ? new TypeError(message, rn.filename, rn.lineno) : new TypeError(message); } //function execute(n, x) { function execute(n, x) { var a, f, i, j, r, s, t, u, v; switch (n.type) { case FUNCTION: if (n.functionForm != DECLARED_FORM) { if (!n.name || n.functionForm == STATEMENT_FORM) { v = new FunctionObject(n, x.scope); if (n.functionForm == STATEMENT_FORM) x.scope.object.__defineProperty__(n.name, v, true); } else { t = new Object; x.scope = {object: t, parent: x.scope}; try { v = new FunctionObject(n, x.scope); t.__defineProperty__(n.name, v, true, true); } finally { x.scope = x.scope.parent; } } } break; case SCRIPT: t = x.scope.object; a = n.funDecls; for (i = 0, j = a.length; i < j; i++) { s = a[i].name; f = new FunctionObject(a[i], x.scope); t.__defineProperty__(s, f, x.type != EVAL_CODE); } a = n.varDecls; for (i = 0, j = a.length; i < j; i++) { u = a[i]; s = u.name; if (u.readOnly && hasDirectProperty(t, s)) { throw new TypeError("Redeclaration of const " + s, u.filename, u.lineno); }//++??AZ??"c:/Mark/MyDevelopments/haskell/HJS/hjs-0.2/testsuite/parsingonly/122_jsexec.js" if (u.readOnly || !hasDirectProperty(t, s)) { t.__defineProperty__(s, undefined, x.type != EVAL_CODE, u.readOnly); } } // FALL THROUGH case BLOCK: for (i = 0, j = n.length; i < j; i++) execute(n[i], x); break; case IF: if (getValue(execute(n.condition, x))) execute(n.thenPart, x); else if (n.elsePart) execute(n.elsePart, x); break; case SWITCH: s = getValue(execute(n.discriminant, x)); a = n.cases; var matchDefault = false; switch_loop: for (i = 0, j = a.length; ; i++) { if (i == j) { if (n.defaultIndex >= 0) { i = n.defaultIndex - 1; // no case matched, do default matchDefault = true; continue; } break; // no default, exit switch_loop } t = a[i]; // next case (might be default!) if (t.type == CASE) { u = getValue(execute(t.caseLabel, x)); } else { if (!matchDefault) // not defaulting, skip for now continue; u = s; // force match to do default } if (u === s) { for (;;) { // this loop exits switch_loop if (t.statements.length) { try { execute(t.statements, x); } catch (e if e == BREAK && x.target == n) { break switch_loop; } } if (++i == j) break switch_loop; t = a[i]; } // NOT REACHED } } break; case FOR: n.setup && getValue(execute(n.setup, x)); // FALL THROUGH case WHILE: while (!n.condition || getValue(execute(n.condition, x))) { try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } n.update && getValue(execute(n.update, x)); } break; case FOR_IN: u = n.varDecl; if (u) execute(u, x); r = n.iterator; s = execute(n.object, x); v = getValue(s); // ECMA deviation to track extant browser JS implementation behavior. t = (v == null && !x.ecmaStrictMode) ? v : toObject(v, s, n.object); a = []; for (i in t) a.push(i); for (i = 0, j = a.length; i < j; i++) { putValue(execute(r, x), a[i], r); try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } } break; case DO: do { try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } } while (getValue(execute(n.condition, x))); break; case BREAK: case CONTINUE: x.target = n.target; throw n.type; case TRY: try { execute(n.tryBlock, x); } catch (e if e == THROW && (j = n.catchClauses.length)) { e = x.result; x.result = undefined; for (i = 0; ; i++) { if (i == j) { x.result = e; throw THROW; } t = n.catchClauses[i]; x.scope = {object: {}, parent: x.scope}; x.scope.object.__defineProperty__(t.varName, e, true); try { if (t.guard && !getValue(execute(t.guard, x))) continue; execute(t.block, x); break; } finally { x.scope = x.scope.parent; } } } finally { if (n.finallyBlock) execute(n.finallyBlock, x); } break; case THROW: x.result = getValue(execute(n.exception, x)); throw THROW; case RETURN: x.result = getValue(execute(n.value, x)); throw RETURN; case WITH: r = execute(n.object, x); t = toObject(getValue(r), r, n.object); x.scope = {object: t, parent: x.scope}; try { execute(n.body, x); } finally { x.scope = x.scope.parent; } break; case VAR: case CONST: for (i = 0, j = n.length; i < j; i++) { u = n[i].initializer; if (!u) continue; t = n[i].name; for (s = x.scope; s; s = s.parent) { if (hasDirectProperty(s.object, t)) break; } u = getValue(execute(u, x)); if (n.type == CONST) s.object.__defineProperty__(t, u, x.type != EVAL_CODE, true); else s.object[t] = u; } break; case DEBUGGER: throw "NYI: " + tokens[n.type]; case SEMICOLON: if (n.expression) x.result = getValue(execute(n.expression, x)); break; case LABEL: try { execute(n.statement, x); } catch (e if e == BREAK && x.target == n) { } break; case COMMA: for (i = 0, j = n.length; i < j; i++) v = getValue(execute(n[i], x)); break; case ASSIGN: r = execute(n[0], x); t = n[0].assignOp; if (t) u = getValue(r); v = getValue(execute(n[1], x)); if (t) { switch (t) { case BITWISE_OR: v = u | v; break; case BITWISE_XOR: v = u ^ v; break; case BITWISE_AND: v = u & v; break; case LSH: v = u << v; break; case RSH: v = u >> v; break; case URSH: v = u >>> v; break; case PLUS: v = u + v; break; case MINUS: v = u - v; break; case MUL: v = u * v; break; case DIV: v = u / v; break; case MOD: v = u % v; break; } } putValue(r, v, n[0]); break; case CONDITIONAL: v = getValue(execute(n[0], x)) ? getValue(execute(n[1], x)) : getValue(execute(n[2], x)); break; case OR: v = getValue(execute(n[0], x)) || getValue(execute(n[1], x)); break; case AND: v = getValue(execute(n[0], x)) && getValue(execute(n[1], x)); break; case BITWISE_OR: v = getValue(execute(n[0], x)) | getValue(execute(n[1], x)); break; case BITWISE_XOR: v = getValue(execute(n[0], x)) ^ getValue(execute(n[1], x)); break; case BITWISE_AND: v = getValue(execute(n[0], x)) & getValue(execute(n[1], x)); break; case EQ: v = getValue(execute(n[0], x)) == getValue(execute(n[1], x)); break; case NE: v = getValue(execute(n[0], x)) != getValue(execute(n[1], x)); break; case STRICT_EQ: v = getValue(execute(n[0], x)) === getValue(execute(n[1], x)); break; case STRICT_NE: v = getValue(execute(n[0], x)) !== getValue(execute(n[1], x)); break; case LT: v = getValue(execute(n[0], x)) < getValue(execute(n[1], x)); break; case LE: v = getValue(execute(n[0], x)) <= getValue(execute(n[1], x)); break; case GE: v = getValue(execute(n[0], x)) >= getValue(execute(n[1], x)); break; case GT: v = getValue(execute(n[0], x)) > getValue(execute(n[1], x)); break; case IN: v = getValue(execute(n[0], x)) in getValue(execute(n[1], x)); break; case INSTANCEOF: t = getValue(execute(n[0], x)); u = getValue(execute(n[1], x)); if (isObject(u) && typeof u.__hasInstance__ == "function") v = u.__hasInstance__(t); else v = t instanceof u; break; case LSH: v = getValue(execute(n[0], x)) << getValue(execute(n[1], x)); break; case RSH: v = getValue(execute(n[0], x)) >> getValue(execute(n[1], x)); break; case URSH: v = getValue(execute(n[0], x)) >>> getValue(execute(n[1], x)); break; case PLUS: v = getValue(execute(n[0], x)) + getValue(execute(n[1], x)); break; case MINUS: v = getValue(execute(n[0], x)) - getValue(execute(n[1], x)); break; case MUL: v = getValue(execute(n[0], x)) * getValue(execute(n[1], x)); break; case DIV: v = getValue(execute(n[0], x)) / getValue(execute(n[1], x)); break; case MOD: v = getValue(execute(n[0], x)) % getValue(execute(n[1], x)); break; case DELETE: t = execute(n[0], x); v = !(t instanceof Reference) || delete t.base[t.propertyName]; break; case VOID: getValue(execute(n[0], x)); break; case TYPEOF: t = execute(n[0], x); if (t instanceof Reference) t = t.base ? t.base[t.propertyName] : undefined; v = typeof t; break; case NOT: v = !getValue(execute(n[0], x)); break; case BITWISE_NOT: v = ~getValue(execute(n[0], x)); break; case UNARY_PLUS: v = +getValue(execute(n[0], x)); break; case UNARY_MINUS: v = -getValue(execute(n[0], x)); break; case INCREMENT: case DECREMENT: t = execute(n[0], x); u = Number(getValue(t)); if (n.postfix) v = u; putValue(t, (n.type == INCREMENT) ? ++u : --u, n[0]); if (!n.postfix) v = u; break; case DOT: r = execute(n[0], x); t = getValue(r); u = n[1].value; v = new Reference(toObject(t, r, n[0]), u, n); break; case INDEX: r = execute(n[0], x); t = getValue(r); u = getValue(execute(n[1], x)); v = new Reference(toObject(t, r, n[0]), String(u), n); break; case LIST: // Curse ECMA for specifying that arguments is not an Array object! v = {}; for (i = 0, j = n.length; i < j; i++) { u = getValue(execute(n[i], x)); v.__defineProperty__(i, u, false, false, true); } v.__defineProperty__('length', i, false, false, true); break; case CALL: r = execute(n[0], x); a = execute(n[1], x); f = getValue(r); if (isPrimitive(f) || typeof f.__call__ != "function") { throw new TypeError(r + " is not callable", n[0].filename, n[0].lineno); } t = (r instanceof Reference) ? r.base : null; if (t instanceof Activation) t = null; v = f.__call__(t, a, x); break; case NEW: case NEW_WITH_ARGS: r = execute(n[0], x); f = getValue(r); if (n.type == NEW) { a = {}; a.__defineProperty__('length', 0, false, false, true); } else { a = execute(n[1], x); } if (isPrimitive(f) || typeof f.__construct__ != "function") { throw new TypeError(r + " is not a constructor", n[0].filename, n[0].lineno); } v = f.__construct__(a, x); break; case ARRAY_INIT: v = []; for (i = 0, j = n.length; i < j; i++) { if (n[i]) v[i] = getValue(execute(n[i], x)); } v.length = j; break; case OBJECT_INIT: v = {}; for (i = 0, j = n.length; i < j; i++) { t = n[i]; if (t.type == PROPERTY_INIT) { v[t[0].value] = getValue(execute(t[1], x)); } else { f = new FunctionObject(t, x.scope); u = (t.type == GETTER) ? '__defineGetter__' : '__defineSetter__'; v[u](t.name, thunk(f, x)); } } break; case NULL: v = null; break; case THIS: v = x.thisObject; break; case TRUE: v = true; break; case FALSE: v = false; break; case IDENTIFIER: for (s = x.scope; s; s = s.parent) { if (n.value in s.object) break; } v = new Reference(s && s.object, n.value, n); break; case NUMBER: case STRING: case REGEXP: v = n.value; break; case GROUP: v = execute(n[0], x); break; default: throw "PANIC: unknown operation " + n.type + ": " + uneval(n); } return v; //} } function Activation(f, a) { for (var i = 0, j = f.params.length; i < j; i++) this.__defineProperty__(f.params[i], a[i], true); this.__defineProperty__('arguments', a, true); } // Null Activation.prototype's proto slot so that Object.prototype.* does not // pollute the scope of heavyweight functions. Also delete its 'constructor' // property so that it doesn't pollute function scopes. But first, we must // copy __defineProperty__ down from Object.prototype. Activation.prototype.__defineProperty__ = Object.prototype.__defineProperty__; Activation.prototype.__proto__ = null; delete Activation.prototype.constructor; function FunctionObject(node, scope) { this.node = node; this.scope = scope; this.__defineProperty__('length', node.params.length, true, true, true); var proto = {}; this.__defineProperty__('prototype', proto, true); proto.__defineProperty__('constructor', this, false, false, true); } var FOp = FunctionObject.prototype = { // Internal methods. __call__: function (t, a, x) { var x2 = new ExecutionContext(FUNCTION_CODE); x2.thisObject = t || global; x2.caller = x; x2.callee = this; a.__defineProperty__('callee', this, false, false, true); var f = this.node; x2.scope = {object: new Activation(f, a), parent: this.scope}; ExecutionContext.current = x2; try { execute(f.body, x2); } catch (e if e == RETURN) { return x2.result; } catch (e if e == THROW) { x.result = x2.result; throw THROW; } finally { ExecutionContext.current = x; } return undefined; }, __construct__: function (a, x) { var o = new Object; var p = this.prototype; if (isObject(p)) o.__proto__ = p; // else o.__proto__ defaulted to Object.prototype var v = this.__call__(o, a, x); if (isObject(v)) return v; return o; }, __hasInstance__: function (v) { if (isPrimitive(v)) return false; var p = this.prototype; if (isPrimitive(p)) { throw new TypeError("'prototype' property is not an object", this.node.filename, this.node.lineno); } var o; while ((o = v.__proto__)) { if (o == p) return true; v = o; } return false; }, // Standard methods. toString: function () { return this.node.getSource(); }, apply: function (t, a) { // Curse ECMA again! if (typeof this.__call__ != "function") { throw new TypeError("Function.prototype.apply called on" + " uncallable object"); } if (t === undefined || t === null) t = global; else if (typeof t != "object") t = toObject(t, t); if (a === undefined || a === null) { a = {}; a.__defineProperty__('length', 0, false, false, true); } else if (a instanceof Array) { var v = {}; for (var i = 0, j = a.length; i < j; i++) v.__defineProperty__(i, a[i], false, false, true); v.__defineProperty__('length', i, false, false, true); a = v; } else if (!(a instanceof Object)) { // XXX check for a non-arguments object throw new TypeError("Second argument to Function.prototype.apply" + " must be an array or arguments object", this.node.filename, this.node.lineno); } return this.__call__(t, a, ExecutionContext.current); }, call: function (t) { // Curse ECMA a third time! var a = Array.prototype.splice.call(arguments, 1); return this.apply(t, a); } }; // Connect Function.prototype and Function.prototype.constructor in global. reflectClass('Function', FOp); // Help native and host-scripted functions be like FunctionObjects. var Fp = Function.prototype; var REp = RegExp.prototype; if (!('__call__' in Fp)) { Fp.__defineProperty__('__call__', function (t, a, x) { // Curse ECMA yet again! a = Array.prototype.splice.call(a, 0, a.length); return this.apply(t, a); }, true, true, true); REp.__defineProperty__('__call__', function (t, a, x) { a = Array.prototype.splice.call(a, 0, a.length); return this.exec.apply(this, a); }, true, true, true); Fp.__defineProperty__('__construct__', function (a, x) { a = Array.prototype.splice.call(a, 0, a.length); return this.__applyConstructor__(a); }, true, true, true); // Since we use native functions such as Date along with host ones such // as global.eval, we want both to be considered instances of the native // Function constructor. Fp.__defineProperty__('__hasInstance__', function (v) { return v instanceof Function || v instanceof global.Function; }, true, true, true); } function thunk(f, x) { return function () { return f.__call__(this, arguments, x); }; } function evaluate(s, f, l) { if (typeof s != "string") return s; var x = ExecutionContext.current; var x2 = new ExecutionContext(GLOBAL_CODE); ExecutionContext.current = x2; try { execute(parse(s, f, l), x2); } catch (e if e == THROW) { if (x) { x.result = x2.result; throw THROW; } throw x2.result; } finally { ExecutionContext.current = x; } return x2.result; } hjsmin-0.1.5.1/test/parsingonly/101_inheritance.js0000755000000000000000000000661312567172013020103 0ustar0000000000000000/* Copyright (c) 2006 Charlie Savage License: BSD: http://www.opensource.org/licenses/bsd-license.php As posted on http://cfis.savagexi.com/articles/2006/08/25/new-and-improved-javascript-inheritance */ Function.prototype.inherits = function(superConstructor) { /* Borrowed from Kevin Lindsey - create a dummy constructor to create prototypes. This is useful because it means that we don't have to modify the real constructors to have if-statements to guard against initialization if we are creating a prototype (versus a regular instance).*/ function CreatePrototype() {} CreatePrototype.prototype = superConstructor.prototype /* Reset the current constructor. This is an ugly hack required by the JavaScript prototype-chain implementation. */ this.prototype = new CreatePrototype() this.prototype.constructor = this // Save a reference to the superClass constructor this.superConstructor = superConstructor this.prototype.callSuper = function() { /* In IE and Firefox we can get the caller argument via arguments.callee.caller. However, for some reason this has been deprecated in JavaScript and is not supported by Safari or Opera. So we have to pass it in as a parameter. Yuck.*/ var caller = arguments.callee.caller var caller = arguments[0] var args = new Array() for (var i=1; i 0) consts += ", "; var t = tokens[i]; if (/^[a-z]/.test(t)) { consts += t.toUpperCase(); keywords[t] = i; } else { consts += (/^\W/.test(t) ? opTypeNames[t] : t); } consts += " = " + x; tokens[t] = j; }hjsmin-0.1.5.1/test/parsingonly/123_jsparse.js0000755000000000000000000007574112567172013017275 0ustar0000000000000000/* vim: set sw=4 ts=8 et tw=80: */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Narcissus JavaScript engine. * * The Initial Developer of the Original Code is * Brendan Eich . * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* * Narcissus - JS implemented in JS. * * Lexical scanner and parser. */ // Build a regexp that recognizes operators and punctuators (except newline). var opRegExpSrc = "^"; for (i in opTypeNames) { if (i == '\n') continue; if (opRegExpSrc != "^") opRegExpSrc += "|^"; opRegExpSrc += i.replace(/[?|^&(){}\[\]+\-*\/\.]/g, "\\$&"); } var opRegExp = new RegExp(opRegExpSrc); // A regexp to match floating point literals (but not integer literals). var fpRegExp = /^\d+\.\d*(?:[eE][-+]?\d+)?|^\d+(?:\.\d*)?[eE][-+]?\d+|^\.\d+(?:[eE][-+]?\d+)?/; function Tokenizer(s, f, l) { this.cursor = 0; this.source = String(s); this.tokens = []; this.tokenIndex = 0; this.lookahead = 0; this.scanNewlines = false; this.scanOperand = true; this.filename = f || ""; this.lineno = l || 1; } Tokenizer.prototype = { get input() { return this.source.substring(this.cursor); }, get done() { return this.peek() == END; }, get token() { return this.tokens[this.tokenIndex]; }, match: function (tt) { return this.get() == tt || this.unget(); }, mustMatch: function (tt) { if (!this.match(tt)) throw this.newSyntaxError("Missing " + tokens[tt].toLowerCase()); return this.token; }, peek: function () { var tt; if (this.lookahead) { tt = this.tokens[(this.tokenIndex + this.lookahead) & 3].type; } else { tt = this.get(); this.unget(); } return tt; }, peekOnSameLine: function () { this.scanNewlines = true; var tt = this.peek(); this.scanNewlines = false; return tt; }, get: function () { var token; while (this.lookahead) { --this.lookahead; this.tokenIndex = (this.tokenIndex + 1) & 3; token = this.tokens[this.tokenIndex]; if (token.type != NEWLINE || this.scanNewlines) return token.type; } for (;;) { var input = this.input; var match = (this.scanNewlines ? /^[ \t]+/ : /^\s+/)(input); if (match) { var spaces = match[0]; this.cursor += spaces.length; var newlines = spaces.match(/\n/g); if (newlines) this.lineno += newlines.length; input = this.input; } if (!(match = /^\/(?:\*(?:.|\n)*?\*\/|\/.*)/(input))) break; var comment = match[0]; this.cursor += comment.length; newlines = comment.match(/\n/g); if (newlines) this.lineno += newlines.length } this.tokenIndex = (this.tokenIndex + 1) & 3; token = this.tokens[this.tokenIndex]; if (!token) this.tokens[this.tokenIndex] = token = {}; if (!input) return token.type = END; if ((match = fpRegExp(input))) { token.type = NUMBER; token.value = parseFloat(match[0]); } else if ((match = /^0[xX][\da-fA-F]+|^0[0-7]*|^\d+/(input))) { token.type = NUMBER; token.value = parseInt(match[0]); } else if ((match = /^\w+/(input))) { var id = match[0]; token.type = keywords[id] || IDENTIFIER; token.value = id; } else if ((match = /^"(?:\\.|[^"])*"|^'(?:[^']|\\.)*'/(input))) { //"){ token.type = STRING; token.value = eval(match[0]); } else if (this.scanOperand && (match = /^\/((?:\\.|[^\/])+)\/([gi]*)/(input))) { token.type = REGEXP; token.value = new RegExp(match[1], match[2]); } else if ((match = opRegExp(input))) { var op = match[0]; if (assignOps[op] && input[op.length] == '=') { token.type = ASSIGN; token.assignOp = GLOBAL[opTypeNames[op]]; match[0] += '='; } else { token.type = GLOBAL[opTypeNames[op]]; if (this.scanOperand && (token.type == PLUS || token.type == MINUS)) { token.type += UNARY_PLUS - PLUS; } token.assignOp = null; } token.value = op; } else { throw this.newSyntaxError("Illegal token"); } token.start = this.cursor; this.cursor += match[0].length; token.end = this.cursor; token.lineno = this.lineno; return token.type; }, unget: function () { if (++this.lookahead == 4) throw "PANIC: too much lookahead!"; this.tokenIndex = (this.tokenIndex - 1) & 3; }, newSyntaxError: function (m) { var e = new SyntaxError(m, this.filename, this.lineno); e.source = this.source; e.cursor = this.cursor; return e; } }; function CompilerContext(inFunction) { this.inFunction = inFunction; this.stmtStack = []; this.funDecls = []; this.varDecls = []; } var CCp = CompilerContext.prototype; CCp.bracketLevel = CCp.curlyLevel = CCp.parenLevel = CCp.hookLevel = 0; CCp.ecmaStrictMode = CCp.inForLoopInit = false; function Script(t, x) { var n = Statements(t, x); n.type = SCRIPT; n.funDecls = x.funDecls; n.varDecls = x.varDecls; return n; } // Node extends Array, which we extend slightly with a top-of-stack method. Array.prototype.__defineProperty__( 'top', function () { return this.length && this[this.length-1]; }, false, false, true ); function Node(t, type) { var token = t.token; if (token) { this.type = type || token.type; this.value = token.value; this.lineno = token.lineno; this.start = token.start; this.end = token.end; } else { this.type = type; this.lineno = t.lineno; } this.tokenizer = t; for (var i = 2; i < arguments.length; i++) this.push(arguments[i]); } var Np = Node.prototype = new Array; Np.constructor = Node; Np.toSource = Object.prototype.toSource; // Always use push to add operands to an expression, to update start and end. Np.push = function (kid) { if (kid.start < this.start) this.start = kid.start; if (this.end < kid.end) this.end = kid.end; return Array.prototype.push.call(this, kid); } Node.indentLevel = 0; function tokenstr(tt) { var t = tokens[tt]; return /^\W/.test(t) ? opTypeNames[t] : t.toUpperCase(); } Np.toString = function () { var a = []; for (var i in this) { if (this.hasOwnProperty(i) && i != 'type') a.push({id: i, value: this[i]}); } a.sort(function (a,b) { return (a.id < b.id) ? -1 : 1; }); const INDENTATION = " "; var n = ++Node.indentLevel; var s = "{\n" + INDENTATION.repeat(n) + "type: " + tokenstr(this.type); for (i = 0; i < a.length; i++) s += ",\n" + INDENTATION.repeat(n) + a[i].id + ": " + a[i].value; n = --Node.indentLevel; s += "\n" + INDENTATION.repeat(n) + "}"; return s; } Np.getSource = function () { return this.tokenizer.source.slice(this.start, this.end); }; Np.__defineGetter__('filename', function () { return this.tokenizer.filename; }); String.prototype.__defineProperty__( 'repeat', function (n) { var s = "", t = this + s; while (--n >= 0) s += t; return s; }, false, false, true ); // Statement stack and nested statement handler. function nest(t, x, node, func, end) { x.stmtStack.push(node); var n = func(t, x); x.stmtStack.pop(); end && t.mustMatch(end); return n; } function Statements(t, x) { var n = new Node(t, BLOCK); x.stmtStack.push(n); while (!t.done && t.peek() != RIGHT_CURLY) n.push(Statement(t, x)); x.stmtStack.pop(); return n; } function Block(t, x) { t.mustMatch(LEFT_CURLY); var n = Statements(t, x); t.mustMatch(RIGHT_CURLY); return n; } const DECLARED_FORM = 0, EXPRESSED_FORM = 1, STATEMENT_FORM = 2; function Statement(t, x) { var i, label, n, n2, ss, tt = t.get(); // Cases for statements ending in a right curly return early, avoiding the // common semicolon insertion magic after this switch. switch (tt) { case FUNCTION: return FunctionDefinition(t, x, true, (x.stmtStack.length > 1) ? STATEMENT_FORM : DECLARED_FORM); case LEFT_CURLY: n = Statements(t, x); t.mustMatch(RIGHT_CURLY); return n; case IF: n = new Node(t); n.condition = ParenExpression(t, x); x.stmtStack.push(n); n.thenPart = Statement(t, x); n.elsePart = t.match(ELSE) ? Statement(t, x) : null; x.stmtStack.pop(); return n; case SWITCH: n = new Node(t); t.mustMatch(LEFT_PAREN); n.discriminant = Expression(t, x); t.mustMatch(RIGHT_PAREN); n.cases = []; n.defaultIndex = -1; x.stmtStack.push(n); t.mustMatch(LEFT_CURLY); while ((tt = t.get()) != RIGHT_CURLY) { switch (tt) { case DEFAULT: if (n.defaultIndex >= 0) throw t.newSyntaxError("More than one switch default"); // FALL THROUGH case CASE: n2 = new Node(t); if (tt == DEFAULT) n.defaultIndex = n.cases.length; else n2.caseLabel = Expression(t, x, COLON); break; default: throw t.newSyntaxError("Invalid switch case"); } t.mustMatch(COLON); n2.statements = new Node(t, BLOCK); while ((tt=t.peek()) != CASE && tt != DEFAULT && tt != RIGHT_CURLY) n2.statements.push(Statement(t, x)); n.cases.push(n2); } x.stmtStack.pop(); return n; case FOR: n = new Node(t); n.isLoop = true; t.mustMatch(LEFT_PAREN); if ((tt = t.peek()) != SEMICOLON) { x.inForLoopInit = true; if (tt == VAR || tt == CONST) { t.get(); n2 = Variables(t, x); } else { n2 = Expression(t, x); } x.inForLoopInit = false; } if (n2 && t.match(IN)) { n.type = FOR_IN; if (n2.type == VAR) { if (n2.length != 1) { throw new SyntaxError("Invalid for..in left-hand side", t.filename, n2.lineno); } // NB: n2[0].type == IDENTIFIER and n2[0].value == n2[0].name. n.iterator = n2[0]; n.varDecl = n2; } else { n.iterator = n2; n.varDecl = null; } n.object = Expression(t, x); } else { n.setup = n2 || null; t.mustMatch(SEMICOLON); n.condition = (t.peek() == SEMICOLON) ? null : Expression(t, x); t.mustMatch(SEMICOLON); n.update = (t.peek() == RIGHT_PAREN) ? null : Expression(t, x); } t.mustMatch(RIGHT_PAREN); n.body = nest(t, x, n, Statement); return n; case WHILE: n = new Node(t); n.isLoop = true; n.condition = ParenExpression(t, x); n.body = nest(t, x, n, Statement); return n; case DO: n = new Node(t); n.isLoop = true; n.body = nest(t, x, n, Statement, WHILE); n.condition = ParenExpression(t, x); if (!x.ecmaStrictMode) { //