|| Generated Sapl file for CodeGeneratorJS.icl CodeGeneratorJS.urlEncodeChar_24 c1_0 c2_1 !_x_2 = if (<{StdChar.==_18}> _x_2 '_') (_predefined._Cons '_' _predefined._Nil) (if (<{StdChar.==_18}> _x_2 '.') (_predefined._Cons '_' _predefined._Nil) (if (<{StdChar.==_18}> _x_2 ' ') (_predefined._Cons '+' _predefined._Nil) (CodeGeneratorJS.urlEncodeChar_24_def0 c1_0 c2_1 _x_2))) CodeGeneratorJS.urlEncodeChar_24_def0 c1_0 c2_1 !_x_2 = _predefined._Cons '$' (_predefined._Cons c1_0 (_predefined._Cons c2_1 _predefined._Nil)) CodeGeneratorJS.digitToHex_23 !d_0 = if (StdBool.not (<{StdInt.<_17}> 9 d_0)) (<{StdInt.+_6}> d_0 (StdInt.toInt_20 '0')) (<{StdInt.-_7}> (<{StdInt.+_6}> d_0 (StdInt.toInt_20 'A')) 10) CodeGeneratorJS.charToHex_25 !c_0 = let i_1_0 = StdInt.toInt_20 c_0 in _predefined._Tuple2 (StdChar.toChar_21 (CodeGeneratorJS.digitToHex_23 (<{StdInt.>>}> i_1_0 4))) (StdChar.toChar_21 (CodeGeneratorJS.digitToHex_23 (StdInt.bitand i_1_0 15))) <{CodeGeneratorJS.urlEncode`_26}> !_x_0 = select _x_0 (\ _x_1_0 _x_1_1 = if (<{StdChar.==_18}> _x_1_0 '$') (select _x_1_1 (\ _x_2_0 _x_2_1 = if (<{StdChar.==_18}> _x_2_0 'e') (select _x_2_1 (\ _x_3_0 _x_3_1 = if (<{StdChar.==_18}> _x_3_0 'v') (select _x_3_1 (\ _x_4_0 _x_4_1 = if (<{StdChar.==_18}> _x_4_0 'a') (select _x_4_1 (\ _x_5_0 _x_5_1 = if (<{StdChar.==_18}> _x_5_0 'l') (select _x_5_1 (\ _uv1_6_0 _uv2_6_1 = <{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0) _x_0) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) (<{CodeGeneratorJS.urlEncode`_26_def0}> _x_1_0 _x_1_1 _x_0)) _predefined._Nil <{CodeGeneratorJS.urlEncode`_26_def0}> _x_0 _x_1 !_x_2 = if (StdChar.isAlphanum _x_0) (_predefined._Cons _x_0 (<{CodeGeneratorJS.urlEncode`_26}> _x_1)) (let _x_1_0 = CodeGeneratorJS.charToHex_25 _x_0 in <{StdList.++}> (CodeGeneratorJS.urlEncodeChar_24 (_predefined.tupsels2v0 _x_1_0) (_predefined.tupsels2v1 _x_1_0) _x_0) (<{CodeGeneratorJS.urlEncode`_26}> _x_1)) CodeGeneratorJS.escapeName !prefix_0 !name_1 !a_2 = <{StringAppender.<++_4}> (<{StringAppender.<++_4}> a_2 prefix_0) (StdList.toString_79 (<{CodeGeneratorJS.urlEncode`_26}> (StdList.fromString_78 name_1))) CodeGeneratorJS.foldl_51 op_0 r_1 !_x_2 = select _x_2 (\ a_1_0 x_1_1 = CodeGeneratorJS.foldl_51 op_0 (op_0 r_1 a_1_0) x_1_1) r_1 CodeGeneratorJS.newState !f_0 !tramp_1 !p_2 = CodeGeneratorJS._CoderState False Maybe.Nothing Maybe.Nothing _predefined._Nil (SaplParser.get_ps_constructors_1 p_2) (SaplParser.get_ps_functions_2 p_2) (SaplParser.get_ps_CAFs_3 p_2) (Flavour.get_builtInFunctions_1 f_0) (Flavour.get_inlineFunctions_2 f_0) tramp_1 (Flavour.get_fun_prefix_0 f_0) CodeGeneratorJS.foldl_50 op_0 r_1 !_x_2 = select _x_2 (\ a_1_0 x_1_1 = CodeGeneratorJS.foldl_50 op_0 (op_0 r_1 a_1_0) x_1_1) r_1 CodeGeneratorJS.isStrictName !_x_0 = select _x_0 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _x_1_0 = True) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 = CodeGeneratorJS.isStrictName_def0 _x_0) (CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictName_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isStrictName_def0 _x_0) CodeGeneratorJS.isStrictName_def0 !_x_0 = False CodeGeneratorJS.unpackName !_x_0 = select _x_0 nomatch nomatch (\ name_1_0 _x_1_1 = name_1_0) (\ name_1_0 = name_1_0) nomatch nomatch nomatch nomatch nomatch nomatch nomatch nomatch CodeGeneratorJS.foldl_49 op_0 r_1 !_x_2 = select _x_2 (\ a_1_0 x_1_1 = CodeGeneratorJS.foldl_49 op_0 (op_0 r_1 a_1_0) x_1_1) r_1 CodeGeneratorJS.strictsep_30 !_vlength_0 args_1 !_x_2 arg_3 = select _x_2 (\ a_1_0 i_1_1 = if (<{StdInt.<_17}> i_1_1 (StdOverloaded.get_length_10 _vlength_0 args_1)) (_predefined._Tuple2 (<{StringAppender.<++_4}> (<{CodeGeneratorJS._c;155;19_60}> (CodeGeneratorJS.isStrictName arg_3) a_1_0 i_1_1) ",") (<{StdInt.+_6}> i_1_1 1)) (_predefined._Tuple2 (<{CodeGeneratorJS._c;155;19_61}> (CodeGeneratorJS.isStrictName arg_3) a_1_0 i_1_1) i_1_1)) <{CodeGeneratorJS._c;155;19_61}> !_x_0 a_1 i_2 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "Sapl.feval(a") (<{StdInt.-_7}> i_2 1)) ")") (<{CodeGeneratorJS._c;155;19_61_def0}> _x_0 a_1 i_2) <{CodeGeneratorJS._c;155;19_61_def0}> !_x_0 a_1 i_2 = <{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "a") (<{StdInt.-_7}> i_2 1) <{CodeGeneratorJS._c;155;19_60}> !_x_0 a_1 i_2 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "Sapl.feval(a") (<{StdInt.-_7}> i_2 1)) ")") (<{CodeGeneratorJS._c;155;19_60_def0}> _x_0 a_1 i_2) <{CodeGeneratorJS._c;155;19_60_def0}> !_x_0 a_1 i_2 = <{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "a") (<{StdInt.-_7}> i_2 1) CodeGeneratorJS.strictsep_52 !args_0 !_x_1 arg_2 = select _x_1 (\ a_1_0 i_1_1 = if (<{StdInt.<_17}> i_1_1 (StdList.length_47 args_0)) (_predefined._Tuple2 (<{StringAppender.<++_4}> (<{CodeGeneratorJS._c;155;19_62}> (CodeGeneratorJS.isStrictName arg_2) a_1_0 i_1_1) ",") (<{StdInt.+_6}> i_1_1 1)) (_predefined._Tuple2 (<{CodeGeneratorJS._c;155;19_63}> (CodeGeneratorJS.isStrictName arg_2) a_1_0 i_1_1) i_1_1)) <{CodeGeneratorJS._c;155;19_63}> !_x_0 a_1 i_2 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "Sapl.feval(a") (<{StdInt.-_7}> i_2 1)) ")") (<{CodeGeneratorJS._c;155;19_63_def0}> _x_0 a_1 i_2) <{CodeGeneratorJS._c;155;19_63_def0}> !_x_0 a_1 i_2 = <{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "a") (<{StdInt.-_7}> i_2 1) <{CodeGeneratorJS._c;155;19_62}> !_x_0 a_1 i_2 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "Sapl.feval(a") (<{StdInt.-_7}> i_2 1)) ")") (<{CodeGeneratorJS._c;155;19_62_def0}> _x_0 a_1 i_2) <{CodeGeneratorJS._c;155;19_62_def0}> !_x_0 a_1 i_2 = <{StringAppender.<++_5}> (<{StringAppender.<++_4}> a_1 "a") (<{StdInt.-_7}> i_2 1) CodeGeneratorJS.foldl_53 args_0 !r_1 !_x_2 = select _x_2 (\ a_1_0 x_1_1 = CodeGeneratorJS.foldl_53 args_0 (CodeGeneratorJS.strictsep_52 args_0 r_1 a_1_0) x_1_1) r_1 CodeGeneratorJS.anon_29 !args_0 a_1 = _predefined.tupsels2v0 (CodeGeneratorJS.foldl_53 args_0 (_predefined._Tuple2 a_1 1) args_0) CodeGeneratorJS._lc_28 !g_i_0 !g_s_1 = if (StdBool.not (<{StdInt.<_17}> g_s_1 g_i_0)) (_predefined._Cons (<{StdString.+++_11}> "a" (StdString.toString_5 (<{StdInt.-_7}> g_i_0 1))) (CodeGeneratorJS._lc_28 (<{StdInt.+_6}> g_i_0 StdInt.one_11) g_s_1)) _predefined._Nil CodeGeneratorJS.makeStrictClosure_31 s_0 a_1 name_2 args_3 = <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_1 "function ") (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_0) name_2)) "$eval(") (StringAppender.joinList (<{StdOverloaded.toString;}> StdString.toString_9) "," (CodeGeneratorJS._lc_28 1 (StdList.length_47 args_3)))) "){return ") (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_0) name_2)) "(") (CodeGeneratorJS.anon_29 args_3)) ");};" CodeGeneratorJS.findLocalVar_42 name_0 !_x_1 = select _x_1 (\ _x_1_0 cs_1_1 = select _x_1_0 nomatch nomatch (\ cn_2_0 level_2_1 = if (<{StdString.==_2}> cn_2_0 name_0) level_2_1 (CodeGeneratorJS.findLocalVar_42 name_0 cs_1_1)) (\ cn_2_0 = if (<{StdString.==_2}> cn_2_0 name_0) 0 (CodeGeneratorJS.findLocalVar_42 name_0 cs_1_1)) nomatch nomatch nomatch nomatch nomatch nomatch nomatch nomatch) 0 CodeGeneratorJS.var_name_43 name_0 !s_1 a_2 = let decl_level_1_0 = CodeGeneratorJS.findLocalVar_42 name_0 (CodeGeneratorJS.get_cs_current_vars_3 s_1) in <{CodeGeneratorJS._c;380;18_64}> decl_level_1_0 a_2 s_1 name_0 <{CodeGeneratorJS._c;380;18_64}> !decl_level_0 a_1 s_2 name_3 = if (<{StdInt.==_16}> decl_level_0 0) (<{StringAppender.<++_7}> a_1 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_2) name_3)) (<{CodeGeneratorJS._c;380;18_64_def0}> decl_level_0 a_1 s_2 name_3) <{CodeGeneratorJS._c;380;18_64_def0}> !decl_level_0 a_1 s_2 name_3 = <{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_1 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_2) name_3)) "_") decl_level_0 CodeGeneratorJS.isdynamic !_x_0 = select _x_0 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ name_1_0 _x_1_1 = if (FastString.startsWith "_SystemDynamic." name_1_0) True False) (\ name_1_0 = if (FastString.startsWith "_SystemDynamic." name_1_0) True False) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 = CodeGeneratorJS.isdynamic_def0 _x_0) (CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isdynamic_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isdynamic_def0 _x_0) CodeGeneratorJS.isdynamic_def0 !_x_0 = False CodeGeneratorJS.isTailRecursive name_0 !_x_1 = select _x_1 (\ body_1_0 _x_1_1 = CodeGeneratorJS.isTailRecursive name_0 body_1_0) (\ _uv1_1_0 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ _uv1_1_0 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ aname_1_0 _x_1_1 = <{StdString.==_2}> (CodeGeneratorJS.unpackName name_0) (CodeGeneratorJS.unpackName aname_1_0)) (\ pred_1_0 lhs_1_1 rhs_1_2 = if (CodeGeneratorJS.isTailRecursive name_0 lhs_1_1) True (CodeGeneratorJS.isTailRecursive name_0 rhs_1_2)) (\ args_1_0 = StdList.any (CodeGeneratorJS.isTailRecursive name_0) args_1_0) (CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isTailRecursive_def0 name_0 _x_1) CodeGeneratorJS.isTailRecursive_def0 name_0 !_x_1 = False CodeGeneratorJS.func_name_37 s_0 name_1 a_2 = <{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_0) (CodeGeneratorJS.unpackName name_1)) CodeGeneratorJS.mta_2_36 !_x_0 i_1 s_2 a_3 = select _x_0 (\ fa_1_0 fargs_1_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_3 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_2) (CodeGeneratorJS.unpackName fa_1_0))) "=t") i_1) ";") (CodeGeneratorJS.mta_2_36 fargs_1_1 (<{StdInt.+_6}> i_1 1) s_2)) a_3 CodeGeneratorJS.isStrictEq_39 name_0 !_x_1 = select _x_1 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ aname_1_0 = <{StdString.==_2}> aname_1_0 name_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isStrictEq_39_def0 name_0 _x_1) CodeGeneratorJS.isStrictEq_39_def0 name_0 !_x_1 = False CodeGeneratorJS.inline !_x_0 = select _x_0 (\ _x_1_0 _x_1_1 = False) (\ _uv1_1_0 = CodeGeneratorJS.inline_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.inline_def0 _x_0) (\ _uv1_1_0 = CodeGeneratorJS.inline_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.inline_def0 _x_0) (\ _x_1_0 _x_1_1 _x_1_2 = False) (\ _x_1_0 = False) (CodeGeneratorJS.inline_def0 _x_0) (\ _x_1_0 _x_1_1 = False) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.inline_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.inline_def0 _x_0) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.inline_def0 _x_0) CodeGeneratorJS.inline_def0 !_x_0 = True CodeGeneratorJS.func_name_41 s_0 name_1 a_2 = <{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_0) (CodeGeneratorJS.unpackName name_1)) CodeGeneratorJS.pushArgs !s_0 !_x_1 = select _x_1 (\ t_1_0 ts_1_1 = CodeGeneratorJS.pushArgs (CodeGeneratorJS.set_cs_current_vars_3 s_0 (_predefined._Cons t_1_0 (CodeGeneratorJS.get_cs_current_vars_3 s_0))) ts_1_1) s_0 CodeGeneratorJS.func_name_46 s_0 name_1 a_2 = <{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_0) (CodeGeneratorJS.unpackName name_1)) CodeGeneratorJS._lc_33 !<{_v+_0}> !_vone_1 !_vtoString_2 !<{_v<_3}> g_i_4 g_s_5 = if (StdBool.not (<{StdOverloaded.get_<_7}> <{_v<_3}> g_s_5 g_i_4)) (_predefined._Cons (SaplParser.SName (<{StdString.+++_11}> "a" (StdOverloaded.get_toString_25 _vtoString_2 g_i_4)) 0) (CodeGeneratorJS._lc_33 <{_v+_0}> _vone_1 _vtoString_2 <{_v<_3}> (<{StdOverloaded.get_+_0}> <{_v+_0}> g_i_4 (StdOverloaded.get_one_5 _vone_1)) g_s_5)) _predefined._Nil CodeGeneratorJS.isDependent vs_0 !_x_1 = select _x_1 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _uv1_1_0 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _x_1_0 _x_1_1 = StdList.isMember (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) _x_1 vs_0) (\ _uv1_1_0 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ f_1_0 as_1_1 = StdList.any (CodeGeneratorJS.isDependent vs_0) (_predefined._Cons f_1_0 as_1_1)) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _uv1_1_0 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.isDependent_def0 vs_0 _x_1) CodeGeneratorJS.isDependent_def0 vs_0 !_x_1 = False CodeGeneratorJS.deStrictIfNeeded !_x_0 vs_1 = select _x_0 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) (\ var_1_0 body_1_1 = if (CodeGeneratorJS.isDependent vs_1 body_1_1) (SaplParser.SLetDefinition var_1_0 body_1_1) (CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1)) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.deStrictIfNeeded_def0 _x_0 vs_1) CodeGeneratorJS.deStrictIfNeeded_def0 !_x_0 vs_1 = _x_0 CodeGeneratorJS.extractName_47 !_x_0 = select _x_0 nomatch nomatch nomatch nomatch nomatch nomatch nomatch nomatch nomatch (\ name_1_0 _x_1_1 = name_1_0) (\ name_1_0 _x_1_1 = name_1_0) nomatch CodeGeneratorJS._lc_54 !_vone_0 !_vtoString_1 !<{_v<_2}> g_i_3 g_s_4 = if (StdBool.not (<{StdOverloaded.get_<_7}> <{_v<_2}> g_s_4 g_i_3)) (_predefined._Cons (SaplParser.SName (<{StdString.+++_11}> "a" (StdOverloaded.get_toString_25 _vtoString_1 g_i_3)) 0) (CodeGeneratorJS._lc_54 _vone_0 _vtoString_1 <{_v<_2}> (<{StdInt.+_6}> g_i_3 (StdOverloaded.get_one_5 _vone_0)) g_s_4)) _predefined._Nil CodeGeneratorJS._lc_55 !_vtoString_0 !<{_v<_1}> g_i_2 g_s_3 = if (StdBool.not (<{StdOverloaded.get_<_7}> <{_v<_1}> g_s_3 g_i_2)) (_predefined._Cons (SaplParser.SName (<{StdString.+++_11}> "a" (StdOverloaded.get_toString_25 _vtoString_0 g_i_2)) 0) (CodeGeneratorJS._lc_55 _vtoString_0 <{_v<_1}> (<{StdInt.+_6}> g_i_2 StdInt.one_11) g_s_3)) _predefined._Nil CodeGeneratorJS._lc_56 !<{_v<_0}> g_i_1 g_s_2 = if (StdBool.not (<{StdOverloaded.get_<_7}> <{_v<_0}> g_s_2 g_i_1)) (_predefined._Cons (SaplParser.SName (<{StdString.+++_11}> "a" (StdString.toString_5 g_i_1)) 0) (CodeGeneratorJS._lc_56 <{_v<_0}> (<{StdInt.+_6}> g_i_1 StdInt.one_11) g_s_2)) _predefined._Nil CodeGeneratorJS._lc_57 !g_i_0 !g_s_1 = if (StdBool.not (<{StdInt.<_17}> g_s_1 g_i_0)) (_predefined._Cons (SaplParser.SName (<{StdString.+++_11}> "a" (StdString.toString_5 g_i_0)) 0) (CodeGeneratorJS._lc_57 (<{StdInt.+_6}> g_i_0 StdInt.one_11) g_s_1)) _predefined._Nil CodeGeneratorJS.selectArgs_44 !_x_0 s_1 i_2 a_3 = select _x_0 (\ t_1_0 ts_1_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> a_3 "case ") (StdString.toString_5 i_2)) ":") (CodeGeneratorJS.callWrapper t_1_0 s_1)) (CodeGeneratorJS.selectArgs_44 ts_1_1 s_1 (<{StdInt.+_6}> i_2 1))) a_3 CodeGeneratorJS.lambdaArgs_45 !_x_0 i_1 s_2 a_3 = select _x_0 (\ t_1_0 _x_1_1 = select _x_1_1 (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.lambdaArgs_45_def0 t_1_0 _x_1_1 _x_0 i_1 s_2 a_3) (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_3 (CodeGeneratorJS.termCoder t_1_0 s_2)) "=ys[") (<{StdInt.+_6}> i_1 2)) "];")) a_3 CodeGeneratorJS.lambdaArgs_45_def0 t_0 _x_1 !_x_2 i_3 s_4 a_5 = <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_5 (CodeGeneratorJS.termCoder t_0 s_4)) "=ys[") (<{StdInt.+_6}> i_3 2)) "],") (CodeGeneratorJS.lambdaArgs_45 _x_1 (<{StdInt.+_6}> i_3 1) s_4) CodeGeneratorJS.constructorCoder name_0 id_1 args_2 s_3 a_4 = <{StringAppender.<++_4}> (<{CodeGeneratorJS._c;187;11_79}> (StdList.length_47 args_2) a_4 name_0 s_3 args_2 id_1) "];};" CodeGeneratorJS.letDefCoder !_x_0 s_1 a_2 = select _x_0 (\ t_1_0 _x_1_1 = select _x_1_1 (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.letDefCoder_def0 t_1_0 _x_1_1 _x_0 s_1 a_2) (CodeGeneratorJS.termCoder t_1_0 (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing) a_2)) a_2 CodeGeneratorJS.letDefCoder_def0 t_0 _x_1 !_x_2 s_3 a_4 = let rs_1_0 = StdList.tl (Maybe.fromJust (CodeGeneratorJS.get_cs_inletdef_2 s_3)) in <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_4 (CodeGeneratorJS.termCoder (CodeGeneratorJS.deStrictIfNeeded t_0 rs_1_0) (CodeGeneratorJS.set_cs_intrfunc_1 s_3 Maybe.Nothing))) ",") (CodeGeneratorJS.letDefCoder _x_1 (CodeGeneratorJS.set_cs_inletdef_2 s_3 (Maybe.Just rs_1_0))) CodeGeneratorJS.anon_40 s_0 !inlinefunc_1 !t_2 a_3 = <{CodeGeneratorJS._if;330;22_78}> (_predefined.tupsels3v2 (Maybe.fromJust inlinefunc_1)) t_2 (CodeGeneratorJS.set_cs_intrfunc_1 s_0 Maybe.Nothing) a_3 CodeGeneratorJS.trampolineCoder !t_0 s_1 a_2 = select t_0 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ name_1_0 _x_1_1 = let constructor_args_2_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_0 (CodeGeneratorJS.get_cs_constructors_4 s_1) in CodeGeneratorJS.trampolineCoder_select1 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) (\ _uv1_1_0 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ name_1_0 args_1_1 = let constructor_args_2_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) name_1_0 (CodeGeneratorJS.get_cs_constructors_4 s_1) in CodeGeneratorJS.trampolineCoder_select5 constructor_args_2_0 name_1_0 args_1_1 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.trampolineCoder_def0 t_0 s_1 a_2) CodeGeneratorJS.trampolineCoder_select0 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (Maybe.isJust constructor_args_2_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust constructor_args_2_0)) 0) False CodeGeneratorJS.trampolineCoder_select1 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.trampolineCoder_select0 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "()") (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.termCoder t_0 s_1)) CodeGeneratorJS.trampolineCoder_select2 constructor_args_2_0 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust constructor_args_2_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust constructor_args_2_0)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.trampolineCoder_select3 inlinefunc_3_0 constructor_args_2_0 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust inlinefunc_3_0) (<{StdInt.==_16}> (_predefined.tupsels3v1 (Maybe.fromJust inlinefunc_3_0)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.trampolineCoder_select4 inlinefunc_3_0 constructor_args_2_0 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.trampolineCoder_select3 inlinefunc_3_0 constructor_args_2_0 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "(") (_predefined.tupsels3v0 (Maybe.fromJust inlinefunc_3_0) (CodeGeneratorJS.anon_40 s_1 inlinefunc_3_0) args_1_1)) ")") (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.termCoder t_0 s_1)) CodeGeneratorJS.trampolineCoder_select5 constructor_args_2_0 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.trampolineCoder_select2 constructor_args_2_0 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.func_name_41 s_1 name_1_0)) "(") (CodeGeneratorJS.make_app_args name_1_0 args_1_1 s_1)) ")") (let inlinefunc_3_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{StdString.==_2}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{StdString.<_3}>)) (CodeGeneratorJS.unpackName name_1_0) (CodeGeneratorJS.get_cs_inlinefuncs_8 s_1) in CodeGeneratorJS.trampolineCoder_select4 inlinefunc_3_0 constructor_args_2_0 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.trampolineCoder_def0 !t_0 s_1 a_2 = CodeGeneratorJS.termCoder t_0 s_1 a_2 CodeGeneratorJS.callWrapper !t_0 s_1 a_2 = if (StdBool.not (CodeGeneratorJS.inline t_0)) (CodeGeneratorJS.termCoder t_0 s_1 a_2) (if (CodeGeneratorJS.callWrapper_select0 t_0 s_1 a_2) (CodeGeneratorJS.forceTermCoder t_0 s_1 a_2) (if (CodeGeneratorJS.get_cs_trampoline_9 s_1) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "return ") (CodeGeneratorJS.trampolineCoder t_0 s_1)) ";") (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "return ") (CodeGeneratorJS.forceTermCoder t_0 s_1)) ";"))) CodeGeneratorJS.callWrapper_select0 !t_0 s_1 a_2 = if (Maybe.isJust (CodeGeneratorJS.get_cs_intrfunc_1 s_1)) (CodeGeneratorJS.isTailRecursive (Maybe.fromJust (CodeGeneratorJS.get_cs_intrfunc_1 s_1)) t_0) False CodeGeneratorJS.anon_34 s_0 !inlinefunc_1 !t_2 a_3 = <{CodeGeneratorJS._if;264;22_77}> (_predefined.tupsels3v2 (Maybe.fromJust inlinefunc_1)) t_2 (CodeGeneratorJS.set_cs_intrfunc_1 s_0 Maybe.Nothing) a_3 CodeGeneratorJS.maa__32 !_x_0 !_x_1 i_2 s_3 a_4 = select _x_0 (\ _x_1_0 fargs_1_1 = select _x_1_0 (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _x_2_0 = select _x_1 (\ aa_3_0 aargs_3_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;170;15_74}> (<{StdInt.<_17}> 0 i_2) a_4) (CodeGeneratorJS.forceTermCoder aa_3_0 s_3)) (CodeGeneratorJS.maa__32 fargs_1_1 aargs_3_1 (<{StdInt.+_6}> i_2 1) s_3)) (CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4)) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 _uv3_2_2 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 _uv3_2_2 = CodeGeneratorJS.maa__32_def1 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4)) (select _x_1 (\ aa_2_0 aargs_2_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;176;15_76}> (<{StdInt.<_17}> 0 i_2) a_4) (CodeGeneratorJS.termCoder aa_2_0 s_3)) (CodeGeneratorJS.maa__32 _predefined._Nil aargs_2_1 (<{StdInt.+_6}> i_2 1) s_3)) (CodeGeneratorJS.maa__32_def0 _x_0 _x_1 i_2 s_3 a_4)) CodeGeneratorJS.maa__32_def0 !_x_0 !_x_1 i_2 s_3 a_4 = select _x_1 nomatch a_4 CodeGeneratorJS.maa__32_def1 _x_0 fargs_1 !_x_2 !_x_3 i_4 s_5 a_6 = select _x_3 (\ aa_1_0 aargs_1_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;173;15_75}> (<{StdInt.<_17}> 0 i_4) a_6) (CodeGeneratorJS.termCoder aa_1_0 s_5)) (CodeGeneratorJS.maa__32 fargs_1 aargs_1_1 (<{StdInt.+_6}> i_4 1) s_5)) nomatch CodeGeneratorJS.make_app_args !func_0 args_1 !s_2 a_3 = <{CodeGeneratorJS._c;164;7_73}> (Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) func_0 (CodeGeneratorJS.get_cs_functions_5 s_2)) a_3 args_1 s_2 CodeGeneratorJS.mta_1_35 !_x_0 _x_1 i_2 s_3 a_4 = select _x_0 (\ _x_1_0 fargs_1_1 = select _x_1_0 (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _x_2_0 = select _x_1 (\ aa_3_0 aargs_3_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;290;19_71}> (<{StdInt.<_17}> 0 i_2) a_4) "t") i_2) "=") (CodeGeneratorJS.forceTermCoder aa_3_0 s_3)) (CodeGeneratorJS.mta_1_35 fargs_1_1 aargs_3_1 (<{StdInt.+_6}> i_2 1) s_3)) (CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4)) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 _uv3_2_2 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4) (\ _uv1_2_0 _uv2_2_1 _uv3_2_2 = CodeGeneratorJS.mta_1_35_def0 _x_1_0 fargs_1_1 _x_0 _x_1 i_2 s_3 a_4)) a_4 CodeGeneratorJS.mta_1_35_def0 _x_0 fargs_1 !_x_2 _x_3 i_4 s_5 a_6 = select _x_3 (\ aa_1_0 aargs_1_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;293;19_72}> (<{StdInt.<_17}> 0 i_4) a_6) "t") i_4) "=") (CodeGeneratorJS.termCoder aa_1_0 s_5)) (CodeGeneratorJS.mta_1_35 fargs_1 aargs_1_1 (<{StdInt.+_6}> i_4 1) s_5)) nomatch CodeGeneratorJS.make_tr_app_38 tr_function_args_0 args_1 s_2 a_3 = <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_3 "var ") (CodeGeneratorJS.mta_1_35 tr_function_args_0 args_1 0 s_2)) ";") (CodeGeneratorJS.mta_2_36 tr_function_args_0 0 s_2)) "continue;" CodeGeneratorJS.forceTermCoder !t_0 s_1 a_2 = select t_0 (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ name_1_0 _x_1_1 = if (StdList.any (CodeGeneratorJS.isStrictEq_39 name_1_0) (CodeGeneratorJS.get_cs_current_vars_3 s_1)) (CodeGeneratorJS.termCoder t_0 s_1 a_2) (if (StdList.isMember (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) t_0 (CodeGeneratorJS.get_cs_current_vars_3 s_1)) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "Sapl.feval(") (CodeGeneratorJS.termCoder t_0 s_1)) ")") (let constructor_args_2_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_0 (CodeGeneratorJS.get_cs_constructors_4 s_1) in CodeGeneratorJS.forceTermCoder_select5 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2))) (\ _uv1_1_0 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ name_1_0 args_1_1 = if (CodeGeneratorJS.isdynamic name_1_0) (<{StringAppender.<++_4}> a_2 "[__dynamic_handler]") (if (StdList.isMember (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) name_1_0 (CodeGeneratorJS.get_cs_current_vars_3 s_1)) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "Sapl.feval(") (CodeGeneratorJS.termCoder t_0 s_1)) ")") (let constructor_args_2_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) name_1_0 (CodeGeneratorJS.get_cs_constructors_4 s_1), function_args_2_1 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) name_1_0 (CodeGeneratorJS.get_cs_functions_5 s_1) in CodeGeneratorJS.forceTermCoder_select20 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2))) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) (\ _uv1_1_0 _uv2_1_1 _uv3_1_2 = CodeGeneratorJS.forceTermCoder_def0 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select0 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (Maybe.isJust constructor_args_2_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust constructor_args_2_0)) 0) False CodeGeneratorJS.forceTermCoder_select1 function_args_3_0 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (Maybe.isJust function_args_3_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust function_args_3_0)) 0) False CodeGeneratorJS.forceTermCoder_select2 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (Maybe.isJust (Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_0 (CodeGeneratorJS.get_cs_CAFs_6 s_1))) True (let function_args_3_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_0 (CodeGeneratorJS.get_cs_functions_5 s_1) in CodeGeneratorJS.forceTermCoder_select1 function_args_3_0 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select3 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.get_cs_trampoline_9 s_1) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;309;15_69}> (CodeGeneratorJS.get_cs_trampoline_9 s_1) a_2) (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "()") ")") (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;309;15_70}> (CodeGeneratorJS.get_cs_trampoline_9 s_1) a_2) (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "()") CodeGeneratorJS.forceTermCoder_select4 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select2 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) (CodeGeneratorJS.forceTermCoder_select3 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "Sapl.feval(") (CodeGeneratorJS.termCoder t_0 s_1)) ")") CodeGeneratorJS.forceTermCoder_select5 constructor_args_2_0 name_1_0 _x_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select0 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "()") (CodeGeneratorJS.forceTermCoder_select4 constructor_args_2_0 name_1_0 _x_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select6 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust constructor_args_2_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust constructor_args_2_0)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.forceTermCoder_select7 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust function_args_2_1) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust function_args_2_1)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.forceTermCoder_select8 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select6 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) True (CodeGeneratorJS.forceTermCoder_select7 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select9 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust (CodeGeneratorJS.get_cs_intrfunc_1 s_1)) (CodeGeneratorJS.isTailRecursive (Maybe.fromJust (CodeGeneratorJS.get_cs_intrfunc_1 s_1)) t_0) False CodeGeneratorJS.forceTermCoder_select10 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.get_cs_trampoline_9 s_1) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;254;24_67}> (CodeGeneratorJS.get_cs_trampoline_9 s_1) a_2) (CodeGeneratorJS.func_name_37 s_1 name_1_0)) "(") (CodeGeneratorJS.make_app_args name_1_0 args_1_1 (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) ")") ")") (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{CodeGeneratorJS._if;254;24_68}> (CodeGeneratorJS.get_cs_trampoline_9 s_1) a_2) (CodeGeneratorJS.func_name_37 s_1 name_1_0)) "(") (CodeGeneratorJS.make_app_args name_1_0 args_1_1 (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) ")") CodeGeneratorJS.forceTermCoder_select11 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select9 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.make_tr_app_38 (Maybe.fromJust (Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) (Maybe.fromJust (CodeGeneratorJS.get_cs_intrfunc_1 s_1)) (CodeGeneratorJS.get_cs_functions_5 s_1))) args_1_1 (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) (CodeGeneratorJS.forceTermCoder_select10 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select12 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust function_args_2_1) (<{StdInt.<_17}> (StdList.length_47 (Maybe.fromJust function_args_2_1)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.forceTermCoder_select13 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust inlinefunc_3_0) (<{StdInt.==_16}> (_predefined.tupsels3v1 (Maybe.fromJust inlinefunc_3_0)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.forceTermCoder_select14 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust builtin_4_0) (<{StdInt.==_16}> (_predefined.tupsels2v1 (Maybe.fromJust builtin_4_0)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.forceTermCoder_select15 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isNothing function_args_2_1) (Maybe.isNothing builtin_4_0) False CodeGeneratorJS.forceTermCoder_select16 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select15 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "Sapl.feval(") (CodeGeneratorJS.termCoder t_0 s_1)) ")") (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.termCoder t_0 s_1)) CodeGeneratorJS.forceTermCoder_select17 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select14 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.func_name_37 s_1 name_1_0)) "(") (CodeGeneratorJS.make_app_args name_1_0 args_1_1 (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) ")") (CodeGeneratorJS.forceTermCoder_select16 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select18 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select13 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "(") (_predefined.tupsels3v0 (Maybe.fromJust inlinefunc_3_0) (CodeGeneratorJS.anon_34 s_1 inlinefunc_3_0) args_1_1)) ")") (let builtin_4_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{StdString.==_2}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{StdString.<_3}>)) (CodeGeneratorJS.unpackName name_1_0) (CodeGeneratorJS.get_cs_builtins_7 s_1) in CodeGeneratorJS.forceTermCoder_select17 builtin_4_0 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select19 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select12 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "Sapl.feval(") (CodeGeneratorJS.termCoder t_0 s_1)) ")") (let inlinefunc_3_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{StdString.==_2}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{StdString.<_3}>)) (CodeGeneratorJS.unpackName name_1_0) (CodeGeneratorJS.get_cs_inlinefuncs_8 s_1) in CodeGeneratorJS.forceTermCoder_select18 inlinefunc_3_0 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_select20 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.forceTermCoder_select8 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (CodeGeneratorJS.forceTermCoder_select11 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) (CodeGeneratorJS.forceTermCoder_select19 constructor_args_2_0 function_args_2_1 name_1_0 args_1_1 t_0 s_1 a_2) CodeGeneratorJS.forceTermCoder_def0 !t_0 s_1 a_2 = CodeGeneratorJS.termCoder t_0 s_1 a_2 CodeGeneratorJS.termCoder !t_0 s_1 a_2 = select t_0 (\ body_1_0 args_1_1 = let s_2_0 = CodeGeneratorJS.pushArgs s_1 args_1_1 in <{StringAppender.<++_7}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "var ") (CodeGeneratorJS.lambdaArgs_45 args_1_1 0 s_2_0)) (CodeGeneratorJS.callWrapper body_1_0 s_2_0)) (\ _x_1_0 = select _x_1_0 (\ str_2_0 = <{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> a_2 "\"") str_2_0) "\"") (\ chr_2_0 = <{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> a_2 "'") chr_2_0) "'") (\ int_2_0 = <{StringAppender.<++_5}> a_2 int_2_0) (\ real_2_0 = <{StringAppender.<++_6}> a_2 real_2_0) (\ _x_2_0 = if _x_2_0 (<{StringAppender.<++_4}> a_2 "true") (<{StringAppender.<++_4}> a_2 "false"))) (\ name_1_0 level_1_1 = let isLocalVar_2_0 = StdList.isMember (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) t_0 (CodeGeneratorJS.get_cs_current_vars_3 s_1) in CodeGeneratorJS.termCoder_select9 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) (\ name_1_0 = <{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) (\ name_1_0 args_1_1 = if (CodeGeneratorJS.isdynamic name_1_0) (<{StringAppender.<++_4}> a_2 "[__dynamic_handler]") (let constructor_args_2_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) name_1_0 (CodeGeneratorJS.get_cs_constructors_4 s_1) in CodeGeneratorJS.termCoder_select11 constructor_args_2_0 name_1_0 args_1_1 t_0 s_1 a_2)) (\ pred_1_0 lhs_1_1 rhs_1_2 = <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "if(") (CodeGeneratorJS.forceTermCoder pred_1_0 (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) "){") (CodeGeneratorJS.callWrapper lhs_1_1 s_1)) "}else{") (CodeGeneratorJS.callWrapper rhs_1_2 s_1)) "}") (\ args_1_0 = if (<{StdInt.<_17}> 2 (StdList.length_47 args_1_0)) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "var ys=") (CodeGeneratorJS.forceTermCoder (StdList.hd args_1_0) (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) ";") "switch(ys[0]){") (CodeGeneratorJS.selectArgs_44 (StdList.tl args_1_0) s_1 0)) "}") (CodeGeneratorJS.callWrapper (StdList.hd (StdList.tl args_1_0)) s_1 (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "var ys=") (CodeGeneratorJS.forceTermCoder (StdList.hd args_1_0) (CodeGeneratorJS.set_cs_intrfunc_1 s_1 Maybe.Nothing))) ";"))) nomatch (\ body_1_0 defs_1_1 = let defnames_2_0 = StdList.map CodeGeneratorJS.extractName_47 defs_1_1, s_2_1 = CodeGeneratorJS.pushArgs s_1 defnames_2_0 in <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "var ") (CodeGeneratorJS.letDefCoder defs_1_1 (CodeGeneratorJS.set_cs_inletdef_2 s_2_1 (Maybe.Just defnames_2_0)))) ";\n ") (CodeGeneratorJS.callWrapper body_1_0 s_2_1)) ";") (\ name_1_0 body_1_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.termCoder name_1_0 (CodeGeneratorJS.set_cs_inletdef_2 s_1 Maybe.Nothing))) "=") (CodeGeneratorJS.termCoder body_1_1 s_1)) (\ name_1_0 body_1_1 = <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.termCoder name_1_0 (CodeGeneratorJS.set_cs_inletdef_2 s_1 Maybe.Nothing))) "=") (CodeGeneratorJS.forceTermCoder body_1_1 s_1)) (\ name_1_0 id_1_1 args_1_2 = CodeGeneratorJS.constructorCoder name_1_0 id_1_1 args_1_2 s_1 a_2) CodeGeneratorJS.termCoder_select0 constructor_args_3_0 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (Maybe.isJust constructor_args_3_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust constructor_args_3_0)) 0) False CodeGeneratorJS.termCoder_select1 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (StdBool.not isLocalVar_2_0) (let constructor_args_3_0 = Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_0 (CodeGeneratorJS.get_cs_constructors_4 s_1) in CodeGeneratorJS.termCoder_select0 constructor_args_3_0 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) False CodeGeneratorJS.termCoder_select2 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.get_cs_inbody_0 s_1) (CodeGeneratorJS.termCoder_select1 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) False CodeGeneratorJS.termCoder_select3 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (StdBool.not isLocalVar_2_0) (Maybe.isJust (Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_0 (CodeGeneratorJS.get_cs_CAFs_6 s_1))) False CodeGeneratorJS.termCoder_select4 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.get_cs_inbody_0 s_1) (CodeGeneratorJS.termCoder_select3 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) False CodeGeneratorJS.termCoder_select5 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (Maybe.isJust (CodeGeneratorJS.get_cs_inletdef_2 s_1)) (StdList.isMember (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) t_0 (Maybe.fromJust (CodeGeneratorJS.get_cs_inletdef_2 s_1))) False CodeGeneratorJS.termCoder_select6 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.termCoder_select5 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "[function(){return Sapl.feval(") (CodeGeneratorJS.var_name_43 name_1_0 s_1)) ");},[]]") (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.var_name_43 name_1_0 s_1)) CodeGeneratorJS.termCoder_select7 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS._f66_66 (CodeGeneratorJS.get_cs_inbody_0 s_1) isLocalVar_2_0 t_0 s_1) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "$eval") (CodeGeneratorJS.termCoder_select6 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) CodeGeneratorJS.termCoder_select8 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.termCoder_select4 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "()") (CodeGeneratorJS.termCoder_select7 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) CodeGeneratorJS.termCoder_select9 isLocalVar_2_0 name_1_0 level_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.termCoder_select2 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.escapeName (CodeGeneratorJS.get_cs_prefix_10 s_1) name_1_0)) "()") (CodeGeneratorJS.termCoder_select8 isLocalVar_2_0 name_1_0 level_1_1 t_0 s_1 a_2) CodeGeneratorJS.termCoder_select10 constructor_args_2_0 name_1_0 args_1_1 !t_0 s_1 a_2 = if (Maybe.isJust constructor_args_2_0) (<{StdInt.==_16}> (StdList.length_47 (Maybe.fromJust constructor_args_2_0)) (StdList.length_47 args_1_1)) False CodeGeneratorJS.termCoder_select11 constructor_args_2_0 name_1_0 args_1_1 !t_0 s_1 a_2 = if (CodeGeneratorJS.termCoder_select10 constructor_args_2_0 name_1_0 args_1_1 t_0 s_1 a_2) (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.func_name_46 s_1 name_1_0)) "(") (CodeGeneratorJS.make_app_args name_1_0 args_1_1 s_1)) ")") (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_2 "[") (CodeGeneratorJS.termCoder name_1_0 s_1)) ",[") (CodeGeneratorJS.termArrayCoder args_1_1 "," s_1)) "]]") CodeGeneratorJS.termArrayCoder !_x_0 sep_1 s_2 a_3 = select _x_0 (\ t_1_0 _x_1_1 = select _x_1_1 (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.termArrayCoder_def0 t_1_0 _x_1_1 _x_0 sep_1 s_2 a_3) (CodeGeneratorJS.termCoder t_1_0 s_2 a_3)) a_3 CodeGeneratorJS.termArrayCoder_def0 t_0 _x_1 !_x_2 sep_3 s_4 a_5 = <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> a_5 (CodeGeneratorJS.termCoder t_0 s_4)) sep_3) (CodeGeneratorJS.termArrayCoder _x_1 sep_3 s_4) <{CodeGeneratorJS._c;187;11_79}> !_x_0 a_1 name_2 s_3 args_4 id_5 = if (<{StdInt.==_16}> _x_0 0) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_1 "function ") (CodeGeneratorJS.termCoder name_2 s_3)) "(") (CodeGeneratorJS.termArrayCoder (CodeGeneratorJS._lc_57 1 (StdList.length_47 args_4)) "," s_3)) "){return [") id_5) ",'") (CodeGeneratorJS.unpackName name_2)) "'") (<{CodeGeneratorJS._c;187;11_79_def0}> _x_0 a_1 name_2 s_3 args_4 id_5) <{CodeGeneratorJS._c;187;11_79_def0}> !_x_0 a_1 name_2 s_3 args_4 id_5 = let newargs_1_0 = CodeGeneratorJS._lc_57 1 (StdList.length_47 args_4) in <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_5}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> a_1 "function ") (CodeGeneratorJS.termCoder name_2 s_3)) "(") (CodeGeneratorJS.termArrayCoder newargs_1_0 "," s_3)) "){return [") id_5) ",'") (CodeGeneratorJS.unpackName name_2)) "'") ",") (CodeGeneratorJS.termArrayCoder newargs_1_0 "," s_3) <{CodeGeneratorJS._if;330;22_78}> !_x_0 = if (<{StdBool.==_3}> _x_0 True) CodeGeneratorJS.termCoder (<{CodeGeneratorJS._if;330;22_78_def0}> _x_0) <{CodeGeneratorJS._if;330;22_78_def0}> !_x_0 = CodeGeneratorJS.forceTermCoder <{CodeGeneratorJS._if;264;22_77}> !_x_0 = if (<{StdBool.==_3}> _x_0 True) CodeGeneratorJS.termCoder (<{CodeGeneratorJS._if;264;22_77_def0}> _x_0) <{CodeGeneratorJS._if;264;22_77_def0}> !_x_0 = CodeGeneratorJS.forceTermCoder <{CodeGeneratorJS._if;176;15_76}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 ",") (<{CodeGeneratorJS._if;176;15_76_def0}> _x_0 a_1) <{CodeGeneratorJS._if;176;15_76_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;173;15_75}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 ",") (<{CodeGeneratorJS._if;173;15_75_def0}> _x_0 a_1) <{CodeGeneratorJS._if;173;15_75_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;170;15_74}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 ",") (<{CodeGeneratorJS._if;170;15_74_def0}> _x_0 a_1) <{CodeGeneratorJS._if;170;15_74_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._c;164;7_73}> !_x_0 a_1 args_2 s_3 = select _x_0 (<{CodeGeneratorJS._c;164;7_73_def0}> _x_0 a_1 args_2 s_3) (\ func_args_1_0 = <{StringAppender.<++_7}> a_1 (CodeGeneratorJS.maa__32 func_args_1_0 args_2 0 s_3)) <{CodeGeneratorJS._c;164;7_73_def0}> !_x_0 a_1 args_2 s_3 = <{StringAppender.<++_7}> a_1 (CodeGeneratorJS.maa__32 _predefined._Nil args_2 0 s_3) <{CodeGeneratorJS._if;293;19_72}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 ",") (<{CodeGeneratorJS._if;293;19_72_def0}> _x_0 a_1) <{CodeGeneratorJS._if;293;19_72_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;290;19_71}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 ",") (<{CodeGeneratorJS._if;290;19_71_def0}> _x_0 a_1) <{CodeGeneratorJS._if;290;19_71_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;309;15_70}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 "Sapl.feval(") (<{CodeGeneratorJS._if;309;15_70_def0}> _x_0 a_1) <{CodeGeneratorJS._if;309;15_70_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;309;15_69}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 "Sapl.feval(") (<{CodeGeneratorJS._if;309;15_69_def0}> _x_0 a_1) <{CodeGeneratorJS._if;309;15_69_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;254;24_68}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 "Sapl.feval(") (<{CodeGeneratorJS._if;254;24_68_def0}> _x_0 a_1) <{CodeGeneratorJS._if;254;24_68_def0}> !_x_0 a_1 = a_1 <{CodeGeneratorJS._if;254;24_67}> !_x_0 a_1 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> a_1 "Sapl.feval(") (<{CodeGeneratorJS._if;254;24_67_def0}> _x_0 a_1) <{CodeGeneratorJS._if;254;24_67_def0}> !_x_0 a_1 = a_1 CodeGeneratorJS._f66_66 !_x_0 isLocalVar_1 t_2 s_3 = if (<{StdBool.==_3}> _x_0 True) (if (StdBool.not isLocalVar_1) (<{CodeGeneratorJS._c;375;24_65}> (Map.get (<{StdClass.Eq;}> (<{StdOverloaded.==;}> <{SaplParser.==_3}>)) (<{StdClass.Ord;}> (<{StdOverloaded.<;}> <{SaplParser.<_4}>)) t_2 (CodeGeneratorJS.get_cs_functions_5 s_3))) False) (CodeGeneratorJS._f66_66_def0 _x_0 isLocalVar_1 t_2 s_3) CodeGeneratorJS._f66_66_def0 !_x_0 isLocalVar_1 t_2 s_3 = False <{CodeGeneratorJS._c;375;24_65}> !_x_0 = select _x_0 (<{CodeGeneratorJS._c;375;24_65_def0}> _x_0) (\ args_1_0 = StdList.any CodeGeneratorJS.isStrictName args_1_0) <{CodeGeneratorJS._c;375;24_65_def0}> !_x_0 = False CodeGeneratorJS.normalFunc name_0 body_1 args_2 s_3 a_4 = let s_1_0 = CodeGeneratorJS.set_cs_current_vars_3 (CodeGeneratorJS.set_cs_intrfunc_1 (CodeGeneratorJS.set_cs_inbody_0 s_3 True) (<{CodeGeneratorJS._if;136;30_80}> (CodeGeneratorJS.isTailRecursive name_0 body_1) name_0)) args_2 in <{StringAppender.<++_4}> (<{CodeGeneratorJS._if;141;11_87}> (Maybe.isJust (CodeGeneratorJS.get_cs_intrfunc_1 s_1_0)) body_1 s_1_0 args_2 s_3 a_4 name_0) "};" <{CodeGeneratorJS._if;141;11_87}> !_x_0 body_1 s_2 args_3 s_4 a_5 name_6 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (CodeGeneratorJS.callWrapper body_1 s_2 (<{CodeGeneratorJS._if;139;11_83}> (Maybe.isJust (CodeGeneratorJS.get_cs_intrfunc_1 s_2)) args_3 s_4 a_5 name_6)) "}") (<{CodeGeneratorJS._if;141;11_87_def0}> _x_0 body_1 s_2 args_3 s_4 a_5 name_6) <{CodeGeneratorJS._if;141;11_87_def0}> !_x_0 body_1 s_2 args_3 s_4 a_5 name_6 = CodeGeneratorJS.callWrapper body_1 s_2 (<{CodeGeneratorJS._if;139;11_86}> (Maybe.isJust (CodeGeneratorJS.get_cs_intrfunc_1 s_2)) args_3 s_4 a_5 name_6) <{CodeGeneratorJS._if;139;11_86}> !_x_0 args_1 s_2 a_3 name_4 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;126;11_84}> (StdList.any CodeGeneratorJS.isStrictName args_1) s_2 a_3 name_4 args_1) "function ") (CodeGeneratorJS.termCoder name_4 s_2)) "(") (CodeGeneratorJS.termArrayCoder args_1 "," s_2)) "){") "while(1){") (<{CodeGeneratorJS._if;139;11_86_def0}> _x_0 args_1 s_2 a_3 name_4) <{CodeGeneratorJS._if;139;11_86_def0}> !_x_0 args_1 s_2 a_3 name_4 = <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;126;11_85}> (StdList.any CodeGeneratorJS.isStrictName args_1) s_2 a_3 name_4 args_1) "function ") (CodeGeneratorJS.termCoder name_4 s_2)) "(") (CodeGeneratorJS.termArrayCoder args_1 "," s_2)) "){" <{CodeGeneratorJS._if;126;11_85}> !_x_0 s_1 a_2 name_3 args_4 = if (<{StdBool.==_3}> _x_0 True) (CodeGeneratorJS.makeStrictClosure_31 s_1 a_2 (CodeGeneratorJS.unpackName name_3) args_4) (<{CodeGeneratorJS._if;126;11_85_def0}> _x_0 s_1 a_2 name_3 args_4) <{CodeGeneratorJS._if;126;11_85_def0}> !_x_0 s_1 a_2 name_3 args_4 = a_2 <{CodeGeneratorJS._if;126;11_84}> !_x_0 s_1 a_2 name_3 args_4 = if (<{StdBool.==_3}> _x_0 True) (CodeGeneratorJS.makeStrictClosure_31 s_1 a_2 (CodeGeneratorJS.unpackName name_3) args_4) (<{CodeGeneratorJS._if;126;11_84_def0}> _x_0 s_1 a_2 name_3 args_4) <{CodeGeneratorJS._if;126;11_84_def0}> !_x_0 s_1 a_2 name_3 args_4 = a_2 <{CodeGeneratorJS._if;139;11_83}> !_x_0 args_1 s_2 a_3 name_4 = if (<{StdBool.==_3}> _x_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;126;11_81}> (StdList.any CodeGeneratorJS.isStrictName args_1) s_2 a_3 name_4 args_1) "function ") (CodeGeneratorJS.termCoder name_4 s_2)) "(") (CodeGeneratorJS.termArrayCoder args_1 "," s_2)) "){") "while(1){") (<{CodeGeneratorJS._if;139;11_83_def0}> _x_0 args_1 s_2 a_3 name_4) <{CodeGeneratorJS._if;139;11_83_def0}> !_x_0 args_1 s_2 a_3 name_4 = <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;126;11_82}> (StdList.any CodeGeneratorJS.isStrictName args_1) s_2 a_3 name_4 args_1) "function ") (CodeGeneratorJS.termCoder name_4 s_2)) "(") (CodeGeneratorJS.termArrayCoder args_1 "," s_2)) "){" <{CodeGeneratorJS._if;126;11_82}> !_x_0 s_1 a_2 name_3 args_4 = if (<{StdBool.==_3}> _x_0 True) (CodeGeneratorJS.makeStrictClosure_31 s_1 a_2 (CodeGeneratorJS.unpackName name_3) args_4) (<{CodeGeneratorJS._if;126;11_82_def0}> _x_0 s_1 a_2 name_3 args_4) <{CodeGeneratorJS._if;126;11_82_def0}> !_x_0 s_1 a_2 name_3 args_4 = a_2 <{CodeGeneratorJS._if;126;11_81}> !_x_0 s_1 a_2 name_3 args_4 = if (<{StdBool.==_3}> _x_0 True) (CodeGeneratorJS.makeStrictClosure_31 s_1 a_2 (CodeGeneratorJS.unpackName name_3) args_4) (<{CodeGeneratorJS._if;126;11_81_def0}> _x_0 s_1 a_2 name_3 args_4) <{CodeGeneratorJS._if;126;11_81_def0}> !_x_0 s_1 a_2 name_3 args_4 = a_2 <{CodeGeneratorJS._if;136;30_80}> !_x_0 name_1 = if (<{StdBool.==_3}> _x_0 True) (Maybe.Just name_1) (<{CodeGeneratorJS._if;136;30_80_def0}> _x_0 name_1) <{CodeGeneratorJS._if;136;30_80_def0}> !_x_0 name_1 = Maybe.Nothing CodeGeneratorJS.anon_27 s_0 a_1 !t_2 = CodeGeneratorJS.termCoder t_2 s_0 a_1 CodeGeneratorJS.recordFieldCoder !_x_0 a_1 = select _x_0 (\ t_1_0 _x_1_1 = select _x_1_1 (\ _uv1_2_0 _uv2_2_1 = CodeGeneratorJS.recordFieldCoder_def0 t_1_0 _x_1_1 _x_0 a_1) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> a_1 "\"") (CodeGeneratorJS.unpackName t_1_0)) "\"")) a_1 CodeGeneratorJS.recordFieldCoder_def0 t_0 _x_1 !_x_2 a_3 = <{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> a_3 "\"") (CodeGeneratorJS.unpackName t_0)) "\",") (CodeGeneratorJS.recordFieldCoder _x_1) CodeGeneratorJS.foldl_58 s_0 r_1 !_x_2 = select _x_2 (\ a_1_0 x_1_1 = CodeGeneratorJS.foldl_58 s_0 (CodeGeneratorJS.anon_27 s_0 r_1 a_1_0) x_1_1) r_1 CodeGeneratorJS.funcCoder !_x_0 s_1 a_2 = select _x_0 (\ name_1_0 args_1_1 = <{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_4}> (<{StringAppender.<++_7}> (<{StringAppender.<++_7}> a_2 (CodeGeneratorJS.constructorCoder name_1_0 0 args_1_1 s_1)) (CodeGeneratorJS.termCoder name_1_0 s_1)) ".fields=[") (CodeGeneratorJS.recordFieldCoder args_1_1)) "];") (\ name_1_0 args_1_1 = CodeGeneratorJS.foldl_58 s_1 a_2 args_1_1) (\ name_1_0 body_1_1 = CodeGeneratorJS.normalFunc name_1_0 body_1_1 _predefined._Nil s_1 a_2) (\ name_1_0 body_1_1 args_1_2 = CodeGeneratorJS.normalFunc name_1_0 body_1_1 args_1_2 s_1 a_2) (\ name_1_0 body_1_1 args_1_2 = CodeGeneratorJS.normalFunc name_1_0 body_1_1 args_1_2 s_1 a_2) CodeGeneratorJS.anon_48 state_0 a_1 curr_2 = <{StringAppender.<++_4}> a_1 (StringAppender.toString_3 (CodeGeneratorJS.funcCoder curr_2 state_0 StringAppender.newAppender)) CodeGeneratorJS.foldl_59 state_0 r_1 !_x_2 = select _x_2 (\ a_1_0 x_1_1 = CodeGeneratorJS.foldl_59 state_0 (CodeGeneratorJS.anon_48 state_0 r_1 a_1_0) x_1_1) r_1 CodeGeneratorJS.generateJS !f_0 !tramp_1 !saplsrc_2 = <{CodeGeneratorJS._c;469;7_89}> (SaplParser.parse (SaplTokenizer.tokensWithPositions saplsrc_2)) f_0 tramp_1 <{CodeGeneratorJS._c;469;7_89}> !_x_0 f_1 tramp_2 = select _x_0 (\ msg_1_0 = Error.Error msg_1_0) (\ _x_1_0 = select _x_1_0 (\ funcs_2_0 s_2_1 = Error.Ok (_predefined._Tuple2 (CodeGeneratorJS.foldl_59 (CodeGeneratorJS.newState f_1 tramp_2 s_2_1) (<{StringAppender.<++_4}> (<{CodeGeneratorJS._if;472;29_88}> tramp_2) "*/") funcs_2_0) s_2_1))) <{CodeGeneratorJS._if;472;29_88}> !tramp_0 = if (<{StdBool.==_3}> tramp_0 True) (<{StringAppender.<++_4}> (<{StringAppender.<++_4}> StringAppender.newAppender "/*Trampoline: ") "ON") (<{CodeGeneratorJS._if;472;29_88_def0}> tramp_0) <{CodeGeneratorJS._if;472;29_88_def0}> !tramp_0 = <{StringAppender.<++_4}> (<{StringAppender.<++_4}> StringAppender.newAppender "/*Trampoline: ") "OFF" CodeGeneratorJS.exprGenerateJS !f_0 !tramp_1 !saplsrc_2 !mbPst_3 = <{CodeGeneratorJS._c;480;7_90}> (SaplParser.parseExpr (SaplTokenizer.tokensWithPositions saplsrc_2)) f_0 tramp_1 mbPst_3 <{CodeGeneratorJS._c;480;7_90}> !_x_0 f_1 tramp_2 mbPst_3 = select _x_0 (\ msg_1_0 = Error.Error msg_1_0) (\ _x_1_0 = select _x_1_0 (\ body_2_0 s_2_1 = Error.Ok (CodeGeneratorJS.termCoder body_2_0 (CodeGeneratorJS.set_cs_inbody_0 (CodeGeneratorJS.newState f_1 tramp_2 (SaplParser.mergeParserStates s_2_1 mbPst_3)) True) StringAppender.newAppender))) || Converted Records :: CodeGeneratorJS._CoderState = {CodeGeneratorJS.cs_inbody, CodeGeneratorJS.cs_intrfunc, CodeGeneratorJS.cs_inletdef, CodeGeneratorJS.cs_current_vars, CodeGeneratorJS.cs_constructors, CodeGeneratorJS.cs_functions, CodeGeneratorJS.cs_CAFs, CodeGeneratorJS.cs_builtins, CodeGeneratorJS.cs_inlinefuncs, CodeGeneratorJS.cs_trampoline, CodeGeneratorJS.cs_prefix} CodeGeneratorJS.get_cs_inbody_0 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a1) CodeGeneratorJS.get_cs_intrfunc_1 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a2) CodeGeneratorJS.get_cs_inletdef_2 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a3) CodeGeneratorJS.get_cs_current_vars_3 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a4) CodeGeneratorJS.get_cs_constructors_4 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a5) CodeGeneratorJS.get_cs_functions_5 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a6) CodeGeneratorJS.get_cs_CAFs_6 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a7) CodeGeneratorJS.get_cs_builtins_7 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a8) CodeGeneratorJS.get_cs_inlinefuncs_8 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a9) CodeGeneratorJS.get_cs_trampoline_9 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a10) CodeGeneratorJS.get_cs_prefix_10 rec = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = a11) CodeGeneratorJS.set_cs_inbody_0 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState val a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) CodeGeneratorJS.set_cs_intrfunc_1 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 val a3 a4 a5 a6 a7 a8 a9 a10 a11) CodeGeneratorJS.set_cs_inletdef_2 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 val a4 a5 a6 a7 a8 a9 a10 a11) CodeGeneratorJS.set_cs_current_vars_3 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 val a5 a6 a7 a8 a9 a10 a11) CodeGeneratorJS.set_cs_constructors_4 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 val a6 a7 a8 a9 a10 a11) CodeGeneratorJS.set_cs_functions_5 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 a5 val a7 a8 a9 a10 a11) CodeGeneratorJS.set_cs_CAFs_6 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 a5 a6 val a8 a9 a10 a11) CodeGeneratorJS.set_cs_builtins_7 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 a5 a6 a7 val a9 a10 a11) CodeGeneratorJS.set_cs_inlinefuncs_8 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 a5 a6 a7 a8 val a10 a11) CodeGeneratorJS.set_cs_trampoline_9 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 a5 a6 a7 a8 a9 val a11) CodeGeneratorJS.set_cs_prefix_10 rec val = select rec (\ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = CodeGeneratorJS._CoderState a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 val)