diff --git a/include/mruby/compile.h b/include/mruby/compile.h index fc08d7516..a4bd374c3 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -33,6 +33,7 @@ typedef struct mrb_ccontext { mrb_bool keep_lv:1; mrb_bool no_optimize:1; mrb_bool no_ext_ops:1; + mrb_bool no_return_value:1; const struct RProc *upper; size_t parser_nerr; @@ -125,6 +126,7 @@ struct mrb_parser_state { mrb_bool no_optimize:1; mrb_bool capture_errors:1; mrb_bool no_ext_ops:1; + mrb_bool no_return_value:1; const struct RProc *upper; struct mrb_parser_message error_buffer[10]; struct mrb_parser_message warn_buffer[10]; diff --git a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c index b5201d1ea..1a7197eca 100644 --- a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +++ b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c @@ -345,6 +345,7 @@ main(int argc, char **argv) /* set program filename */ mrb_ccontext_filename(mrb, c, cmdline); + c->no_return_value = TRUE; /* main program doesn't need return value */ /* Load program */ if (args.mrbfile || mrb_extension_p(cmdline)) { diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 74ba05cbb..62443e43c 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -2603,14 +2603,25 @@ scope_body(codegen_scope *s, node *locals, node *body, int val) codegen_scope *scope = scope_new(s->mrb, s, locals); /* Generate code for the body of the scope. */ - codegen(scope, body, VAL); - /* Ensure the scope returns the value of its last expression. */ - gen_return(scope, OP_RETURN, scope->sp-1); + codegen(scope, body, val); /* If this is the outermost scope (e.g., top-level script), add OP_STOP. */ if (!s->iseq) { /* s->iseq would be NULL for the initial dummy scope. */ + if (val) { + gen_return(scope, OP_RETURN, scope->sp-1); + } + /* skip RETURN when no_return_value; STOP will terminate VM */ genop_0(scope, OP_STOP); } + else { + /* Ensure the scope returns the value of its last expression. */ + if (val) { + gen_return(scope, OP_RETURN, scope->sp-1); + } + else { + gen_return(scope, OP_RETURN, 0); /* return nil */ + } + } /* Finalize the IREP for this scope. */ scope_finish(scope); @@ -6120,7 +6131,7 @@ codegen_scope_node(codegen_scope *s, const node *varnode, int val) struct mrb_ast_scope_node *scope = scope_node(varnode); /* Pass locals and body directly to scope_body() */ - scope_body(s, scope->locals, scope->body, NOVAL); + scope_body(s, scope->locals, scope->body, val); } static void @@ -6937,5 +6948,5 @@ generate_code(mrb_state *mrb, parser_state *p, int val) MRB_API struct RProc* mrb_generate_code(mrb_state *mrb, parser_state *p) { - return generate_code(mrb, p, VAL); + return generate_code(mrb, p, p->no_return_value ? NOVAL : VAL); } diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 7e5a2a0b8..cc8991938 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -7459,6 +7459,7 @@ parser_init_cxt(parser_state *p, mrb_ccontext *cxt) p->capture_errors = cxt->capture_errors; p->no_optimize = cxt->no_optimize; p->no_ext_ops = cxt->no_ext_ops; + p->no_return_value = cxt->no_return_value; p->upper = cxt->upper; if (cxt->partial_hook) { p->cxt = cxt; diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index e27edf8ee..2de0453f4 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by Lrama 0.7.0. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C @@ -64,8 +64,10 @@ #define YYPULL 1 + + /* First part of user prologue. */ -#line 7 "mrbgems/mruby-compiler/core/parse.y" +#line 7 "parse.y" #undef PARSER_DEBUG #ifdef PARSER_DEBUG @@ -2058,7 +2060,7 @@ prohibit_literals(parser_state *p, node *n) /* xxx ----------------------------- */ -#line 2062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2064 "y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -2081,17 +2083,15 @@ prohibit_literals(parser_state *p, node *n) # endif # endif -/* Use api.header.include to #include this header - instead of duplicating it here. */ + /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif -#if YYDEBUG && !defined(yydebug) +#if YYDEBUG extern int yydebug; #endif - /* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -2229,7 +2229,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 2005 "mrbgems/mruby-compiler/core/parse.y" +#line 2005 "parse.y" node *nd; mrb_sym id; @@ -2237,7 +2237,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 2241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2241 "y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2266,7 +2266,6 @@ int yyparse (parser_state *p); - /* Symbol kind. */ enum yysymbol_kind_t { @@ -2421,8 +2420,8 @@ enum yysymbol_kind_t YYSYMBOL_147_ = 147, /* '.' */ YYSYMBOL_148_n_ = 148, /* '\n' */ YYSYMBOL_YYACCEPT = 149, /* $accept */ - YYSYMBOL_150_1 = 150, /* $@1 */ - YYSYMBOL_program = 151, /* program */ + YYSYMBOL_program = 150, /* program */ + YYSYMBOL_151_1 = 151, /* $@1 */ YYSYMBOL_top_compstmt = 152, /* top_compstmt */ YYSYMBOL_top_stmts = 153, /* top_stmts */ YYSYMBOL_top_stmt = 154, /* top_stmt */ @@ -2430,21 +2429,21 @@ enum yysymbol_kind_t YYSYMBOL_bodystmt = 156, /* bodystmt */ YYSYMBOL_compstmt = 157, /* compstmt */ YYSYMBOL_stmts = 158, /* stmts */ - YYSYMBOL_159_3 = 159, /* $@3 */ - YYSYMBOL_stmt = 160, /* stmt */ + YYSYMBOL_stmt = 159, /* stmt */ + YYSYMBOL_160_3 = 160, /* $@3 */ YYSYMBOL_command_asgn = 161, /* command_asgn */ YYSYMBOL_command_rhs = 162, /* command_rhs */ YYSYMBOL_expr = 163, /* expr */ YYSYMBOL_164_4 = 164, /* $@4 */ YYSYMBOL_165_5 = 165, /* $@5 */ YYSYMBOL_defn_head = 166, /* defn_head */ - YYSYMBOL_167_6 = 167, /* $@6 */ - YYSYMBOL_defs_head = 168, /* defs_head */ + YYSYMBOL_defs_head = 167, /* defs_head */ + YYSYMBOL_168_6 = 168, /* $@6 */ YYSYMBOL_expr_value = 169, /* expr_value */ YYSYMBOL_command_call = 170, /* command_call */ YYSYMBOL_block_command = 171, /* block_command */ - YYSYMBOL_172_7 = 172, /* $@7 */ - YYSYMBOL_cmd_brace_block = 173, /* cmd_brace_block */ + YYSYMBOL_cmd_brace_block = 172, /* cmd_brace_block */ + YYSYMBOL_173_7 = 173, /* $@7 */ YYSYMBOL_command = 174, /* command */ YYSYMBOL_mlhs = 175, /* mlhs */ YYSYMBOL_mlhs_inner = 176, /* mlhs_inner */ @@ -2469,8 +2468,8 @@ enum yysymbol_kind_t YYSYMBOL_opt_paren_args = 195, /* opt_paren_args */ YYSYMBOL_opt_call_args = 196, /* opt_call_args */ YYSYMBOL_call_args = 197, /* call_args */ - YYSYMBOL_198_9 = 198, /* @9 */ - YYSYMBOL_command_args = 199, /* command_args */ + YYSYMBOL_command_args = 198, /* command_args */ + YYSYMBOL_199_9 = 199, /* @9 */ YYSYMBOL_block_arg = 200, /* block_arg */ YYSYMBOL_opt_block_arg = 201, /* opt_block_arg */ YYSYMBOL_comma = 202, /* comma */ @@ -2505,19 +2504,19 @@ enum yysymbol_kind_t YYSYMBOL_opt_block_args_tail = 231, /* opt_block_args_tail */ YYSYMBOL_block_param = 232, /* block_param */ YYSYMBOL_opt_block_param = 233, /* opt_block_param */ - YYSYMBOL_234_27 = 234, /* $@27 */ - YYSYMBOL_block_param_def = 235, /* block_param_def */ + YYSYMBOL_block_param_def = 234, /* block_param_def */ + YYSYMBOL_235_27 = 235, /* $@27 */ YYSYMBOL_opt_bv_decl = 236, /* opt_bv_decl */ YYSYMBOL_bv_decls = 237, /* bv_decls */ YYSYMBOL_bvar = 238, /* bvar */ YYSYMBOL_f_larglist = 239, /* f_larglist */ YYSYMBOL_lambda_body = 240, /* lambda_body */ - YYSYMBOL_241_28 = 241, /* @28 */ - YYSYMBOL_do_block = 242, /* do_block */ + YYSYMBOL_do_block = 241, /* do_block */ + YYSYMBOL_242_28 = 242, /* @28 */ YYSYMBOL_block_call = 243, /* block_call */ YYSYMBOL_method_call = 244, /* method_call */ - YYSYMBOL_245_29 = 245, /* @29 */ - YYSYMBOL_brace_block = 246, /* brace_block */ + YYSYMBOL_brace_block = 245, /* brace_block */ + YYSYMBOL_246_29 = 246, /* @29 */ YYSYMBOL_247_30 = 247, /* @30 */ YYSYMBOL_case_body = 248, /* case_body */ YYSYMBOL_cases = 249, /* cases */ @@ -2947,9 +2946,9 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 106 +#define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 14031 +#define YYLAST 13855 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 @@ -3133,23 +3132,23 @@ static const char *const yytname[] = "tHD_STRING_MID", "tLOWEST", "'='", "'?'", "':'", "'>'", "'<'", "'|'", "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "tUMINUS_NUM", "'!'", "'~'", "tLAST_TOKEN", "'{'", "'}'", "'['", "']'", "','", "'`'", "'('", - "')'", "';'", "'.'", "'\\n'", "$accept", "$@1", "program", + "')'", "';'", "'.'", "'\\n'", "$accept", "program", "$@1", "top_compstmt", "top_stmts", "top_stmt", "@2", "bodystmt", "compstmt", - "stmts", "$@3", "stmt", "command_asgn", "command_rhs", "expr", "$@4", - "$@5", "defn_head", "$@6", "defs_head", "expr_value", "command_call", - "block_command", "$@7", "cmd_brace_block", "command", "mlhs", + "stmts", "stmt", "$@3", "command_asgn", "command_rhs", "expr", "$@4", + "$@5", "defn_head", "defs_head", "$@6", "expr_value", "command_call", + "block_command", "cmd_brace_block", "$@7", "command", "mlhs", "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_list", "mlhs_post", "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym", "undef_list", "$@8", "op", "reswords", "arg", "aref_args", "arg_rhs", "paren_args", - "opt_paren_args", "opt_call_args", "call_args", "@9", "command_args", + "opt_paren_args", "opt_call_args", "call_args", "command_args", "@9", "block_arg", "opt_block_arg", "comma", "args", "mrhs", "primary", "@10", "@11", "$@12", "$@13", "@14", "@15", "$@16", "$@17", "$@18", "$@19", "$@20", "$@21", "@22", "@23", "@24", "@25", "primary_value", "then", "do", "if_tail", "opt_else", "for_var", "f_margs", "$@26", "block_args_tail", "opt_block_args_tail", "block_param", - "opt_block_param", "$@27", "block_param_def", "opt_bv_decl", "bv_decls", - "bvar", "f_larglist", "lambda_body", "@28", "do_block", "block_call", - "method_call", "@29", "brace_block", "@30", "case_body", "cases", + "opt_block_param", "block_param_def", "$@27", "opt_bv_decl", "bv_decls", + "bvar", "f_larglist", "lambda_body", "do_block", "@28", "block_call", + "method_call", "brace_block", "@29", "@30", "case_body", "cases", "in_clauses", "$@31", "$@32", "$@33", "p_expr", "p_args_head", "p_args_post", "p_as", "p_alt", "p_value", "p_array", "p_array_body", "p_array_elems", "p_rest", "p_const", "p_hash", "p_hash_body", @@ -3178,7 +3177,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-945) +#define YYPACT_NINF (-980) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -3192,127 +3191,127 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -945, 4072, 126, 9204, 11328, 11670, 7512, -945, 10974, 10974, - -945, -945, 11442, 8694, 7128, 9440, 9440, -945, -945, 9440, - 4593, 4185, -945, -945, -945, -945, -26, 8694, -945, 28, - -945, -945, -945, 7654, 3722, -945, -945, 7796, -945, -945, - -945, -945, -945, -945, -945, 65, 11092, 11092, 11092, 11092, - 125, 6387, 1224, 9912, 10266, 8976, -945, 8412, 608, 906, - 701, 1191, 1203, -945, 135, 11210, 11092, -945, 1288, -945, - 1546, -945, 242, 1685, 1685, -945, -945, 219, 186, -945, - 174, 11556, -945, 210, 5273, 181, 192, 151, 119, -945, - 359, -945, -945, -945, -945, -945, -945, -945, -945, -945, - 364, 241, -945, 381, 44, -945, -945, -945, -945, -945, - -945, 200, 200, -26, 475, 491, -945, 10974, 441, 6506, - 309, 2262, 2262, -945, 228, -945, 218, -945, -945, 44, - -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, 1, 140, - 188, 205, -945, -945, -945, -945, -945, -945, 260, 270, - 271, 288, -945, 290, -945, -945, -945, -945, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, -945, 299, - 5419, 337, 242, 1685, 1685, 80, 312, 691, 70, 349, - 230, 80, 10974, 10974, 760, 420, -945, -945, 792, 453, - 55, 63, -945, -945, -945, -945, -945, -945, -945, -945, - -945, 8553, -945, -945, 368, -945, -945, -945, -945, -945, - -945, 1288, -945, 725, -945, 471, -945, -945, 1288, 4321, - 110, 11092, 11092, 11092, 11092, -945, 3824, -945, -945, 391, - 478, 391, -945, -945, -945, 9558, -945, -945, 9440, -945, - -945, -945, -945, 7128, 7366, -945, 399, 6625, -945, 859, - 449, 13808, 13808, 506, 9322, 6387, 411, 1288, 1546, 1288, - 442, -945, 9322, 1288, 426, 1341, 1341, -945, 3824, 430, - 1341, -945, 528, 11784, 455, 944, 949, 989, 2368, -945, - -945, -945, -945, -945, 1216, -945, -945, -945, -945, -945, - -945, 854, 1303, -945, -945, 1198, -945, 1158, -945, 1311, - -945, 1315, 487, 502, -945, -945, -945, -945, 6890, 10974, - 10974, 10974, 10974, 9322, 10974, 10974, 95, -945, -945, -945, - -945, 548, 1288, -945, -945, -945, -945, -945, -945, -945, - 2557, 485, 488, 5419, 11092, -945, 466, 577, 499, -945, - 1288, -945, -945, -945, 504, 11092, -945, 505, 605, 519, - 611, -945, -945, 543, 5419, -945, -945, 10384, -945, 6387, - 9090, 524, 10384, -945, 11092, 11092, 11092, 11092, 11092, 11092, - 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, -945, 11092, - 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, - 11092, 3915, -945, 9440, -945, 12062, -945, -945, 13266, -945, - -945, -945, -945, 11210, 11210, -945, 568, -945, 242, -945, - 1005, -945, -945, -945, -945, -945, -945, 12148, 9440, 12234, - 5419, 10974, -945, -945, -945, 662, 670, 372, 583, 586, - -945, 5565, 682, 11092, 12320, 9440, 12406, 11092, 11092, 6003, - 587, 587, 90, 12492, 9440, 12578, -945, 649, -945, 6625, - 143, -945, -945, 10502, 699, -945, 11092, 11092, 13746, 13746, - 13746, 11092, -945, -945, 9676, -945, 11092, -945, 10030, 7247, - 576, 1288, 391, 391, -945, -945, 883, 581, -945, -945, - -945, 8694, 6122, 588, 12320, 12406, 11092, 1546, 1288, -945, - -945, 7009, 589, 1546, -945, -945, 10148, -945, 1288, 10266, - -945, -945, -945, 1005, 174, 11784, -945, 11784, 12664, 9440, - 12750, 2857, -945, -945, 598, -945, 1327, 6625, 854, -945, - -945, -945, -945, -945, -945, -945, 11092, 11092, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, - 1437, 1288, 1288, 599, 11210, 721, 13746, 1057, -945, -945, - -945, 57, -945, -945, 2758, -945, 13746, 2857, -945, -945, - 1068, -945, -945, 11210, 728, 52, 11092, -945, 13462, 391, - -945, 1288, 11784, 602, -945, -945, -945, 727, 651, 2664, - -945, -945, 1027, 403, 1828, 13888, 13888, 13888, 13888, 2000, - 2000, 13898, 13826, 13888, 13888, 13808, 13808, 1469, 1469, 1828, - 449, 13746, 2000, 2000, 1550, 1550, 1613, 273, 273, 449, - 449, 449, 4729, 8152, 5001, 8270, -945, 200, -945, 635, - 391, 631, -945, 653, -945, -945, 4457, -945, -945, 1880, - 52, 52, -945, 3587, -945, -945, -945, -945, -945, 1288, - 10974, 5419, 800, 486, -945, 200, 656, 200, 783, 883, - 8835, -945, 10620, 785, -945, 11092, 11092, 396, -945, 7914, - 8033, 660, 417, 457, 785, -945, -945, -945, -945, 64, - 133, 664, 118, 121, 10974, 8694, 673, 1828, 799, 13746, - 199, -945, 13746, 13746, 13746, 1128, 11092, 3824, -945, 391, - 13746, -945, -945, -945, -945, 9794, 10030, -945, -945, -945, - 677, -945, -945, 306, 1546, 1288, 1341, 524, -945, 800, - 486, 678, 821, 847, -945, 127, 2857, -945, 681, -945, - 449, 449, -945, -945, 625, 1288, 679, -945, -945, 2778, - 781, 13338, -945, 771, 548, -945, 499, -945, 1288, -945, - -945, 697, 704, 714, -945, 718, 771, 714, 789, 13400, - -945, -945, 2857, 5419, -945, -945, 13533, 10738, -945, -945, - 11784, 9322, 11210, 11092, 12836, 9440, 12922, -945, -945, -945, - 784, -945, -945, 806, 1674, 149, 813, 41, 816, -945, - 1906, 730, 58, -945, -945, 732, 790, -945, 745, -945, - -945, -945, 3231, -945, -945, 917, 11210, 11210, -945, 568, - 688, 9676, 11210, 11210, -945, 568, 119, 219, 5419, 6625, - 52, -945, 1288, 876, -945, -945, -945, -945, 13462, -945, - 801, -945, 6268, 885, -945, 10974, 887, -945, 11092, 11092, - 481, 11092, 11092, 893, 6771, 6771, 134, 587, -945, -945, - 194, -945, 10856, 5711, 13746, -945, 7247, 391, -945, -945, - -945, 919, 764, 1431, 5419, 6625, -945, -945, -945, 774, - -945, 1464, 1288, 11092, 11092, -945, -945, 2857, -945, 1068, - -945, 1068, -945, 1068, -945, -945, 11092, 11092, -945, -945, - -945, 11898, -945, 776, 499, 786, 11898, -945, 791, 793, - -945, 898, 11092, 13604, -945, -945, 13746, 4865, 5137, 795, - 490, 497, 1979, -945, -945, -945, -945, 805, 808, 811, - -945, 784, -945, 788, 814, -945, 848, -945, -945, -945, - -945, 818, 820, -945, 897, 1979, 1979, 903, 232, 1979, - 11092, 11092, -945, -945, -945, -945, -945, 11210, -945, -945, - -945, -945, -945, -945, -945, 960, 838, 6625, 5419, -945, - -945, 12012, 80, -945, -945, 6771, -945, -945, 80, -945, - 11092, -945, 963, 964, -945, 10974, 10974, 5857, 13746, 209, - -945, 10030, -945, 1606, 966, 851, 1488, 1488, 700, -945, - 13746, 13746, 714, 861, 714, 714, 13746, 13746, 891, 892, - 956, 1058, 1057, -945, -945, 2347, -945, 1058, 2857, -945, - 1068, -945, -945, 13675, 590, -945, -945, 1906, 1979, -945, - 232, -945, 1979, -945, -945, 878, -945, -945, -945, -945, - -945, 13746, 13746, -945, -945, -945, -945, 882, 1012, 973, - -945, 1101, 949, 989, 5419, -945, 5565, -945, -945, 6771, - 80, 80, 281, -945, -945, -945, -945, 888, -945, -945, - -945, -945, 901, 901, 1488, 909, -945, 1068, -945, -945, - -945, -945, -945, -945, 13008, -945, 499, 1057, -945, -945, - 910, 911, 914, -945, 922, 914, -945, 927, 928, -945, - 878, 1979, -945, -945, 1005, 13094, 9440, 13180, 670, 396, - 1056, 5857, 5857, 1828, -945, 1061, 1606, 1128, 1488, 901, - 1488, 714, 933, 934, -945, 2857, -945, 1068, -945, 1068, - -945, 1068, -945, -945, 1979, 1906, -945, 800, 486, 931, - 278, 569, -945, -945, -945, 281, 281, 418, -945, -945, - 901, -945, 914, 945, 914, 914, 950, -945, 919, 1071, - 1078, 80, 1064, 1060, -945, 1068, -945, -945, -945, 1979, - -945, -945, 5857, 10974, 10974, 914, 281, 80, 80, -945, - -945, 5857, 5857, 281, 281, -945, -945 + -980, 171, 3726, -980, 8945, 11069, 11411, 7367, -980, 10715, + 10715, -980, -980, 11183, 8549, 6983, 9181, 9181, -980, -980, + 9181, 4582, 4174, -980, -980, -980, -980, 76, 8549, -980, + 72, -980, -980, -980, 7509, 4025, -980, -980, 7651, -980, + -980, -980, -980, -980, -980, -980, 49, 10833, 10833, 10833, + 10833, 195, 6242, 1226, 9653, 10007, 3007, -980, 8267, 862, + 1241, 751, 1174, 1325, -980, 437, 10951, 10833, -980, 1472, + -980, 1340, -980, 465, 1648, 1648, -980, -980, 240, 160, + -980, 142, 11297, -980, 211, 3803, 62, 167, 60, 68, + -980, 342, -980, -980, -980, -980, -980, -980, -980, -980, + -980, 269, 200, -980, 344, 30, -980, -980, -980, -980, + -980, 190, 190, 76, 504, 893, -980, 10715, 81, 6361, + 449, 2087, 2087, -980, 241, -980, 186, -980, -980, 30, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 56, 66, + 67, 114, -980, -980, -980, -980, -980, -980, 115, 158, + 168, 209, -980, 237, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, 278, + 5274, 307, 465, 1648, 1648, 647, 252, 230, 57, 286, + 59, 647, 10715, 10715, 290, 333, -980, -980, 414, 381, + 73, 77, -980, -980, -980, -980, -980, -980, -980, -980, + -980, 8408, -980, -980, 266, -980, -980, -980, -980, -980, + -980, 1472, -980, 472, -980, 374, -980, -980, 1472, 4310, + 80, 10833, 10833, 10833, 10833, -980, 13580, -980, -980, 274, + 363, 274, -980, -980, -980, 9299, -980, -980, -980, 9181, + -980, -980, -980, 6983, 7221, -980, 284, 6480, -980, 691, + 327, 13704, 13704, 489, 9063, 6242, 297, 1472, 1340, 1472, + 317, -980, 9063, 1472, 312, 1447, 1447, -980, 13580, 316, + 1447, -980, 403, 11525, 319, 803, 824, 892, 1836, -980, + -980, -980, -980, -980, 1417, -980, -980, -980, -980, -980, + -980, 858, 1424, -980, -980, 1314, -980, 869, -980, 1431, + -980, 1458, 388, 417, -980, -980, -980, -980, 6745, 10715, + 10715, 10715, 10715, 9063, 10715, 10715, 87, -980, -980, -980, + -980, 418, 1472, -980, -980, -980, -980, -980, -980, -980, + 2290, 413, 423, 5274, 10833, -980, 406, 499, 411, -980, + 1472, -980, -980, -980, 424, 10833, -980, 426, 505, 436, + 508, -980, -980, 492, 5274, -980, -980, 10125, -980, 6242, + 8831, 444, 10125, -980, 10833, 10833, 10833, 10833, 10833, 10833, + 10833, 10833, 10833, 10833, 10833, 10833, 10833, 10833, -980, 10833, + 10833, 10833, 10833, 10833, 10833, 10833, 10833, 10833, 10833, 10833, + 10833, 3350, -980, 9181, -980, 11834, -980, -980, 13038, -980, + -980, -980, -980, 10951, 10951, -980, 494, -980, 465, -980, + 903, -980, -980, -980, -980, -980, -980, 11920, 9181, 12006, + 5274, 10715, -980, -980, -980, 585, 605, 71, 525, 526, + -980, 5420, 609, 10833, 12092, 9181, 12178, 10833, 10833, 5858, + 627, 627, 83, 12264, 9181, 12350, -980, 587, -980, 6480, + 239, -980, -980, 10243, 641, -980, 10833, 10833, 13642, 13642, + 13642, 10833, -980, -980, 9417, -980, 10833, -980, 9771, 7102, + 515, 1472, 274, 274, -980, -980, 1286, 516, -980, -980, + -980, 8549, 5977, 531, 12092, 12178, 10833, 1340, 1472, -980, + -980, 6864, 530, 1340, -980, -980, 9889, -980, 1472, 10007, + -980, -980, -980, 903, 142, 11525, -980, 11525, 12436, 9181, + 12522, 2307, -980, -980, 535, -980, 1493, 6480, 858, -980, + -980, -980, -980, -980, -980, -980, 10833, 10833, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + 1517, 1472, 1472, 542, 10951, 673, 13642, 495, -980, -980, + -980, 324, -980, -980, 2454, -980, 13642, 2307, -980, -980, + 1416, -980, -980, 10951, 674, 238, 10833, -980, 13296, 274, + -980, 1472, 11525, 550, -980, -980, -980, 659, 584, 11751, + -980, -980, 961, 95, 1525, 3561, 3561, 3561, 3561, 1880, + 1880, 13722, 2785, 3561, 3561, 13704, 13704, 1236, 1236, 1525, + 327, 13642, 1880, 1880, 1796, 1796, 1904, 723, 723, 327, + 327, 327, 4718, 8007, 4990, 8125, -980, 190, -980, 567, + 274, 557, -980, 565, -980, -980, 4446, -980, -980, 2599, + 238, 238, -980, 13110, -980, -980, -980, -980, -980, 1472, + 10715, 5274, 916, 614, -980, 190, 574, 190, 701, 1286, + 8690, -980, 10361, 700, -980, 10833, 10833, 496, -980, 7769, + 7888, 583, 203, 251, 700, -980, -980, -980, -980, 156, + 164, 595, 94, 98, 10715, 8549, 589, 1525, 717, 13642, + 622, -980, 13642, 13642, 13642, 833, 10833, 13580, -980, 274, + 13642, -980, -980, -980, -980, 9535, 9771, -980, -980, -980, + 608, -980, -980, 198, 1340, 1472, 1447, 444, -980, 916, + 614, 607, 948, 1172, -980, 84, 2307, -980, 611, -980, + 327, 327, -980, -980, 1180, 1472, 610, -980, -980, 2625, + 711, 13172, -980, 706, 418, -980, 411, -980, 1472, -980, + -980, 630, 635, 638, -980, 652, 706, 638, 739, 13234, + -980, -980, 2307, 5274, -980, -980, 13367, 10479, -980, -980, + 11525, 9063, 10951, 10833, 12608, 9181, 12694, -980, -980, -980, + 732, -980, -980, 744, 1401, 236, 754, 126, 759, -980, + 1754, 660, 29, -980, -980, 669, 736, -980, 685, -980, + -980, -980, 753, -980, -980, 954, 10951, 10951, -980, 494, + 686, 9417, 10951, 10951, -980, 494, 68, 240, 5274, 6480, + 238, -980, 1472, 822, -980, -980, -980, -980, 13296, -980, + 760, -980, 6123, 845, -980, 10715, 851, -980, 10833, 10833, + 348, 10833, 10833, 857, 6626, 6626, 105, 627, -980, -980, + 792, -980, 10597, 5566, 13642, -980, 7102, 274, -980, -980, + -980, 591, 729, 1542, 5274, 6480, -980, -980, -980, 740, + -980, 1585, 1472, 10833, 10833, -980, -980, 2307, -980, 1416, + -980, 1416, -980, 1416, -980, -980, 10833, 10833, -980, -980, + -980, 11639, -980, 741, 411, 742, 11639, -980, 747, 748, + -980, 877, 10833, 13438, -980, -980, 13642, 4854, 5126, 755, + 356, 358, 1860, -980, -980, -980, -980, 757, 752, 762, + -980, 732, -980, 766, 770, -980, 753, -980, -980, -980, + -980, 771, 773, -980, 890, 1860, 1860, 898, 366, 1860, + 10833, 10833, -980, -980, -980, -980, -980, 10951, -980, -980, + -980, -980, -980, -980, -980, 932, 818, 6480, 5274, -980, + -980, 11753, 647, -980, -980, 6626, -980, -980, 647, -980, + 10833, -980, 946, 950, -980, 10715, 10715, 5712, 13642, 166, + -980, 9771, -980, 1670, 952, 829, 1593, 1593, 1308, -980, + 13642, 13642, 638, 828, 638, 638, 13642, 13642, 846, 861, + 929, 985, 495, -980, -980, 2150, -980, 985, 2307, -980, + 1416, -980, -980, 13509, 391, -980, -980, 1754, 1860, -980, + 366, -980, 1860, -980, -980, 847, -980, -980, -980, -980, + -980, 13642, 13642, -980, -980, -980, -980, 852, 977, 941, + -980, 1057, 824, 892, 5274, -980, 5420, -980, -980, 6626, + 647, 647, 469, -980, -980, -980, -980, 860, -980, -980, + -980, -980, 872, 872, 1593, 878, -980, 1416, -980, -980, + -980, -980, -980, -980, 12780, -980, 411, 495, -980, -980, + 883, 884, 888, -980, 894, 888, -980, 899, 904, -980, + 847, 1860, -980, -980, 903, 12866, 9181, 12952, 605, 496, + 984, 5712, 5712, 1525, -980, 1004, 1670, 833, 1593, 872, + 1593, 638, 913, 918, -980, 2307, -980, 1416, -980, 1416, + -980, 1416, -980, -980, 1860, 1754, -980, 916, 614, 926, + 704, 930, -980, -980, -980, 469, 469, 486, -980, -980, + 872, -980, 888, 937, 888, 888, 943, -980, 591, 1053, + 1059, 647, 1049, 1050, -980, 1416, -980, -980, -980, 1860, + -980, -980, 5712, 10715, 10715, 888, 469, 647, 647, -980, + -980, 5712, 5712, 469, 469, -980, -980 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3320,17 +3319,17 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 2, 0, 0, 0, 0, 0, 0, 297, 0, 0, - 321, 324, 0, 0, 676, 344, 345, 346, 347, 309, - 273, 273, 561, 560, 562, 563, 678, 0, 10, 0, - 565, 564, 566, 551, 662, 553, 552, 555, 554, 547, - 548, 508, 509, 567, 568, 559, 0, 0, 0, 0, - 0, 0, 299, 690, 690, 91, 316, 0, 0, 0, - 0, 0, 0, 523, 0, 0, 0, 3, 676, 6, - 9, 27, 32, 615, 615, 48, 63, 62, 0, 79, - 0, 83, 93, 0, 0, 251, 0, 64, 314, 289, - 290, 506, 291, 292, 293, 504, 503, 535, 505, 502, - 558, 0, 294, 295, 273, 5, 1, 8, 344, 345, + 2, 0, 0, 1, 0, 0, 0, 0, 297, 0, + 0, 321, 324, 0, 0, 676, 344, 345, 346, 347, + 309, 273, 273, 561, 560, 562, 563, 678, 0, 10, + 0, 565, 564, 566, 551, 662, 553, 552, 555, 554, + 547, 548, 508, 509, 567, 568, 559, 0, 0, 0, + 0, 0, 0, 299, 690, 690, 91, 316, 0, 0, + 0, 0, 0, 0, 523, 0, 0, 0, 3, 676, + 6, 9, 27, 32, 615, 615, 48, 63, 62, 0, + 79, 0, 83, 93, 0, 57, 251, 0, 64, 314, + 289, 290, 506, 291, 292, 293, 504, 503, 535, 505, + 502, 558, 0, 294, 295, 273, 5, 8, 344, 345, 309, 690, 420, 0, 116, 117, 559, 0, 0, 0, 0, 615, 615, 119, 569, 348, 0, 558, 295, 0, 340, 171, 181, 172, 168, 197, 198, 199, 200, 179, @@ -3347,7 +3346,7 @@ static const yytype_int16 yydefact[] = 122, 0, 126, 128, 20, 127, 526, 531, 530, 684, 686, 676, 687, 0, 528, 0, 688, 685, 677, 660, 559, 281, 659, 276, 0, 268, 280, 77, 272, 690, - 506, 690, 650, 78, 76, 690, 262, 310, 0, 75, + 506, 690, 650, 78, 76, 690, 262, 310, 75, 0, 261, 419, 74, 676, 0, 18, 0, 0, 224, 0, 225, 212, 215, 306, 0, 0, 0, 676, 15, 676, 81, 14, 0, 676, 0, 681, 681, 252, 0, 0, @@ -3403,7 +3402,7 @@ static const yytype_int16 yydefact[] = 0, 0, 0, 0, 0, 690, 0, 457, 458, 459, 492, 476, 456, 0, 0, 0, 475, 491, 0, 56, 0, 436, 449, 451, 461, 440, 460, 462, 442, 484, - 444, 453, 0, 454, 54, 0, 0, 0, 415, 72, + 444, 453, 455, 454, 54, 0, 0, 0, 415, 72, 421, 265, 0, 0, 414, 70, 410, 65, 0, 0, 690, 338, 0, 0, 421, 341, 647, 60, 495, 496, 690, 497, 0, 690, 356, 0, 0, 354, 0, 0, @@ -3446,46 +3445,46 @@ static const yytype_int16 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -945, -945, -945, 575, -945, 25, -945, -333, 68, -945, - -945, 62, -323, -413, 36, -945, -945, 1382, -945, 1792, - 20, -43, -945, -945, -384, -13, 1086, -198, -4, -40, - -297, -498, -17, 9, -81, 1102, 7, -22, -945, -945, - 49, -945, 3090, -945, 231, 92, -402, -311, 27, -945, - -6, -399, -247, -188, 156, -366, 89, -945, -945, -945, - -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, - -945, -945, -945, 435, -67, -461, -23, -528, -945, -945, - -945, 317, 226, -945, -604, -945, -945, -377, -945, -24, - -945, -945, -945, 286, -945, -945, -945, -84, -945, -479, - -945, 99, -945, -945, -945, -588, -945, 66, 169, -945, - 155, -945, -945, -893, -746, -945, -945, -945, 319, -860, - -761, -945, 15, -945, -945, -945, -945, -945, 71, 75, - -158, -945, -945, -945, -945, -945, -274, -945, 886, -945, - -945, 594, 5, -945, -945, 533, 2203, 2554, 1140, 2092, - -945, -945, 4, 473, 8, 465, 563, 124, -945, -945, - -945, 266, 11, 263, -259, -944, -725, -517, -945, -270, - -766, -564, -922, 116, -536, -945, -169, -945, 446, -364, - -945, -945, -945, 88, -483, 1174, -336, -945, -945, -78, - -945, 3, -25, 479, -283, 474, -249, -61, -1 + -980, -980, -980, 576, -980, 33, -980, -312, -32, -980, + 61, -980, -351, -304, -1, -980, -980, 1251, 1473, -980, + -5, -45, -980, -453, -980, -4, 1096, -166, -6, -57, + -302, -470, -9, 2367, -75, 1104, 10, -21, -980, -980, + 8, -980, 3117, -980, 343, 64, 293, -404, 79, 5, + -980, -407, -267, 116, 22, -332, 18, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, 222, -163, -436, -18, -586, -980, -980, + -980, 322, 224, -980, -537, -980, -980, -313, -980, -17, + -980, -980, 273, -980, -980, -980, -86, -980, -980, -488, + -980, -59, -980, -980, -980, -611, -980, 69, 86, -980, + 163, -980, -980, -910, -745, -980, -980, -980, 308, -851, + -780, -980, 3, -980, -980, -980, -980, -980, 104, 65, + -141, -980, -980, -980, -980, -980, -240, -980, 886, -980, + -980, 787, 20, -980, -980, 479, 2101, 2477, 1129, 1676, + -980, -980, 40, 511, 9, 136, 553, 109, -980, -980, + -980, -250, 108, -146, -235, -951, -707, -504, -980, 369, + -742, -542, -979, 107, -490, -980, -433, -980, -191, -372, + -980, -980, -980, 24, -427, 871, -371, -980, -980, -55, + -980, 74, -26, 501, -280, -68, -266, -20, -2 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 2, 67, 68, 69, 286, 465, 466, 297, - 521, 298, 71, 616, 72, 639, 624, 213, 690, 214, - 215, 75, 76, 850, 678, 77, 78, 299, 79, 80, - 81, 546, 82, 216, 123, 124, 242, 243, 244, 715, - 655, 207, 84, 304, 620, 656, 277, 510, 511, 278, - 279, 268, 503, 539, 660, 610, 85, 210, 302, 745, + 0, 1, 2, 68, 69, 70, 286, 465, 466, 297, + 298, 521, 72, 616, 73, 639, 624, 213, 214, 690, + 215, 76, 77, 678, 850, 78, 79, 299, 80, 81, + 82, 546, 83, 216, 123, 124, 242, 243, 244, 715, + 655, 207, 85, 304, 620, 656, 277, 510, 511, 278, + 279, 268, 503, 539, 660, 610, 86, 210, 302, 745, 303, 318, 755, 222, 874, 223, 875, 714, 1079, 681, 679, 988, 460, 289, 471, 706, 866, 1134, 229, 765, - 1016, 1108, 1036, 919, 793, 920, 794, 892, 1087, 1088, - 552, 896, 605, 396, 87, 88, 671, 447, 670, 494, + 1016, 1108, 1036, 919, 793, 794, 920, 892, 1087, 1088, + 552, 896, 396, 605, 88, 89, 447, 671, 670, 494, 1085, 1135, 1181, 1182, 1183, 819, 820, 1055, 821, 822, 823, 824, 947, 948, 825, 826, 827, 953, 828, 829, - 830, 831, 693, 860, 992, 996, 89, 90, 91, 332, - 333, 557, 92, 93, 94, 558, 252, 253, 254, 489, - 95, 96, 97, 326, 98, 99, 218, 219, 102, 220, + 830, 831, 693, 860, 992, 996, 90, 91, 92, 332, + 333, 557, 93, 94, 95, 558, 252, 253, 254, 489, + 96, 97, 98, 326, 99, 100, 218, 219, 103, 220, 456, 680, 371, 372, 373, 374, 375, 922, 923, 376, 377, 378, 779, 595, 380, 381, 382, 383, 580, 384, 385, 386, 927, 928, 387, 388, 389, 390, 391, 588, @@ -3498,1244 +3497,881 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 105, 284, 265, 265, 441, 285, 265, 348, 435, 437, - 83, 718, 83, 205, 592, 282, 545, 255, 245, 280, - 708, 227, 344, 540, 507, 731, 926, 542, 107, 221, - 672, 675, 245, 784, 251, 520, 621, 451, 314, 899, - 585, 401, 267, 273, 212, 212, 274, 300, 554, 748, - 212, 834, 307, 311, 955, 206, 731, 559, 781, 553, - 83, 604, 206, 70, 325, 70, 848, 849, 949, 1089, - 439, 347, 392, 392, 962, 958, 206, 780, 393, 615, - -107, 504, 394, 508, 379, 379, 270, 270, -114, -110, - 270, -561, 959, 125, 125, 657, 470, 528, 446, 666, - 583, 125, 669, 271, 271, 728, 206, 271, 1058, 728, - 280, 582, 276, 281, 799, -113, 1113, 536, 283, 296, - 615, 615, 659, 687, 270, 270, 106, 688, 83, 880, - 394, 791, 379, 379, 335, 337, 339, 341, 657, 476, - 666, 306, 310, -109, 125, 439, -111, 686, -561, 687, - 485, 964, 576, 448, 479, 1118, 894, -557, -112, -108, - 367, 442, -556, 493, 701, 863, 287, 497, 717, 867, - 125, 269, 269, 711, 561, 269, 873, 561, 792, 561, - 293, 561, 440, 561, 965, 368, -115, 296, 275, 687, - 1058, -107, 1089, 342, 343, 246, 445, -99, 247, 248, - 951, 611, -557, 276, 281, -106, -102, 1059, -663, 305, - 470, 525, 392, 392, 687, 470, 577, 468, 469, 83, - 781, 445, 394, 1113, 379, 379, 249, 862, 250, 493, - -560, -115, -105, 781, 1005, 1006, 531, 550, 751, 780, - 895, 436, 480, 481, 538, 538, 987, 395, 325, 538, - 545, 817, 780, 731, 490, 57, 432, 440, 212, 212, - -101, 1176, 265, -103, 844, 265, 507, 846, 505, 926, - 505, -348, 926, 544, 514, -104, -100, -664, -562, 354, - 355, 554, 431, 951, 759, 844, -348, -560, 952, 1119, - 206, 300, 754, 1095, -109, -563, 83, 432, 434, 862, - 530, 1117, 934, 83, 83, 515, 1133, 397, 457, 246, - 766, 83, 247, 248, 246, 545, 398, 247, 248, 516, - 519, -348, 478, 432, 735, 736, 859, 783, -348, 379, - 787, 402, 433, 443, 817, -562, 728, 728, 57, 434, - 249, 502, 250, 784, 275, 249, 270, 250, 853, 270, - -565, -114, -563, 455, 607, 523, 527, 83, 458, 617, - -564, -566, 83, 296, 533, 434, 271, 452, 453, 569, - 570, 571, 572, 568, 419, 589, 684, 589, -551, 926, - -555, 379, 83, 613, 780, 212, 212, 212, 212, 462, - 574, 575, 467, -109, 780, 300, -109, -109, 561, 556, - 617, 617, 125, 83, 428, 429, 430, -565, 83, 1177, - 70, 618, 905, 865, 862, 573, 1004, -564, -566, 41, - 265, 797, 42, 972, -109, 782, -109, -80, 785, 978, - 980, 512, 514, 473, 269, -551, 86, -555, 86, 126, - 126, 477, 728, 217, 217, 265, 463, 228, -94, 217, - 217, 217, 618, 618, 217, 976, -556, 514, -432, -434, - 931, 982, 265, 890, 526, 694, 58, 296, 657, 83, - 666, 265, 841, 444, 514, 482, 520, 725, 486, 615, - 83, 1083, 885, 514, 664, -107, 86, 664, 83, 125, - 315, 493, 449, -113, 939, 444, 450, 689, 83, 739, - 217, -660, -114, 545, 270, 747, -99, 544, 664, 871, - 488, 505, 505, 615, 734, 985, 315, -661, 780, 615, - 615, 105, 925, -106, -114, 664, 245, 665, 731, 270, - 1084, 83, 882, 502, 664, 506, 265, 522, -109, 697, - 83, 508, 1028, 1029, 806, 1167, 270, 704, 514, 872, - 419, 665, 217, 609, 86, 270, 529, 716, 609, 1033, - 1034, 1014, 379, -79, 1063, -551, 83, 535, 665, 541, - 206, 770, 544, 1000, 664, 270, -305, 665, -111, 270, - -551, -555, 842, 543, 70, -111, 520, 782, 566, 843, - 788, -305, 729, 744, 454, 454, -555, 547, 526, 664, - 782, 867, -108, 567, 795, 578, 584, 270, 587, -572, - 270, -109, 728, -660, 705, -551, 835, 665, -111, -660, - 270, 780, -551, 929, 746, 758, -305, -113, 590, -661, - -664, -555, 780, -305, 125, -661, 125, 1022, -555, 1024, - 885, 591, 665, 1025, 520, 86, 594, 597, -105, 720, - 598, 839, 601, 883, 615, 1068, 599, 217, 217, 505, - 845, 600, 602, 847, 603, 280, 614, 677, 280, 795, - 795, 327, 328, 329, 674, 676, 762, 691, 357, 358, - 359, 360, 977, 692, -111, 538, 280, -111, -111, 472, - 83, 861, 864, 878, 763, 472, 864, 857, 698, 1011, - 852, 125, 246, 864, 695, 247, 248, 696, 674, 676, - 217, -108, 555, 217, 721, -111, 212, -111, 217, 217, - 245, 733, 86, 842, 330, 331, 738, 741, 505, 86, - 86, -94, 495, 249, 877, 250, 772, 86, 1023, 206, - 756, 769, 1144, 790, 800, 843, 1092, 1093, 315, 838, - 212, 762, -109, 357, 358, 359, 360, 742, 276, 617, - 544, 276, 983, 336, 206, 328, 329, 898, 1112, 763, - 1115, 801, 802, -101, -111, 589, 840, 838, 532, 276, - 977, 474, 534, 86, 217, 217, 217, 217, 86, 217, - 217, 687, 265, 617, 974, -103, 432, 854, 855, 617, - 617, 870, 83, 862, 514, 876, 270, 270, 86, -108, - 83, 618, 879, 1007, 881, 1159, 888, 330, 331, 891, - 897, 901, 495, 887, 1139, 903, -667, 1141, 576, 86, - -100, 475, 217, 916, 86, 315, 579, 622, 434, 907, - 491, 942, 1094, 247, 248, 618, 909, -663, 609, 795, - -559, 618, 618, 776, 593, 664, 911, 83, 83, 993, - 913, 943, 997, 935, 957, -559, 1111, 960, 217, 1114, - 1170, 83, 963, -664, 966, 1172, 270, 1174, 622, 622, - 967, 1175, 483, 83, 83, 998, 505, 968, 520, 125, - -667, 990, 83, 217, 991, 86, 217, 432, 665, 995, - -559, 212, 999, 83, 83, -667, 86, -559, 1001, 1012, - 217, -663, 270, 1042, 86, 1195, 1017, 986, 1032, 217, - 354, 355, 589, 589, 86, 1074, -663, 1049, 1035, 887, - 994, 1076, 484, 1038, 617, 1040, 1044, -664, -667, 434, - -667, 969, 1002, 1003, -663, -421, 1046, -667, 1053, 524, - 1047, 1009, -664, 1048, 707, 707, 1050, 86, 1057, -663, - 1051, -663, 1052, 1015, 432, -663, 86, 334, -663, 246, - 328, 329, 247, 248, 970, 1065, 1173, 1066, 1077, 1078, - 315, 1090, 315, 946, 217, -664, 618, -664, 732, 961, - 1091, -664, 86, 1127, -664, 737, 83, 83, 246, 475, - 1070, 247, 248, 1097, 83, 495, 434, 743, 864, -421, - 125, 1103, 495, 1131, 1132, 125, 83, 1101, 1102, 217, - 1121, 1122, 330, 331, -421, 1080, 1081, 1123, 1124, 249, - 1136, 250, 246, 777, 548, 247, 248, 777, 217, -558, - 971, 212, 212, 1138, 908, 910, 912, 315, 914, 432, - 915, 1140, 1145, 1147, -558, 1067, 1149, -421, 924, -421, - 767, 768, 1137, 1075, 1151, 250, -421, 973, 975, 1154, - 1155, 1164, 1178, 979, 981, 1082, 1168, -663, -664, -295, - 125, 864, 270, 83, 549, 83, 1190, 1185, 83, -558, - 798, 434, 1189, 1191, -295, -306, -558, 740, 226, 973, - 975, 1194, 979, 981, 1193, 589, 1163, 130, 773, 918, - -306, 1045, 1169, 265, 1192, 217, 86, 804, 1120, 786, - 1054, 357, 358, 359, 360, 514, 774, 694, 864, -295, - 1201, 1202, 432, 984, 954, 1056, -295, 361, 1060, 492, - 83, 83, 1128, 1162, 1129, -306, 208, 1130, 1104, 217, - 775, 1110, -306, 851, 1039, 1041, 1105, 833, 365, 366, - 367, 0, 363, 432, 864, 864, 0, 805, 856, 365, - 366, 367, 833, 0, 434, 104, 664, 104, 0, 0, - 0, 0, 104, 104, 0, 368, 0, 0, 104, 104, - 104, 1125, 0, 104, 472, 864, 368, 270, 458, 1165, - 1166, 83, 864, 864, 0, 434, 432, 0, 1064, 0, - 83, 83, 0, 1197, 1198, 0, 1116, 946, 832, 665, - 563, 1056, 328, 329, 889, 104, 0, 0, 86, 212, - 212, 1064, 0, 832, 0, 315, 86, 622, 930, 104, - 217, 1126, 0, 246, 900, 0, 247, 248, 434, 0, - 833, 0, 906, 0, 338, 328, 329, 921, 0, 562, - 1196, 1109, 328, 329, 1179, 1180, 340, 328, 329, 1203, - 1204, 622, 217, 0, 330, 331, 250, 622, 622, 555, - 328, 329, 0, 86, 86, 1096, 1098, 1099, 1100, 0, - 1156, 104, 0, 104, 0, 1200, 0, 86, 1106, 0, - 217, 924, 1205, 1206, 924, 0, 924, 330, 331, 86, - 86, 832, 0, 0, 330, 331, 0, 0, 86, 330, - 331, 0, 0, 946, 1116, 0, 989, 0, 0, 86, - 86, 0, 330, 331, 0, 0, 1146, 1148, 1150, -302, - 1152, 1153, -302, -302, 0, 0, 0, 833, 0, 0, - 0, 707, 0, 833, 472, 0, 1031, 0, 1116, 0, - 0, 1037, 0, 0, 0, 1010, 560, 328, 329, -302, - -302, 0, -302, 924, 564, 328, 329, 0, 565, 328, - 329, 1019, 0, 73, 104, 73, 121, 121, 0, 0, - 757, 328, 329, 0, 121, 0, 104, 104, 1184, 1186, - 1187, 1188, 0, 246, 1171, 0, 247, 248, 950, 956, - 0, 924, 622, 924, 950, 924, 0, 924, 0, 330, - 331, 1199, 86, 86, 0, 0, 1071, 330, 331, 0, - 86, 330, 331, 73, 249, 0, 250, 121, 0, 0, - 217, 217, 86, 330, 331, 0, 0, 0, 0, 104, - 0, 924, 104, 0, 0, 0, 246, 104, 104, 247, - 248, 104, 0, 121, 0, 0, 472, 0, 104, 104, - 0, 0, 472, 0, 0, 833, 104, 0, 777, 0, - 0, 930, 0, 502, 930, 0, 930, 249, 762, 250, - 357, 358, 359, 360, 0, 0, 0, 921, 833, 833, - 921, 73, 833, 921, 0, 921, 763, 0, 0, 86, - 0, 86, 0, 0, 86, 762, 0, 357, 358, 359, - 360, 0, 104, 104, 104, 104, 104, 104, 104, 104, - 0, 363, 0, 763, 0, 0, 950, 764, 0, 762, - 0, 357, 358, 359, 360, 0, 246, 104, 0, 247, - 248, 0, 0, 930, 472, 472, 0, 763, 363, 950, - 950, 217, 956, 950, 1018, 0, 86, 86, 104, 0, - 419, 104, 921, 104, 0, 0, 104, 1013, 0, 250, - 833, 833, 363, 0, 0, 833, 349, 350, 351, 352, - 353, 930, 73, 930, 0, 930, 0, 930, 426, 427, - 428, 429, 430, 0, 0, 0, 0, 104, 0, 0, - 921, 0, 921, 0, 921, 0, 921, 104, 104, 0, - 0, 0, 0, 0, 0, 0, 0, 86, 217, 217, - 0, 930, 104, 0, 104, 104, 86, 86, 416, 417, - 0, 950, 950, 0, 956, 104, 950, 0, 0, 104, - 921, 419, 0, 104, 833, 472, 0, 1086, 104, 357, - 358, 359, 360, 104, 0, 0, 833, 0, 0, 73, - 0, 472, 472, 0, 0, 763, 73, 73, 425, 426, - 427, 428, 429, 430, 73, 0, 0, 833, 833, 0, - 0, 0, 0, 0, 0, 121, 104, 0, 0, 0, - 0, 416, 417, 0, 0, 104, 0, 0, 807, 808, - 809, 0, 0, 0, 419, 950, 0, 0, 0, 0, - 0, 0, 833, 104, 0, 944, 0, 832, 0, 811, - 73, 104, 39, 40, 0, 73, 356, 812, 357, 358, - 359, 360, 426, 427, 428, 429, 430, 0, 950, 950, - 0, 0, 0, 0, 361, 73, 0, 0, 104, 0, - 0, 0, 0, 0, 0, 813, 0, 0, 362, 0, - 0, 814, 815, 0, 816, 0, 73, 104, 0, 363, - 57, 73, 121, 950, 73, 364, 365, 366, 367, 0, - 0, 0, 0, 74, 0, 74, 122, 122, 0, 0, - 0, 818, 0, 0, 122, 0, -690, 0, 120, 0, - 0, 0, 0, 368, 0, 945, 369, 0, 0, 0, - 0, 0, 0, 0, 0, 73, 73, 0, 0, 370, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 73, 74, 0, 0, 0, 122, 0, 0, - 0, 0, 0, 73, 104, 104, 0, 0, 0, 0, - 0, 73, 807, 808, 809, 0, 0, 0, 0, 0, - 0, 73, 0, 122, 0, 0, 0, 0, 0, 810, - -690, 0, 0, 811, 0, 0, 39, 40, 104, 0, - 0, 812, 0, -690, -690, -690, -690, -690, -690, 0, - -690, 0, 0, 0, 73, -690, -690, -690, 0, 0, - 0, 74, 0, 73, 0, 0, 0, -690, -690, 813, - -690, -690, -690, -690, -690, 814, 815, 121, 816, 121, - 817, 0, 0, 0, 57, 0, 0, 0, 0, 73, - 807, 808, 809, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 818, 0, 944, 0, 0, - 0, 811, 120, 0, 39, 40, 0, 104, 0, 812, - -690, 0, 0, 0, 0, 104, 104, 0, 0, 104, - 0, 0, 0, 0, 0, -690, 0, 0, 0, 0, - 0, 0, 0, 0, 121, -690, 0, 813, -690, -690, - 0, 0, 74, 814, 815, 0, 816, 0, 0, 0, - 104, 104, 57, 807, 808, 809, 104, 104, -690, -690, - 0, 0, 104, 104, 275, -690, -690, -690, -690, 0, - 944, 0, 0, 818, 811, 0, 104, 39, 40, 104, - 120, 0, 812, 0, 0, 0, 0, 0, 104, 104, - 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, - 0, 0, 0, 73, 0, 0, 0, 0, 104, 104, - 813, 0, 0, 0, 0, 0, 814, 815, 0, 74, - 0, 0, 0, 0, 0, 57, 74, 74, 416, 417, - 0, 0, 0, 103, 74, 103, 128, 128, 0, 0, - 0, 419, 0, 0, 231, 122, 818, 0, 0, 0, - 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 423, 424, 425, 426, - 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, - 74, 0, 0, 103, 0, 74, 0, 317, 0, 0, - 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 104, 104, 0, 0, 74, 0, 0, 0, 104, - 0, 0, 0, 317, 0, 73, 0, 0, 0, 104, - 104, 104, 121, 73, 73, 0, 74, 0, 0, 0, - 0, 74, 122, 0, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 0, 100, 127, 127, 127, - 0, 103, 0, 0, 0, 230, 0, 0, 73, 0, - 0, 0, 0, 0, 73, 73, 0, 0, 0, 0, - 73, 73, 0, 0, 0, 74, 74, 0, 0, 0, - 0, 0, 0, 0, 73, 0, 0, 0, 104, 0, - 104, 0, 74, 104, 100, 0, 73, 73, 316, 0, - 0, 0, 0, 74, 0, 73, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 0, 73, 73, 0, 0, - 0, 74, 0, 0, 316, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 104, 0, 103, 121, 0, 104, 104, 0, 121, 0, - 0, 0, 0, 356, 74, 357, 358, 359, 360, 0, - 0, 0, 100, 74, 0, 0, 0, 0, 0, 0, - 0, 361, 0, 0, 0, 0, 0, 122, 0, 122, - 0, 0, 0, 0, 0, 362, 0, 0, 0, 74, - 0, 0, 0, 0, 0, 0, 363, 0, 0, 73, - 0, 0, 364, 365, 366, 367, 104, 104, 104, 73, - 73, 0, 0, 121, 0, 104, 104, 73, 0, 103, - 0, 0, 0, 0, 0, 0, 103, 103, 0, 73, - 368, 0, 0, 369, 103, 0, 0, 0, 356, 0, - 357, 358, 359, 360, 122, 317, 370, 0, 0, 0, - 0, 0, 0, 100, 0, 0, 361, 0, 0, 356, - 0, 357, 358, 359, 360, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, - 103, 363, 0, 0, 0, 103, 0, 364, 365, 366, - 367, 0, 0, 0, 0, 0, 73, 0, 73, 0, - 0, 73, 363, 0, 0, 103, 0, 0, 364, 365, - 366, 367, 0, 74, 0, 368, 0, 0, 369, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 1107, - 100, 103, 317, 0, 623, 0, 368, 100, 100, 369, - 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 0, 0, 551, 73, 73, 0, 316, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 623, 623, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 103, 0, 0, 101, 100, 101, 0, 0, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 73, 0, 100, 0, 0, 0, - 0, 103, 0, 73, 73, 74, 0, 0, 0, 0, - 0, 0, 122, 74, 74, 0, 0, 100, 0, 0, - 0, 0, 100, 316, 0, 101, 0, 0, 356, 0, - 357, 358, 359, 360, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 0, 0, 361, 0, 74, 0, - 0, 0, 0, 0, 74, 74, 0, 317, 0, 317, - 74, 74, 581, 0, 0, 0, 0, 0, 0, 103, - 0, 363, 0, 0, 74, 0, 0, 364, 365, 366, - 367, 0, 0, 100, 0, 0, 74, 74, 0, 0, - 0, 0, 0, 101, 100, 74, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 368, 74, 74, 369, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 803, 0, - 0, 0, 0, 122, 0, 0, 0, 0, 122, 0, - 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 0, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 316, 0, - 316, 0, 416, 417, 0, 0, 0, 0, 0, 0, - 100, 0, 0, 0, 101, 419, 0, 0, 0, 74, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 74, - 74, 0, 0, 122, 0, 0, 420, 74, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 0, 74, - 0, 0, 0, 0, 0, 0, -280, 0, 0, 356, - 0, 357, 358, 359, 360, 316, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 361, 0, 356, - 0, 357, 358, 359, 360, 0, 0, 0, 0, 0, - 0, 101, 0, 778, 0, 0, 0, 361, 101, 101, - 0, 0, 363, 0, 0, 0, 101, 0, 364, 365, - 366, 367, 0, 902, 0, 0, 74, 0, 74, 0, - 0, 74, 363, 0, 0, 0, 0, 0, 364, 365, - 366, 367, 0, 0, 100, 103, 368, 0, 0, 369, - 0, 0, 317, 103, 623, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 0, 0, 368, 101, 356, 369, - 357, 358, 359, 360, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 74, 0, 361, 101, 623, 0, - 0, 0, 0, 0, 623, 623, 0, 0, 0, 0, - 103, 103, 0, 0, 0, 0, 0, 0, 101, 0, - 0, 363, 0, 101, 103, 0, 101, 364, 365, 366, - 367, 0, 0, 0, 0, 0, 103, 103, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, - 0, 0, 0, 0, 74, 368, 103, 103, 369, 0, - 0, 0, 0, 74, 74, 0, 100, 101, 101, 0, - 0, 0, 0, 316, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 101, 0, 0, 0, 128, 0, + 106, 284, 718, 441, 507, 221, 592, 285, 212, 212, + 251, 545, 265, 265, 212, 206, 265, 205, 520, 280, + 296, 344, 206, 125, 125, 401, 540, 282, 834, 659, + 542, 125, 435, 437, 245, 955, 206, 107, 269, 269, + 271, 271, 269, 451, 271, 708, 300, 314, 245, 348, + 926, 615, 307, 311, 686, 784, 439, 899, 479, 1113, + 657, 585, 1089, 71, 666, 71, 206, 669, 325, 949, + 621, 701, 392, 392, 125, 962, 305, 748, 306, 310, + 711, 731, 604, 553, 394, 276, 281, 296, 687, 255, + 780, 559, 615, 615, 439, 267, 273, 728, -107, 274, + 125, 728, -114, 657, 781, 666, 880, 863, -113, 280, + 446, 867, 731, 894, 687, 393, 448, 1058, 873, -109, + 270, 270, 964, -111, 270, 335, 337, 339, 341, 528, + -108, 394, 449, 848, 849, 582, 450, 497, 1118, 672, + 675, -557, 799, 347, 576, 751, -561, 472, 688, -556, + 436, 478, -348, 472, 687, 965, -560, -562, 270, 270, + 958, 782, 476, 526, 785, 432, 1113, -348, 440, 445, + -115, 3, -557, 485, 275, 276, 281, 959, -107, 687, + -114, -110, 379, 379, 862, 1089, 493, 444, 1059, -112, + 495, 561, -113, 445, 561, 442, 561, 895, 561, 1058, + 561, -115, -348, -561, -563, -565, 440, 434, 577, -348, + 287, 392, 392, -560, -562, -99, -114, 480, 481, -106, + 283, 212, 212, 394, 87, -105, 87, 126, 126, 379, + 379, 217, 217, 611, 525, 228, -101, 217, 217, 217, + -103, 598, 217, 601, 1176, 545, 507, -100, -564, 206, + 293, 325, 780, 468, 469, 523, 544, 431, -566, 493, + 550, -563, -565, 296, 717, 780, 781, 505, 395, 505, + 1119, 265, 432, 514, 87, 265, 457, 531, 315, 781, + 495, 397, 516, 519, 398, 538, 538, 951, 217, 300, + 538, 432, 443, 926, 579, 871, 926, 512, -102, -551, + -663, 269, 1117, 271, 315, -564, -104, 433, -664, 731, + 545, 1095, 593, 987, 434, -566, 754, 791, 759, -80, + 474, 379, 379, 782, -109, 490, 458, -555, 728, 728, + 934, 125, 402, 434, 275, 432, 782, 776, 817, 217, + -94, 87, 58, 872, 569, 570, 571, 572, 212, 212, + 212, 212, 607, 574, 575, 527, -551, 617, 515, 929, + 859, -556, 467, 533, 792, 784, 455, 296, 462, 853, + 475, 530, -111, 473, 589, 952, 589, 434, 477, 270, + -559, 568, 684, 270, -555, 504, 976, 508, 482, 556, + -107, 613, 982, 300, 493, -559, 777, 780, 617, 617, + 777, 939, 42, 926, 905, 43, 486, 780, 488, 71, + 1177, -99, 707, 707, 573, 561, 502, 951, 125, 609, + 506, 536, 522, 1083, 609, 463, 379, 367, 419, 265, + -559, 514, 87, 657, 728, 666, 444, -559, -79, 697, + 1000, 1004, 529, 664, 217, 217, 664, 704, 842, 59, + 843, 615, 368, 535, 265, 541, 514, 716, 543, 520, + 689, 547, 885, 495, 694, -114, 890, 664, 817, -108, + 495, 265, 58, 514, 1023, 578, 725, -109, 379, -111, + 265, 931, 514, 977, 664, 615, -106, 862, 747, 566, + 544, 615, 615, 664, 1133, 342, 343, 217, 545, 665, + 739, 217, 354, 355, 483, 217, 217, 452, 453, 87, + 505, 505, -108, 865, 862, 720, 87, 87, 567, 432, + 106, 1084, 1167, 665, 87, 758, -432, -434, 729, 206, + -660, 780, 972, 664, 584, 315, 985, 270, 978, 980, + 665, 245, 924, 867, -572, 265, 773, 514, 587, 665, + 590, 1033, 1034, 591, 484, 544, 599, 883, 664, 602, + 746, 434, 270, 125, 774, 125, 594, 806, 597, 520, + 87, 217, 217, 217, 217, 87, 217, 217, 600, 270, + 770, 526, 1014, 71, 731, 734, 614, 491, 270, 665, + 247, 248, 744, 677, -551, 87, 365, 366, 367, 788, + 691, 930, 1111, 795, 728, 1114, 1028, 1029, 270, -551, + -113, 851, 270, 603, 665, 835, 87, -421, 692, 217, + 885, 87, 315, 368, 622, 698, 615, 520, 735, 736, + 125, -105, 454, 454, 780, 908, 910, 912, 470, 914, + 270, 915, -660, 270, -551, 780, 695, 696, -660, 842, + 555, -551, 472, 270, 705, 217, 721, 843, 505, 379, + 733, 738, 839, 470, 280, 622, 622, 280, 795, 795, + 741, 845, -94, 1063, 847, 852, 1068, 756, -109, 212, + 217, -421, 87, 217, 769, 280, -111, 554, 772, 790, + 861, 864, 800, 87, 878, 864, -421, 217, 206, -101, + 857, 87, 864, 801, -305, 802, 217, -103, 840, 877, + 906, 87, 1173, 212, 609, 854, 855, 1007, 862, -305, + -109, 838, 1159, 206, 870, 797, 538, 505, 879, -421, + 276, -421, 881, 276, 1144, 245, 876, 246, -421, 583, + 247, 248, 246, 544, 87, 247, 248, 888, 891, 838, + 897, 276, 901, 87, -305, 903, 687, 617, -664, 887, + 983, -305, 246, 576, 502, 247, 248, 315, 249, 315, + 250, 217, 907, 249, 589, 250, 841, 909, 977, 87, + 911, 524, 1106, 916, 989, 924, 674, 676, 924, 942, + 924, 617, 974, 249, 913, 250, 432, 617, 617, 943, + 532, 265, 963, 514, 534, 957, 217, -108, 470, 707, + 960, 966, 472, 336, 664, 328, 329, 986, 125, -109, + 674, 676, -109, -109, 419, 217, 967, 968, -100, 1074, + 994, 475, 1005, 1006, 315, 1076, 882, 990, 434, 270, + 270, 777, 1002, 1003, 930, 508, 969, 930, 795, 930, + -109, 1009, -109, 991, 428, 429, 430, 924, 993, 995, + 998, 997, 935, 1015, 212, 887, 999, 330, 331, 742, + 665, 520, 1001, 105, 1012, 105, 1096, 1098, 1099, 1100, + 105, 105, 1017, 1032, 1035, 505, 105, 105, 105, 1038, + 1040, 105, 1042, 548, 1047, 924, 1044, 924, 1046, 924, + 946, 924, 217, 87, 1048, 1049, 961, 246, 432, 270, + 247, 248, 1050, 1051, -558, 1052, 930, 1131, 1132, -661, + 554, 589, 589, 105, 472, 327, 328, 329, 921, -558, + 472, 563, 617, 328, 329, 924, 217, 105, 249, 125, + 250, 1053, -667, 549, 125, 270, -111, 1065, 246, 766, + 434, 247, 248, 1057, 930, 1067, 930, 1066, 930, 844, + 930, 1077, 846, 1075, -558, 1078, 783, 1090, 1091, 787, + 1097, -558, 1101, 246, -663, 1082, 247, 248, 330, 331, + 844, 250, -295, -555, 1103, 330, 331, 1102, 105, 1121, + 105, 1122, 1123, -306, 930, 1171, 1124, -295, -555, 1164, + 1080, 1081, 1136, 1011, 212, 212, -667, 864, -306, 125, + 732, 970, 472, 472, 1138, 87, 1127, 737, 1192, 1168, + 1140, -667, 315, 87, 622, 1145, 1147, 217, 1045, 743, + 1149, -661, -295, -555, 1201, 1202, 1151, -661, -663, -295, + -555, 1154, 1128, -306, 1129, -111, 1155, 1130, -111, -111, + -306, 804, 1056, -663, -667, 1060, -667, -663, 622, 217, + -663, 1137, -664, -667, 622, 622, 432, 1178, 1190, 246, + 87, 87, 247, 248, 1191, 1104, -111, 971, -111, 1185, + 864, 105, 767, 768, 87, 1189, -663, 217, -663, 1193, + 432, 1194, -663, 105, 105, -663, 87, 87, 740, 1165, + 1166, 805, 250, 833, 589, 87, 1179, 1180, 434, 226, + 130, 1163, 798, 472, 918, 270, 87, 87, 833, 1169, + 984, 1120, 265, 954, 514, 458, 694, 864, 1054, 472, + 472, 1162, 434, 1116, 946, 664, 208, 1200, 1056, 492, + 775, 1105, 1110, 1031, 1205, 1206, 105, 1125, 1037, 0, + 105, 0, 1039, 1041, 105, 105, 0, 0, 105, 0, + 1196, 925, 432, 864, 864, 105, 105, 0, 921, 1203, + 1204, 921, 0, 105, 921, 0, 921, 0, 0, 973, + 975, 0, 0, 0, 0, 979, 981, 0, 1197, 1198, + 856, 665, 212, 212, 864, 0, 833, 1126, -664, 622, + 0, 864, 864, 0, 434, 0, 0, 1156, 0, 87, + 87, 973, 975, 1071, 979, 981, 0, 87, 0, 105, + 105, 105, 105, 105, 105, 105, 105, 217, 217, 87, + 270, 762, 0, 357, 358, 359, 360, 338, 328, 329, + 946, 1116, 0, 921, 105, 0, 889, 0, 0, 763, + 0, 0, 0, 74, 0, 74, 121, 121, 0, 1109, + 0, 0, -664, 0, 121, 105, 900, 0, 105, 0, + 105, 0, 0, 105, 0, 1116, 1022, -664, 1024, 0, + 0, 921, 1025, 921, 0, 921, 0, 921, 0, 0, + 330, 331, 0, 833, 0, 0, 87, 0, 87, 833, + 0, 87, 334, 74, 105, 328, 329, 121, 0, 0, + -664, 0, -664, 0, 105, 105, -664, 0, 0, -664, + 1064, 921, 898, 354, 355, 0, 0, 0, 0, 105, + 0, 105, 105, 121, 1146, 1148, 1150, 419, 1152, 1153, + 0, -302, 105, 1064, -302, -302, 105, 0, 217, 0, + 105, 0, 0, 87, 87, 105, 0, 330, 331, 762, + 105, 357, 358, 359, 360, 426, 427, 428, 429, 430, + 74, -302, -302, 0, -302, 562, 0, 763, 328, 329, + 349, 350, 351, 352, 353, 1092, 1093, 1010, 340, 328, + 329, 0, 0, 105, 0, 0, 1184, 1186, 1187, 1188, + 0, 246, 105, 1019, 247, 248, 0, 1112, 0, 1115, + 0, 832, 0, 0, 87, 217, 217, 0, 0, 1199, + 105, 833, 0, 87, 87, 0, 832, 0, 105, 0, + 330, 331, 249, 0, 250, 807, 808, 809, 0, 0, + 0, 330, 331, 0, 833, 833, 0, 0, 833, 0, + 1094, 0, 944, 0, 0, 105, 811, 0, 0, 40, + 41, 74, 0, 1139, 812, 0, 1141, 786, 0, 357, + 358, 359, 360, 0, 105, 75, 0, 75, 122, 122, + 555, 328, 329, 0, 0, 361, 122, 560, 328, 329, + 0, 0, 813, 0, 564, 328, 329, 0, 814, 815, + 0, 816, 0, 0, 832, 0, 0, 58, 0, 1170, + 363, 0, 0, 0, 1172, 0, 1174, 365, 366, 367, + 1175, 565, 328, 329, 0, 75, 833, 833, 818, 122, + 0, 833, 0, 330, 331, 120, 0, 0, 74, 0, + 330, 331, 945, 0, 368, 74, 74, 330, 331, 0, + 0, 105, 105, 74, 1195, 122, 757, 328, 329, 807, + 808, 809, 246, 0, 121, 247, 248, 0, 762, 0, + 357, 358, 359, 360, 330, 331, 810, 0, 0, 0, + 811, 0, 0, 40, 41, 105, 763, 246, 812, 502, + 247, 248, 75, 249, 0, 250, 0, 0, 0, 74, + 833, 950, 956, 0, 74, 0, 0, 950, 0, 330, + 331, 363, 833, 0, 0, 0, 813, 764, 249, 0, + 250, 0, 814, 815, 74, 816, 0, 817, 0, 0, + 0, 58, 0, 833, 833, 0, 762, 0, 357, 358, + 359, 360, 0, 0, 762, 74, 357, 358, 359, 360, + 74, 121, 818, 74, 763, 0, 0, 246, 0, 120, + 247, 248, 763, 0, 105, 0, 0, 0, 833, 0, + 0, 0, 105, 105, 0, 0, 105, 0, 104, 363, + 104, 128, 128, 75, 0, 1018, 0, 363, 1013, 231, + 250, 0, 0, 0, 74, 74, 0, 0, 0, 356, + 0, 357, 358, 359, 360, 0, 0, 105, 105, 0, + 0, 74, 0, 105, 105, 0, 0, 361, 0, 105, + 105, 1086, 74, 357, 358, 359, 360, 0, 104, 950, + 74, 362, 317, 105, 0, 0, 105, 0, 0, 763, + 74, 0, 363, 0, 0, 105, 105, 0, 364, 365, + 366, 367, 950, 950, 105, 956, 950, 0, 317, 0, + 75, 0, 0, 0, 0, 105, 105, 75, 75, -690, + 0, 0, 0, 74, 0, 75, 368, 0, 0, 369, + 0, 0, 74, 0, 0, 0, 122, 0, 807, 808, + 809, 0, 370, 0, 0, 104, 121, 0, 121, 0, + 0, 0, 0, 0, 0, 944, 0, 0, 74, 811, + 0, 0, 40, 41, 0, 0, 0, 812, 0, 0, + 0, 75, 0, 0, 0, 0, 75, 0, 0, 0, + 0, 0, 0, 0, 950, 950, 0, 956, 0, 950, + 0, 0, 0, 0, 0, 813, 75, 0, 105, 0, + 0, 814, 815, 0, 816, 0, 0, 0, 105, 105, + 58, 0, 0, 121, 0, 0, 105, 75, 0, 0, + 0, 0, 75, 122, 0, 75, 105, 105, 105, 0, + 0, 818, 0, 0, 416, 417, 104, 356, 120, 357, + 358, 359, 360, 0, 807, 808, 809, 419, 0, 0, + 0, 0, 0, 0, 0, 361, 0, 0, 950, 0, + 0, 944, 0, 0, 0, 811, 75, 75, 40, 41, + 832, 0, 0, 812, 425, 426, 427, 428, 429, 430, + 363, 0, 74, 75, 0, 0, 364, 365, 366, 367, + 0, 950, 950, 0, 75, 105, 0, 105, 0, 0, + 105, 813, 75, 0, 0, 0, 0, 814, 815, 0, + 0, 0, 75, 104, 368, 0, 58, 369, 416, 417, + 104, 104, 0, 0, 0, 0, 950, 0, 104, 0, + 551, 419, 0, 0, 0, 0, 0, 818, 0, 317, + 0, 0, 416, 417, 120, 75, 0, 105, 0, 0, + 0, 0, 105, 105, 75, 419, 423, 424, 425, 426, + 427, 428, 429, 430, 0, 0, 0, 0, 122, 0, + 122, 0, 0, 0, 104, 0, 0, 0, 0, 104, + 75, 0, 0, 426, 427, 428, 429, 430, 0, 0, + 0, 0, 0, 0, 74, 0, 0, 0, 0, 104, + 0, 121, 74, 74, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 105, 105, 105, 0, 0, 0, 0, + 104, 0, 105, 105, 0, 104, 317, 0, 623, 0, + 0, 0, 0, 0, 0, 122, 0, 74, 0, 0, + 0, 0, 0, 74, 74, 0, 0, 0, 0, 74, + 74, 0, 0, 101, 0, 101, 127, 127, 127, 0, + 0, 0, 0, 74, 230, 0, 0, 0, 0, 623, + 623, 0, 0, 0, 0, 74, 74, 0, 0, 0, + 0, 0, 0, 0, 74, 0, 104, 0, 356, 0, + 357, 358, 359, 360, 0, 74, 74, 104, 0, 0, + 0, 0, 0, 101, 75, 104, 361, 316, 0, 0, + 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, + 362, 0, 121, 0, 0, 0, 0, 121, 0, 0, + 0, 363, 0, 316, 0, 0, 0, 364, 365, 366, + 367, 0, 0, 0, 0, 0, 0, 0, 104, 0, + 0, 356, 0, 357, 358, 359, 360, 104, 0, 0, + 0, 0, 0, 0, 0, 368, 0, 0, 369, 361, + 101, 317, 0, 317, 0, 0, 0, 0, 74, 0, + 0, 370, 0, 104, 0, 0, 0, 0, 74, 74, + 0, 0, 121, 0, 363, 0, 74, 0, 0, 0, + 364, 365, 366, 367, 0, 0, 0, 0, 74, 0, + 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, + 0, 0, 0, 122, 75, 75, 0, 0, 368, 0, + 0, 369, 0, 0, 0, 0, 0, 0, 317, 0, + 0, 0, 1107, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 0, 101, 0, 0, 0, 75, 75, 0, 0, 0, + 0, 75, 75, 0, 0, 74, 0, 74, 0, 0, + 74, 0, 0, 0, 0, 75, 0, 0, 0, 0, + 0, 356, 0, 357, 358, 359, 360, 75, 75, 0, + 0, 0, 0, 0, 0, 0, 75, 104, 356, 361, + 357, 358, 359, 360, 0, 0, 0, 75, 75, 84, + 0, 84, 0, 0, 0, 581, 361, 0, 0, 0, + 227, 0, 74, 74, 363, 0, 0, 0, 101, 0, + 364, 365, 366, 367, 122, 101, 101, 0, 0, 122, + 0, 363, 0, 101, 0, 0, 0, 364, 365, 366, + 367, 0, 0, 0, 316, 0, 0, 0, 368, 84, + 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 368, 0, 0, 369, 0, + 0, 0, 0, 74, 0, 0, 0, 0, 0, 101, + 75, 0, 74, 74, 101, 0, 0, 0, 0, 0, + 75, 75, 0, 0, 122, 0, 0, 0, 75, 104, + 0, 0, 0, 0, 101, 0, 317, 104, 623, 102, + 75, 102, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, - 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, - 0, 100, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, 0, 0, 0, 623, - 0, 0, 0, 0, 0, 0, 101, 100, 100, 103, - 103, 0, 0, 1073, 0, 101, 100, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 100, 103, - 0, 0, 0, 0, 0, 266, 266, 0, 0, 266, + 101, 316, 0, 0, 0, 356, 0, 357, 358, 359, + 360, 0, 623, 0, 0, 0, 0, 0, 623, 623, + 0, 0, 0, 361, 104, 104, 0, 0, 0, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 104, 778, + 0, 0, 0, 0, 0, 0, 0, 75, 363, 75, + 104, 104, 75, 0, 364, 365, 366, 367, 0, 104, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 0, 0, 0, 0, 127, - 0, 0, 0, 0, 0, 0, 288, 290, 291, 292, - 0, 0, 0, 266, 308, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 345, 346, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 103, 0, - 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 104, 104, 101, 0, 0, 0, 0, 84, 0, 0, + 101, 0, 368, 0, 0, 369, 0, 0, 0, 0, + 101, 0, 0, 0, 0, 0, 102, 128, 0, -690, + 0, 0, 128, 0, 75, 75, 0, 0, 0, 0, + 0, 0, -690, -690, -690, -690, -690, -690, 0, -690, + 0, 0, 0, 101, -690, -690, -690, 0, 0, 0, + 0, 0, 101, 0, 0, 0, -690, -690, 0, -690, + -690, -690, -690, -690, 0, 0, 316, 0, 316, 0, + 0, 0, 0, 623, 84, 0, 0, 0, 101, 0, + 0, 84, 84, 104, 104, 75, 0, 1073, 0, 84, + 0, 104, 0, 0, 75, 75, 356, 0, 357, 358, + 359, 360, 0, 104, 0, 0, 0, 102, 0, -690, + 0, 0, 0, 0, 361, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -690, 0, 0, 0, 0, 0, + 902, 0, 0, 316, -690, 84, 0, -690, -690, 363, + 84, 0, 0, 0, 0, 364, 365, 366, 367, 0, + 0, 0, 0, 0, 0, 0, 0, -690, -690, 0, + 84, 0, 0, 275, -690, -690, -690, -690, 0, 0, + 104, 0, 104, 368, 0, 104, 369, 0, 0, 0, + 0, 84, 0, 0, 102, 0, 84, 0, 0, 618, + 0, 102, 102, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 100, 0, 0, 1072, 0, 0, 0, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 103, 0, 0, 0, 0, 0, - 0, -455, 0, 0, 0, 101, 0, 0, 0, 0, - 0, 0, 0, 0, -455, -455, -455, -455, -455, -455, - 0, -455, 0, 0, 0, 0, -455, 0, -455, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -455, -455, - 0, -455, -455, -455, -455, -455, 0, 100, 0, 100, - 0, 0, 100, 0, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 969, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -455, 101, 0, -455, - -455, 498, 499, 500, 345, 101, 101, -455, 0, 0, - 0, 0, 0, 0, 0, 266, 0, 0, 266, 0, - -455, 0, 0, -455, 0, 0, -455, -455, 0, -455, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 100, 101, 101, 0, 0, - 0, 0, 101, 101, 100, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 104, 104, 0, + 618, 618, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 102, 0, 84, 0, 0, + 102, 0, 0, 0, 0, 0, 0, 0, 84, 0, + 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, + 102, 0, 0, 0, 0, 0, 84, 404, 405, 406, + 407, 408, 409, 410, 0, 412, 413, 0, 104, 0, + 0, 102, 0, 416, 417, 0, 102, 104, 104, 102, + 0, 0, 0, 0, 0, 0, 419, 0, 0, 84, + 0, 0, 0, 0, 101, 0, 0, 0, 84, 0, + 0, 316, 101, 0, 0, 0, 0, 0, 0, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, + 102, 102, 0, 0, 84, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 101, + 101, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 101, 0, 0, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 127, 0, 0, 0, 15, 127, 108, 109, + 18, 19, 0, 0, 102, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 84, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, + 0, 0, 1072, 0, 0, 0, 101, 0, 312, 0, + 0, 119, 53, 0, 54, 55, 0, 0, 101, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 266, 266, 0, 0, 266, 0, 0, + 0, 120, 0, 0, 0, 0, 0, 0, 0, 313, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, + 84, 0, 0, 0, 288, 290, 291, 292, 84, 618, + 0, 266, 308, 0, 0, 101, 0, 101, 0, 0, + 101, 0, 0, 345, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, - 0, 0, 619, 0, 625, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 636, 637, 638, 0, 640, - 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, - 651, 0, 0, 266, 0, 0, 0, 0, 0, 0, - 0, 101, 0, 673, 673, 0, 0, 0, 0, 0, - 0, 101, 101, 0, 0, 0, 0, 0, 266, 101, + 0, 0, 0, 618, 0, 0, 0, 0, 0, 618, + 618, 0, 0, 0, 0, 84, 84, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, + 0, 84, 84, 0, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 84, 84, 0, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 0, 0, 0, 102, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 0, 673, 0, 266, 0, 673, 673, 0, - 0, 0, 0, 0, 266, 0, 0, 0, 0, 0, - 0, 0, 0, 719, 0, 0, 722, 723, 0, 0, - 0, 724, 0, 0, 727, 0, 730, 0, 308, 292, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 0, 102, + 102, 0, 0, 0, 0, 102, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 0, 618, 0, 0, 0, 0, 0, + 0, 102, 102, 0, 84, 84, 0, 0, 1070, 0, + 102, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 0, 102, 102, 0, 84, 0, 0, 0, 498, 499, + 500, 345, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 266, 0, 0, 0, 266, 0, 0, 0, + 0, 652, 653, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 673, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 727, 0, 101, 308, - 101, 803, 0, 101, 0, 0, 0, 0, 0, 266, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 84, 0, 84, 0, 0, 84, 0, 0, 0, + 188, 189, 190, 0, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 102, 0, 0, 0, 0, + 0, 0, 102, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 102, 201, 202, 0, 0, 0, + 0, 586, 0, 203, 275, 0, 0, 0, 84, 84, + 0, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 608, 0, 0, 0, 0, 619, + 0, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 0, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 0, 0, + 266, 102, 0, 102, 0, 0, 102, 0, 0, 84, + 673, 673, 0, 0, 0, 0, 0, 0, 84, 84, + 0, 0, 0, 0, 0, 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 760, 761, 0, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 0, 0, 0, 771, 416, 417, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 101, 0, 419, 0, - 0, 0, 0, 789, 0, 0, 796, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, - 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 0, -296, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -296, -296, -296, -296, -296, - -296, 0, -296, 0, 0, 0, 101, -296, 0, -296, - -296, -296, 0, 0, 0, 101, 101, 0, 0, -296, - -296, 0, -296, -296, -296, -296, -296, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -296, - 0, 0, 858, 0, 0, 771, 789, 0, 0, 0, - 0, 0, 0, 0, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, 0, 0, 0, 0, - -296, -296, -296, 0, 0, -296, 884, 0, 0, 0, - 0, -296, 0, -296, 0, 727, 308, -296, 0, 0, - 0, 0, 0, 0, 0, -296, 0, -296, 0, 0, - -296, -296, 0, 0, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, 0, 0, 0, 0, - 0, -296, -296, -296, -296, 0, 0, -296, -296, -296, - -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, - 0, 0, 673, 936, 0, 266, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, - 0, 0, 416, 417, 0, 0, 0, 501, 0, 0, - 0, 0, 0, 0, 0, 419, 673, 673, 0, 0, - 0, 727, 673, 673, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 673, 673, - 0, 673, 673, 0, 0, 0, 652, 653, 0, 0, - 654, 0, 1008, 0, 0, 0, 292, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 1020, 1021, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 1026, 1027, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 1043, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 0, 0, 0, 0, 0, 0, 203, 275, - 1061, 1062, 0, 0, 0, 0, 0, 673, 0, 0, - 0, 0, -690, 3, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, - 673, 14, 0, 15, 16, 17, 18, 0, 0, 0, - 0, 308, 19, 20, 21, 22, 23, 24, 25, 0, - 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, -420, 63, -690, 0, 0, - -690, -690, 0, 0, 0, 0, 0, 0, -420, -420, - -420, -420, -420, -420, 0, -420, 64, 65, 66, 0, - -420, -420, -420, -420, 0, 0, 266, 0, -690, 0, - -690, 0, -420, -420, 0, -420, -420, -420, -420, -420, + 673, 0, 266, 0, 673, 673, 0, 0, 0, 0, + 0, 266, 0, 0, 0, 0, 0, 0, 102, 102, + 719, 0, 0, 722, 723, 0, 0, 0, 724, 0, + 0, 727, 0, 730, 0, 308, 292, 0, 0, 0, + 0, 0, 0, -691, -691, -691, -691, 408, 409, 0, + 0, -691, -691, 673, 0, 0, 0, 0, 0, 416, + 417, 0, 0, 727, 0, 0, 308, 0, 0, 0, + 0, 0, 419, 0, 0, 0, 266, 0, 0, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 102, + 0, 0, 0, 760, 761, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, + 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -420, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -420, -420, 0, - 0, 0, 0, -420, -420, -420, 0, 0, -420, 0, - 0, 0, 0, 0, -420, 0, -420, 0, 0, 0, - -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -420, 0, 0, -420, -420, 0, 0, -420, 0, -420, - -420, -420, -420, -420, -420, -420, -420, -420, -420, 0, - 0, -551, 0, -420, -420, -420, -420, -420, 0, 275, - -420, -420, -420, -420, -551, -551, -551, -551, -551, -551, - 0, -551, 0, 0, 0, 0, -551, 0, -551, -551, - 0, 0, 0, 0, 0, 0, 0, 0, -551, -551, - 0, -551, -551, -551, -551, -551, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 496, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -551, -551, -551, -551, -551, -551, -551, - -551, -551, -551, -551, -551, 0, 0, 0, 0, -551, - -551, -551, 0, -551, -551, 0, 0, 0, 0, 0, - -551, 0, -551, 0, 0, 0, -551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -551, 0, 0, -551, - -551, 0, -551, -551, 0, -551, -551, -551, -551, -551, - -551, -551, -551, -551, -551, 0, 0, -690, 0, 0, - -551, -551, -551, -551, 0, 0, -551, -551, -551, -551, - -690, -690, -690, -690, -690, -690, 0, -690, 0, 0, - 0, 0, -690, -690, -690, -690, 0, 0, 0, 0, - 0, 0, 0, 0, -690, -690, 0, -690, -690, -690, - -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -690, - -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, - -690, 0, 0, 0, 0, -690, -690, -690, 0, 0, - -690, 0, 0, 0, 0, 0, -690, 0, -690, 0, - 0, 0, -690, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -690, 0, 0, -690, -690, 0, 0, -690, - 0, -690, -690, -690, -690, -690, -690, -690, -690, -690, - -690, 0, 0, -690, 0, -690, -690, -690, -690, -690, - 0, 275, -690, -690, -690, -690, -690, -690, -690, -690, - -690, -690, 0, -690, 0, 0, 0, 0, -690, 0, - -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, - -690, -690, 0, -690, -690, -690, -690, -690, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -690, -690, -690, -690, -690, - -690, -690, -690, -690, -690, -690, -690, 0, 0, 0, - 0, -690, -690, -690, 0, 0, -690, 0, 0, 0, - 0, 0, -690, 0, -690, 0, 0, 0, -690, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -690, 0, - 0, -690, -690, 0, 0, -690, 0, -690, -690, -690, - -690, -690, -690, -690, -690, -690, -690, 0, 0, -667, - 0, 0, -690, -690, -690, -690, 0, 275, -690, -690, - -690, -690, -667, -667, -667, 0, -667, -667, 0, -667, - 0, 0, 0, 0, -667, -667, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -667, -667, 0, -667, - -667, -667, -667, -667, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -667, -667, -667, -667, -667, -667, -667, -667, -667, - -667, -667, -667, 0, 0, 0, 0, -667, -667, -667, - 0, 836, -667, 0, 0, 0, 0, 0, 0, 0, - -667, 0, 0, 0, -667, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -667, 0, 0, -667, -667, 0, - -110, -667, 0, -667, -667, -667, -667, -667, -667, -667, - -667, -667, -667, 0, 0, -667, 0, -667, -667, -667, - 0, -102, 0, 0, -667, -667, -667, -667, -667, -667, - -667, 0, -667, -667, 0, -667, 0, 0, 0, 0, - -667, -667, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -667, -667, 0, -667, -667, -667, -667, -667, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -667, -667, -667, - -667, -667, -667, -667, -667, -667, -667, -667, -667, 0, - 0, 0, 0, -667, -667, -667, 0, 836, -667, 0, - 0, 0, 0, 0, 0, 0, -667, 0, 0, 0, - -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -667, 0, 0, -667, -667, 0, -110, -667, 0, -667, - -667, -667, -667, -667, -667, -667, -667, -667, -667, 0, - 0, -305, 0, -667, -667, -667, 0, -667, 0, 0, - -667, -667, -667, -667, -305, -305, -305, 0, -305, -305, - 0, -305, 0, 0, 0, 0, -305, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -305, -305, - 0, -305, -305, -305, -305, -305, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, 0, 0, 0, 0, -305, - -305, -305, 0, 837, -305, 0, 0, 0, 0, 0, - 0, 0, -305, 0, 0, 0, -305, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -305, 0, 0, -305, - -305, 0, -112, -305, 0, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, 0, 0, -305, 0, 0, - -305, -305, 0, -104, 0, 0, -305, -305, -305, -305, - -305, -305, -305, 0, -305, -305, 0, -305, 0, 0, - 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -305, -305, 0, -305, -305, -305, - -305, -305, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, - -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, 0, 0, 0, 0, -305, -305, -305, 0, 837, - -305, 0, 0, 0, 0, 0, 0, 0, -305, 0, - 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -305, 0, 0, -305, -305, 0, -112, -305, - 0, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, 0, 0, -57, 0, 0, -305, -305, 0, -305, - 0, 0, -305, -305, -305, -305, -57, -57, -57, -57, - -57, -57, 0, -57, 0, 0, 0, 0, 403, 0, - -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -57, -57, 0, -57, -57, -57, -57, -57, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 404, 405, 406, 407, 408, + 789, 0, 0, 796, 0, 0, -690, 4, 0, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, + 0, 0, 0, 0, 0, 15, 0, 16, 17, 18, + 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, + 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, + 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, + 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 858, + 49, 50, 771, 789, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 0, 56, 0, 403, 0, + 57, 0, 58, 59, 60, 0, 61, 62, 63, 0, + 64, -690, 0, 884, -690, -690, 0, 0, 0, 0, + 0, 0, 727, 308, 0, 0, 0, 0, 0, 0, + 65, 66, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -690, 0, -690, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, - 0, -57, -57, 0, 0, 420, 0, 421, 422, 423, + 0, 0, 0, 0, 933, 0, 0, 0, 0, 673, + 936, 0, 266, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, - 0, 0, -57, 0, 0, 0, 0, 0, -57, -57, - 294, -57, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, -690, -690, -690, 0, 0, -690, 14, 0, - 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, - 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, - 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -690, 294, -690, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - -690, 0, -690, -690, 14, 0, 15, 16, 17, 18, - 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, - 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, - 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, - 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, - 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, - 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -690, 294, -690, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, -690, 0, 0, -690, - 14, -690, 15, 16, 17, 18, 0, 0, 0, 0, - 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, - 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, -690, 0, 0, -690, + 0, 0, 0, 673, 673, 0, 0, 0, 727, 673, + 673, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 673, 673, 0, 673, 673, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008, + 0, 0, 0, 292, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1020, 1021, 0, 0, 0, -296, 0, 0, 0, 0, + 0, 0, 0, 1026, 1027, 0, 0, 0, -296, -296, + -296, -296, -296, -296, 0, -296, 0, 0, 0, 1043, + -296, 0, -296, -296, -296, 0, 0, 0, 0, 0, + 0, 0, -296, -296, 0, -296, -296, -296, -296, -296, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -296, 0, 0, 0, 0, 1061, 1062, 0, + 0, 0, 0, 0, 673, 0, 0, -296, -296, -296, + -296, -296, -296, -296, -296, -296, -296, -296, -296, 0, + 0, 0, 0, -296, -296, -296, 0, 673, -296, 0, + 0, 0, 0, 0, -296, 0, -296, 0, 308, 0, + -296, 0, 0, 0, 0, 0, 0, 0, -296, 0, + -296, 0, 0, -296, -296, 0, 0, -296, -296, -296, + -296, -296, -296, -296, -296, -296, -296, -296, -296, 0, + 0, 0, 0, 0, -296, -296, -296, -296, 0, 0, + -296, -296, -296, -296, -420, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -420, -420, -420, + -420, -420, -420, 0, -420, 0, 0, 0, 0, -420, + -420, -420, -420, 0, 0, 0, 0, 0, 0, 0, + 0, -420, -420, 0, -420, -420, -420, -420, -420, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 266, 0, 0, -420, -420, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, 0, 0, + 0, 0, -420, -420, -420, 0, 0, -420, 0, 0, + 0, 0, 0, -420, 0, -420, 0, 0, 0, -420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, + 0, 0, -420, -420, 0, 0, -420, 0, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, 0, 0, + -551, 0, -420, -420, -420, -420, -420, 0, 275, -420, + -420, -420, -420, -551, -551, -551, -551, -551, -551, 0, + -551, 0, 0, 0, 0, -551, 0, -551, -551, 0, + 0, 0, 0, 0, 0, 0, 0, -551, -551, 0, + -551, -551, -551, -551, -551, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 496, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -551, -551, -551, -551, -551, -551, -551, -551, + -551, -551, -551, -551, 0, 0, 0, 0, -551, -551, + -551, 0, -551, -551, 0, 0, 0, 0, 0, -551, + 0, -551, 0, 0, 0, -551, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -551, 0, 0, -551, -551, + 0, -551, -551, 0, -551, -551, -551, -551, -551, -551, + -551, -551, -551, -551, 0, 0, -690, 0, 0, -551, + -551, -551, -551, 0, 0, -551, -551, -551, -551, -690, + -690, -690, -690, -690, -690, 0, -690, 0, 0, 0, + 0, -690, -690, -690, -690, 0, 0, 0, 0, 0, + 0, 0, 0, -690, -690, 0, -690, -690, -690, -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -690, 294, -690, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, -690, 0, 0, -690, 14, 0, 15, 16, - 17, 18, -690, 0, 0, 0, 0, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, - 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, -690, 0, 0, -690, -690, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -690, -690, + -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, + 0, 0, 0, 0, -690, -690, -690, 0, 0, -690, + 0, 0, 0, 0, 0, -690, 0, -690, 0, 0, + 0, -690, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -690, 0, 0, -690, -690, 0, 0, -690, 0, + -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, + 0, 0, -690, 0, -690, -690, -690, -690, -690, 0, + 275, -690, -690, -690, -690, -690, -690, -690, -690, -690, + -690, 0, -690, 0, 0, 0, 0, -690, 0, -690, + -690, 0, 0, 0, 0, 0, 0, 0, 0, -690, + -690, 0, -690, -690, -690, -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -690, 294, -690, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, -690, 0, - 0, -690, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, - 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, -690, 0, - 0, -690, -690, 3, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, - 0, 14, 0, 15, 16, 17, 18, 0, 0, -690, - 0, -690, 19, 20, 21, 22, 23, 24, 25, 0, - 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, -690, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -690, -690, -690, -690, -690, -690, + -690, -690, -690, -690, -690, -690, 0, 0, 0, 0, + -690, -690, -690, 0, 0, -690, 0, 0, 0, 0, + 0, -690, 0, -690, 0, 0, 0, -690, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -690, 0, 0, + -690, -690, 0, 0, -690, 0, -690, -690, -690, -690, + -690, -690, -690, -690, -690, -690, 0, 0, -667, 0, + 0, -690, -690, -690, -690, 0, 275, -690, -690, -690, + -690, -667, -667, -667, 0, -667, -667, 0, -667, 0, + 0, 0, 0, -667, -667, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -667, -667, 0, -667, -667, + -667, -667, -667, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -667, -667, -667, -667, -667, -667, -667, -667, -667, -667, + -667, -667, 0, 0, 0, 0, -667, -667, -667, 0, + 836, -667, 0, 0, 0, 0, 0, 0, 0, -667, + 0, 0, 0, -667, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -667, 0, 0, -667, -667, 0, -110, + -667, 0, -667, -667, -667, -667, -667, -667, -667, -667, + -667, -667, 0, 0, -667, 0, -667, -667, -667, 0, + -102, 0, 0, -667, -667, -667, -667, -667, -667, -667, + 0, -667, -667, 0, -667, 0, 0, 0, 0, -667, + -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -667, -667, 0, -667, -667, -667, -667, -667, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -667, -667, -667, -667, + -667, -667, -667, -667, -667, -667, -667, -667, 0, 0, + 0, 0, -667, -667, -667, 0, 836, -667, 0, 0, + 0, 0, 0, 0, 0, -667, 0, 0, 0, -667, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -667, + 0, 0, -667, -667, 0, -110, -667, 0, -667, -667, + -667, -667, -667, -667, -667, -667, -667, -667, 0, 0, + -305, 0, -667, -667, -667, 0, -667, 0, 0, -667, + -667, -667, -667, -305, -305, -305, 0, -305, -305, 0, + -305, 0, 0, 0, 0, -305, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -305, -305, 0, + -305, -305, -305, -305, -305, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -305, -305, -305, -305, -305, -305, -305, -305, + -305, -305, -305, -305, 0, 0, 0, 0, -305, -305, + -305, 0, 837, -305, 0, 0, 0, 0, 0, 0, + 0, -305, 0, 0, 0, -305, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -305, 0, 0, -305, -305, + 0, -112, -305, 0, -305, -305, -305, -305, -305, -305, + -305, -305, -305, -305, 0, 0, -305, 0, 0, -305, + -305, 0, -104, 0, 0, -305, -305, -305, -305, -305, + -305, -305, 0, -305, -305, 0, -305, 0, 0, 0, + 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -305, -305, 0, -305, -305, -305, -305, + -305, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -305, -305, + -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, + 0, 0, 0, 0, -305, -305, -305, 0, 837, -305, + 0, 0, 0, 0, 0, 0, 0, -305, 0, 0, + 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -305, 0, 0, -305, -305, 0, -112, -305, 0, + -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, + 0, 0, 0, 0, 0, -305, -305, 0, -305, 0, + 0, -305, -305, -305, -305, 294, 0, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, -690, -690, -690, + 0, 0, -690, 15, 0, 16, 17, 18, 19, 0, + 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, + 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, + 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, + 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, + 58, 59, 60, 0, 61, 62, 63, 0, 64, -690, + 0, 0, -690, -690, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, + 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -690, 294, -690, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 0, 0, -690, 0, -690, -690, 15, + 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, + 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, + 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, + 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, + 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, + 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, + 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, + 61, 62, 63, 0, 64, -690, 0, 0, -690, -690, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 65, 66, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -690, 294, -690, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, + 0, -690, 0, 0, -690, 15, -690, 16, 17, 18, + 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, + 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, + 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, + 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, + 57, 0, 58, 59, 60, 0, 61, 62, 63, 0, + 64, -690, 0, 0, -690, -690, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65, 66, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -690, 294, -690, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 0, 0, -690, 0, 0, + -690, 15, 0, 16, 17, 18, 19, -690, 0, 0, + 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, + 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, + 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, + 60, 0, 61, 62, 63, 0, 64, -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, - 0, -690, 0, 0, 0, 0, 0, 0, -690, 294, - -690, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 0, -690, -690, 0, 0, 0, 14, 0, 15, - 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, - 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, - 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -690, 294, + -690, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 0, 0, -690, 0, 0, -690, 15, 0, 16, + 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, + 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, + 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, + 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, -690, 0, 0, -690, -690, 294, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, - 17, 18, 0, 0, -690, 0, -690, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, - 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, + 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, + 0, 0, 57, 0, 58, 59, 60, 0, 61, 62, + 63, 0, 64, -690, 0, 0, -690, -690, 4, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, + 18, 19, 0, 0, -690, 0, -690, 20, 21, 22, + 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, + 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, - 0, 295, 52, 0, 53, 54, 0, 55, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, -690, 0, 0, -690, -690, 294, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, - 18, 0, -690, -690, 0, -690, 19, 20, 21, 22, - 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, - 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, + 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, + 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, - 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, -690, 0, 0, -690, -690, 294, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, - 0, -690, -690, 0, -690, 19, 20, 21, 22, 23, - 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, - 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, - 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, - 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, - 65, 66, 0, 0, -690, 0, 0, 0, 0, 0, - 0, -690, 294, -690, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, -690, 0, 0, 0, - 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, - 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, - 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, -690, 0, 0, -690, - -690, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, - 0, 15, 16, 17, 18, 0, 0, -690, 0, -690, - 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, - 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, - 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 246, 0, 0, 247, 248, - 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, - 15, 16, 17, 18, 0, 0, 249, 0, 250, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, - 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, - 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, 246, 0, 0, 247, 248, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 64, 65, 66, 0, 14, 0, 15, - 16, 17, 18, 0, 0, 249, 0, 250, 19, 20, - 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, + 0, 65, 66, 67, 0, 0, -690, 0, 0, 0, + 0, 0, 0, -690, 294, -690, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 0, -690, -690, 0, + 0, 0, 15, 0, 16, 17, 18, 19, 0, 0, + 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, + 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, + 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, -690, 0, + 0, -690, -690, 294, 0, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, + 0, 15, 0, 16, 17, 18, 19, 0, 0, -690, + 0, -690, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, + 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, + 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, + 0, 0, 0, 51, 0, 0, 295, 53, 0, 54, + 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, + 60, 0, 61, 62, 63, 0, 64, -690, 0, 0, + -690, -690, 294, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, + 15, 0, 16, 17, 18, 19, 0, -690, -690, 0, + -690, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, + 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, + 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, -690, 0, 0, -690, + -690, 294, 0, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, + 0, 16, 17, 18, 19, 0, -690, -690, 0, -690, + 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, + 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, + 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, + 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, + 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, + 56, 0, 0, 0, 57, 0, 58, 59, 60, 0, + 61, 62, 63, 0, 64, -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 246, 0, 0, 247, 248, 0, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 64, 65, 66, 0, 14, 0, 108, 109, - 17, 18, 0, 0, 249, 0, 250, 110, 111, 112, - 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 0, 0, 0, 0, 65, 66, 67, 0, 0, -690, + 0, 0, 0, 0, 0, 0, -690, 294, -690, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, + 0, -690, 0, 0, 0, 15, 0, 16, 17, 18, + 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, + 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, + 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, + 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 246, 0, 0, 247, 248, 0, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 64, 264, 66, 0, 14, 0, 15, 16, 17, - 18, 0, 0, 249, 0, 250, 19, 20, 21, 22, - 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, - 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 246, 0, 0, 247, 248, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 250, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, - 0, 0, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, - 168, 169, 170, 171, 172, 35, 36, 173, 38, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 116, 174, 175, 176, 177, 178, 179, 180, 181, - 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, - 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, - 0, 0, 0, 0, 0, 203, 204, -660, -660, -660, - -660, -660, -660, -660, -660, -660, 0, 0, 0, 0, - 0, 0, 0, -660, 0, -660, -660, -660, -660, 0, - -660, 0, 0, 0, -660, -660, -660, -660, -660, -660, - -660, 0, 0, -660, 0, 0, 0, 0, 0, 0, - 0, 0, -660, -660, -660, -660, -660, -660, -660, -660, - -660, 0, -660, -660, -660, 0, 0, -660, 0, 0, - -660, -660, 0, -660, -660, -660, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -660, -660, - 0, 0, 0, 0, 0, -660, 0, 0, -660, -660, - 0, -660, -660, 0, -660, 0, -660, -660, -660, 0, - -660, -660, -660, 0, -660, -660, -660, 0, -660, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -660, -660, - -660, 0, -660, 0, 0, 0, 0, 0, -660, -661, - -661, -661, -661, -661, -661, -661, -661, -661, 0, 0, - 0, 0, 0, 0, 0, -661, 0, -661, -661, -661, - -661, 0, -661, 0, 0, 0, -661, -661, -661, -661, - -661, -661, -661, 0, 0, -661, 0, 0, 0, 0, - 0, 0, 0, 0, -661, -661, -661, -661, -661, -661, - -661, -661, -661, 0, -661, -661, -661, 0, 0, -661, - 0, 0, -661, -661, 0, -661, -661, -661, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -661, -661, 0, 0, 0, 0, 0, -661, 0, 0, - -661, -661, 0, -661, -661, 0, -661, 0, -661, -661, - -661, 0, -661, -661, -661, 0, -661, -661, -661, 0, - -661, 0, 0, 0, 0, 0, 0, -663, -663, -663, - -663, -663, -663, -663, -663, -663, 0, 0, 0, 0, - -661, -661, -661, -663, -661, -663, -663, -663, -663, 0, - -661, 0, 0, 0, -663, -663, -663, -663, -663, -663, - -663, 0, 0, -663, 0, 0, 0, 0, 0, 0, - 0, 0, -663, -663, -663, -663, -663, -663, -663, -663, - -663, 0, -663, -663, -663, 0, 0, -663, 0, 0, - -663, -663, 0, -663, -663, -663, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -663, -663, - 0, 0, 0, 0, 0, -663, 868, 0, -663, -663, - 0, -663, -663, 0, -663, 0, -663, -663, -663, 0, - -663, -663, -663, 0, -663, -663, -663, 0, -663, 0, - 0, 0, 0, 0, 0, -110, -664, -664, -664, -664, - -664, -664, -664, -664, -664, 0, 0, 0, -663, -663, - -663, 0, -664, 0, -664, -664, -664, -664, -663, 0, - 0, 0, 0, -664, -664, -664, -664, -664, -664, -664, - 0, 0, -664, 0, 0, 0, 0, 0, 0, 0, - 0, -664, -664, -664, -664, -664, -664, -664, -664, -664, - 0, -664, -664, -664, 0, 0, -664, 0, 0, -664, - -664, 0, -664, -664, -664, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -664, -664, 0, - 0, 0, 0, 0, -664, 869, 0, -664, -664, 0, - -664, -664, 0, -664, 0, -664, -664, -664, 0, -664, - -664, -664, 0, -664, -664, -664, 0, -664, 0, 0, - 0, 0, 0, 0, -112, -665, -665, -665, -665, -665, - -665, -665, -665, -665, 0, 0, 0, -664, -664, -664, - 0, -665, 0, -665, -665, -665, -665, -664, 0, 0, - 0, 0, -665, -665, -665, -665, -665, -665, -665, 0, - 0, -665, 0, 0, 0, 0, 0, 0, 0, 0, - -665, -665, -665, -665, -665, -665, -665, -665, -665, 0, - -665, -665, -665, 0, 0, -665, 0, 0, -665, -665, - 0, -665, -665, -665, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -665, -665, 0, 0, - 0, 0, 0, -665, 0, 0, -665, -665, 0, -665, - -665, 0, -665, 0, -665, -665, -665, 0, -665, -665, - -665, 0, -665, -665, -665, 0, -665, 0, 0, 0, - 0, 0, 0, -666, -666, -666, -666, -666, -666, -666, - -666, -666, 0, 0, 0, 0, -665, -665, -665, -666, - 0, -666, -666, -666, -666, 0, -665, 0, 0, 0, - -666, -666, -666, -666, -666, -666, -666, 0, 0, -666, - 0, 0, 0, 0, 0, 0, 0, 0, -666, -666, - -666, -666, -666, -666, -666, -666, -666, 0, -666, -666, - -666, 0, 0, -666, 0, 0, -666, -666, 0, -666, - -666, -666, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -666, -666, 0, 0, 0, 0, - 0, -666, 0, 0, -666, -666, 0, -666, -666, 0, - -666, 0, -666, -666, -666, 0, -666, -666, -666, 0, - -666, -666, -666, 0, -666, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -666, -666, -666, 0, 0, 0, - 0, 0, 0, 0, -666, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, - 0, 0, 155, 156, 157, 232, 233, 234, 235, 162, - 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, - 236, 237, 238, 239, 172, 319, 320, 240, 321, 0, - 0, 0, 0, 0, 0, 322, 0, 0, 0, 0, - 0, 323, 174, 175, 176, 177, 178, 179, 180, 181, - 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, - 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 324, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, - 0, 0, 0, 0, 0, 203, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 0, 0, 0, 155, 156, 157, 232, 233, 234, 235, - 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, - 167, 236, 237, 238, 239, 172, 319, 320, 240, 321, - 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, - 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 0, 0, 0, 0, 0, 0, 203, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 0, 0, 0, 155, 156, 157, 232, 233, 234, - 235, 162, 163, 164, 0, 0, 0, 0, 0, 165, - 166, 167, 236, 237, 238, 239, 172, 0, 0, 240, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, - 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 0, 0, 0, 0, 0, 0, 203, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 0, 0, 0, 155, 156, 157, 232, 233, - 234, 235, 162, 163, 164, 0, 0, 0, 0, 0, - 165, 166, 167, 236, 237, 238, 239, 172, 0, 0, - 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 0, 0, 0, 0, 0, 0, 203, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, - 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, - 120, 108, 109, 17, 18, 0, 0, 0, 313, 0, - 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 312, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, - 0, 0, 0, 14, 120, 15, 16, 17, 18, 0, - 0, 0, 612, 0, 19, 20, 21, 22, 23, 24, - 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, + 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, + 57, 0, 58, 59, 60, 0, 61, 62, 63, 0, + 64, -690, 0, 0, -690, -690, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, + 65, 66, 67, 0, 15, 0, 16, 17, 18, 19, + 0, 0, -690, 0, -690, 20, 21, 22, 23, 24, + 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, - 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, - 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, - 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, - 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, 0, 64, 65, - 66, 14, 0, 15, 16, 17, 18, 0, 0, 0, - 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, - 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, - 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 64, 65, 66, 14, - 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 260, - 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, - 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, - 261, 0, 262, 263, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 64, 264, 66, 14, 0, 15, - 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, - 21, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 259, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 260, 46, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 509, 0, 0, 0, 0, 0, 211, - 0, 0, 119, 52, 0, 53, 54, 0, 261, 0, - 262, 263, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 64, 264, 66, 14, 0, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 259, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 260, 46, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, - 119, 52, 0, 53, 54, 0, 726, 0, 262, 263, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, - 64, 264, 66, 14, 0, 108, 109, 17, 18, 0, - 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, - 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 259, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, - 43, 44, 0, 260, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 886, - 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, - 0, 53, 54, 0, 726, 0, 262, 263, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, - 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 64, 264, - 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, - 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, + 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 246, 0, 0, 247, 248, 0, 0, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, + 66, 67, 0, 15, 0, 16, 17, 18, 19, 0, + 0, 249, 0, 250, 20, 21, 22, 23, 24, 25, + 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, + 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, + 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, + 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, + 58, 59, 60, 0, 61, 62, 63, 0, 64, 246, + 0, 0, 247, 248, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 65, 66, + 67, 0, 15, 0, 16, 17, 18, 19, 0, 0, + 249, 0, 250, 20, 21, 22, 23, 24, 25, 26, + 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, + 54, 55, 0, 0, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 246, 0, + 0, 247, 248, 0, 0, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 0, 0, 0, 65, 66, 67, + 0, 15, 0, 108, 109, 18, 19, 0, 0, 249, + 0, 250, 110, 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 259, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 260, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, - 54, 0, 261, 0, 262, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, - 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 64, 264, 66, 14, - 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, - 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 260, - 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, - 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 262, 263, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 64, 264, 66, 14, 0, 108, - 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 259, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 260, 46, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, - 0, 0, 119, 52, 0, 53, 54, 0, 726, 0, - 262, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 64, 264, 66, 14, 0, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 259, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 260, 46, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, - 119, 52, 0, 53, 54, 0, 0, 0, 262, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, - 64, 264, 66, 14, 0, 15, 16, 17, 18, 0, - 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, - 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, - 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, - 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, - 0, 53, 54, 0, 606, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, - 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 64, 264, - 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, - 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, - 54, 0, 261, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, - 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 64, 264, 66, 14, - 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, - 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, - 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, - 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, - 606, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 64, 264, 66, 14, 0, 108, - 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, - 0, 0, 119, 52, 0, 53, 54, 0, 932, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 64, 264, 66, 14, 0, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, - 119, 52, 0, 53, 54, 0, 726, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, - 64, 264, 66, 14, 0, 15, 16, 17, 18, 0, - 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, - 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, - 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, - 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, - 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, - 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 64, 65, - 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, - 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, - 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, - 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 64, 264, 66, 14, - 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, - 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, - 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 64, 264, 66, 14, 0, 108, - 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 114, - 34, 35, 36, 115, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 117, 0, 0, 118, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, - 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, - 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 0, 51, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, - 399, 52, 0, 53, 54, 0, 400, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, - 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, - 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 114, 34, 35, 36, 115, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 116, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, + 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, + 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, + 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, + 55, 0, 0, 0, 0, 0, 57, 0, 58, 59, + 60, 0, 61, 62, 63, 0, 64, 246, 0, 0, + 247, 248, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 65, 264, 67, 0, + 15, 0, 16, 17, 18, 19, 0, 0, 249, 0, + 250, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, + 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, + 0, 0, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 246, 0, 0, 247, + 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 65, 66, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 0, 0, 0, + 0, 0, 165, 166, 167, 168, 169, 170, 171, 172, + 36, 37, 173, 39, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 116, 174, 175, 176, + 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, + 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 118, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, - 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, - 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, - 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, - 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, + 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, + 203, 204, -660, -660, -660, -660, -660, -660, -660, -660, + -660, 0, 0, 0, 0, 0, 0, 0, -660, 0, + -660, -660, -660, -660, 0, -660, 0, 0, 0, -660, + -660, -660, -660, -660, -660, -660, 0, 0, -660, 0, + 0, 0, 0, 0, 0, 0, 0, -660, -660, -660, + -660, -660, -660, -660, -660, -660, 0, -660, -660, -660, + 0, 0, -660, 0, 0, -660, -660, 0, -660, -660, + -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -660, -660, 0, 0, 0, 0, 0, + -660, 0, 0, -660, -660, 0, -660, -660, 0, -660, + 0, -660, -660, -660, 0, -660, -660, -660, 0, -660, + -660, -660, 0, -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 312, 0, 0, 399, 52, - 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, - 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, + 0, 0, 0, -660, -660, -660, 0, -660, 0, 0, + 0, 0, 0, -660, -661, -661, -661, -661, -661, -661, + -661, -661, -661, 0, 0, 0, 0, 0, 0, 0, + -661, 0, -661, -661, -661, -661, 0, -661, 0, 0, + 0, -661, -661, -661, -661, -661, -661, -661, 0, 0, + -661, 0, 0, 0, 0, 0, 0, 0, 0, -661, + -661, -661, -661, -661, -661, -661, -661, -661, 0, -661, + -661, -661, 0, 0, -661, 0, 0, -661, -661, 0, + -661, -661, -661, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -661, -661, 0, 0, 0, + 0, 0, -661, 0, 0, -661, -661, 0, -661, -661, + 0, -661, 0, -661, -661, -661, 0, -661, -661, -661, + 0, -661, -661, -661, 0, -661, 0, 0, 0, 0, + 0, 0, -663, -663, -663, -663, -663, -663, -663, -663, + -663, 0, 0, 0, 0, -661, -661, -661, -663, -661, + -663, -663, -663, -663, 0, -661, 0, 0, 0, -663, + -663, -663, -663, -663, -663, -663, 0, 0, -663, 0, + 0, 0, 0, 0, 0, 0, 0, -663, -663, -663, + -663, -663, -663, -663, -663, -663, 0, -663, -663, -663, + 0, 0, -663, 0, 0, -663, -663, 0, -663, -663, + -663, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -663, -663, 0, 0, 0, 0, 0, + -663, 868, 0, -663, -663, 0, -663, -663, 0, -663, + 0, -663, -663, -663, 0, -663, -663, -663, 0, -663, + -663, -663, 0, -663, 0, 0, 0, 0, 0, 0, + -110, -664, -664, -664, -664, -664, -664, -664, -664, -664, + 0, 0, 0, -663, -663, -663, 0, -664, 0, -664, + -664, -664, -664, -663, 0, 0, 0, 0, -664, -664, + -664, -664, -664, -664, -664, 0, 0, -664, 0, 0, + 0, 0, 0, 0, 0, 0, -664, -664, -664, -664, + -664, -664, -664, -664, -664, 0, -664, -664, -664, 0, + 0, -664, 0, 0, -664, -664, 0, -664, -664, -664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, - 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, - 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -664, -664, 0, 0, 0, 0, 0, -664, + 869, 0, -664, -664, 0, -664, -664, 0, -664, 0, + -664, -664, -664, 0, -664, -664, -664, 0, -664, -664, + -664, 0, -664, 0, 0, 0, 0, 0, 0, -112, + -665, -665, -665, -665, -665, -665, -665, -665, -665, 0, + 0, 0, -664, -664, -664, 0, -665, 0, -665, -665, + -665, -665, -664, 0, 0, 0, 0, -665, -665, -665, + -665, -665, -665, -665, 0, 0, -665, 0, 0, 0, + 0, 0, 0, 0, 0, -665, -665, -665, -665, -665, + -665, -665, -665, -665, 0, -665, -665, -665, 0, 0, + -665, 0, 0, -665, -665, 0, -665, -665, -665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1069, 0, 0, 119, 52, 0, 53, - 54, 0, 0, 661, 662, 0, 56, 663, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, - 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 0, 0, 182, 183, 0, 0, 120, 0, 184, 185, - 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, -665, -665, 0, 0, 0, 0, 0, -665, 0, + 0, -665, -665, 0, -665, -665, 0, -665, 0, -665, + -665, -665, 0, -665, -665, -665, 0, -665, -665, -665, + 0, -665, 0, 0, 0, 0, 0, 0, -666, -666, + -666, -666, -666, -666, -666, -666, -666, 0, 0, 0, + 0, -665, -665, -665, -666, 0, -666, -666, -666, -666, + 0, -665, 0, 0, 0, -666, -666, -666, -666, -666, + -666, -666, 0, 0, -666, 0, 0, 0, 0, 0, + 0, 0, 0, -666, -666, -666, -666, -666, -666, -666, + -666, -666, 0, -666, -666, -666, 0, 0, -666, 0, + 0, -666, -666, 0, -666, -666, -666, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -666, + -666, 0, 0, 0, 0, 0, -666, 0, 0, -666, + -666, 0, -666, -666, 0, -666, 0, -666, -666, -666, + 0, -666, -666, -666, 0, -666, -666, -666, 0, -666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 682, - 653, 0, 0, 683, 0, 203, 275, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -666, + -666, -666, 0, 0, 0, 0, 0, 0, 0, -666, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, + 232, 233, 234, 235, 162, 163, 164, 0, 0, 0, + 0, 0, 165, 166, 167, 236, 237, 238, 239, 172, + 319, 320, 240, 321, 0, 0, 0, 0, 0, 0, + 322, 0, 0, 0, 0, 0, 323, 174, 175, 176, + 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, + 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, + 203, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, + 157, 232, 233, 234, 235, 162, 163, 164, 0, 0, + 0, 0, 0, 165, 166, 167, 236, 237, 238, 239, + 172, 319, 320, 240, 321, 0, 0, 0, 0, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 667, 662, 0, 0, 668, - 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, - 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, + 0, 203, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, + 156, 157, 232, 233, 234, 235, 162, 163, 164, 0, + 0, 0, 0, 0, 165, 166, 167, 236, 237, 238, + 239, 172, 0, 0, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 699, 653, 0, 0, 700, 0, 203, 275, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, + 0, 0, 203, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, + 155, 156, 157, 232, 233, 234, 235, 162, 163, 164, + 0, 0, 0, 0, 0, 165, 166, 167, 236, 237, + 238, 239, 172, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, @@ -4743,34 +4379,314 @@ static const yytype_int16 yytable[] = 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 702, 662, 0, - 0, 703, 0, 203, 275, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, - 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, + 0, 0, 0, 203, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, + 15, 0, 108, 109, 18, 19, 0, 0, 0, 0, + 0, 110, 111, 112, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 312, 0, 0, 119, 53, 0, 54, 55, + 0, 0, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, + 0, 0, 0, 0, 15, 120, 16, 17, 18, 19, + 0, 0, 0, 612, 0, 20, 21, 22, 23, 24, + 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, + 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 0, 0, 0, 65, + 66, 67, 15, 0, 16, 17, 18, 19, 0, 0, + 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, + 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, + 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 66, 67, + 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, + 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 259, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 260, 47, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, + 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, + 0, 261, 0, 262, 263, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 264, 67, 15, 0, + 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, + 21, 22, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 259, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 260, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 509, 0, 0, 0, 0, 0, + 211, 0, 0, 119, 53, 0, 54, 55, 0, 261, + 0, 262, 263, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 264, 67, 15, 0, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 259, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 260, 47, 48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, + 0, 119, 53, 0, 54, 55, 0, 726, 0, 262, + 263, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 264, 67, 15, 0, 108, 109, 18, 19, + 0, 0, 0, 0, 0, 110, 111, 112, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 259, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 260, 47, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 886, 0, 0, 0, 0, 0, 211, 0, 0, 119, + 53, 0, 54, 55, 0, 726, 0, 262, 263, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 65, + 264, 67, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 259, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 260, 47, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, + 54, 55, 0, 261, 0, 262, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 264, 67, + 15, 0, 108, 109, 18, 19, 0, 0, 0, 0, + 0, 110, 111, 112, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 259, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 260, 47, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, + 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, + 0, 0, 0, 262, 263, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 264, 67, 15, 0, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 259, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 260, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, + 211, 0, 0, 119, 53, 0, 54, 55, 0, 726, + 0, 262, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 264, 67, 15, 0, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 259, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 260, 47, 48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, + 0, 119, 53, 0, 54, 55, 0, 0, 0, 262, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 264, 67, 15, 0, 16, 17, 18, 19, + 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, + 53, 0, 54, 55, 0, 606, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 65, + 264, 67, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, + 54, 55, 0, 261, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 264, 67, + 15, 0, 108, 109, 18, 19, 0, 0, 0, 0, + 0, 110, 111, 112, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, + 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, + 0, 606, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 264, 67, 15, 0, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, + 211, 0, 0, 119, 53, 0, 54, 55, 0, 932, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 264, 67, 15, 0, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, + 0, 119, 53, 0, 54, 55, 0, 726, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 264, 67, 15, 0, 16, 17, 18, 19, + 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, + 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, + 53, 0, 54, 55, 0, 0, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 65, + 66, 67, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, + 54, 55, 0, 0, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 264, 67, + 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, + 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, + 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, + 0, 0, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 264, 67, 15, 0, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 114, 35, 36, 37, 115, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, + 118, 0, 0, 119, 53, 0, 54, 55, 0, 0, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 15, 120, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 224, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 0, 52, 53, 0, + 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 0, 0, 0, 15, 120, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, + 0, 399, 53, 0, 54, 55, 0, 400, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, + 15, 120, 108, 109, 18, 19, 0, 0, 0, 0, + 0, 110, 111, 112, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 114, 35, 36, 37, 115, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 118, 0, 0, 119, 53, 0, 54, 55, + 0, 0, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 0, 0, 0, 15, 120, 108, 109, 18, 19, + 0, 0, 0, 0, 0, 110, 111, 112, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 312, 0, 0, 399, + 53, 0, 54, 55, 0, 0, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 0, 0, 0, 15, 120, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 709, 653, 0, 0, 710, 0, 203, - 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, - 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 712, - 662, 0, 0, 713, 0, 203, 275, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, - 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 749, 653, 0, 0, 750, - 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, + 1030, 0, 0, 119, 53, 0, 54, 55, 0, 0, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 15, 120, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 803, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 224, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, + 417, 0, 0, 0, 1069, 0, 0, 119, 53, 0, + 54, 55, 419, 0, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 661, 662, 120, 0, 663, + 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, @@ -4778,50 +4694,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 752, 662, 0, 0, 753, 0, 203, 275, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, - 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 937, 653, 0, - 0, 938, 0, 203, 275, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, - 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 940, 662, 0, 0, 941, 0, 203, - 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, - 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 1142, - 653, 0, 0, 1143, 0, 203, 275, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, - 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 1157, 653, 0, 0, 1158, - 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, - 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 1160, 662, 0, 0, 1161, 0, 203, 275, 0, + 202, 682, 653, 0, 0, 683, 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, @@ -4836,18 +4709,162 @@ static const yytype_int16 yytable[] = 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 904, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, + 0, 201, 202, 699, 653, 0, 0, 700, 0, 203, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 702, + 662, 0, 0, 703, 0, 203, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 709, 653, 0, 0, 710, + 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 712, 662, 0, 0, 713, 0, 203, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 749, 653, 0, + 0, 750, 0, 203, 275, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 752, 662, 0, 0, 753, 0, 203, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 937, + 653, 0, 0, 938, 0, 203, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 940, 662, 0, 0, 941, + 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 1142, 653, 0, 0, 1143, 0, 203, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 1157, 653, 0, + 0, 1158, 0, 203, 275, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 1160, 662, 0, 0, 1161, 0, 203, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 667, + 662, 0, 0, 668, 0, 203, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 803, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, + 0, 203, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 419, 0, 0, 0, 0, 904, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, + 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 419, 0, 0, 0, 0, 917, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, + 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 0, 0, 0, 0, 0, 0, 0, 0, -280, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, + 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 0, 0, 0, 0, 0, 0, 0, 0, -282, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, - 0, 0, 0, 0, 917, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, + -283, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 0, 0, 0, 0, 0, 0, 0, + 0, -285, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 0, 0, 0, 501, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, @@ -4857,672 +4874,595 @@ static const yytype_int16 yytable[] = 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, - 0, 0, 0, 0, -280, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, - 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, - 0, 0, 0, 0, 0, -282, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, - 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, + 425, 426, 427, 428, 429, 430, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, -691, -691, 0, 0, + 0, 0, 416, 417, 404, 405, 406, 407, 408, 409, + 0, 0, 412, 413, 0, 419, 0, 0, 0, 0, + 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 419, 0, 0, 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, - 0, 0, 0, 0, 0, 0, -283, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, - 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, - 0, 0, 0, 0, 0, 0, 0, -285, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - -691, -691, 0, 0, 0, 0, 416, 417, 404, 405, - 406, 407, 408, 409, 410, 0, 412, 413, 0, 419, - 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, - 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - -691, -691, -691, -691, 408, 409, 0, 0, -691, -691, - 404, 405, 406, 407, 408, 409, 416, 417, 412, 413, - 0, 0, 0, 0, 0, 0, 416, 417, 0, 419, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430 + 0, 0, 0, 0, 0, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430 }; static const yytype_int16 yycheck[] = { - 1, 26, 15, 16, 88, 27, 19, 68, 86, 87, - 1, 490, 3, 6, 378, 21, 313, 14, 13, 20, - 481, 12, 65, 306, 271, 508, 792, 310, 3, 9, - 443, 444, 27, 597, 14, 284, 402, 118, 55, 764, - 373, 81, 15, 16, 8, 9, 19, 51, 318, 547, - 14, 639, 53, 54, 815, 6, 539, 331, 594, 318, - 51, 394, 13, 1, 57, 3, 670, 671, 814, 1013, - 26, 68, 73, 74, 820, 34, 27, 594, 74, 402, - 25, 269, 74, 271, 73, 74, 15, 16, 25, 25, - 19, 90, 51, 4, 5, 431, 16, 295, 104, 435, - 370, 12, 438, 15, 16, 504, 57, 19, 968, 508, - 111, 370, 20, 21, 612, 25, 1038, 305, 144, 51, - 443, 444, 433, 459, 53, 54, 0, 460, 119, 717, - 122, 79, 121, 122, 59, 60, 61, 62, 474, 217, - 476, 53, 54, 25, 55, 26, 25, 458, 147, 485, - 228, 93, 57, 117, 221, 1048, 29, 92, 25, 25, - 103, 90, 92, 20, 475, 693, 138, 57, 25, 697, - 81, 15, 16, 484, 332, 19, 704, 335, 126, 337, - 55, 339, 138, 341, 126, 128, 121, 119, 144, 525, - 1050, 121, 1136, 58, 59, 115, 104, 142, 118, 119, - 51, 399, 92, 111, 112, 142, 142, 968, 144, 53, - 16, 289, 213, 214, 550, 16, 121, 213, 214, 210, - 756, 129, 214, 1145, 213, 214, 146, 18, 148, 20, - 90, 121, 142, 769, 40, 41, 297, 315, 549, 756, - 113, 90, 222, 223, 305, 306, 850, 28, 241, 310, - 547, 102, 769, 736, 251, 106, 105, 138, 222, 223, - 142, 1154, 275, 142, 666, 278, 513, 669, 269, 1035, - 271, 90, 1038, 313, 275, 142, 142, 144, 90, 37, - 38, 551, 90, 51, 558, 687, 105, 147, 139, 1050, - 241, 295, 551, 1018, 16, 90, 287, 105, 147, 18, - 297, 1047, 800, 294, 295, 278, 25, 121, 90, 115, - 580, 302, 118, 119, 115, 612, 142, 118, 119, 283, - 284, 140, 92, 105, 512, 513, 692, 597, 147, 318, - 600, 121, 140, 92, 102, 147, 735, 736, 106, 147, - 146, 142, 148, 907, 144, 146, 275, 148, 681, 278, - 90, 121, 147, 125, 397, 287, 294, 348, 140, 402, - 90, 90, 353, 295, 302, 147, 278, 58, 59, 349, - 350, 351, 352, 348, 101, 376, 457, 378, 90, 1145, - 90, 370, 373, 400, 901, 349, 350, 351, 352, 90, - 354, 355, 55, 115, 911, 399, 118, 119, 556, 324, - 443, 444, 313, 394, 131, 132, 133, 147, 399, 1155, - 348, 402, 776, 17, 18, 353, 877, 147, 147, 60, - 433, 609, 63, 836, 146, 594, 148, 121, 597, 842, - 843, 275, 433, 121, 278, 147, 1, 147, 3, 4, - 5, 92, 841, 8, 9, 458, 147, 12, 142, 14, - 15, 16, 443, 444, 19, 839, 92, 458, 40, 41, - 793, 845, 475, 746, 92, 466, 107, 399, 804, 460, - 806, 484, 660, 92, 475, 55, 725, 502, 25, 802, - 471, 1009, 729, 484, 435, 121, 51, 438, 479, 400, - 55, 20, 51, 121, 805, 92, 55, 461, 489, 521, - 65, 26, 121, 800, 433, 545, 142, 547, 459, 92, - 142, 512, 513, 836, 511, 848, 81, 26, 1035, 842, - 843, 522, 792, 142, 121, 476, 521, 435, 1011, 458, - 1009, 522, 720, 142, 485, 57, 549, 138, 121, 471, - 531, 729, 919, 920, 622, 1133, 475, 479, 549, 92, - 101, 459, 117, 397, 119, 484, 145, 489, 402, 923, - 924, 894, 551, 121, 977, 90, 557, 141, 476, 139, - 521, 584, 612, 92, 525, 504, 90, 485, 121, 508, - 105, 90, 92, 55, 522, 16, 835, 756, 101, 92, - 603, 105, 504, 531, 121, 122, 105, 142, 92, 550, - 769, 1129, 121, 101, 605, 57, 121, 536, 142, 121, - 539, 121, 1011, 138, 27, 140, 641, 525, 121, 144, - 549, 1138, 147, 792, 536, 557, 140, 121, 51, 138, - 144, 140, 1149, 147, 545, 144, 547, 907, 147, 909, - 887, 142, 550, 913, 893, 210, 142, 142, 142, 493, - 387, 657, 389, 720, 977, 988, 51, 222, 223, 660, - 666, 142, 51, 669, 121, 666, 142, 99, 669, 670, - 671, 63, 64, 65, 443, 444, 51, 15, 53, 54, - 55, 56, 92, 13, 115, 746, 687, 118, 119, 215, - 681, 692, 693, 715, 69, 221, 697, 690, 16, 887, - 680, 612, 115, 704, 121, 118, 119, 121, 477, 478, - 275, 121, 63, 278, 15, 146, 680, 148, 283, 284, - 715, 145, 287, 92, 116, 117, 145, 139, 729, 294, - 295, 142, 258, 146, 714, 148, 15, 302, 907, 690, - 142, 142, 1106, 15, 142, 92, 1016, 1017, 313, 657, - 714, 51, 121, 53, 54, 55, 56, 526, 666, 802, - 800, 669, 846, 62, 715, 64, 65, 142, 1038, 69, - 1040, 44, 121, 142, 121, 776, 141, 685, 299, 687, - 92, 90, 303, 348, 349, 350, 351, 352, 353, 354, - 355, 1127, 805, 836, 837, 142, 105, 141, 15, 842, - 843, 141, 793, 18, 805, 141, 735, 736, 373, 121, - 801, 802, 139, 880, 15, 1126, 139, 116, 117, 141, - 139, 142, 348, 735, 1094, 44, 26, 1097, 57, 394, - 142, 140, 397, 44, 399, 400, 362, 402, 147, 142, - 115, 57, 142, 118, 119, 836, 142, 26, 692, 850, - 90, 842, 843, 587, 380, 806, 142, 848, 849, 860, - 142, 55, 863, 801, 51, 105, 1035, 51, 433, 1038, - 1140, 862, 142, 26, 142, 1145, 805, 1147, 443, 444, - 90, 1151, 90, 874, 875, 865, 887, 142, 1137, 800, - 90, 15, 883, 458, 93, 460, 461, 105, 806, 14, - 140, 865, 15, 894, 895, 105, 471, 147, 15, 145, - 475, 90, 841, 15, 479, 1185, 142, 849, 142, 484, - 37, 38, 923, 924, 489, 992, 105, 139, 142, 841, - 862, 998, 140, 142, 977, 142, 141, 90, 138, 147, - 140, 93, 874, 875, 144, 26, 141, 147, 51, 90, - 142, 883, 105, 142, 480, 481, 142, 522, 55, 138, - 142, 140, 142, 895, 105, 144, 531, 61, 147, 115, - 64, 65, 118, 119, 57, 15, 1145, 139, 15, 15, - 545, 15, 547, 814, 549, 138, 977, 140, 509, 820, - 139, 144, 557, 1071, 147, 516, 987, 988, 115, 140, - 991, 118, 119, 142, 995, 531, 147, 528, 1009, 90, - 921, 55, 538, 1080, 1081, 926, 1007, 126, 126, 584, - 142, 139, 116, 117, 105, 1005, 1006, 15, 55, 146, - 142, 148, 115, 587, 90, 118, 119, 591, 603, 90, - 123, 1005, 1006, 142, 781, 782, 783, 612, 785, 105, - 787, 142, 142, 142, 105, 987, 142, 138, 792, 140, - 581, 582, 1087, 995, 142, 148, 147, 836, 837, 142, - 142, 15, 141, 842, 843, 1007, 15, 144, 144, 90, - 991, 1082, 1011, 1074, 140, 1076, 15, 142, 1079, 140, - 611, 147, 142, 15, 105, 90, 147, 522, 12, 868, - 869, 41, 871, 872, 40, 1106, 1129, 5, 51, 792, - 105, 942, 1136, 1126, 1181, 680, 681, 90, 1052, 51, - 965, 53, 54, 55, 56, 1126, 69, 1128, 1129, 140, - 1197, 1198, 105, 847, 815, 966, 147, 69, 969, 253, - 1131, 1132, 1074, 1128, 1076, 140, 6, 1079, 90, 714, - 587, 1035, 147, 679, 928, 929, 1032, 624, 101, 102, - 103, -1, 94, 105, 1165, 1166, -1, 140, 689, 101, - 102, 103, 639, -1, 147, 1, 1127, 3, -1, -1, - -1, -1, 8, 9, -1, 128, -1, -1, 14, 15, - 16, 90, -1, 19, 720, 1196, 128, 1126, 140, 1131, - 1132, 1192, 1203, 1204, -1, 147, 105, -1, 977, -1, - 1201, 1202, -1, 1193, 1194, -1, 1047, 1048, 624, 1127, - 62, 1052, 64, 65, 745, 51, -1, -1, 793, 1193, - 1194, 1000, -1, 639, -1, 800, 801, 802, 792, 65, - 805, 140, -1, 115, 765, -1, 118, 119, 147, -1, - 717, -1, 778, -1, 63, 64, 65, 792, -1, 61, - 1192, 1035, 64, 65, 1165, 1166, 63, 64, 65, 1201, - 1202, 836, 837, -1, 116, 117, 148, 842, 843, 63, - 64, 65, -1, 848, 849, 1022, 1023, 1024, 1025, -1, - 1121, 117, -1, 119, -1, 1196, -1, 862, 1032, -1, - 865, 1035, 1203, 1204, 1038, -1, 1040, 116, 117, 874, - 875, 717, -1, -1, 116, 117, -1, -1, 883, 116, - 117, -1, -1, 1154, 1155, -1, 852, -1, -1, 894, - 895, -1, 116, 117, -1, -1, 1110, 1111, 1112, 115, - 1114, 1115, 118, 119, -1, -1, -1, 814, -1, -1, - -1, 877, -1, 820, 880, -1, 921, -1, 1189, -1, - -1, 926, -1, -1, -1, 886, 63, 64, 65, 145, - 146, -1, 148, 1107, 63, 64, 65, -1, 63, 64, - 65, 902, -1, 1, 210, 3, 4, 5, -1, -1, - 63, 64, 65, -1, 12, -1, 222, 223, 1172, 1173, - 1174, 1175, -1, 115, 1141, -1, 118, 119, 814, 815, - -1, 1145, 977, 1147, 820, 1149, -1, 1151, -1, 116, - 117, 1195, 987, 988, -1, -1, 991, 116, 117, -1, - 995, 116, 117, 51, 146, -1, 148, 55, -1, -1, - 1005, 1006, 1007, 116, 117, -1, -1, -1, -1, 275, - -1, 1185, 278, -1, -1, -1, 115, 283, 284, 118, - 119, 287, -1, 81, -1, -1, 992, -1, 294, 295, - -1, -1, 998, -1, -1, 942, 302, -1, 1032, -1, - -1, 1035, -1, 142, 1038, -1, 1040, 146, 51, 148, - 53, 54, 55, 56, -1, -1, -1, 1032, 965, 966, - 1035, 119, 969, 1038, -1, 1040, 69, -1, -1, 1074, - -1, 1076, -1, -1, 1079, 51, -1, 53, 54, 55, - 56, -1, 348, 349, 350, 351, 352, 353, 354, 355, - -1, 94, -1, 69, -1, -1, 942, 100, -1, 51, - -1, 53, 54, 55, 56, -1, 115, 373, -1, 118, - 119, -1, -1, 1107, 1080, 1081, -1, 69, 94, 965, - 966, 1126, 968, 969, 100, -1, 1131, 1132, 394, -1, - 101, 397, 1107, 399, -1, -1, 402, 146, -1, 148, - 1047, 1048, 94, -1, -1, 1052, 40, 41, 42, 43, - 44, 1145, 210, 1147, -1, 1149, -1, 1151, 129, 130, - 131, 132, 133, -1, -1, -1, -1, 433, -1, -1, - 1145, -1, 1147, -1, 1149, -1, 1151, 443, 444, -1, - -1, -1, -1, -1, -1, -1, -1, 1192, 1193, 1194, - -1, 1185, 458, -1, 460, 461, 1201, 1202, 88, 89, - -1, 1047, 1048, -1, 1050, 471, 1052, -1, -1, 475, - 1185, 101, -1, 479, 1121, 1181, -1, 51, 484, 53, - 54, 55, 56, 489, -1, -1, 1133, -1, -1, 287, - -1, 1197, 1198, -1, -1, 69, 294, 295, 128, 129, - 130, 131, 132, 133, 302, -1, -1, 1154, 1155, -1, - -1, -1, -1, -1, -1, 313, 522, -1, -1, -1, - -1, 88, 89, -1, -1, 531, -1, -1, 34, 35, - 36, -1, -1, -1, 101, 1121, -1, -1, -1, -1, - -1, -1, 1189, 549, -1, 51, -1, 1133, -1, 55, - 348, 557, 58, 59, -1, 353, 51, 63, 53, 54, - 55, 56, 129, 130, 131, 132, 133, -1, 1154, 1155, - -1, -1, -1, -1, 69, 373, -1, -1, 584, -1, - -1, -1, -1, -1, -1, 91, -1, -1, 83, -1, - -1, 97, 98, -1, 100, -1, 394, 603, -1, 94, - 106, 399, 400, 1189, 402, 100, 101, 102, 103, -1, - -1, -1, -1, 1, -1, 3, 4, 5, -1, -1, - -1, 127, -1, -1, 12, -1, 121, -1, 134, -1, - -1, -1, -1, 128, -1, 141, 131, -1, -1, -1, - -1, -1, -1, -1, -1, 443, 444, -1, -1, 144, + 2, 27, 490, 89, 271, 10, 378, 28, 9, 10, + 15, 313, 16, 17, 15, 7, 20, 7, 284, 21, + 52, 66, 14, 5, 6, 82, 306, 22, 639, 433, + 310, 13, 87, 88, 14, 815, 28, 4, 16, 17, + 16, 17, 20, 118, 20, 481, 52, 56, 28, 69, + 792, 402, 54, 55, 458, 597, 26, 764, 221, 1038, + 431, 373, 1013, 2, 435, 4, 58, 438, 58, 814, + 402, 475, 74, 75, 56, 820, 54, 547, 54, 55, + 484, 508, 394, 318, 75, 21, 22, 119, 459, 15, + 594, 331, 443, 444, 26, 16, 17, 504, 25, 20, + 82, 508, 25, 474, 594, 476, 717, 693, 25, 111, + 105, 697, 539, 29, 485, 75, 117, 968, 704, 25, + 16, 17, 93, 25, 20, 60, 61, 62, 63, 295, + 25, 122, 51, 670, 671, 370, 55, 57, 1048, 443, + 444, 92, 612, 69, 57, 549, 90, 215, 460, 92, + 90, 92, 90, 221, 525, 126, 90, 90, 54, 55, + 34, 594, 217, 92, 597, 105, 1145, 105, 138, 105, + 121, 0, 92, 228, 144, 111, 112, 51, 121, 550, + 121, 25, 74, 75, 18, 1136, 20, 92, 968, 25, + 258, 332, 121, 129, 335, 91, 337, 113, 339, 1050, + 341, 121, 140, 147, 90, 90, 138, 147, 121, 147, + 138, 213, 214, 147, 147, 142, 121, 222, 223, 142, + 144, 222, 223, 214, 2, 142, 4, 5, 6, 121, + 122, 9, 10, 399, 289, 13, 142, 15, 16, 17, + 142, 387, 20, 389, 1154, 547, 513, 142, 90, 241, + 55, 241, 756, 213, 214, 287, 313, 90, 90, 20, + 315, 147, 147, 295, 25, 769, 756, 269, 28, 271, + 1050, 275, 105, 275, 52, 279, 90, 297, 56, 769, + 348, 121, 283, 284, 142, 305, 306, 51, 66, 295, + 310, 105, 92, 1035, 362, 92, 1038, 275, 142, 90, + 144, 279, 1047, 279, 82, 147, 142, 140, 144, 736, + 612, 1018, 380, 850, 147, 147, 551, 79, 558, 121, + 90, 213, 214, 756, 121, 251, 140, 90, 735, 736, + 800, 313, 121, 147, 144, 105, 769, 587, 102, 117, + 142, 119, 106, 92, 349, 350, 351, 352, 349, 350, + 351, 352, 397, 354, 355, 294, 147, 402, 279, 792, + 692, 92, 55, 302, 126, 907, 125, 399, 90, 681, + 140, 297, 121, 121, 376, 139, 378, 147, 92, 275, + 90, 348, 457, 279, 147, 269, 839, 271, 55, 324, + 121, 400, 845, 399, 20, 105, 587, 901, 443, 444, + 591, 805, 60, 1145, 776, 63, 25, 911, 142, 348, + 1155, 142, 480, 481, 353, 556, 142, 51, 400, 397, + 57, 305, 138, 1009, 402, 147, 318, 103, 101, 433, + 140, 433, 210, 804, 841, 806, 92, 147, 121, 471, + 92, 877, 145, 435, 222, 223, 438, 479, 92, 107, + 92, 802, 128, 141, 458, 139, 458, 489, 55, 725, + 461, 142, 729, 531, 466, 121, 746, 459, 102, 121, + 538, 475, 106, 475, 907, 57, 502, 121, 370, 121, + 484, 793, 484, 92, 476, 836, 142, 18, 545, 101, + 547, 842, 843, 485, 25, 58, 59, 275, 800, 435, + 521, 279, 37, 38, 90, 283, 284, 58, 59, 287, + 512, 513, 121, 17, 18, 493, 294, 295, 101, 105, + 522, 1009, 1133, 459, 302, 557, 40, 41, 504, 521, + 26, 1035, 836, 525, 121, 313, 848, 433, 842, 843, + 476, 521, 792, 1129, 121, 549, 51, 549, 142, 485, + 51, 923, 924, 142, 140, 612, 51, 720, 550, 51, + 536, 147, 458, 545, 69, 547, 142, 622, 142, 835, + 348, 349, 350, 351, 352, 353, 354, 355, 142, 475, + 584, 92, 894, 522, 1011, 511, 142, 115, 484, 525, + 118, 119, 531, 99, 90, 373, 101, 102, 103, 603, + 15, 792, 1035, 605, 1011, 1038, 919, 920, 504, 105, + 121, 679, 508, 121, 550, 641, 394, 26, 13, 397, + 887, 399, 400, 128, 402, 16, 977, 893, 512, 513, + 612, 142, 121, 122, 1138, 781, 782, 783, 16, 785, + 536, 787, 138, 539, 140, 1149, 121, 121, 144, 92, + 63, 147, 720, 549, 27, 433, 15, 92, 660, 551, + 145, 145, 657, 16, 666, 443, 444, 669, 670, 671, + 139, 666, 142, 977, 669, 680, 988, 142, 121, 680, + 458, 90, 460, 461, 142, 687, 121, 318, 15, 15, + 692, 693, 142, 471, 715, 697, 105, 475, 690, 142, + 690, 479, 704, 44, 90, 121, 484, 142, 141, 714, + 778, 489, 1145, 714, 692, 141, 15, 880, 18, 105, + 16, 657, 1126, 715, 141, 609, 746, 729, 139, 138, + 666, 140, 15, 669, 1106, 715, 141, 115, 147, 370, + 118, 119, 115, 800, 522, 118, 119, 139, 141, 685, + 139, 687, 142, 531, 140, 44, 1127, 802, 144, 735, + 846, 147, 115, 57, 142, 118, 119, 545, 146, 547, + 148, 549, 142, 146, 776, 148, 660, 142, 92, 557, + 142, 90, 1032, 44, 852, 1035, 443, 444, 1038, 57, + 1040, 836, 837, 146, 142, 148, 105, 842, 843, 55, + 299, 805, 142, 805, 303, 51, 584, 121, 16, 877, + 51, 142, 880, 62, 806, 64, 65, 849, 800, 115, + 477, 478, 118, 119, 101, 603, 90, 142, 142, 992, + 862, 140, 40, 41, 612, 998, 720, 15, 147, 735, + 736, 1032, 874, 875, 1035, 729, 93, 1038, 850, 1040, + 146, 883, 148, 93, 131, 132, 133, 1107, 860, 14, + 865, 863, 801, 895, 865, 841, 15, 116, 117, 526, + 806, 1137, 15, 2, 145, 4, 1022, 1023, 1024, 1025, + 9, 10, 142, 142, 142, 887, 15, 16, 17, 142, + 142, 20, 15, 90, 142, 1145, 141, 1147, 141, 1149, + 814, 1151, 680, 681, 142, 139, 820, 115, 105, 805, + 118, 119, 142, 142, 90, 142, 1107, 1080, 1081, 26, + 551, 923, 924, 52, 992, 63, 64, 65, 792, 105, + 998, 62, 977, 64, 65, 1185, 714, 66, 146, 921, + 148, 51, 26, 140, 926, 841, 16, 15, 115, 580, + 147, 118, 119, 55, 1145, 987, 1147, 139, 1149, 666, + 1151, 15, 669, 995, 140, 15, 597, 15, 139, 600, + 142, 147, 126, 115, 26, 1007, 118, 119, 116, 117, + 687, 148, 90, 90, 55, 116, 117, 126, 117, 142, + 119, 139, 15, 90, 1185, 1141, 55, 105, 105, 15, + 1005, 1006, 142, 887, 1005, 1006, 90, 1009, 105, 991, + 509, 57, 1080, 1081, 142, 793, 1071, 516, 1181, 15, + 142, 105, 800, 801, 802, 142, 142, 805, 942, 528, + 142, 138, 140, 140, 1197, 1198, 142, 144, 90, 147, + 147, 142, 1074, 140, 1076, 115, 142, 1079, 118, 119, + 147, 90, 966, 105, 138, 969, 140, 144, 836, 837, + 144, 1087, 144, 147, 842, 843, 105, 141, 15, 115, + 848, 849, 118, 119, 15, 90, 146, 123, 148, 142, + 1082, 210, 581, 582, 862, 142, 138, 865, 140, 40, + 105, 41, 144, 222, 223, 147, 874, 875, 522, 1131, + 1132, 140, 148, 624, 1106, 883, 1165, 1166, 147, 13, + 6, 1129, 611, 1181, 792, 1011, 894, 895, 639, 1136, + 847, 1052, 1126, 815, 1126, 140, 1128, 1129, 965, 1197, + 1198, 1128, 147, 1047, 1048, 1127, 7, 1196, 1052, 253, + 587, 1032, 1035, 921, 1203, 1204, 275, 90, 926, -1, + 279, -1, 928, 929, 283, 284, -1, -1, 287, -1, + 1192, 792, 105, 1165, 1166, 294, 295, -1, 1032, 1201, + 1202, 1035, -1, 302, 1038, -1, 1040, -1, -1, 836, + 837, -1, -1, -1, -1, 842, 843, -1, 1193, 1194, + 689, 1127, 1193, 1194, 1196, -1, 717, 140, 26, 977, + -1, 1203, 1204, -1, 147, -1, -1, 1121, -1, 987, + 988, 868, 869, 991, 871, 872, -1, 995, -1, 348, + 349, 350, 351, 352, 353, 354, 355, 1005, 1006, 1007, + 1126, 51, -1, 53, 54, 55, 56, 63, 64, 65, + 1154, 1155, -1, 1107, 373, -1, 745, -1, -1, 69, + -1, -1, -1, 2, -1, 4, 5, 6, -1, 1035, + -1, -1, 90, -1, 13, 394, 765, -1, 397, -1, + 399, -1, -1, 402, -1, 1189, 907, 105, 909, -1, + -1, 1145, 913, 1147, -1, 1149, -1, 1151, -1, -1, + 116, 117, -1, 814, -1, -1, 1074, -1, 1076, 820, + -1, 1079, 61, 52, 433, 64, 65, 56, -1, -1, + 138, -1, 140, -1, 443, 444, 144, -1, -1, 147, + 977, 1185, 142, 37, 38, -1, -1, -1, -1, 458, + -1, 460, 461, 82, 1110, 1111, 1112, 101, 1114, 1115, + -1, 115, 471, 1000, 118, 119, 475, -1, 1126, -1, + 479, -1, -1, 1131, 1132, 484, -1, 116, 117, 51, + 489, 53, 54, 55, 56, 129, 130, 131, 132, 133, + 119, 145, 146, -1, 148, 61, -1, 69, 64, 65, + 40, 41, 42, 43, 44, 1016, 1017, 886, 63, 64, + 65, -1, -1, 522, -1, -1, 1172, 1173, 1174, 1175, + -1, 115, 531, 902, 118, 119, -1, 1038, -1, 1040, + -1, 624, -1, -1, 1192, 1193, 1194, -1, -1, 1195, + 549, 942, -1, 1201, 1202, -1, 639, -1, 557, -1, + 116, 117, 146, -1, 148, 34, 35, 36, -1, -1, + -1, 116, 117, -1, 965, 966, -1, -1, 969, -1, + 142, -1, 51, -1, -1, 584, 55, -1, -1, 58, + 59, 210, -1, 1094, 63, -1, 1097, 51, -1, 53, + 54, 55, 56, -1, 603, 2, -1, 4, 5, 6, + 63, 64, 65, -1, -1, 69, 13, 63, 64, 65, + -1, -1, 91, -1, 63, 64, 65, -1, 97, 98, + -1, 100, -1, -1, 717, -1, -1, 106, -1, 1140, + 94, -1, -1, -1, 1145, -1, 1147, 101, 102, 103, + 1151, 63, 64, 65, -1, 52, 1047, 1048, 127, 56, + -1, 1052, -1, 116, 117, 134, -1, -1, 287, -1, + 116, 117, 141, -1, 128, 294, 295, 116, 117, -1, + -1, 680, 681, 302, 1185, 82, 63, 64, 65, 34, + 35, 36, 115, -1, 313, 118, 119, -1, 51, -1, + 53, 54, 55, 56, 116, 117, 51, -1, -1, -1, + 55, -1, -1, 58, 59, 714, 69, 115, 63, 142, + 118, 119, 119, 146, -1, 148, -1, -1, -1, 348, + 1121, 814, 815, -1, 353, -1, -1, 820, -1, 116, + 117, 94, 1133, -1, -1, -1, 91, 100, 146, -1, + 148, -1, 97, 98, 373, 100, -1, 102, -1, -1, + -1, 106, -1, 1154, 1155, -1, 51, -1, 53, 54, + 55, 56, -1, -1, 51, 394, 53, 54, 55, 56, + 399, 400, 127, 402, 69, -1, -1, 115, -1, 134, + 118, 119, 69, -1, 793, -1, -1, -1, 1189, -1, + -1, -1, 801, 802, -1, -1, 805, -1, 2, 94, + 4, 5, 6, 210, -1, 100, -1, 94, 146, 13, + 148, -1, -1, -1, 443, 444, -1, -1, -1, 51, + -1, 53, 54, 55, 56, -1, -1, 836, 837, -1, + -1, 460, -1, 842, 843, -1, -1, 69, -1, 848, + 849, 51, 471, 53, 54, 55, 56, -1, 52, 942, + 479, 83, 56, 862, -1, -1, 865, -1, -1, 69, + 489, -1, 94, -1, -1, 874, 875, -1, 100, 101, + 102, 103, 965, 966, 883, 968, 969, -1, 82, -1, + 287, -1, -1, -1, -1, 894, 895, 294, 295, 121, + -1, -1, -1, 522, -1, 302, 128, -1, -1, 131, + -1, -1, 531, -1, -1, -1, 313, -1, 34, 35, + 36, -1, 144, -1, -1, 119, 545, -1, 547, -1, + -1, -1, -1, -1, -1, 51, -1, -1, 557, 55, + -1, -1, 58, 59, -1, -1, -1, 63, -1, -1, + -1, 348, -1, -1, -1, -1, 353, -1, -1, -1, + -1, -1, -1, -1, 1047, 1048, -1, 1050, -1, 1052, + -1, -1, -1, -1, -1, 91, 373, -1, 977, -1, + -1, 97, 98, -1, 100, -1, -1, -1, 987, 988, + 106, -1, -1, 612, -1, -1, 995, 394, -1, -1, + -1, -1, 399, 400, -1, 402, 1005, 1006, 1007, -1, + -1, 127, -1, -1, 88, 89, 210, 51, 134, 53, + 54, 55, 56, -1, 34, 35, 36, 101, -1, -1, + -1, -1, -1, -1, -1, 69, -1, -1, 1121, -1, + -1, 51, -1, -1, -1, 55, 443, 444, 58, 59, + 1133, -1, -1, 63, 128, 129, 130, 131, 132, 133, + 94, -1, 681, 460, -1, -1, 100, 101, 102, 103, + -1, 1154, 1155, -1, 471, 1074, -1, 1076, -1, -1, + 1079, 91, 479, -1, -1, -1, -1, 97, 98, -1, + -1, -1, 489, 287, 128, -1, 106, 131, 88, 89, + 294, 295, -1, -1, -1, -1, 1189, -1, 302, -1, + 144, 101, -1, -1, -1, -1, -1, 127, -1, 313, + -1, -1, 88, 89, 134, 522, -1, 1126, -1, -1, + -1, -1, 1131, 1132, 531, 101, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, 545, -1, + 547, -1, -1, -1, 348, -1, -1, -1, -1, 353, + 557, -1, -1, 129, 130, 131, 132, 133, -1, -1, + -1, -1, -1, -1, 793, -1, -1, -1, -1, 373, + -1, 800, 801, 802, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1192, 1193, 1194, -1, -1, -1, -1, + 394, -1, 1201, 1202, -1, 399, 400, -1, 402, -1, + -1, -1, -1, -1, -1, 612, -1, 836, -1, -1, + -1, -1, -1, 842, 843, -1, -1, -1, -1, 848, + 849, -1, -1, 2, -1, 4, 5, 6, 7, -1, + -1, -1, -1, 862, 13, -1, -1, -1, -1, 443, + 444, -1, -1, -1, -1, 874, 875, -1, -1, -1, + -1, -1, -1, -1, 883, -1, 460, -1, 51, -1, + 53, 54, 55, 56, -1, 894, 895, 471, -1, -1, + -1, -1, -1, 52, 681, 479, 69, 56, -1, -1, + -1, -1, -1, -1, -1, 489, -1, -1, -1, -1, + 83, -1, 921, -1, -1, -1, -1, 926, -1, -1, + -1, 94, -1, 82, -1, -1, -1, 100, 101, 102, + 103, -1, -1, -1, -1, -1, -1, -1, 522, -1, + -1, 51, -1, 53, 54, 55, 56, 531, -1, -1, + -1, -1, -1, -1, -1, 128, -1, -1, 131, 69, + 119, 545, -1, 547, -1, -1, -1, -1, 977, -1, + -1, 144, -1, 557, -1, -1, -1, -1, 987, 988, + -1, -1, 991, -1, 94, -1, 995, -1, -1, -1, + 100, 101, 102, 103, -1, -1, -1, -1, 1007, -1, + -1, -1, -1, -1, -1, -1, 793, -1, -1, -1, + -1, -1, -1, 800, 801, 802, -1, -1, 128, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 612, -1, + -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 836, + -1, 210, -1, -1, -1, 842, 843, -1, -1, -1, + -1, 848, 849, -1, -1, 1074, -1, 1076, -1, -1, + 1079, -1, -1, -1, -1, 862, -1, -1, -1, -1, + -1, 51, -1, 53, 54, 55, 56, 874, 875, -1, + -1, -1, -1, -1, -1, -1, 883, 681, 51, 69, + 53, 54, 55, 56, -1, -1, -1, 894, 895, 2, + -1, 4, -1, -1, -1, 85, 69, -1, -1, -1, + 13, -1, 1131, 1132, 94, -1, -1, -1, 287, -1, + 100, 101, 102, 103, 921, 294, 295, -1, -1, 926, + -1, 94, -1, 302, -1, -1, -1, 100, 101, 102, + 103, -1, -1, -1, 313, -1, -1, -1, 128, 52, + -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 128, -1, -1, 131, -1, + -1, -1, -1, 1192, -1, -1, -1, -1, -1, 348, + 977, -1, 1201, 1202, 353, -1, -1, -1, -1, -1, + 987, 988, -1, -1, 991, -1, -1, -1, 995, 793, + -1, -1, -1, -1, 373, -1, 800, 801, 802, 2, + 1007, 4, -1, -1, -1, -1, 119, -1, -1, -1, + -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, + 399, 400, -1, -1, -1, 51, -1, 53, 54, 55, + 56, -1, 836, -1, -1, -1, -1, -1, 842, 843, + -1, -1, -1, 69, 848, 849, -1, -1, -1, 52, + -1, -1, -1, -1, -1, -1, -1, -1, 862, 85, + -1, -1, -1, -1, -1, -1, -1, 1074, 94, 1076, + 874, 875, 1079, -1, 100, 101, 102, 103, -1, 883, + -1, 460, -1, -1, -1, -1, -1, -1, -1, -1, + 894, 895, 471, -1, -1, -1, -1, 210, -1, -1, + 479, -1, 128, -1, -1, 131, -1, -1, -1, -1, + 489, -1, -1, -1, -1, -1, 119, 921, -1, 0, + -1, -1, 926, -1, 1131, 1132, -1, -1, -1, -1, + -1, -1, 13, 14, 15, 16, 17, 18, -1, 20, + -1, -1, -1, 522, 25, 26, 27, -1, -1, -1, + -1, -1, 531, -1, -1, -1, 37, 38, -1, 40, + 41, 42, 43, 44, -1, -1, 545, -1, 547, -1, + -1, -1, -1, 977, 287, -1, -1, -1, 557, -1, + -1, 294, 295, 987, 988, 1192, -1, 991, -1, 302, + -1, 995, -1, -1, 1201, 1202, 51, -1, 53, 54, + 55, 56, -1, 1007, -1, -1, -1, 210, -1, 90, + -1, -1, -1, -1, 69, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, + 85, -1, -1, 612, 115, 348, -1, 118, 119, 94, + 353, -1, -1, -1, -1, 100, 101, 102, 103, -1, + -1, -1, -1, -1, -1, -1, -1, 138, 139, -1, + 373, -1, -1, 144, 145, 146, 147, 148, -1, -1, + 1074, -1, 1076, 128, -1, 1079, 131, -1, -1, -1, + -1, 394, -1, -1, 287, -1, 399, -1, -1, 402, + -1, 294, 295, -1, -1, -1, -1, -1, -1, 302, + -1, -1, 681, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 460, 51, -1, -1, -1, 55, -1, -1, - -1, -1, -1, 471, 680, 681, -1, -1, -1, -1, - -1, 479, 34, 35, 36, -1, -1, -1, -1, -1, - -1, 489, -1, 81, -1, -1, -1, -1, -1, 51, - 0, -1, -1, 55, -1, -1, 58, 59, 714, -1, - -1, 63, -1, 13, 14, 15, 16, 17, 18, -1, - 20, -1, -1, -1, 522, 25, 26, 27, -1, -1, - -1, 119, -1, 531, -1, -1, -1, 37, 38, 91, - 40, 41, 42, 43, 44, 97, 98, 545, 100, 547, - 102, -1, -1, -1, 106, -1, -1, -1, -1, 557, - 34, 35, 36, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 127, -1, 51, -1, -1, - -1, 55, 134, -1, 58, 59, -1, 793, -1, 63, - 90, -1, -1, -1, -1, 801, 802, -1, -1, 805, - -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, 612, 115, -1, 91, 118, 119, - -1, -1, 210, 97, 98, -1, 100, -1, -1, -1, - 836, 837, 106, 34, 35, 36, 842, 843, 138, 139, - -1, -1, 848, 849, 144, 145, 146, 147, 148, -1, - 51, -1, -1, 127, 55, -1, 862, 58, 59, 865, - 134, -1, 63, -1, -1, -1, -1, -1, 874, 875, - -1, -1, -1, -1, -1, -1, -1, 883, -1, -1, - -1, -1, -1, 681, -1, -1, -1, -1, 894, 895, - 91, -1, -1, -1, -1, -1, 97, 98, -1, 287, - -1, -1, -1, -1, -1, 106, 294, 295, 88, 89, - -1, -1, -1, 1, 302, 3, 4, 5, -1, -1, - -1, 101, -1, -1, 12, 313, 127, -1, -1, -1, - -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, - 348, -1, -1, 51, -1, 353, -1, 55, -1, -1, - -1, 977, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 987, 988, -1, -1, 373, -1, -1, -1, 995, - -1, -1, -1, 81, -1, 793, -1, -1, -1, 1005, - 1006, 1007, 800, 801, 802, -1, 394, -1, -1, -1, - -1, 399, 400, -1, 402, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, - -1, 119, -1, -1, -1, 12, -1, -1, 836, -1, - -1, -1, -1, -1, 842, 843, -1, -1, -1, -1, - 848, 849, -1, -1, -1, 443, 444, -1, -1, -1, - -1, -1, -1, -1, 862, -1, -1, -1, 1074, -1, - 1076, -1, 460, 1079, 51, -1, 874, 875, 55, -1, - -1, -1, -1, 471, -1, 883, -1, -1, -1, -1, - -1, 479, -1, -1, -1, -1, 894, 895, -1, -1, - -1, 489, -1, -1, 81, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1126, -1, 210, 921, -1, 1131, 1132, -1, 926, -1, - -1, -1, -1, 51, 522, 53, 54, 55, 56, -1, - -1, -1, 119, 531, -1, -1, -1, -1, -1, -1, - -1, 69, -1, -1, -1, -1, -1, 545, -1, 547, - -1, -1, -1, -1, -1, 83, -1, -1, -1, 557, - -1, -1, -1, -1, -1, -1, 94, -1, -1, 977, - -1, -1, 100, 101, 102, 103, 1192, 1193, 1194, 987, - 988, -1, -1, 991, -1, 1201, 1202, 995, -1, 287, - -1, -1, -1, -1, -1, -1, 294, 295, -1, 1007, - 128, -1, -1, 131, 302, -1, -1, -1, 51, -1, - 53, 54, 55, 56, 612, 313, 144, -1, -1, -1, - -1, -1, -1, 210, -1, -1, 69, -1, -1, 51, - -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, - 348, 94, -1, -1, -1, 353, -1, 100, 101, 102, - 103, -1, -1, -1, -1, -1, 1074, -1, 1076, -1, - -1, 1079, 94, -1, -1, 373, -1, -1, 100, 101, - 102, 103, -1, 681, -1, 128, -1, -1, 131, -1, - -1, -1, -1, -1, -1, -1, 394, -1, -1, 142, - 287, 399, 400, -1, 402, -1, 128, 294, 295, 131, - -1, -1, -1, -1, -1, 302, -1, -1, -1, -1, - -1, -1, 144, 1131, 1132, -1, 313, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 443, 444, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 348, 460, -1, -1, 1, 353, 3, -1, -1, - -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, - -1, 479, -1, -1, 1192, -1, 373, -1, -1, -1, - -1, 489, -1, 1201, 1202, 793, -1, -1, -1, -1, - -1, -1, 800, 801, 802, -1, -1, 394, -1, -1, - -1, -1, 399, 400, -1, 51, -1, -1, 51, -1, - 53, 54, 55, 56, 522, -1, -1, -1, -1, -1, - -1, -1, -1, 531, -1, -1, 69, -1, 836, -1, - -1, -1, -1, -1, 842, 843, -1, 545, -1, 547, - 848, 849, 85, -1, -1, -1, -1, -1, -1, 557, - -1, 94, -1, -1, 862, -1, -1, 100, 101, 102, - 103, -1, -1, 460, -1, -1, 874, 875, -1, -1, - -1, -1, -1, 119, 471, 883, -1, -1, -1, -1, - -1, -1, 479, -1, -1, 128, 894, 895, 131, -1, - -1, -1, 489, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 612, -1, -1, -1, 44, -1, - -1, -1, -1, 921, -1, -1, -1, -1, 926, -1, - -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, - -1, -1, -1, -1, 531, -1, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 545, -1, - 547, -1, 88, 89, -1, -1, -1, -1, -1, -1, - 557, -1, -1, -1, 210, 101, -1, -1, -1, 977, - -1, -1, -1, 681, -1, -1, -1, -1, -1, 987, - 988, -1, -1, 991, -1, -1, 122, 995, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 1007, - -1, -1, -1, -1, -1, -1, 142, -1, -1, 51, - -1, 53, 54, 55, 56, 612, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 69, -1, 51, - -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, - -1, 287, -1, 85, -1, -1, -1, 69, 294, 295, - -1, -1, 94, -1, -1, -1, 302, -1, 100, 101, - 102, 103, -1, 85, -1, -1, 1074, -1, 1076, -1, - -1, 1079, 94, -1, -1, -1, -1, -1, 100, 101, - 102, 103, -1, -1, 681, 793, 128, -1, -1, 131, - -1, -1, 800, 801, 802, -1, -1, -1, -1, -1, - -1, -1, 348, -1, -1, -1, 128, 353, 51, 131, - 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1131, 1132, -1, 69, 373, 836, -1, - -1, -1, -1, -1, 842, 843, -1, -1, -1, -1, - 848, 849, -1, -1, -1, -1, -1, -1, 394, -1, - -1, 94, -1, 399, 862, -1, 402, 100, 101, 102, - 103, -1, -1, -1, -1, -1, 874, 875, -1, -1, - -1, -1, -1, -1, -1, 883, -1, -1, -1, -1, - -1, -1, -1, -1, 1192, 128, 894, 895, 131, -1, - -1, -1, -1, 1201, 1202, -1, 793, 443, 444, -1, - -1, -1, -1, 800, 801, -1, -1, -1, -1, -1, - -1, -1, -1, 921, 460, -1, -1, -1, 926, -1, - -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, - -1, -1, -1, 479, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, - -1, 848, 849, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 862, -1, -1, -1, 977, - -1, -1, -1, -1, -1, -1, 522, 874, 875, 987, - 988, -1, -1, 991, -1, 531, 883, 995, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 894, 895, 1007, - -1, -1, -1, -1, -1, 15, 16, -1, -1, 19, - -1, 557, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 921, -1, -1, -1, -1, 926, - -1, -1, -1, -1, -1, -1, 46, 47, 48, 49, - -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1074, -1, 1076, -1, - -1, 1079, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 987, 988, -1, -1, 991, -1, -1, -1, 995, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1007, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1131, 1132, -1, -1, -1, -1, -1, - -1, 0, -1, -1, -1, 681, -1, -1, -1, -1, - -1, -1, -1, -1, 13, 14, 15, 16, 17, 18, - -1, 20, -1, -1, -1, -1, 25, -1, 27, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, 40, 41, 42, 43, 44, -1, 1074, -1, 1076, - -1, -1, 1079, -1, 1192, -1, -1, -1, -1, -1, - -1, -1, -1, 1201, 1202, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1131, 1132, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 115, 793, -1, 118, - 119, 261, 262, 263, 264, 801, 802, 126, -1, -1, - -1, -1, -1, -1, -1, 275, -1, -1, 278, -1, - 139, -1, -1, 142, -1, -1, 145, 146, -1, 148, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 836, -1, -1, -1, -1, 1192, 842, 843, -1, -1, - -1, -1, 848, 849, 1201, 1202, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 862, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 874, 875, - -1, -1, -1, -1, -1, -1, -1, 883, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 894, 895, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 374, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 385, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 397, -1, -1, - -1, -1, 402, -1, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, -1, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, -1, -1, 433, -1, -1, -1, -1, -1, -1, - -1, 977, -1, 443, 444, -1, -1, -1, -1, -1, - -1, 987, 988, -1, -1, -1, -1, -1, 458, 995, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1007, -1, 473, -1, 475, -1, 477, 478, -1, - -1, -1, -1, -1, 484, -1, -1, -1, -1, -1, - -1, -1, -1, 493, -1, -1, 496, 497, -1, -1, - -1, 501, -1, -1, 504, -1, 506, -1, 508, 509, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 526, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 536, -1, 1074, 539, - 1076, 44, -1, 1079, -1, -1, -1, -1, -1, 549, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 566, 567, -1, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, -1, 584, 88, 89, -1, -1, -1, - -1, -1, -1, -1, -1, 1131, 1132, -1, 101, -1, - -1, -1, -1, 603, -1, -1, 606, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, 0, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 13, 14, 15, 16, 17, - 18, -1, 20, -1, -1, -1, 1192, 25, -1, 27, - 28, 29, -1, -1, -1, 1201, 1202, -1, -1, 37, - 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 692, -1, -1, 695, 696, -1, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, 726, -1, -1, -1, - -1, 99, -1, 101, -1, 735, 736, 105, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, -1, -1, - 118, 119, -1, -1, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, 139, 140, 141, 142, -1, -1, 145, 146, 147, - 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 797, -1, -1, - -1, -1, 802, 803, -1, 805, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, - -1, -1, -1, -1, -1, 101, 836, 837, -1, -1, - -1, 841, 842, 843, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 868, 869, - -1, 871, 872, -1, -1, -1, 51, 52, -1, -1, - 55, -1, 882, -1, -1, -1, 886, -1, -1, -1, - -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, - 75, 76, 77, 903, 904, 80, 81, -1, -1, -1, - -1, 86, 87, 88, 89, -1, 916, 917, -1, -1, - -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, - -1, -1, 932, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + -1, -1, -1, -1, -1, -1, -1, 1131, 1132, -1, + 443, 444, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 348, -1, 460, -1, -1, + 353, -1, -1, -1, -1, -1, -1, -1, 471, -1, + -1, -1, -1, -1, -1, -1, 479, -1, -1, -1, + 373, -1, -1, -1, -1, -1, 489, 72, 73, 74, + 75, 76, 77, 78, -1, 80, 81, -1, 1192, -1, + -1, 394, -1, 88, 89, -1, 399, 1201, 1202, 402, + -1, -1, -1, -1, -1, -1, 101, -1, -1, 522, + -1, -1, -1, -1, 793, -1, -1, -1, 531, -1, + -1, 800, 801, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, -1, -1, -1, -1, -1, -1, 143, 144, - 970, 971, -1, -1, -1, -1, -1, 977, -1, -1, - -1, -1, 0, 1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, - 1000, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, 1011, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, 0, 114, 115, -1, -1, - 118, 119, -1, -1, -1, -1, -1, -1, 13, 14, - 15, 16, 17, 18, -1, 20, 134, 135, 136, -1, - 25, 26, 27, 28, -1, -1, 1126, -1, 146, -1, - 148, -1, 37, 38, -1, 40, 41, 42, 43, 44, + 443, 444, -1, -1, 557, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 471, 848, + 849, -1, -1, -1, -1, -1, 479, -1, -1, -1, + -1, -1, -1, 862, -1, -1, 489, -1, -1, -1, + -1, -1, -1, -1, -1, 874, 875, -1, -1, -1, + -1, -1, -1, -1, 883, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 894, 895, -1, -1, 522, + -1, -1, -1, -1, -1, -1, -1, -1, 531, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, 921, -1, -1, -1, 19, 926, 21, 22, + 23, 24, -1, -1, 557, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, 681, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 987, 988, + -1, -1, 991, -1, -1, -1, 995, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, 1007, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 16, 17, -1, -1, 20, -1, -1, + -1, 134, -1, -1, -1, -1, -1, -1, -1, 142, + -1, -1, -1, -1, -1, -1, -1, -1, 681, -1, + 793, -1, -1, -1, 47, 48, 49, 50, 801, 802, + -1, 54, 55, -1, -1, 1074, -1, 1076, -1, -1, + 1079, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 836, -1, -1, -1, -1, -1, 842, + 843, -1, -1, -1, -1, 848, 849, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 862, + -1, -1, 1131, 1132, -1, -1, -1, -1, -1, -1, + -1, 874, 875, -1, -1, -1, -1, -1, -1, -1, + 883, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 894, 895, -1, -1, -1, -1, -1, -1, -1, + 793, -1, -1, -1, -1, -1, -1, -1, 801, 802, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, 90, -1, -1, 93, -1, - -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, - 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 115, -1, -1, 118, 119, -1, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, 0, -1, 138, 139, 140, 141, 142, -1, 144, - 145, 146, 147, 148, 13, 14, 15, 16, 17, 18, - -1, 20, -1, -1, -1, -1, 25, -1, 27, 28, - -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, + -1, -1, -1, 1192, -1, -1, -1, -1, -1, -1, + -1, -1, 1201, 1202, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 836, -1, -1, -1, -1, -1, 842, + 843, -1, -1, -1, -1, 848, 849, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 862, + -1, -1, -1, -1, 977, -1, -1, -1, -1, -1, + -1, 874, 875, -1, 987, 988, -1, -1, 991, -1, + 883, -1, 995, -1, -1, -1, -1, -1, -1, -1, + -1, 894, 895, -1, 1007, -1, -1, -1, 261, 262, + 263, 264, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 275, -1, -1, -1, 279, -1, -1, -1, + -1, 51, 52, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, - 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, - 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, 0, -1, -1, - 139, 140, 141, 142, -1, -1, 145, 146, 147, 148, - 13, 14, 15, 16, 17, 18, -1, 20, -1, -1, - -1, -1, 25, 26, 27, 28, -1, -1, -1, -1, - -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, - 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, 1074, -1, 1076, -1, -1, 1079, -1, -1, -1, + 100, 101, 102, -1, 977, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 987, 988, -1, -1, -1, -1, + -1, -1, 995, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 1007, 135, 136, -1, -1, -1, + -1, 374, -1, 143, 144, -1, -1, -1, 1131, 1132, + -1, -1, 385, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 397, -1, -1, -1, -1, 402, + -1, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, -1, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, -1, + 433, 1074, -1, 1076, -1, -1, 1079, -1, -1, 1192, + 443, 444, -1, -1, -1, -1, -1, -1, 1201, 1202, + -1, -1, -1, -1, -1, 458, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, -1, -1, 88, 89, 90, -1, -1, - 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 115, -1, -1, 118, 119, -1, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, 0, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, 147, 148, 13, 14, 15, 16, - 17, 18, -1, 20, -1, -1, -1, -1, 25, -1, - 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, - 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, + 473, -1, 475, -1, 477, 478, -1, -1, -1, -1, + -1, 484, -1, -1, -1, -1, -1, -1, 1131, 1132, + 493, -1, -1, 496, 497, -1, -1, -1, 501, -1, + -1, 504, -1, 506, -1, 508, 509, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, 526, -1, -1, -1, -1, -1, 88, + 89, -1, -1, 536, -1, -1, 539, -1, -1, -1, + -1, -1, 101, -1, -1, -1, 549, -1, -1, 1192, + -1, -1, -1, -1, -1, -1, -1, -1, 1201, 1202, + -1, -1, -1, 566, 567, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, + -1, 584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, - -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, - -1, -1, 99, -1, 101, -1, -1, -1, 105, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, - -1, 118, 119, -1, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, -1, 0, - -1, -1, 139, 140, 141, 142, -1, 144, 145, 146, - 147, 148, 13, 14, 15, -1, 17, 18, -1, 20, - -1, -1, -1, -1, 25, 26, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, - 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, - -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, 0, -1, 138, 139, 140, - -1, 142, -1, -1, 145, 146, 147, 148, 13, 14, - 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, - 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, 90, -1, 92, 93, -1, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, 0, -1, 138, 139, 140, -1, 142, -1, -1, - 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, - -1, 20, -1, -1, -1, -1, 25, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, - 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, 0, -1, -1, - 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, - 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, - -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, - 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, - 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, 0, -1, -1, 139, 140, -1, 142, - -1, -1, 145, 146, 147, 148, 13, 14, 15, 16, - 17, 18, -1, 20, -1, -1, -1, -1, 25, -1, - 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 603, -1, -1, 606, -1, -1, 0, 1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, + -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 692, + 84, 85, 695, 696, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, 25, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, 115, -1, 726, 118, 119, -1, -1, -1, -1, + -1, -1, 735, 736, -1, -1, -1, -1, -1, -1, + 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 146, -1, 148, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, - -1, 118, 119, -1, -1, 122, -1, 124, 125, 126, + -1, -1, -1, -1, 797, -1, -1, -1, -1, 802, + 803, -1, 805, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, - -1, -1, 139, -1, -1, -1, -1, -1, 145, 146, - 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, -1, -1, 18, 19, -1, - 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, - -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 134, 135, 136, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, - 15, -1, 17, 18, 19, -1, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, - 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, -1, 15, -1, -1, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, - -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, - 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, 15, -1, -1, 18, 19, -1, 21, 22, - 23, 24, 25, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, 836, 837, -1, -1, -1, 841, 842, + 843, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, + -1, -1, -1, -1, -1, 868, 869, -1, 871, 872, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 882, + -1, -1, -1, 886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, - -1, 18, 19, -1, 21, 22, 23, 24, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, - -1, 118, 119, 1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, - -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, - -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, 45, 46, 47, + 903, 904, -1, -1, -1, 0, -1, -1, -1, -1, + -1, -1, -1, 916, 917, -1, -1, -1, 13, 14, + 15, 16, 17, 18, -1, 20, -1, -1, -1, 932, + 25, -1, 27, 28, 29, -1, -1, -1, -1, -1, + -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 57, -1, -1, -1, -1, 970, 971, -1, + -1, -1, -1, -1, 977, -1, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 90, -1, 1000, 93, -1, + -1, -1, -1, -1, 99, -1, 101, -1, 1011, -1, + 105, -1, -1, -1, -1, -1, -1, -1, 113, -1, + 115, -1, -1, 118, 119, -1, -1, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, -1, + 145, 146, 147, 148, 0, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 13, 14, 15, + 16, 17, 18, -1, 20, -1, -1, -1, -1, 25, + 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1126, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, -1, 93, -1, -1, + -1, -1, -1, 99, -1, 101, -1, -1, -1, 105, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, + -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + 0, -1, 138, 139, 140, 141, 142, -1, 144, 145, + 146, 147, 148, 13, 14, 15, 16, 17, 18, -1, + 20, -1, -1, -1, -1, 25, -1, 27, 28, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, 92, 93, -1, -1, -1, -1, -1, 99, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, 0, -1, -1, 139, + 140, 141, 142, -1, -1, 145, 146, 147, 148, 13, + 14, 15, 16, 17, 18, -1, 20, -1, -1, -1, + -1, 25, 26, 27, 28, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, -1, -1, 93, + -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, 0, -1, 138, 139, 140, 141, 142, -1, + 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, + 18, -1, 20, -1, -1, -1, -1, 25, -1, 27, + 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, + 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, + -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, + 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, 0, -1, + -1, 139, 140, 141, 142, -1, 144, 145, 146, 147, + 148, 13, 14, 15, -1, 17, 18, -1, 20, -1, + -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, + 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, 0, -1, 138, 139, 140, -1, + 142, -1, -1, 145, 146, 147, 148, 13, 14, 15, + -1, 17, 18, -1, 20, -1, -1, -1, -1, 25, + 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, 92, 93, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, + -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + 0, -1, 138, 139, 140, -1, 142, -1, -1, 145, + 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, + 20, -1, -1, -1, -1, 25, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, 0, -1, -1, 139, + 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, + 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, + -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, -1, 92, 93, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, + -1, 145, 146, 147, 148, 1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + -1, -1, 18, 19, -1, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, + -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, + -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, + 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, -1, -1, 15, -1, 17, 18, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 134, 135, 136, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, + -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, + 18, 19, -1, 21, 22, 23, 24, 25, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, @@ -5532,9 +5472,9 @@ static const yytype_int16 yycheck[] = 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, - -1, 139, -1, -1, -1, -1, -1, -1, 146, 1, + -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -1, 14, 15, -1, -1, -1, 19, -1, 21, + 12, -1, -1, 15, -1, -1, 18, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, @@ -5549,44 +5489,44 @@ static const yytype_int16 yycheck[] = -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, 115, -1, -1, 118, 119, 1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, - 24, -1, 145, 146, -1, 148, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, 115, -1, -1, 118, 119, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, - 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, - -1, 145, 146, -1, 148, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, - 135, 136, -1, -1, 139, -1, -1, -1, -1, -1, - -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, - 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + -1, 134, 135, 136, -1, -1, 139, -1, -1, -1, + -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, + -1, 118, 119, 1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, + -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, + -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, + 118, 119, 1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, 134, 135, 136, -1, + 19, -1, 21, 22, 23, 24, -1, 145, 146, -1, + 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, @@ -5595,11 +5535,11 @@ static const yytype_int16 yycheck[] = -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, - 119, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, -1, 19, - -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, + -1, 21, 22, 23, 24, -1, 145, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, + -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5607,418 +5547,60 @@ static const yytype_int16 yycheck[] = -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, -1, 134, 135, 136, -1, 19, -1, - 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, - -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, - 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, - 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, 115, -1, -1, 118, 119, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, - 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 148, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, - -1, -1, -1, -1, -1, 143, 144, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, - 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, - 136, -1, 138, -1, -1, -1, -1, -1, 144, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, - 24, -1, 26, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, 100, -1, 102, 103, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, 138, 21, 22, 23, 24, -1, - 144, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, 92, -1, 94, 95, - -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, 121, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, - 136, -1, 19, -1, 21, 22, 23, 24, 144, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, 92, -1, 94, 95, -1, - 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, - -1, -1, -1, -1, 121, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, 134, 135, 136, - -1, 19, -1, 21, 22, 23, 24, 144, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, 102, 103, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, 144, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 134, 135, 136, -1, -1, -1, - -1, -1, -1, -1, 144, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - -1, -1, -1, -1, -1, 63, -1, -1, -1, -1, - -1, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 100, 101, 102, -1, -1, -1, -1, 107, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, - -1, -1, -1, -1, -1, 143, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, - 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, - 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, - 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, - -1, -1, -1, -1, -1, -1, 143, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, - 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, - 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, -1, -1, -1, -1, -1, -1, 143, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, - 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, - -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, -1, -1, -1, -1, -1, -1, 143, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, + -1, -1, -1, -1, 134, 135, 136, -1, -1, 139, + -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, + -1, 15, -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, - 134, 21, 22, 23, 24, -1, -1, -1, 142, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, - -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, - -1, -1, 142, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, - 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, 100, -1, 102, 103, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, 102, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, - 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, -1, -1, 102, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, + -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 114, 115, -1, -1, 118, 119, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, + -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, + 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, + -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, + -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, + -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, + 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, + 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, + -1, 118, 119, -1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, -1, -1, 134, 135, 136, + -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, + -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, @@ -6026,116 +5608,475 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, + 118, 119, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, 134, 135, 136, -1, + 19, -1, 21, 22, 23, 24, -1, -1, 146, -1, + 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, -1, -1, -1, -1, -1, -1, + 143, 144, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, 19, -1, + 21, 22, 23, 24, -1, 26, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 134, 135, 136, -1, 138, -1, -1, + -1, -1, -1, 144, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + 19, -1, 21, 22, 23, 24, -1, 26, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, 138, + 21, 22, 23, 24, -1, 144, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, 92, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 121, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, + 22, 23, 24, 144, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + 92, -1, 94, 95, -1, 97, 98, -1, 100, -1, + 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, -1, -1, -1, -1, 121, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, + 23, 24, 144, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, + 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, 144, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, - 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, + 135, 136, -1, -1, -1, -1, -1, -1, -1, 144, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, + 63, -1, -1, -1, -1, -1, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, + -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 19, 134, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, -1, 51, 52, -1, 104, 55, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, - -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, -1, -1, 134, -1, 86, 87, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, - 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, -1, -1, -1, -1, -1, -1, + 143, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, + -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, -1, -1, -1, -1, + -1, 63, -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 102, -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, + 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, + -1, 143, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, 106, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, + -1, -1, 143, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, + 50, 51, 52, -1, -1, 55, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, 135, 136, -1, -1, -1, + -1, -1, -1, 143, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, + -1, -1, -1, 142, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, + 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, 102, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, -1, 102, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 88, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, 19, 134, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + 19, 134, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, 19, 134, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, 44, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, 101, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 51, 52, 134, -1, 55, + -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, @@ -6244,18 +6185,76 @@ static const yytype_int16 yycheck[] = -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, -1, -1, -1, -1, -1, -1, 143, + -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, + 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, + 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, + 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, + 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, + -1, 143, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 101, -1, -1, -1, -1, 44, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, -1, -1, -1, -1, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, + -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, @@ -6265,70 +6264,34 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, - -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, - -1, -1, -1, -1, -1, 142, 72, 73, 74, 75, + 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, + -1, -1, 88, 89, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, 101, -1, -1, -1, -1, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, -1, -1, -1, -1, 142, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, -1, -1, -1, -1, -1, -1, 142, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, -1, -1, -1, -1, 88, 89, 72, 73, - 74, 75, 76, 77, 78, -1, 80, 81, -1, 101, - -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, - 72, 73, 74, 75, 76, 77, 88, 89, 80, 81, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133 + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 150, 151, 1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 19, 21, 22, 23, 24, 30, - 31, 32, 33, 34, 35, 36, 39, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, - 59, 60, 63, 66, 67, 69, 70, 71, 84, 85, - 91, 94, 95, 97, 98, 100, 104, 106, 107, 108, - 110, 111, 112, 114, 134, 135, 136, 152, 153, 154, - 160, 161, 163, 166, 168, 170, 171, 174, 175, 177, - 178, 179, 181, 182, 191, 205, 222, 243, 244, 275, - 276, 277, 281, 282, 283, 289, 290, 291, 293, 294, - 295, 296, 297, 298, 334, 347, 0, 154, 21, 22, + 0, 150, 151, 0, 1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 19, 21, 22, 23, 24, + 30, 31, 32, 33, 34, 35, 36, 39, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 58, 59, 60, 63, 66, 67, 69, 70, 71, 84, + 85, 91, 94, 95, 97, 98, 100, 104, 106, 107, + 108, 110, 111, 112, 114, 134, 135, 136, 152, 153, + 154, 159, 161, 163, 166, 167, 170, 171, 174, 175, + 177, 178, 179, 181, 182, 191, 205, 222, 243, 244, + 275, 276, 277, 281, 282, 283, 289, 290, 291, 293, + 294, 295, 296, 297, 298, 334, 347, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 166, 168, 183, 184, 205, 222, 295, 298, 334, + 134, 166, 167, 183, 184, 205, 222, 295, 298, 334, 184, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, @@ -6337,15 +6300,15 @@ static const yytype_int16 yystos[] = 76, 77, 80, 81, 86, 87, 88, 89, 100, 101, 102, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 143, 144, 185, 189, 190, 297, 329, - 206, 91, 163, 166, 168, 169, 182, 222, 295, 296, + 206, 91, 163, 166, 167, 169, 182, 222, 295, 296, 298, 169, 212, 214, 69, 91, 175, 182, 222, 227, 295, 298, 33, 34, 35, 36, 48, 49, 50, 51, 55, 106, 185, 186, 187, 291, 115, 118, 119, 146, 148, 169, 285, 286, 287, 340, 344, 345, 346, 51, 69, 100, 102, 103, 135, 174, 191, 197, 200, 203, 277, 332, 333, 197, 197, 144, 194, 195, 198, 199, - 347, 194, 199, 144, 341, 186, 155, 138, 191, 222, - 191, 191, 191, 55, 1, 94, 157, 158, 160, 176, + 347, 194, 198, 144, 341, 186, 155, 138, 191, 222, + 191, 191, 191, 55, 1, 94, 157, 158, 159, 176, 177, 347, 207, 209, 192, 203, 332, 347, 191, 331, 332, 347, 91, 142, 181, 222, 295, 298, 210, 53, 54, 56, 63, 69, 107, 185, 292, 63, 64, 65, @@ -6355,12 +6318,12 @@ static const yytype_int16 yystos[] = 56, 69, 83, 94, 100, 101, 102, 103, 128, 131, 144, 301, 302, 303, 304, 305, 308, 309, 310, 311, 313, 314, 315, 316, 318, 319, 320, 323, 324, 325, - 326, 327, 347, 301, 303, 28, 242, 121, 142, 94, + 326, 327, 347, 301, 303, 28, 241, 121, 142, 94, 100, 178, 121, 25, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 88, 89, 93, 101, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 90, 105, 140, 147, 338, 90, 338, 339, 26, - 138, 246, 277, 92, 92, 194, 199, 246, 163, 51, + 138, 245, 277, 92, 92, 194, 198, 245, 163, 51, 55, 183, 58, 59, 302, 125, 299, 90, 140, 338, 221, 330, 90, 147, 337, 156, 157, 55, 301, 301, 16, 223, 344, 121, 90, 140, 338, 92, 92, 223, @@ -6368,53 +6331,53 @@ static const yytype_int16 yystos[] = 340, 115, 287, 20, 248, 344, 57, 57, 191, 191, 191, 93, 142, 201, 202, 347, 57, 201, 202, 85, 196, 197, 203, 332, 347, 197, 163, 340, 342, 163, - 345, 159, 138, 157, 90, 338, 92, 160, 176, 145, - 340, 346, 342, 160, 342, 141, 202, 343, 346, 202, + 345, 160, 138, 157, 90, 338, 92, 159, 176, 145, + 340, 346, 342, 159, 342, 141, 202, 343, 346, 202, 343, 139, 343, 55, 178, 179, 180, 142, 90, 140, 338, 144, 239, 313, 318, 63, 278, 280, 284, 285, 63, 279, 61, 62, 63, 63, 101, 101, 154, 169, - 169, 169, 169, 160, 163, 163, 57, 121, 57, 344, + 169, 169, 169, 159, 163, 163, 57, 121, 57, 344, 317, 85, 313, 318, 121, 156, 191, 142, 328, 347, 51, 142, 328, 344, 142, 312, 191, 142, 312, 51, - 142, 312, 51, 121, 156, 241, 100, 170, 191, 203, + 142, 312, 51, 121, 156, 242, 100, 170, 191, 203, 204, 176, 142, 181, 142, 161, 162, 170, 182, 191, 193, 204, 222, 298, 165, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 164, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 51, 52, 55, 189, 194, 335, 336, 196, 203, 51, 52, 55, 189, 194, 335, 51, 55, 335, - 247, 245, 162, 191, 193, 162, 193, 99, 173, 219, + 247, 246, 162, 191, 193, 162, 193, 99, 172, 219, 300, 218, 51, 55, 183, 335, 196, 335, 156, 163, - 167, 15, 13, 271, 347, 121, 121, 157, 16, 51, + 168, 15, 13, 271, 347, 121, 121, 157, 16, 51, 55, 196, 51, 55, 157, 27, 224, 344, 224, 51, 55, 196, 51, 55, 216, 188, 157, 25, 248, 191, 203, 15, 191, 191, 191, 341, 100, 191, 200, 332, 191, 333, 342, 145, 340, 202, 202, 342, 145, 186, - 152, 139, 193, 342, 160, 208, 332, 178, 180, 51, + 152, 139, 193, 342, 159, 208, 332, 178, 180, 51, 55, 196, 51, 55, 313, 211, 142, 63, 157, 285, 191, 191, 51, 69, 100, 228, 318, 342, 342, 142, 174, 191, 15, 51, 69, 305, 310, 327, 85, 311, 316, 323, 325, 318, 320, 325, 51, 318, 174, 191, - 15, 79, 126, 233, 235, 347, 191, 202, 342, 180, + 15, 79, 126, 233, 234, 347, 191, 202, 342, 180, 142, 44, 121, 44, 90, 140, 338, 34, 35, 36, 51, 55, 63, 91, 97, 98, 100, 102, 127, 254, 255, 257, 258, 259, 260, 263, 264, 265, 267, 268, - 269, 270, 290, 294, 254, 341, 92, 92, 194, 199, - 141, 202, 92, 92, 195, 199, 195, 199, 233, 233, - 172, 344, 169, 156, 141, 15, 342, 185, 191, 204, + 269, 270, 290, 294, 254, 341, 92, 92, 194, 198, + 141, 202, 92, 92, 195, 198, 195, 198, 233, 233, + 173, 344, 169, 156, 141, 15, 342, 185, 191, 204, 272, 347, 18, 226, 347, 17, 225, 226, 92, 92, 141, 92, 92, 226, 213, 215, 141, 169, 186, 139, 254, 15, 202, 223, 191, 201, 85, 332, 139, 342, 343, 141, 236, 341, 29, 113, 240, 139, 142, 315, 342, 142, 85, 44, 44, 328, 344, 142, 312, 142, 312, 142, 312, 142, 312, 312, 44, 44, 230, 232, - 234, 304, 306, 307, 310, 318, 319, 321, 322, 325, - 327, 156, 100, 191, 180, 160, 191, 51, 55, 196, + 235, 304, 306, 307, 310, 318, 319, 321, 322, 325, + 327, 156, 100, 191, 180, 159, 191, 51, 55, 196, 51, 55, 57, 55, 51, 141, 257, 261, 262, 263, 290, 51, 139, 266, 267, 269, 290, 51, 34, 51, 51, 257, 263, 142, 93, 126, 142, 90, 142, 93, - 57, 123, 162, 193, 170, 193, 173, 92, 162, 193, - 162, 193, 173, 246, 242, 156, 157, 233, 220, 344, + 57, 123, 162, 193, 170, 193, 172, 92, 162, 193, + 162, 193, 172, 245, 241, 156, 157, 233, 220, 344, 15, 93, 273, 347, 157, 14, 274, 347, 169, 15, 92, 15, 157, 157, 224, 40, 41, 223, 191, 157, 342, 202, 145, 146, 156, 157, 229, 142, 100, 342, @@ -6442,13 +6405,13 @@ static const yytype_int16 yystos[] = /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 149, 150, 151, 152, 153, 153, 153, 153, 154, - 155, 154, 156, 157, 158, 158, 158, 158, 159, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, + 0, 149, 151, 150, 152, 153, 153, 153, 153, 154, + 155, 154, 156, 157, 158, 158, 158, 158, 160, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, 162, 163, 163, - 163, 163, 163, 164, 163, 165, 163, 163, 166, 167, - 168, 169, 170, 170, 171, 171, 172, 173, 174, 174, + 163, 163, 163, 164, 163, 165, 163, 163, 166, 168, + 167, 169, 170, 170, 171, 171, 173, 172, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, 175, 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, 178, 179, 179, 180, 180, 181, @@ -6469,7 +6432,7 @@ static const yytype_int16 yyr1[] = 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, 192, 193, 193, 194, 194, 194, 195, 195, 196, 196, 196, 196, 196, 197, 197, - 197, 197, 197, 198, 199, 200, 200, 201, 201, 202, + 197, 197, 197, 199, 198, 200, 200, 201, 201, 202, 203, 203, 203, 203, 203, 203, 204, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, 206, 205, 207, 208, 205, 209, 205, 205, 205, 205, 205, 205, 205, @@ -6481,10 +6444,10 @@ static const yytype_int16 yyr1[] = 228, 228, 228, 228, 228, 228, 228, 228, 229, 228, 230, 230, 230, 230, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 233, 233, 234, 235, 235, 235, 236, 236, 237, - 237, 238, 238, 239, 239, 240, 240, 241, 242, 243, + 232, 233, 233, 235, 234, 234, 234, 236, 236, 237, + 237, 238, 238, 239, 239, 240, 240, 242, 241, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 245, 246, 247, 246, 248, 249, 249, 250, + 244, 244, 246, 245, 247, 245, 248, 249, 249, 250, 251, 250, 252, 250, 253, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 256, 256, 257, 257, 258, 258, 259, 259, 259, 259, 259, 259, 259, @@ -6676,7 +6639,7 @@ do { \ /* Temporary convenience wrapper in case some people defined the undocumented and private YY_LOCATION_PRINT macros. */ -# define YYLOCATION_PRINT(File, Loc, p) YY_LOCATION_PRINT(File, *(Loc), p) +# define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc)) # elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL @@ -6712,11 +6675,11 @@ yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) /* Temporary convenience wrapper in case some people defined the undocumented and private YY_LOCATION_PRINT macros. */ -# define YY_LOCATION_PRINT(File, Loc, p) YYLOCATION_PRINT(File, &(Loc), p) +# define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc)) # else -# define YYLOCATION_PRINT(File, Loc, p) ((void) 0) +# define YYLOCATION_PRINT(File, Loc) ((void) 0) /* Temporary convenience wrapper in case some people defined the undocumented and private YY_LOCATION_PRINT macros. */ # define YY_LOCATION_PRINT YYLOCATION_PRINT @@ -6725,13 +6688,13 @@ yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) # endif /* !defined YYLOCATION_PRINT */ -# define YY_SYMBOL_PRINT(Title, Kind, Value, Location, p) \ +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ - Kind, Value, Location, p); \ + Kind, Value, Location, p); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) @@ -6752,11 +6715,7 @@ yy_symbol_value_print (FILE *yyo, if (!yyvaluep) return; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -switch (yykind) - { - default: - break; - } + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -6772,7 +6731,7 @@ yy_symbol_print (FILE *yyo, YYFPRINTF (yyo, "%s %s (", yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - YYLOCATION_PRINT (yyo, yylocationp, p); + YYLOCATION_PRINT (yyo, yylocationp); YYFPRINTF (yyo, ": "); yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, p); YYFPRINTF (yyo, ")"); @@ -6784,7 +6743,7 @@ yy_symbol_print (FILE *yyo, `------------------------------------------------------------------*/ static void -yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop, parser_state *p) +yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) @@ -6795,10 +6754,10 @@ yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop, parser_state *p) YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top, p) \ +# define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ - yy_stack_print ((Bottom), (Top), p); \ + yy_stack_print ((Bottom), (Top)); \ } while (0) @@ -6827,7 +6786,7 @@ yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, } } -# define YY_REDUCE_PRINT(Rule, p) \ +# define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, yylsp, Rule, p); \ @@ -6835,14 +6794,12 @@ do { \ /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ -#ifndef yydebug int yydebug; -#endif #else /* !YYDEBUG */ # define YYDPRINTF(Args) ((void) 0) -# define YY_SYMBOL_PRINT(Title, Kind, Value, Location, p) -# define YY_STACK_PRINT(Bottom, Top, p) -# define YY_REDUCE_PRINT(Rule, p) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ @@ -7056,7 +7013,7 @@ yy_syntax_error_arguments (const yypcontext_t *yyctx, required number of bytes is too large to store. */ static int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, - const yypcontext_t *yyctx, parser_state *p) + const yypcontext_t *yyctx) { enum { YYARGS_MAX = 5 }; /* Internationalized format string. */ @@ -7148,14 +7105,10 @@ yydestruct (const char *yymsg, YY_USE (p); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp, p); + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - switch (yykind) - { - default: - break; - } + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -7178,16 +7131,11 @@ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ -#ifdef __cplusplus -static const YYSTYPE yyval_default = {}; -(void) yyval_default; -#else -YY_INITIAL_VALUE (static const YYSTYPE yyval_default;) -#endif +YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Location data for the lookahead symbol. */ -static const YYLTYPE yyloc_default +static YYLTYPE yyloc_default # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif @@ -7196,7 +7144,6 @@ YYLTYPE yylloc = yyloc_default; /* Number of syntax errors so far. */ int yynerrs = 0; - YY_USE (yynerrs); /* Silence compiler warning. */ yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ @@ -7251,10 +7198,6 @@ YYLTYPE yylloc = yyloc_default; yychar = YYEMPTY; /* Cause a token to be read. */ - - -#line 7257 "mrbgems/mruby-compiler/core/y.tab.c" - yylsp[0] = yylloc; goto yysetstate; @@ -7277,7 +7220,7 @@ yysetstate: YY_IGNORE_USELESS_CAST_BEGIN *yyssp = YY_CAST (yy_state_t, yystate); YY_IGNORE_USELESS_CAST_END - YY_STACK_PRINT (yyss, yyssp, p); + YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE @@ -7395,7 +7338,7 @@ yybackup: else { yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc, p); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to @@ -7418,14 +7361,13 @@ yybackup: yyerrstatus--; /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc, p); + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END *++yylsp = yylloc; - /* Discard the shifted token. */ yychar = YYEMPTY; goto yynewstate; @@ -7458,92 +7400,91 @@ yyreduce: GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; - /* Default location. */ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); yyerror_range[1] = yyloc; - YY_REDUCE_PRINT (yyn, p); + YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: /* $@1: %empty */ -#line 2179 "mrbgems/mruby-compiler/core/parse.y" +#line 2179 "parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7416 "y.tab.c" break; case 3: /* program: $@1 top_compstmt */ -#line 2184 "mrbgems/mruby-compiler/core/parse.y" +#line 2184 "parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7483 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7424 "y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ -#line 2190 "mrbgems/mruby-compiler/core/parse.y" +#line 2190 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7491 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7432 "y.tab.c" break; case 5: /* top_stmts: none */ -#line 2196 "mrbgems/mruby-compiler/core/parse.y" +#line 2196 "parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7499 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7440 "y.tab.c" break; case 6: /* top_stmts: top_stmt */ -#line 2200 "mrbgems/mruby-compiler/core/parse.y" +#line 2200 "parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7507 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7448 "y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ -#line 2204 "mrbgems/mruby-compiler/core/parse.y" +#line 2204 "parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7515 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7456 "y.tab.c" break; case 8: /* top_stmts: error top_stmt */ -#line 2208 "mrbgems/mruby-compiler/core/parse.y" +#line 2208 "parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7523 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7464 "y.tab.c" break; case 10: /* @2: %empty */ -#line 2215 "mrbgems/mruby-compiler/core/parse.y" +#line 2215 "parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 7532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7473 "y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ -#line 2220 "mrbgems/mruby-compiler/core/parse.y" +#line 2220 "parse.y" { yyerror(&(yylsp[-4]), p, "BEGIN not supported"); local_resume(p, (yyvsp[-3].nd)); nvars_unnest(p); (yyval.nd) = 0; } -#line 7543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7484 "y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ -#line 2232 "mrbgems/mruby-compiler/core/parse.y" +#line 2232 "parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -7564,89 +7505,89 @@ yyreduce: } } } -#line 7568 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7509 "y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ -#line 2255 "mrbgems/mruby-compiler/core/parse.y" +#line 2255 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7517 "y.tab.c" break; case 14: /* stmts: none */ -#line 2261 "mrbgems/mruby-compiler/core/parse.y" +#line 2261 "parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7584 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7525 "y.tab.c" break; case 15: /* stmts: stmt */ -#line 2265 "mrbgems/mruby-compiler/core/parse.y" +#line 2265 "parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7592 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7533 "y.tab.c" break; case 16: /* stmts: stmts terms stmt */ -#line 2269 "mrbgems/mruby-compiler/core/parse.y" +#line 2269 "parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7600 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7541 "y.tab.c" break; case 17: /* stmts: error stmt */ -#line 2273 "mrbgems/mruby-compiler/core/parse.y" +#line 2273 "parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7608 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7549 "y.tab.c" break; case 18: /* $@3: %empty */ -#line 2278 "mrbgems/mruby-compiler/core/parse.y" +#line 2278 "parse.y" {p->lstate = EXPR_FNAME;} -#line 7614 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7555 "y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ -#line 2279 "mrbgems/mruby-compiler/core/parse.y" +#line 2279 "parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 7622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7563 "y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ -#line 2283 "mrbgems/mruby-compiler/core/parse.y" +#line 2283 "parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 7630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7571 "y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ -#line 2287 "mrbgems/mruby-compiler/core/parse.y" +#line 2287 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 7638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7579 "y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ -#line 2291 "mrbgems/mruby-compiler/core/parse.y" +#line 2291 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 7646 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7587 "y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ -#line 2295 "mrbgems/mruby-compiler/core/parse.y" +#line 2295 "parse.y" { if ((yyvsp[-2].nd) && node_type_p((yyvsp[-2].nd), NODE_BEGIN)) { (yyval.nd) = new_while_mod(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); @@ -7655,11 +7596,11 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7659 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7600 "y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ -#line 2304 "mrbgems/mruby-compiler/core/parse.y" +#line 2304 "parse.y" { if ((yyvsp[-2].nd) && node_type_p((yyvsp[-2].nd), NODE_BEGIN)) { (yyval.nd) = new_until_mod(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); @@ -7668,117 +7609,117 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7613 "y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ -#line 2313 "mrbgems/mruby-compiler/core/parse.y" +#line 2313 "parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7680 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7621 "y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ -#line 2317 "mrbgems/mruby-compiler/core/parse.y" +#line 2317 "parse.y" { yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 7689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7630 "y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ -#line 2323 "mrbgems/mruby-compiler/core/parse.y" +#line 2323 "parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7638 "y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ -#line 2327 "mrbgems/mruby-compiler/core/parse.y" +#line 2327 "parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7646 "y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ -#line 2331 "mrbgems/mruby-compiler/core/parse.y" +#line 2331 "parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7654 "y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ -#line 2335 "mrbgems/mruby-compiler/core/parse.y" +#line 2335 "parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7662 "y.tab.c" break; case 33: /* command_asgn: lhs '=' command_rhs */ -#line 2342 "mrbgems/mruby-compiler/core/parse.y" +#line 2342 "parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7670 "y.tab.c" break; case 34: /* command_asgn: var_lhs tOP_ASGN command_rhs */ -#line 2346 "mrbgems/mruby-compiler/core/parse.y" +#line 2346 "parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7737 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7678 "y.tab.c" break; case 35: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ -#line 2350 "mrbgems/mruby-compiler/core/parse.y" +#line 2350 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7745 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7686 "y.tab.c" break; case 36: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ -#line 2354 "mrbgems/mruby-compiler/core/parse.y" +#line 2354 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7753 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7694 "y.tab.c" break; case 37: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ -#line 2358 "mrbgems/mruby-compiler/core/parse.y" +#line 2358 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7702 "y.tab.c" break; case 38: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ -#line 2362 "mrbgems/mruby-compiler/core/parse.y" +#line 2362 "parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 7770 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7711 "y.tab.c" break; case 39: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ -#line 2367 "mrbgems/mruby-compiler/core/parse.y" +#line 2367 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7719 "y.tab.c" break; case 40: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ -#line 2371 "mrbgems/mruby-compiler/core/parse.y" +#line 2371 "parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -7787,11 +7728,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7791 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7732 "y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2380 "mrbgems/mruby-compiler/core/parse.y" +#line 2380 "parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -7800,11 +7741,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7804 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7745 "y.tab.c" break; case 42: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ -#line 2389 "mrbgems/mruby-compiler/core/parse.y" +#line 2389 "parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -7813,11 +7754,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7758 "y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2398 "mrbgems/mruby-compiler/core/parse.y" +#line 2398 "parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -7826,111 +7767,111 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7830 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7771 "y.tab.c" break; case 44: /* command_asgn: backref tOP_ASGN command_rhs */ -#line 2407 "mrbgems/mruby-compiler/core/parse.y" +#line 2407 "parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 7839 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7780 "y.tab.c" break; case 46: /* command_rhs: command_call "'rescue' modifier" stmt */ -#line 2415 "mrbgems/mruby-compiler/core/parse.y" +#line 2415 "parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7847 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7788 "y.tab.c" break; case 49: /* expr: expr "'and'" expr */ -#line 2423 "mrbgems/mruby-compiler/core/parse.y" +#line 2423 "parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7855 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7796 "y.tab.c" break; case 50: /* expr: expr "'or'" expr */ -#line 2427 "mrbgems/mruby-compiler/core/parse.y" +#line 2427 "parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7863 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7804 "y.tab.c" break; case 51: /* expr: "'not'" opt_nl expr */ -#line 2431 "mrbgems/mruby-compiler/core/parse.y" +#line 2431 "parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7871 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7812 "y.tab.c" break; case 52: /* expr: '!' command_call */ -#line 2435 "mrbgems/mruby-compiler/core/parse.y" +#line 2435 "parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7879 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7820 "y.tab.c" break; case 53: /* $@4: %empty */ -#line 2438 "mrbgems/mruby-compiler/core/parse.y" +#line 2438 "parse.y" {p->in_kwarg++;} -#line 7885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7826 "y.tab.c" break; case 54: /* expr: arg "=>" $@4 p_expr */ -#line 2439 "mrbgems/mruby-compiler/core/parse.y" +#line 2439 "parse.y" { /* expr => pattern (raises NoMatchingPatternError on failure) */ p->in_kwarg--; (yyval.nd) = new_match_pat(p, (yyvsp[-3].nd), (yyvsp[0].nd), TRUE); } -#line 7895 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7836 "y.tab.c" break; case 55: /* $@5: %empty */ -#line 2444 "mrbgems/mruby-compiler/core/parse.y" +#line 2444 "parse.y" {p->in_kwarg++;} -#line 7901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7842 "y.tab.c" break; case 56: /* expr: arg "'in'" $@5 p_expr */ -#line 2445 "mrbgems/mruby-compiler/core/parse.y" +#line 2445 "parse.y" { /* expr in pattern (returns true/false) */ p->in_kwarg--; (yyval.nd) = new_match_pat(p, (yyvsp[-3].nd), (yyvsp[0].nd), FALSE); } -#line 7911 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7852 "y.tab.c" break; case 58: /* defn_head: "'def'" fname */ -#line 2454 "mrbgems/mruby-compiler/core/parse.y" +#line 2454 "parse.y" { (yyval.nd) = new_def(p, (yyvsp[0].id)); p->cmdarg_stack = 0; p->in_def++; nvars_block(p); } -#line 7922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7863 "y.tab.c" break; case 59: /* $@6: %empty */ -#line 2463 "mrbgems/mruby-compiler/core/parse.y" +#line 2463 "parse.y" { p->lstate = EXPR_FNAME; } -#line 7930 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7871 "y.tab.c" break; case 60: /* defs_head: "'def'" singleton dot_or_colon $@6 fname */ -#line 2467 "mrbgems/mruby-compiler/core/parse.y" +#line 2467 "parse.y" { (yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id)); p->cmdarg_stack = 0; @@ -7939,1054 +7880,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 7943 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7884 "y.tab.c" break; case 61: /* expr_value: expr */ -#line 2478 "mrbgems/mruby-compiler/core/parse.y" +#line 2478 "parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 7954 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7895 "y.tab.c" break; case 65: /* block_command: block_call call_op2 operation2 command_args */ -#line 2492 "mrbgems/mruby-compiler/core/parse.y" +#line 2492 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 7962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7903 "y.tab.c" break; case 66: /* $@7: %empty */ -#line 2498 "mrbgems/mruby-compiler/core/parse.y" +#line 2498 "parse.y" { local_nest(p); nvars_nest(p); } -#line 7971 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7912 "y.tab.c" break; case 67: /* cmd_brace_block: "{" $@7 opt_block_param compstmt '}' */ -#line 2505 "mrbgems/mruby-compiler/core/parse.y" +#line 2505 "parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 7981 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7922 "y.tab.c" break; case 68: /* command: operation command_args */ -#line 2513 "mrbgems/mruby-compiler/core/parse.y" +#line 2513 "parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7989 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7930 "y.tab.c" break; case 69: /* command: operation command_args cmd_brace_block */ -#line 2517 "mrbgems/mruby-compiler/core/parse.y" +#line 2517 "parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 7998 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7939 "y.tab.c" break; case 70: /* command: primary_value call_op operation2 command_args */ -#line 2522 "mrbgems/mruby-compiler/core/parse.y" +#line 2522 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8006 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7947 "y.tab.c" break; case 71: /* command: primary_value call_op operation2 command_args cmd_brace_block */ -#line 2526 "mrbgems/mruby-compiler/core/parse.y" +#line 2526 "parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); } -#line 8015 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7956 "y.tab.c" break; case 72: /* command: primary_value "::" operation2 command_args */ -#line 2531 "mrbgems/mruby-compiler/core/parse.y" +#line 2531 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8023 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7964 "y.tab.c" break; case 73: /* command: primary_value "::" operation2 command_args cmd_brace_block */ -#line 2535 "mrbgems/mruby-compiler/core/parse.y" +#line 2535 "parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), tCOLON2); } -#line 8032 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7973 "y.tab.c" break; case 74: /* command: "'super'" command_args */ -#line 2540 "mrbgems/mruby-compiler/core/parse.y" +#line 2540 "parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8040 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7981 "y.tab.c" break; case 75: /* command: "'yield'" command_args */ -#line 2544 "mrbgems/mruby-compiler/core/parse.y" +#line 2544 "parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7989 "y.tab.c" break; case 76: /* command: "'return'" call_args */ -#line 2548 "mrbgems/mruby-compiler/core/parse.y" +#line 2548 "parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8056 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7997 "y.tab.c" break; case 77: /* command: "'break'" call_args */ -#line 2552 "mrbgems/mruby-compiler/core/parse.y" +#line 2552 "parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8064 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8005 "y.tab.c" break; case 78: /* command: "'next'" call_args */ -#line 2556 "mrbgems/mruby-compiler/core/parse.y" +#line 2556 "parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8072 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8013 "y.tab.c" break; case 79: /* mlhs: mlhs_basic */ -#line 2562 "mrbgems/mruby-compiler/core/parse.y" +#line 2562 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8080 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8021 "y.tab.c" break; case 80: /* mlhs: tLPAREN mlhs_inner rparen */ -#line 2566 "mrbgems/mruby-compiler/core/parse.y" +#line 2566 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8088 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8029 "y.tab.c" break; case 82: /* mlhs_inner: tLPAREN mlhs_inner rparen */ -#line 2573 "mrbgems/mruby-compiler/core/parse.y" +#line 2573 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8037 "y.tab.c" break; case 83: /* mlhs_basic: mlhs_list */ -#line 2579 "mrbgems/mruby-compiler/core/parse.y" +#line 2579 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8104 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8045 "y.tab.c" break; case 84: /* mlhs_basic: mlhs_list mlhs_item */ -#line 2583 "mrbgems/mruby-compiler/core/parse.y" +#line 2583 "parse.y" { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 8112 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8053 "y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" mlhs_node */ -#line 2587 "mrbgems/mruby-compiler/core/parse.y" +#line 2587 "parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8061 "y.tab.c" break; case 86: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ -#line 2591 "mrbgems/mruby-compiler/core/parse.y" +#line 2591 "parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8128 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8069 "y.tab.c" break; case 87: /* mlhs_basic: mlhs_list "*" */ -#line 2595 "mrbgems/mruby-compiler/core/parse.y" +#line 2595 "parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8136 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8077 "y.tab.c" break; case 88: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ -#line 2599 "mrbgems/mruby-compiler/core/parse.y" +#line 2599 "parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 8144 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8085 "y.tab.c" break; case 89: /* mlhs_basic: "*" mlhs_node */ -#line 2603 "mrbgems/mruby-compiler/core/parse.y" +#line 2603 "parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8093 "y.tab.c" break; case 90: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ -#line 2607 "mrbgems/mruby-compiler/core/parse.y" +#line 2607 "parse.y" { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8101 "y.tab.c" break; case 91: /* mlhs_basic: "*" */ -#line 2611 "mrbgems/mruby-compiler/core/parse.y" +#line 2611 "parse.y" { (yyval.nd) = list2(0, new_nil(p)); } -#line 8168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8109 "y.tab.c" break; case 92: /* mlhs_basic: "*" ',' mlhs_post */ -#line 2615 "mrbgems/mruby-compiler/core/parse.y" +#line 2615 "parse.y" { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 8176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8117 "y.tab.c" break; case 94: /* mlhs_item: tLPAREN mlhs_inner rparen */ -#line 2622 "mrbgems/mruby-compiler/core/parse.y" +#line 2622 "parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 8184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8125 "y.tab.c" break; case 95: /* mlhs_list: mlhs_item ',' */ -#line 2628 "mrbgems/mruby-compiler/core/parse.y" +#line 2628 "parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 8192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8133 "y.tab.c" break; case 96: /* mlhs_list: mlhs_list mlhs_item ',' */ -#line 2632 "mrbgems/mruby-compiler/core/parse.y" +#line 2632 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 8200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8141 "y.tab.c" break; case 97: /* mlhs_post: mlhs_item */ -#line 2638 "mrbgems/mruby-compiler/core/parse.y" +#line 2638 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8149 "y.tab.c" break; case 98: /* mlhs_post: mlhs_list mlhs_item */ -#line 2642 "mrbgems/mruby-compiler/core/parse.y" +#line 2642 "parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8216 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8157 "y.tab.c" break; case 99: /* mlhs_node: variable */ -#line 2648 "mrbgems/mruby-compiler/core/parse.y" +#line 2648 "parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8165 "y.tab.c" break; case 100: /* mlhs_node: primary_value '[' opt_call_args ']' */ -#line 2652 "mrbgems/mruby-compiler/core/parse.y" +#line 2652 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8173 "y.tab.c" break; case 101: /* mlhs_node: primary_value call_op "local variable or method" */ -#line 2656 "mrbgems/mruby-compiler/core/parse.y" +#line 2656 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8240 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8181 "y.tab.c" break; case 102: /* mlhs_node: primary_value "::" "local variable or method" */ -#line 2660 "mrbgems/mruby-compiler/core/parse.y" +#line 2660 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8189 "y.tab.c" break; case 103: /* mlhs_node: primary_value call_op "constant" */ -#line 2664 "mrbgems/mruby-compiler/core/parse.y" +#line 2664 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8197 "y.tab.c" break; case 104: /* mlhs_node: primary_value "::" "constant" */ -#line 2668 "mrbgems/mruby-compiler/core/parse.y" +#line 2668 "parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8266 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8207 "y.tab.c" break; case 105: /* mlhs_node: tCOLON3 "constant" */ -#line 2674 "mrbgems/mruby-compiler/core/parse.y" +#line 2674 "parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8217 "y.tab.c" break; case 106: /* mlhs_node: backref */ -#line 2680 "mrbgems/mruby-compiler/core/parse.y" +#line 2680 "parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8226 "y.tab.c" break; case 107: /* lhs: variable */ -#line 2687 "mrbgems/mruby-compiler/core/parse.y" +#line 2687 "parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8234 "y.tab.c" break; case 108: /* lhs: primary_value '[' opt_call_args ']' */ -#line 2691 "mrbgems/mruby-compiler/core/parse.y" +#line 2691 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8242 "y.tab.c" break; case 109: /* lhs: primary_value call_op "local variable or method" */ -#line 2695 "mrbgems/mruby-compiler/core/parse.y" +#line 2695 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8250 "y.tab.c" break; case 110: /* lhs: primary_value "::" "local variable or method" */ -#line 2699 "mrbgems/mruby-compiler/core/parse.y" +#line 2699 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8258 "y.tab.c" break; case 111: /* lhs: primary_value call_op "constant" */ -#line 2703 "mrbgems/mruby-compiler/core/parse.y" +#line 2703 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8266 "y.tab.c" break; case 112: /* lhs: primary_value "::" "constant" */ -#line 2707 "mrbgems/mruby-compiler/core/parse.y" +#line 2707 "parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8335 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8276 "y.tab.c" break; case 113: /* lhs: tCOLON3 "constant" */ -#line 2713 "mrbgems/mruby-compiler/core/parse.y" +#line 2713 "parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8286 "y.tab.c" break; case 114: /* lhs: backref */ -#line 2719 "mrbgems/mruby-compiler/core/parse.y" +#line 2719 "parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8354 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8295 "y.tab.c" break; case 115: /* lhs: "numbered parameter" */ -#line 2724 "mrbgems/mruby-compiler/core/parse.y" +#line 2724 "parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8362 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8303 "y.tab.c" break; case 116: /* cname: "local variable or method" */ -#line 2730 "mrbgems/mruby-compiler/core/parse.y" +#line 2730 "parse.y" { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8370 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8311 "y.tab.c" break; case 118: /* cpath: tCOLON3 cname */ -#line 2737 "mrbgems/mruby-compiler/core/parse.y" +#line 2737 "parse.y" { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8378 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8319 "y.tab.c" break; case 119: /* cpath: cname */ -#line 2741 "mrbgems/mruby-compiler/core/parse.y" +#line 2741 "parse.y" { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8386 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8327 "y.tab.c" break; case 120: /* cpath: primary_value "::" cname */ -#line 2745 "mrbgems/mruby-compiler/core/parse.y" +#line 2745 "parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), sym_to_node((yyvsp[0].id))); } -#line 8395 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8336 "y.tab.c" break; case 124: /* fname: op */ -#line 2755 "mrbgems/mruby-compiler/core/parse.y" +#line 2755 "parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8345 "y.tab.c" break; case 125: /* fname: reswords */ -#line 2760 "mrbgems/mruby-compiler/core/parse.y" +#line 2760 "parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8354 "y.tab.c" break; case 128: /* undef_list: fsym */ -#line 2771 "mrbgems/mruby-compiler/core/parse.y" +#line 2771 "parse.y" { (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); } -#line 8421 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8362 "y.tab.c" break; case 129: /* $@8: %empty */ -#line 2774 "mrbgems/mruby-compiler/core/parse.y" +#line 2774 "parse.y" {p->lstate = EXPR_FNAME;} -#line 8427 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8368 "y.tab.c" break; case 130: /* undef_list: undef_list ',' $@8 fsym */ -#line 2775 "mrbgems/mruby-compiler/core/parse.y" +#line 2775 "parse.y" { (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); } -#line 8435 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8376 "y.tab.c" break; case 131: /* op: '|' */ -#line 2780 "mrbgems/mruby-compiler/core/parse.y" +#line 2780 "parse.y" { (yyval.id) = intern_op(or); } -#line 8441 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8382 "y.tab.c" break; case 132: /* op: '^' */ -#line 2781 "mrbgems/mruby-compiler/core/parse.y" +#line 2781 "parse.y" { (yyval.id) = intern_op(xor); } -#line 8447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8388 "y.tab.c" break; case 133: /* op: '&' */ -#line 2782 "mrbgems/mruby-compiler/core/parse.y" +#line 2782 "parse.y" { (yyval.id) = intern_op(and); } -#line 8453 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8394 "y.tab.c" break; case 134: /* op: "<=>" */ -#line 2783 "mrbgems/mruby-compiler/core/parse.y" +#line 2783 "parse.y" { (yyval.id) = intern_op(cmp); } -#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8400 "y.tab.c" break; case 135: /* op: "==" */ -#line 2784 "mrbgems/mruby-compiler/core/parse.y" +#line 2784 "parse.y" { (yyval.id) = intern_op(eq); } -#line 8465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8406 "y.tab.c" break; case 136: /* op: "===" */ -#line 2785 "mrbgems/mruby-compiler/core/parse.y" +#line 2785 "parse.y" { (yyval.id) = intern_op(eqq); } -#line 8471 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8412 "y.tab.c" break; case 137: /* op: "=~" */ -#line 2786 "mrbgems/mruby-compiler/core/parse.y" +#line 2786 "parse.y" { (yyval.id) = intern_op(match); } -#line 8477 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8418 "y.tab.c" break; case 138: /* op: "!~" */ -#line 2787 "mrbgems/mruby-compiler/core/parse.y" +#line 2787 "parse.y" { (yyval.id) = intern_op(nmatch); } -#line 8483 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8424 "y.tab.c" break; case 139: /* op: '>' */ -#line 2788 "mrbgems/mruby-compiler/core/parse.y" +#line 2788 "parse.y" { (yyval.id) = intern_op(gt); } -#line 8489 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8430 "y.tab.c" break; case 140: /* op: ">=" */ -#line 2789 "mrbgems/mruby-compiler/core/parse.y" +#line 2789 "parse.y" { (yyval.id) = intern_op(ge); } -#line 8495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8436 "y.tab.c" break; case 141: /* op: '<' */ -#line 2790 "mrbgems/mruby-compiler/core/parse.y" +#line 2790 "parse.y" { (yyval.id) = intern_op(lt); } -#line 8501 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8442 "y.tab.c" break; case 142: /* op: "<=" */ -#line 2791 "mrbgems/mruby-compiler/core/parse.y" +#line 2791 "parse.y" { (yyval.id) = intern_op(le); } -#line 8507 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8448 "y.tab.c" break; case 143: /* op: "!=" */ -#line 2792 "mrbgems/mruby-compiler/core/parse.y" +#line 2792 "parse.y" { (yyval.id) = intern_op(neq); } -#line 8513 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8454 "y.tab.c" break; case 144: /* op: "<<" */ -#line 2793 "mrbgems/mruby-compiler/core/parse.y" +#line 2793 "parse.y" { (yyval.id) = intern_op(lshift); } -#line 8519 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8460 "y.tab.c" break; case 145: /* op: ">>" */ -#line 2794 "mrbgems/mruby-compiler/core/parse.y" +#line 2794 "parse.y" { (yyval.id) = intern_op(rshift); } -#line 8525 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8466 "y.tab.c" break; case 146: /* op: '+' */ -#line 2795 "mrbgems/mruby-compiler/core/parse.y" +#line 2795 "parse.y" { (yyval.id) = intern_op(add); } -#line 8531 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8472 "y.tab.c" break; case 147: /* op: '-' */ -#line 2796 "mrbgems/mruby-compiler/core/parse.y" +#line 2796 "parse.y" { (yyval.id) = intern_op(sub); } -#line 8537 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8478 "y.tab.c" break; case 148: /* op: '*' */ -#line 2797 "mrbgems/mruby-compiler/core/parse.y" +#line 2797 "parse.y" { (yyval.id) = intern_op(mul); } -#line 8543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8484 "y.tab.c" break; case 149: /* op: "*" */ -#line 2798 "mrbgems/mruby-compiler/core/parse.y" +#line 2798 "parse.y" { (yyval.id) = intern_op(mul); } -#line 8549 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8490 "y.tab.c" break; case 150: /* op: '/' */ -#line 2799 "mrbgems/mruby-compiler/core/parse.y" +#line 2799 "parse.y" { (yyval.id) = intern_op(div); } -#line 8555 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8496 "y.tab.c" break; case 151: /* op: '%' */ -#line 2800 "mrbgems/mruby-compiler/core/parse.y" +#line 2800 "parse.y" { (yyval.id) = intern_op(mod); } -#line 8561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8502 "y.tab.c" break; case 152: /* op: tPOW */ -#line 2801 "mrbgems/mruby-compiler/core/parse.y" +#line 2801 "parse.y" { (yyval.id) = intern_op(pow); } -#line 8567 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8508 "y.tab.c" break; case 153: /* op: "**" */ -#line 2802 "mrbgems/mruby-compiler/core/parse.y" +#line 2802 "parse.y" { (yyval.id) = intern_op(pow); } -#line 8573 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8514 "y.tab.c" break; case 154: /* op: '!' */ -#line 2803 "mrbgems/mruby-compiler/core/parse.y" +#line 2803 "parse.y" { (yyval.id) = intern_op(not); } -#line 8579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8520 "y.tab.c" break; case 155: /* op: '~' */ -#line 2804 "mrbgems/mruby-compiler/core/parse.y" +#line 2804 "parse.y" { (yyval.id) = intern_op(neg); } -#line 8585 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8526 "y.tab.c" break; case 156: /* op: "unary plus" */ -#line 2805 "mrbgems/mruby-compiler/core/parse.y" +#line 2805 "parse.y" { (yyval.id) = intern_op(plus); } -#line 8591 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8532 "y.tab.c" break; case 157: /* op: "unary minus" */ -#line 2806 "mrbgems/mruby-compiler/core/parse.y" +#line 2806 "parse.y" { (yyval.id) = intern_op(minus); } -#line 8597 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8538 "y.tab.c" break; case 158: /* op: tAREF */ -#line 2807 "mrbgems/mruby-compiler/core/parse.y" +#line 2807 "parse.y" { (yyval.id) = intern_op(aref); } -#line 8603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8544 "y.tab.c" break; case 159: /* op: tASET */ -#line 2808 "mrbgems/mruby-compiler/core/parse.y" +#line 2808 "parse.y" { (yyval.id) = intern_op(aset); } -#line 8609 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8550 "y.tab.c" break; case 160: /* op: '`' */ -#line 2809 "mrbgems/mruby-compiler/core/parse.y" +#line 2809 "parse.y" { (yyval.id) = intern_op(tick); } -#line 8615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8556 "y.tab.c" break; case 201: /* arg: lhs '=' arg_rhs */ -#line 2827 "mrbgems/mruby-compiler/core/parse.y" +#line 2827 "parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8623 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8564 "y.tab.c" break; case 202: /* arg: var_lhs tOP_ASGN arg_rhs */ -#line 2831 "mrbgems/mruby-compiler/core/parse.y" +#line 2831 "parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8572 "y.tab.c" break; case 203: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ -#line 2835 "mrbgems/mruby-compiler/core/parse.y" +#line 2835 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8639 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8580 "y.tab.c" break; case 204: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ -#line 2839 "mrbgems/mruby-compiler/core/parse.y" +#line 2839 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8588 "y.tab.c" break; case 205: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ -#line 2843 "mrbgems/mruby-compiler/core/parse.y" +#line 2843 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8655 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8596 "y.tab.c" break; case 206: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ -#line 2847 "mrbgems/mruby-compiler/core/parse.y" +#line 2847 "parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8663 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8604 "y.tab.c" break; case 207: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ -#line 2851 "mrbgems/mruby-compiler/core/parse.y" +#line 2851 "parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8613 "y.tab.c" break; case 208: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ -#line 2856 "mrbgems/mruby-compiler/core/parse.y" +#line 2856 "parse.y" { yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8622 "y.tab.c" break; case 209: /* arg: backref tOP_ASGN arg_rhs */ -#line 2861 "mrbgems/mruby-compiler/core/parse.y" +#line 2861 "parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8690 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8631 "y.tab.c" break; case 210: /* arg: arg ".." arg */ -#line 2866 "mrbgems/mruby-compiler/core/parse.y" +#line 2866 "parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8698 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8639 "y.tab.c" break; case 211: /* arg: arg ".." */ -#line 2870 "mrbgems/mruby-compiler/core/parse.y" +#line 2870 "parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8706 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8647 "y.tab.c" break; case 212: /* arg: tBDOT2 arg */ -#line 2874 "mrbgems/mruby-compiler/core/parse.y" +#line 2874 "parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 8714 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8655 "y.tab.c" break; case 213: /* arg: arg "..." arg */ -#line 2878 "mrbgems/mruby-compiler/core/parse.y" +#line 2878 "parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8722 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8663 "y.tab.c" break; case 214: /* arg: arg "..." */ -#line 2882 "mrbgems/mruby-compiler/core/parse.y" +#line 2882 "parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8730 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8671 "y.tab.c" break; case 215: /* arg: tBDOT3 arg */ -#line 2886 "mrbgems/mruby-compiler/core/parse.y" +#line 2886 "parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 8738 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8679 "y.tab.c" break; case 216: /* arg: arg '+' arg */ -#line 2890 "mrbgems/mruby-compiler/core/parse.y" +#line 2890 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 8746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8687 "y.tab.c" break; case 217: /* arg: arg '-' arg */ -#line 2894 "mrbgems/mruby-compiler/core/parse.y" +#line 2894 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 8754 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8695 "y.tab.c" break; case 218: /* arg: arg '*' arg */ -#line 2898 "mrbgems/mruby-compiler/core/parse.y" +#line 2898 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 8762 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8703 "y.tab.c" break; case 219: /* arg: arg '/' arg */ -#line 2902 "mrbgems/mruby-compiler/core/parse.y" +#line 2902 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 8770 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8711 "y.tab.c" break; case 220: /* arg: arg '%' arg */ -#line 2906 "mrbgems/mruby-compiler/core/parse.y" +#line 2906 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 8778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8719 "y.tab.c" break; case 221: /* arg: arg tPOW arg */ -#line 2910 "mrbgems/mruby-compiler/core/parse.y" +#line 2910 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 8786 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8727 "y.tab.c" break; case 222: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ -#line 2914 "mrbgems/mruby-compiler/core/parse.y" +#line 2914 "parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8794 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8735 "y.tab.c" break; case 223: /* arg: tUMINUS_NUM "float literal" tPOW arg */ -#line 2918 "mrbgems/mruby-compiler/core/parse.y" +#line 2918 "parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8802 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8743 "y.tab.c" break; case 224: /* arg: "unary plus" arg */ -#line 2922 "mrbgems/mruby-compiler/core/parse.y" +#line 2922 "parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 8810 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8751 "y.tab.c" break; case 225: /* arg: "unary minus" arg */ -#line 2926 "mrbgems/mruby-compiler/core/parse.y" +#line 2926 "parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 8818 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8759 "y.tab.c" break; case 226: /* arg: arg '|' arg */ -#line 2930 "mrbgems/mruby-compiler/core/parse.y" +#line 2930 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 8826 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8767 "y.tab.c" break; case 227: /* arg: arg '^' arg */ -#line 2934 "mrbgems/mruby-compiler/core/parse.y" +#line 2934 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 8834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8775 "y.tab.c" break; case 228: /* arg: arg '&' arg */ -#line 2938 "mrbgems/mruby-compiler/core/parse.y" +#line 2938 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 8842 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8783 "y.tab.c" break; case 229: /* arg: arg "<=>" arg */ -#line 2942 "mrbgems/mruby-compiler/core/parse.y" +#line 2942 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 8850 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8791 "y.tab.c" break; case 230: /* arg: arg '>' arg */ -#line 2946 "mrbgems/mruby-compiler/core/parse.y" +#line 2946 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 8858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8799 "y.tab.c" break; case 231: /* arg: arg ">=" arg */ -#line 2950 "mrbgems/mruby-compiler/core/parse.y" +#line 2950 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 8866 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8807 "y.tab.c" break; case 232: /* arg: arg '<' arg */ -#line 2954 "mrbgems/mruby-compiler/core/parse.y" +#line 2954 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 8874 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8815 "y.tab.c" break; case 233: /* arg: arg "<=" arg */ -#line 2958 "mrbgems/mruby-compiler/core/parse.y" +#line 2958 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 8882 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8823 "y.tab.c" break; case 234: /* arg: arg "==" arg */ -#line 2962 "mrbgems/mruby-compiler/core/parse.y" +#line 2962 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 8890 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8831 "y.tab.c" break; case 235: /* arg: arg "===" arg */ -#line 2966 "mrbgems/mruby-compiler/core/parse.y" +#line 2966 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 8898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8839 "y.tab.c" break; case 236: /* arg: arg "!=" arg */ -#line 2970 "mrbgems/mruby-compiler/core/parse.y" +#line 2970 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 8906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8847 "y.tab.c" break; case 237: /* arg: arg "=~" arg */ -#line 2974 "mrbgems/mruby-compiler/core/parse.y" +#line 2974 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 8914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8855 "y.tab.c" break; case 238: /* arg: arg "!~" arg */ -#line 2978 "mrbgems/mruby-compiler/core/parse.y" +#line 2978 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 8922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8863 "y.tab.c" break; case 239: /* arg: '!' arg */ -#line 2982 "mrbgems/mruby-compiler/core/parse.y" +#line 2982 "parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8930 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8871 "y.tab.c" break; case 240: /* arg: '~' arg */ -#line 2986 "mrbgems/mruby-compiler/core/parse.y" +#line 2986 "parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 8938 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8879 "y.tab.c" break; case 241: /* arg: arg "<<" arg */ -#line 2990 "mrbgems/mruby-compiler/core/parse.y" +#line 2990 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 8946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8887 "y.tab.c" break; case 242: /* arg: arg ">>" arg */ -#line 2994 "mrbgems/mruby-compiler/core/parse.y" +#line 2994 "parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 8954 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8895 "y.tab.c" break; case 243: /* arg: arg "&&" arg */ -#line 2998 "mrbgems/mruby-compiler/core/parse.y" +#line 2998 "parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8903 "y.tab.c" break; case 244: /* arg: arg "||" arg */ -#line 3002 "mrbgems/mruby-compiler/core/parse.y" +#line 3002 "parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8970 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8911 "y.tab.c" break; case 245: /* arg: arg '?' arg opt_nl ':' arg */ -#line 3006 "mrbgems/mruby-compiler/core/parse.y" +#line 3006 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 8978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8919 "y.tab.c" break; case 246: /* arg: arg '?' arg opt_nl "label" arg */ -#line 3010 "mrbgems/mruby-compiler/core/parse.y" +#line 3010 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 8986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8927 "y.tab.c" break; case 247: /* arg: defn_head f_opt_arglist_paren '=' arg */ -#line 3014 "mrbgems/mruby-compiler/core/parse.y" +#line 3014 "parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -8995,11 +8936,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8940 "y.tab.c" break; case 248: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 3023 "mrbgems/mruby-compiler/core/parse.y" +#line 3023 "parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -9008,11 +8949,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8953 "y.tab.c" break; case 249: /* arg: defs_head f_opt_arglist_paren '=' arg */ -#line 3032 "mrbgems/mruby-compiler/core/parse.y" +#line 3032 "parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -9021,11 +8962,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8966 "y.tab.c" break; case 250: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 3041 "mrbgems/mruby-compiler/core/parse.y" +#line 3041 "parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -9034,68 +8975,68 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9038 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8979 "y.tab.c" break; case 251: /* arg: primary */ -#line 3050 "mrbgems/mruby-compiler/core/parse.y" +#line 3050 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9046 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8987 "y.tab.c" break; case 253: /* aref_args: args trailer */ -#line 3057 "mrbgems/mruby-compiler/core/parse.y" +#line 3057 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9054 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8995 "y.tab.c" break; case 254: /* aref_args: args comma assocs trailer */ -#line 3061 "mrbgems/mruby-compiler/core/parse.y" +#line 3061 "parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9003 "y.tab.c" break; case 255: /* aref_args: assocs trailer */ -#line 3065 "mrbgems/mruby-compiler/core/parse.y" +#line 3065 "parse.y" { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9070 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9011 "y.tab.c" break; case 256: /* arg_rhs: arg */ -#line 3071 "mrbgems/mruby-compiler/core/parse.y" +#line 3071 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9078 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9019 "y.tab.c" break; case 257: /* arg_rhs: arg "'rescue' modifier" arg */ -#line 3075 "mrbgems/mruby-compiler/core/parse.y" +#line 3075 "parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9087 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9028 "y.tab.c" break; case 258: /* paren_args: '(' opt_call_args ')' */ -#line 3082 "mrbgems/mruby-compiler/core/parse.y" +#line 3082 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9095 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9036 "y.tab.c" break; case 259: /* paren_args: '(' args comma tBDOT3 rparen */ -#line 3086 "mrbgems/mruby-compiler/core/parse.y" +#line 3086 "parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9104,11 +9045,11 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9049 "y.tab.c" break; case 260: /* paren_args: '(' tBDOT3 rparen */ -#line 3095 "mrbgems/mruby-compiler/core/parse.y" +#line 3095 "parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9123,390 +9064,390 @@ yyreduce: (yyval.nd) = 0; } } -#line 9127 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9068 "y.tab.c" break; case 265: /* opt_call_args: args comma */ -#line 3118 "mrbgems/mruby-compiler/core/parse.y" +#line 3118 "parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9135 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9076 "y.tab.c" break; case 266: /* opt_call_args: args comma assocs comma */ -#line 3122 "mrbgems/mruby-compiler/core/parse.y" +#line 3122 "parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9143 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9084 "y.tab.c" break; case 267: /* opt_call_args: assocs comma */ -#line 3126 "mrbgems/mruby-compiler/core/parse.y" +#line 3126 "parse.y" { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9151 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9092 "y.tab.c" break; case 268: /* call_args: command */ -#line 3132 "mrbgems/mruby-compiler/core/parse.y" +#line 3132 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } -#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9101 "y.tab.c" break; case 269: /* call_args: args opt_block_arg */ -#line 3137 "mrbgems/mruby-compiler/core/parse.y" +#line 3137 "parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9109 "y.tab.c" break; case 270: /* call_args: assocs opt_block_arg */ -#line 3141 "mrbgems/mruby-compiler/core/parse.y" +#line 3141 "parse.y" { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9117 "y.tab.c" break; case 271: /* call_args: args comma assocs opt_block_arg */ -#line 3145 "mrbgems/mruby-compiler/core/parse.y" +#line 3145 "parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9125 "y.tab.c" break; case 272: /* call_args: block_arg */ -#line 3149 "mrbgems/mruby-compiler/core/parse.y" +#line 3149 "parse.y" { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9133 "y.tab.c" break; case 273: /* @9: %empty */ -#line 3154 "mrbgems/mruby-compiler/core/parse.y" +#line 3154 "parse.y" { (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 9201 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9142 "y.tab.c" break; case 274: /* command_args: @9 call_args */ -#line 3159 "mrbgems/mruby-compiler/core/parse.y" +#line 3159 "parse.y" { p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 9210 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9151 "y.tab.c" break; case 275: /* block_arg: "&" arg */ -#line 3166 "mrbgems/mruby-compiler/core/parse.y" +#line 3166 "parse.y" { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9218 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9159 "y.tab.c" break; case 276: /* block_arg: "&" */ -#line 3170 "mrbgems/mruby-compiler/core/parse.y" +#line 3170 "parse.y" { (yyval.nd) = new_block_arg(p, 0); } -#line 9226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9167 "y.tab.c" break; case 277: /* opt_block_arg: comma block_arg */ -#line 3176 "mrbgems/mruby-compiler/core/parse.y" +#line 3176 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9234 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9175 "y.tab.c" break; case 278: /* opt_block_arg: none */ -#line 3180 "mrbgems/mruby-compiler/core/parse.y" +#line 3180 "parse.y" { (yyval.nd) = 0; } -#line 9242 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9183 "y.tab.c" break; case 280: /* args: arg */ -#line 3189 "mrbgems/mruby-compiler/core/parse.y" +#line 3189 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9251 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9192 "y.tab.c" break; case 281: /* args: "*" */ -#line 3194 "mrbgems/mruby-compiler/core/parse.y" +#line 3194 "parse.y" { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9200 "y.tab.c" break; case 282: /* args: "*" arg */ -#line 3198 "mrbgems/mruby-compiler/core/parse.y" +#line 3198 "parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9208 "y.tab.c" break; case 283: /* args: args comma arg */ -#line 3202 "mrbgems/mruby-compiler/core/parse.y" +#line 3202 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9217 "y.tab.c" break; case 284: /* args: args comma "*" */ -#line 3207 "mrbgems/mruby-compiler/core/parse.y" +#line 3207 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9225 "y.tab.c" break; case 285: /* args: args comma "*" arg */ -#line 3211 "mrbgems/mruby-compiler/core/parse.y" +#line 3211 "parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9233 "y.tab.c" break; case 286: /* mrhs: args comma arg */ -#line 3217 "mrbgems/mruby-compiler/core/parse.y" +#line 3217 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9242 "y.tab.c" break; case 287: /* mrhs: args comma "*" arg */ -#line 3222 "mrbgems/mruby-compiler/core/parse.y" +#line 3222 "parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9250 "y.tab.c" break; case 288: /* mrhs: "*" arg */ -#line 3226 "mrbgems/mruby-compiler/core/parse.y" +#line 3226 "parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9258 "y.tab.c" break; case 290: /* primary: string */ -#line 3233 "mrbgems/mruby-compiler/core/parse.y" +#line 3233 "parse.y" { (yyval.nd) = new_str(p, (yyvsp[0].nd)); } -#line 9325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9266 "y.tab.c" break; case 291: /* primary: xstring */ -#line 3237 "mrbgems/mruby-compiler/core/parse.y" +#line 3237 "parse.y" { (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); } -#line 9333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9274 "y.tab.c" break; case 296: /* primary: "method" */ -#line 3245 "mrbgems/mruby-compiler/core/parse.y" +#line 3245 "parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 9341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9282 "y.tab.c" break; case 297: /* @10: %empty */ -#line 3249 "mrbgems/mruby-compiler/core/parse.y" +#line 3249 "parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9350 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9291 "y.tab.c" break; case 298: /* primary: "'begin'" @10 bodystmt "'end'" */ -#line 3255 "mrbgems/mruby-compiler/core/parse.y" +#line 3255 "parse.y" { p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); } -#line 9359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9300 "y.tab.c" break; case 299: /* @11: %empty */ -#line 3260 "mrbgems/mruby-compiler/core/parse.y" +#line 3260 "parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9309 "y.tab.c" break; case 300: /* $@12: %empty */ -#line 3264 "mrbgems/mruby-compiler/core/parse.y" +#line 3264 "parse.y" {p->lstate = EXPR_ENDARG;} -#line 9374 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9315 "y.tab.c" break; case 301: /* primary: "(" @11 stmt $@12 rparen */ -#line 3265 "mrbgems/mruby-compiler/core/parse.y" +#line 3265 "parse.y" { p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 9383 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9324 "y.tab.c" break; case 302: /* $@13: %empty */ -#line 3269 "mrbgems/mruby-compiler/core/parse.y" +#line 3269 "parse.y" {p->lstate = EXPR_ENDARG;} -#line 9389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9330 "y.tab.c" break; case 303: /* primary: "(" $@13 rparen */ -#line 3270 "mrbgems/mruby-compiler/core/parse.y" +#line 3270 "parse.y" { (yyval.nd) = new_nil(p); } -#line 9397 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9338 "y.tab.c" break; case 304: /* primary: tLPAREN compstmt ')' */ -#line 3274 "mrbgems/mruby-compiler/core/parse.y" +#line 3274 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9405 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9346 "y.tab.c" break; case 305: /* primary: primary_value "::" "constant" */ -#line 3278 "mrbgems/mruby-compiler/core/parse.y" +#line 3278 "parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 9413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9354 "y.tab.c" break; case 306: /* primary: tCOLON3 "constant" */ -#line 3282 "mrbgems/mruby-compiler/core/parse.y" +#line 3282 "parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9421 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9362 "y.tab.c" break; case 307: /* primary: "[" aref_args ']' */ -#line 3286 "mrbgems/mruby-compiler/core/parse.y" +#line 3286 "parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9429 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9370 "y.tab.c" break; case 308: /* primary: tLBRACE assoc_list '}' */ -#line 3290 "mrbgems/mruby-compiler/core/parse.y" +#line 3290 "parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9437 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9378 "y.tab.c" break; case 309: /* primary: "'return'" */ -#line 3294 "mrbgems/mruby-compiler/core/parse.y" +#line 3294 "parse.y" { (yyval.nd) = new_return(p, 0); } -#line 9445 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9386 "y.tab.c" break; case 310: /* primary: "'yield'" opt_paren_args */ -#line 3298 "mrbgems/mruby-compiler/core/parse.y" +#line 3298 "parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9453 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9394 "y.tab.c" break; case 311: /* primary: "'not'" '(' expr rparen */ -#line 3302 "mrbgems/mruby-compiler/core/parse.y" +#line 3302 "parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9461 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9402 "y.tab.c" break; case 312: /* primary: "'not'" '(' rparen */ -#line 3306 "mrbgems/mruby-compiler/core/parse.y" +#line 3306 "parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9469 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9410 "y.tab.c" break; case 313: /* primary: operation brace_block */ -#line 3310 "mrbgems/mruby-compiler/core/parse.y" +#line 3310 "parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9477 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9418 "y.tab.c" break; case 315: /* primary: method_call brace_block */ -#line 3315 "mrbgems/mruby-compiler/core/parse.y" +#line 3315 "parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9427 "y.tab.c" break; case 316: /* @14: %empty */ -#line 3320 "mrbgems/mruby-compiler/core/parse.y" +#line 3320 "parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9497 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9438 "y.tab.c" break; case 317: /* @15: %empty */ -#line 3327 "mrbgems/mruby-compiler/core/parse.y" +#line 3327 "parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9447 "y.tab.c" break; case 318: /* primary: "->" @14 f_larglist @15 lambda_body */ -#line 3332 "mrbgems/mruby-compiler/core/parse.y" +#line 3332 "parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -9515,176 +9456,176 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9519 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9460 "y.tab.c" break; case 319: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ -#line 3344 "mrbgems/mruby-compiler/core/parse.y" +#line 3344 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9528 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9469 "y.tab.c" break; case 320: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ -#line 3352 "mrbgems/mruby-compiler/core/parse.y" +#line 3352 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd), (yyvsp[-2].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9478 "y.tab.c" break; case 321: /* $@16: %empty */ -#line 3356 "mrbgems/mruby-compiler/core/parse.y" +#line 3356 "parse.y" {COND_PUSH(1);} -#line 9543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9484 "y.tab.c" break; case 322: /* $@17: %empty */ -#line 3356 "mrbgems/mruby-compiler/core/parse.y" +#line 3356 "parse.y" {COND_POP();} -#line 9549 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9490 "y.tab.c" break; case 323: /* primary: "'while'" $@16 expr_value do $@17 compstmt "'end'" */ -#line 3359 "mrbgems/mruby-compiler/core/parse.y" +#line 3359 "parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9499 "y.tab.c" break; case 324: /* $@18: %empty */ -#line 3363 "mrbgems/mruby-compiler/core/parse.y" +#line 3363 "parse.y" {COND_PUSH(1);} -#line 9564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9505 "y.tab.c" break; case 325: /* $@19: %empty */ -#line 3363 "mrbgems/mruby-compiler/core/parse.y" +#line 3363 "parse.y" {COND_POP();} -#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9511 "y.tab.c" break; case 326: /* primary: "'until'" $@18 expr_value do $@19 compstmt "'end'" */ -#line 3366 "mrbgems/mruby-compiler/core/parse.y" +#line 3366 "parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9520 "y.tab.c" break; case 327: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ -#line 3373 "mrbgems/mruby-compiler/core/parse.y" +#line 3373 "parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9587 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9528 "y.tab.c" break; case 328: /* primary: "'case'" opt_terms case_body "'end'" */ -#line 3377 "mrbgems/mruby-compiler/core/parse.y" +#line 3377 "parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9536 "y.tab.c" break; case 329: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ -#line 3385 "mrbgems/mruby-compiler/core/parse.y" +#line 3385 "parse.y" { node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-7].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9545 "y.tab.c" break; case 330: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3394 "mrbgems/mruby-compiler/core/parse.y" +#line 3394 "parse.y" { node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9554 "y.tab.c" break; case 331: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3403 "mrbgems/mruby-compiler/core/parse.y" +#line 3403 "parse.y" { node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), TRUE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9563 "y.tab.c" break; case 332: /* $@20: %empty */ -#line 3408 "mrbgems/mruby-compiler/core/parse.y" +#line 3408 "parse.y" {COND_PUSH(1);} -#line 9628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9569 "y.tab.c" break; case 333: /* $@21: %empty */ -#line 3410 "mrbgems/mruby-compiler/core/parse.y" +#line 3410 "parse.y" {COND_POP();} -#line 9634 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9575 "y.tab.c" break; case 334: /* primary: "'for'" for_var "'in'" $@20 expr_value do $@21 compstmt "'end'" */ -#line 3413 "mrbgems/mruby-compiler/core/parse.y" +#line 3413 "parse.y" { (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 9643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9584 "y.tab.c" break; case 335: /* @22: %empty */ -#line 3419 "mrbgems/mruby-compiler/core/parse.y" +#line 3419 "parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-2]), p, "class definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9595 "y.tab.c" break; case 336: /* primary: "'class'" cpath superclass @22 bodystmt "'end'" */ -#line 3427 "mrbgems/mruby-compiler/core/parse.y" +#line 3427 "parse.y" { (yyval.nd) = new_class(p, (yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9665 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9606 "y.tab.c" break; case 337: /* @23: %empty */ -#line 3435 "mrbgems/mruby-compiler/core/parse.y" +#line 3435 "parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 9674 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9615 "y.tab.c" break; case 338: /* @24: %empty */ -#line 3440 "mrbgems/mruby-compiler/core/parse.y" +#line 3440 "parse.y" { (yyval.nd) = cons(local_switch(p), int_to_node(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 9684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9625 "y.tab.c" break; case 339: /* primary: "'class'" "<<" expr @23 term @24 bodystmt "'end'" */ -#line 3447 "mrbgems/mruby-compiler/core/parse.y" +#line 3447 "parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -9693,44 +9634,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 9697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9638 "y.tab.c" break; case 340: /* @25: %empty */ -#line 3457 "mrbgems/mruby-compiler/core/parse.y" +#line 3457 "parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-1]), p, "module definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9649 "y.tab.c" break; case 341: /* primary: "'module'" cpath @25 bodystmt "'end'" */ -#line 3465 "mrbgems/mruby-compiler/core/parse.y" +#line 3465 "parse.y" { (yyval.nd) = new_module(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-4].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9719 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9660 "y.tab.c" break; case 342: /* primary: defn_head f_arglist bodystmt "'end'" */ -#line 3475 "mrbgems/mruby-compiler/core/parse.y" +#line 3475 "parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); nvars_unnest(p); p->in_def--; } -#line 9730 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9671 "y.tab.c" break; case 343: /* primary: defs_head f_arglist bodystmt "'end'" */ -#line 3485 "mrbgems/mruby-compiler/core/parse.y" +#line 3485 "parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -9738,610 +9679,610 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9742 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9683 "y.tab.c" break; case 344: /* primary: "'break'" */ -#line 3493 "mrbgems/mruby-compiler/core/parse.y" +#line 3493 "parse.y" { (yyval.nd) = new_break(p, 0); } -#line 9750 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9691 "y.tab.c" break; case 345: /* primary: "'next'" */ -#line 3497 "mrbgems/mruby-compiler/core/parse.y" +#line 3497 "parse.y" { (yyval.nd) = new_next(p, 0); } -#line 9758 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9699 "y.tab.c" break; case 346: /* primary: "'redo'" */ -#line 3501 "mrbgems/mruby-compiler/core/parse.y" +#line 3501 "parse.y" { (yyval.nd) = new_redo(p); } -#line 9766 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9707 "y.tab.c" break; case 347: /* primary: "'retry'" */ -#line 3505 "mrbgems/mruby-compiler/core/parse.y" +#line 3505 "parse.y" { (yyval.nd) = new_retry(p); } -#line 9774 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9715 "y.tab.c" break; case 348: /* primary_value: primary */ -#line 3511 "mrbgems/mruby-compiler/core/parse.y" +#line 3511 "parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9783 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9724 "y.tab.c" break; case 355: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ -#line 3530 "mrbgems/mruby-compiler/core/parse.y" +#line 3530 "parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9791 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9732 "y.tab.c" break; case 357: /* opt_else: "'else'" compstmt */ -#line 3537 "mrbgems/mruby-compiler/core/parse.y" +#line 3537 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9799 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9740 "y.tab.c" break; case 358: /* for_var: lhs */ -#line 3543 "mrbgems/mruby-compiler/core/parse.y" +#line 3543 "parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 9807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9748 "y.tab.c" break; case 360: /* f_margs: f_arg */ -#line 3550 "mrbgems/mruby-compiler/core/parse.y" +#line 3550 "parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 9815 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9756 "y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" f_norm_arg */ -#line 3554 "mrbgems/mruby-compiler/core/parse.y" +#line 3554 "parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 9823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9764 "y.tab.c" break; case 362: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ -#line 3558 "mrbgems/mruby-compiler/core/parse.y" +#line 3558 "parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 9831 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9772 "y.tab.c" break; case 363: /* f_margs: f_arg ',' "*" */ -#line 3562 "mrbgems/mruby-compiler/core/parse.y" +#line 3562 "parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), int_to_node(-1), 0); } -#line 9840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9781 "y.tab.c" break; case 364: /* f_margs: f_arg ',' "*" ',' f_arg */ -#line 3567 "mrbgems/mruby-compiler/core/parse.y" +#line 3567 "parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 9848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9789 "y.tab.c" break; case 365: /* f_margs: "*" f_norm_arg */ -#line 3571 "mrbgems/mruby-compiler/core/parse.y" +#line 3571 "parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9797 "y.tab.c" break; case 366: /* f_margs: "*" f_norm_arg ',' f_arg */ -#line 3575 "mrbgems/mruby-compiler/core/parse.y" +#line 3575 "parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 9864 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9805 "y.tab.c" break; case 367: /* f_margs: "*" */ -#line 3579 "mrbgems/mruby-compiler/core/parse.y" +#line 3579 "parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 9873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9814 "y.tab.c" break; case 368: /* $@26: %empty */ -#line 3584 "mrbgems/mruby-compiler/core/parse.y" +#line 3584 "parse.y" { local_add_f(p, intern_op(mul)); } -#line 9881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9822 "y.tab.c" break; case 369: /* f_margs: "*" ',' $@26 f_arg */ -#line 3588 "mrbgems/mruby-compiler/core/parse.y" +#line 3588 "parse.y" { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 9889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9830 "y.tab.c" break; case 370: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ -#line 3594 "mrbgems/mruby-compiler/core/parse.y" +#line 3594 "parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 9897 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9838 "y.tab.c" break; case 371: /* block_args_tail: f_block_kwarg opt_f_block_arg */ -#line 3598 "mrbgems/mruby-compiler/core/parse.y" +#line 3598 "parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 9905 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9846 "y.tab.c" break; case 372: /* block_args_tail: f_kwrest opt_f_block_arg */ -#line 3602 "mrbgems/mruby-compiler/core/parse.y" +#line 3602 "parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 9913 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9854 "y.tab.c" break; case 373: /* block_args_tail: f_block_arg */ -#line 3606 "mrbgems/mruby-compiler/core/parse.y" +#line 3606 "parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9862 "y.tab.c" break; case 374: /* opt_block_args_tail: ',' block_args_tail */ -#line 3612 "mrbgems/mruby-compiler/core/parse.y" +#line 3612 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9929 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9870 "y.tab.c" break; case 375: /* opt_block_args_tail: %empty */ -#line 3616 "mrbgems/mruby-compiler/core/parse.y" +#line 3616 "parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 9937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9878 "y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3622 "mrbgems/mruby-compiler/core/parse.y" +#line 3622 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9886 "y.tab.c" break; case 377: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3626 "mrbgems/mruby-compiler/core/parse.y" +#line 3626 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9894 "y.tab.c" break; case 378: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ -#line 3630 "mrbgems/mruby-compiler/core/parse.y" +#line 3630 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9902 "y.tab.c" break; case 379: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3634 "mrbgems/mruby-compiler/core/parse.y" +#line 3634 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9910 "y.tab.c" break; case 380: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ -#line 3638 "mrbgems/mruby-compiler/core/parse.y" +#line 3638 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9918 "y.tab.c" break; case 381: /* block_param: f_arg ',' opt_block_args_tail */ -#line 3642 "mrbgems/mruby-compiler/core/parse.y" +#line 3642 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9926 "y.tab.c" break; case 382: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3646 "mrbgems/mruby-compiler/core/parse.y" +#line 3646 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9993 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9934 "y.tab.c" break; case 383: /* block_param: f_arg opt_block_args_tail */ -#line 3650 "mrbgems/mruby-compiler/core/parse.y" +#line 3650 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9942 "y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3654 "mrbgems/mruby-compiler/core/parse.y" +#line 3654 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9950 "y.tab.c" break; case 385: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3658 "mrbgems/mruby-compiler/core/parse.y" +#line 3658 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9958 "y.tab.c" break; case 386: /* block_param: f_block_optarg opt_block_args_tail */ -#line 3662 "mrbgems/mruby-compiler/core/parse.y" +#line 3662 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9966 "y.tab.c" break; case 387: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3666 "mrbgems/mruby-compiler/core/parse.y" +#line 3666 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9974 "y.tab.c" break; case 388: /* block_param: f_rest_arg opt_block_args_tail */ -#line 3670 "mrbgems/mruby-compiler/core/parse.y" +#line 3670 "parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10041 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9982 "y.tab.c" break; case 389: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3674 "mrbgems/mruby-compiler/core/parse.y" +#line 3674 "parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9990 "y.tab.c" break; case 390: /* block_param: block_args_tail */ -#line 3678 "mrbgems/mruby-compiler/core/parse.y" +#line 3678 "parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9998 "y.tab.c" break; case 391: /* opt_block_param: none */ -#line 3684 "mrbgems/mruby-compiler/core/parse.y" +#line 3684 "parse.y" { local_add_blk(p); (yyval.nd) = 0; } -#line 10066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10007 "y.tab.c" break; case 392: /* opt_block_param: block_param_def */ -#line 3689 "mrbgems/mruby-compiler/core/parse.y" +#line 3689 "parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10016 "y.tab.c" break; case 393: /* $@27: %empty */ -#line 3695 "mrbgems/mruby-compiler/core/parse.y" +#line 3695 "parse.y" {local_add_blk(p);} -#line 10081 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10022 "y.tab.c" break; case 394: /* block_param_def: '|' $@27 opt_bv_decl '|' */ -#line 3696 "mrbgems/mruby-compiler/core/parse.y" +#line 3696 "parse.y" { (yyval.nd) = 0; } -#line 10089 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10030 "y.tab.c" break; case 395: /* block_param_def: "||" */ -#line 3700 "mrbgems/mruby-compiler/core/parse.y" +#line 3700 "parse.y" { local_add_blk(p); (yyval.nd) = 0; } -#line 10098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10039 "y.tab.c" break; case 396: /* block_param_def: '|' block_param opt_bv_decl '|' */ -#line 3705 "mrbgems/mruby-compiler/core/parse.y" +#line 3705 "parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 10106 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10047 "y.tab.c" break; case 397: /* opt_bv_decl: opt_nl */ -#line 3711 "mrbgems/mruby-compiler/core/parse.y" +#line 3711 "parse.y" { (yyval.nd) = 0; } -#line 10114 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10055 "y.tab.c" break; case 398: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ -#line 3715 "mrbgems/mruby-compiler/core/parse.y" +#line 3715 "parse.y" { (yyval.nd) = 0; } -#line 10122 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10063 "y.tab.c" break; case 401: /* bvar: "local variable or method" */ -#line 3725 "mrbgems/mruby-compiler/core/parse.y" +#line 3725 "parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 10131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10072 "y.tab.c" break; case 403: /* f_larglist: '(' f_args opt_bv_decl ')' */ -#line 3733 "mrbgems/mruby-compiler/core/parse.y" +#line 3733 "parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 10139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10080 "y.tab.c" break; case 404: /* f_larglist: f_args */ -#line 3737 "mrbgems/mruby-compiler/core/parse.y" +#line 3737 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10088 "y.tab.c" break; case 405: /* lambda_body: tLAMBEG compstmt '}' */ -#line 3743 "mrbgems/mruby-compiler/core/parse.y" +#line 3743 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10096 "y.tab.c" break; case 406: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ -#line 3747 "mrbgems/mruby-compiler/core/parse.y" +#line 3747 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10163 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10104 "y.tab.c" break; case 407: /* @28: %empty */ -#line 3753 "mrbgems/mruby-compiler/core/parse.y" +#line 3753 "parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10114 "y.tab.c" break; case 408: /* do_block: "'do' for block" @28 opt_block_param bodystmt "'end'" */ -#line 3761 "mrbgems/mruby-compiler/core/parse.y" +#line 3761 "parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 10184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10125 "y.tab.c" break; case 409: /* block_call: command do_block */ -#line 3770 "mrbgems/mruby-compiler/core/parse.y" +#line 3770 "parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10193 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10134 "y.tab.c" break; case 410: /* block_call: block_call call_op2 operation2 opt_paren_args */ -#line 3775 "mrbgems/mruby-compiler/core/parse.y" +#line 3775 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10201 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10142 "y.tab.c" break; case 411: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ -#line 3779 "mrbgems/mruby-compiler/core/parse.y" +#line 3779 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 10210 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10151 "y.tab.c" break; case 412: /* block_call: block_call call_op2 operation2 command_args do_block */ -#line 3784 "mrbgems/mruby-compiler/core/parse.y" +#line 3784 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 10219 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10160 "y.tab.c" break; case 413: /* method_call: operation paren_args */ -#line 3791 "mrbgems/mruby-compiler/core/parse.y" +#line 3791 "parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 10227 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10168 "y.tab.c" break; case 414: /* method_call: primary_value call_op operation2 opt_paren_args */ -#line 3795 "mrbgems/mruby-compiler/core/parse.y" +#line 3795 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10235 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10176 "y.tab.c" break; case 415: /* method_call: primary_value "::" operation2 paren_args */ -#line 3799 "mrbgems/mruby-compiler/core/parse.y" +#line 3799 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 10243 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10184 "y.tab.c" break; case 416: /* method_call: primary_value "::" operation3 */ -#line 3803 "mrbgems/mruby-compiler/core/parse.y" +#line 3803 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 10251 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10192 "y.tab.c" break; case 417: /* method_call: primary_value call_op paren_args */ -#line 3807 "mrbgems/mruby-compiler/core/parse.y" +#line 3807 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 10259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10200 "y.tab.c" break; case 418: /* method_call: primary_value "::" paren_args */ -#line 3811 "mrbgems/mruby-compiler/core/parse.y" +#line 3811 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); } -#line 10267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10208 "y.tab.c" break; case 419: /* method_call: "'super'" paren_args */ -#line 3815 "mrbgems/mruby-compiler/core/parse.y" +#line 3815 "parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10275 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10216 "y.tab.c" break; case 420: /* method_call: "'super'" */ -#line 3819 "mrbgems/mruby-compiler/core/parse.y" +#line 3819 "parse.y" { (yyval.nd) = new_zsuper(p); } -#line 10283 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10224 "y.tab.c" break; case 421: /* method_call: primary_value '[' opt_call_args ']' */ -#line 3823 "mrbgems/mruby-compiler/core/parse.y" +#line 3823 "parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 10291 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10232 "y.tab.c" break; case 422: /* @29: %empty */ -#line 3829 "mrbgems/mruby-compiler/core/parse.y" +#line 3829 "parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10242 "y.tab.c" break; case 423: /* brace_block: '{' @29 opt_block_param compstmt '}' */ -#line 3836 "mrbgems/mruby-compiler/core/parse.y" +#line 3836 "parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 10312 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10253 "y.tab.c" break; case 424: /* @30: %empty */ -#line 3843 "mrbgems/mruby-compiler/core/parse.y" +#line 3843 "parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10322 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10263 "y.tab.c" break; case 425: /* brace_block: "'do'" @30 opt_block_param bodystmt "'end'" */ -#line 3850 "mrbgems/mruby-compiler/core/parse.y" +#line 3850 "parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 10333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10274 "y.tab.c" break; case 426: /* case_body: "'when'" args then compstmt cases */ -#line 3861 "mrbgems/mruby-compiler/core/parse.y" +#line 3861 "parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10282 "y.tab.c" break; case 427: /* cases: opt_else */ -#line 3867 "mrbgems/mruby-compiler/core/parse.y" +#line 3867 "parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -10350,631 +10291,631 @@ yyreduce: (yyval.nd) = 0; } } -#line 10354 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10295 "y.tab.c" break; case 429: /* in_clauses: opt_else */ -#line 3881 "mrbgems/mruby-compiler/core/parse.y" +#line 3881 "parse.y" { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10362 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10303 "y.tab.c" break; case 430: /* $@31: %empty */ -#line 3884 "mrbgems/mruby-compiler/core/parse.y" +#line 3884 "parse.y" {p->in_kwarg--;} -#line 10368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10309 "y.tab.c" break; case 431: /* in_clauses: "'in'" p_expr $@31 then compstmt in_clauses */ -#line 3885 "mrbgems/mruby-compiler/core/parse.y" +#line 3885 "parse.y" { node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10377 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10318 "y.tab.c" break; case 432: /* $@32: %empty */ -#line 3889 "mrbgems/mruby-compiler/core/parse.y" +#line 3889 "parse.y" {p->in_kwarg--;} -#line 10383 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10324 "y.tab.c" break; case 433: /* in_clauses: "'in'" p_expr $@32 "'if' modifier" expr_value then compstmt in_clauses */ -#line 3890 "mrbgems/mruby-compiler/core/parse.y" +#line 3890 "parse.y" { node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10333 "y.tab.c" break; case 434: /* $@33: %empty */ -#line 3894 "mrbgems/mruby-compiler/core/parse.y" +#line 3894 "parse.y" {p->in_kwarg--;} -#line 10398 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10339 "y.tab.c" break; case 435: /* in_clauses: "'in'" p_expr $@33 "'unless' modifier" expr_value then compstmt in_clauses */ -#line 3895 "mrbgems/mruby-compiler/core/parse.y" +#line 3895 "parse.y" { node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), TRUE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10407 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10348 "y.tab.c" break; case 437: /* p_expr: p_args_head p_as */ -#line 3906 "mrbgems/mruby-compiler/core/parse.y" +#line 3906 "parse.y" { (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); } -#line 10415 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10356 "y.tab.c" break; case 438: /* p_expr: p_args_head p_rest */ -#line 3910 "mrbgems/mruby-compiler/core/parse.y" +#line 3910 "parse.y" { (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); } -#line 10423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10364 "y.tab.c" break; case 439: /* p_expr: p_args_head p_rest ',' p_args_post */ -#line 3914 "mrbgems/mruby-compiler/core/parse.y" +#line 3914 "parse.y" { (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10372 "y.tab.c" break; case 440: /* p_expr: p_rest */ -#line 3918 "mrbgems/mruby-compiler/core/parse.y" +#line 3918 "parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10439 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10380 "y.tab.c" break; case 441: /* p_expr: p_rest ',' p_args_post */ -#line 3922 "mrbgems/mruby-compiler/core/parse.y" +#line 3922 "parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10388 "y.tab.c" break; case 442: /* p_expr: p_hash_elems */ -#line 3926 "mrbgems/mruby-compiler/core/parse.y" +#line 3926 "parse.y" { /* Brace-less hash pattern: in a:, b: x */ (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10456 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10397 "y.tab.c" break; case 443: /* p_expr: p_hash_elems ',' p_kwrest */ -#line 3931 "mrbgems/mruby-compiler/core/parse.y" +#line 3931 "parse.y" { /* Brace-less hash pattern with kwrest: in a:, **rest */ (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10406 "y.tab.c" break; case 444: /* p_expr: p_kwrest */ -#line 3936 "mrbgems/mruby-compiler/core/parse.y" +#line 3936 "parse.y" { /* Brace-less kwrest only: in **rest */ (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10474 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10415 "y.tab.c" break; case 445: /* p_args_head: p_as ',' */ -#line 3944 "mrbgems/mruby-compiler/core/parse.y" +#line 3944 "parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 10482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10423 "y.tab.c" break; case 446: /* p_args_head: p_args_head p_as ',' */ -#line 3948 "mrbgems/mruby-compiler/core/parse.y" +#line 3948 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 10490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10431 "y.tab.c" break; case 447: /* p_args_post: p_as */ -#line 3955 "mrbgems/mruby-compiler/core/parse.y" +#line 3955 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10498 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10439 "y.tab.c" break; case 448: /* p_args_post: p_args_post ',' p_as */ -#line 3959 "mrbgems/mruby-compiler/core/parse.y" +#line 3959 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10447 "y.tab.c" break; case 450: /* p_as: p_alt "=>" "local variable or method" */ -#line 3966 "mrbgems/mruby-compiler/core/parse.y" +#line 3966 "parse.y" { (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10514 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10455 "y.tab.c" break; case 452: /* p_alt: p_alt '|' p_value */ -#line 3973 "mrbgems/mruby-compiler/core/parse.y" +#line 3973 "parse.y" { (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10522 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10463 "y.tab.c" break; case 454: /* p_value: numeric */ -#line 3980 "mrbgems/mruby-compiler/core/parse.y" +#line 3980 "parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10530 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10471 "y.tab.c" break; case 455: /* p_value: symbol */ -#line 3984 "mrbgems/mruby-compiler/core/parse.y" +#line 3984 "parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10479 "y.tab.c" break; case 456: /* p_value: tSTRING */ -#line 3988 "mrbgems/mruby-compiler/core/parse.y" +#line 3988 "parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10546 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10487 "y.tab.c" break; case 457: /* p_value: "'nil'" */ -#line 3992 "mrbgems/mruby-compiler/core/parse.y" +#line 3992 "parse.y" { (yyval.nd) = new_pat_value(p, new_nil(p)); } -#line 10554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10495 "y.tab.c" break; case 458: /* p_value: "'true'" */ -#line 3996 "mrbgems/mruby-compiler/core/parse.y" +#line 3996 "parse.y" { (yyval.nd) = new_pat_value(p, new_true(p)); } -#line 10562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10503 "y.tab.c" break; case 459: /* p_value: "'false'" */ -#line 4000 "mrbgems/mruby-compiler/core/parse.y" +#line 4000 "parse.y" { (yyval.nd) = new_pat_value(p, new_false(p)); } -#line 10570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10511 "y.tab.c" break; case 460: /* p_value: p_const */ -#line 4004 "mrbgems/mruby-compiler/core/parse.y" +#line 4004 "parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10578 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10519 "y.tab.c" break; case 463: /* p_value: '^' "local variable or method" */ -#line 4010 "mrbgems/mruby-compiler/core/parse.y" +#line 4010 "parse.y" { (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); } -#line 10586 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10527 "y.tab.c" break; case 464: /* p_array: "[" p_array_body ']' */ -#line 4017 "mrbgems/mruby-compiler/core/parse.y" +#line 4017 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10535 "y.tab.c" break; case 465: /* p_array: "[" ']' */ -#line 4021 "mrbgems/mruby-compiler/core/parse.y" +#line 4021 "parse.y" { (yyval.nd) = new_pat_array(p, 0, 0, 0); } -#line 10602 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10543 "y.tab.c" break; case 466: /* p_array_body: p_array_elems */ -#line 4028 "mrbgems/mruby-compiler/core/parse.y" +#line 4028 "parse.y" { /* Just pre elements, no rest */ (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); } -#line 10611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10552 "y.tab.c" break; case 467: /* p_array_body: p_array_elems ',' p_rest */ -#line 4033 "mrbgems/mruby-compiler/core/parse.y" +#line 4033 "parse.y" { /* Pre elements + rest, no post */ (yyval.nd) = new_pat_array(p, (yyvsp[-2].nd), (yyvsp[0].nd), 0); } -#line 10620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10561 "y.tab.c" break; case 468: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ -#line 4038 "mrbgems/mruby-compiler/core/parse.y" +#line 4038 "parse.y" { /* Pre + rest + post */ (yyval.nd) = new_pat_array(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10629 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10570 "y.tab.c" break; case 469: /* p_array_body: p_rest */ -#line 4043 "mrbgems/mruby-compiler/core/parse.y" +#line 4043 "parse.y" { /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10579 "y.tab.c" break; case 470: /* p_array_body: p_rest ',' p_array_elems */ -#line 4048 "mrbgems/mruby-compiler/core/parse.y" +#line 4048 "parse.y" { /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10588 "y.tab.c" break; case 471: /* p_array_body: p_rest ',' p_array_elems ',' p_rest */ -#line 4053 "mrbgems/mruby-compiler/core/parse.y" +#line 4053 "parse.y" { /* Find pattern: [*pre, elems, *post] */ (yyval.nd) = new_pat_find(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10656 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10597 "y.tab.c" break; case 472: /* p_array_elems: p_as */ -#line 4061 "mrbgems/mruby-compiler/core/parse.y" +#line 4061 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10664 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10605 "y.tab.c" break; case 473: /* p_array_elems: p_array_elems ',' p_as */ -#line 4065 "mrbgems/mruby-compiler/core/parse.y" +#line 4065 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10613 "y.tab.c" break; case 474: /* p_rest: "*" "local variable or method" */ -#line 4072 "mrbgems/mruby-compiler/core/parse.y" +#line 4072 "parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10680 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10621 "y.tab.c" break; case 475: /* p_rest: "*" */ -#line 4076 "mrbgems/mruby-compiler/core/parse.y" +#line 4076 "parse.y" { /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 10689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10630 "y.tab.c" break; case 476: /* p_const: "constant" */ -#line 4084 "mrbgems/mruby-compiler/core/parse.y" +#line 4084 "parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 10697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10638 "y.tab.c" break; case 477: /* p_const: p_const "::" "constant" */ -#line 4088 "mrbgems/mruby-compiler/core/parse.y" +#line 4088 "parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10646 "y.tab.c" break; case 478: /* p_const: tCOLON3 "constant" */ -#line 4092 "mrbgems/mruby-compiler/core/parse.y" +#line 4092 "parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 10713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10654 "y.tab.c" break; case 479: /* p_hash: tLBRACE p_hash_body '}' */ -#line 4099 "mrbgems/mruby-compiler/core/parse.y" +#line 4099 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10662 "y.tab.c" break; case 480: /* p_hash: tLBRACE '}' */ -#line 4103 "mrbgems/mruby-compiler/core/parse.y" +#line 4103 "parse.y" { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 10729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10670 "y.tab.c" break; case 481: /* p_hash_body: p_hash_elems */ -#line 4110 "mrbgems/mruby-compiler/core/parse.y" +#line 4110 "parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10737 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10678 "y.tab.c" break; case 482: /* p_hash_body: p_hash_elems ',' p_kwrest */ -#line 4114 "mrbgems/mruby-compiler/core/parse.y" +#line 4114 "parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10745 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10686 "y.tab.c" break; case 483: /* p_hash_body: p_kwrest */ -#line 4118 "mrbgems/mruby-compiler/core/parse.y" +#line 4118 "parse.y" { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10753 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10694 "y.tab.c" break; case 484: /* p_hash_elems: p_hash_elem */ -#line 4125 "mrbgems/mruby-compiler/core/parse.y" +#line 4125 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10702 "y.tab.c" break; case 485: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ -#line 4129 "mrbgems/mruby-compiler/core/parse.y" +#line 4129 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10769 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10710 "y.tab.c" break; case 486: /* p_hash_elem: "local variable or method" "label" p_as */ -#line 4137 "mrbgems/mruby-compiler/core/parse.y" +#line 4137 "parse.y" { /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10778 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10719 "y.tab.c" break; case 487: /* p_hash_elem: "local variable or method" "label" */ -#line 4142 "mrbgems/mruby-compiler/core/parse.y" +#line 4142 "parse.y" { /* {key:} shorthand - binds to variable with same name */ (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), new_pat_var(p, (yyvsp[-1].id))); } -#line 10787 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10728 "y.tab.c" break; case 488: /* p_hash_elem: symbol "=>" p_as */ -#line 4147 "mrbgems/mruby-compiler/core/parse.y" +#line 4147 "parse.y" { /* {:"key" => pattern} or {:key => pattern} */ (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10796 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10737 "y.tab.c" break; case 489: /* p_kwrest: "**" "local variable or method" */ -#line 4155 "mrbgems/mruby-compiler/core/parse.y" +#line 4155 "parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10804 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10745 "y.tab.c" break; case 490: /* p_kwrest: "**" "'nil'" */ -#line 4159 "mrbgems/mruby-compiler/core/parse.y" +#line 4159 "parse.y" { /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 10813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10754 "y.tab.c" break; case 491: /* p_kwrest: "**" */ -#line 4164 "mrbgems/mruby-compiler/core/parse.y" +#line 4164 "parse.y" { /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 10822 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10763 "y.tab.c" break; case 492: /* p_var: "local variable or method" */ -#line 4171 "mrbgems/mruby-compiler/core/parse.y" +#line 4171 "parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10830 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10771 "y.tab.c" break; case 493: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ -#line 4179 "mrbgems/mruby-compiler/core/parse.y" +#line 4179 "parse.y" { (yyval.nd) = list1(list3((yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd))); if ((yyvsp[0].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[0].nd)); } -#line 10839 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10780 "y.tab.c" break; case 495: /* exc_list: arg */ -#line 4187 "mrbgems/mruby-compiler/core/parse.y" +#line 4187 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10847 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10788 "y.tab.c" break; case 498: /* exc_var: "=>" lhs */ -#line 4195 "mrbgems/mruby-compiler/core/parse.y" +#line 4195 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10855 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10796 "y.tab.c" break; case 500: /* opt_ensure: "'ensure'" compstmt */ -#line 4202 "mrbgems/mruby-compiler/core/parse.y" +#line 4202 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10863 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10804 "y.tab.c" break; case 507: /* string: string string_fragment */ -#line 4216 "mrbgems/mruby-compiler/core/parse.y" +#line 4216 "parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10871 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10812 "y.tab.c" break; case 508: /* string_fragment: "character literal" */ -#line 4222 "mrbgems/mruby-compiler/core/parse.y" +#line 4222 "parse.y" { /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10821 "y.tab.c" break; case 509: /* string_fragment: tSTRING */ -#line 4227 "mrbgems/mruby-compiler/core/parse.y" +#line 4227 "parse.y" { /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10830 "y.tab.c" break; case 510: /* string_fragment: "string literal" tSTRING */ -#line 4232 "mrbgems/mruby-compiler/core/parse.y" +#line 4232 "parse.y" { /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10839 "y.tab.c" break; case 511: /* string_fragment: "string literal" string_rep tSTRING */ -#line 4237 "mrbgems/mruby-compiler/core/parse.y" +#line 4237 "parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10847 "y.tab.c" break; case 513: /* string_rep: string_rep string_interp */ -#line 4244 "mrbgems/mruby-compiler/core/parse.y" +#line 4244 "parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10855 "y.tab.c" break; case 514: /* string_interp: tSTRING_MID */ -#line 4250 "mrbgems/mruby-compiler/core/parse.y" +#line 4250 "parse.y" { /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10923 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10864 "y.tab.c" break; case 515: /* @34: %empty */ -#line 4255 "mrbgems/mruby-compiler/core/parse.y" +#line 4255 "parse.y" { (yyval.nd) = push_strterm(p); } -#line 10931 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10872 "y.tab.c" break; case 516: /* string_interp: tSTRING_PART @34 compstmt '}' */ -#line 4260 "mrbgems/mruby-compiler/core/parse.y" +#line 4260 "parse.y" { pop_strterm(p,(yyvsp[-2].nd)); /* $1 is already in (len . str) format, create (-1 . node) for expression */ node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); (yyval.nd) = list2((yyvsp[-3].nd), expr_elem); } -#line 10942 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10883 "y.tab.c" break; case 517: /* string_interp: tLITERAL_DELIM */ -#line 4267 "mrbgems/mruby-compiler/core/parse.y" +#line 4267 "parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10950 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10891 "y.tab.c" break; case 518: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 4271 "mrbgems/mruby-compiler/core/parse.y" +#line 4271 "parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10958 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10899 "y.tab.c" break; case 519: /* xstring: tXSTRING_BEG tXSTRING */ -#line 4277 "mrbgems/mruby-compiler/core/parse.y" +#line 4277 "parse.y" { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 10966 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10907 "y.tab.c" break; case 520: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 4281 "mrbgems/mruby-compiler/core/parse.y" +#line 4281 "parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10915 "y.tab.c" break; case 521: /* regexp: tREGEXP_BEG tREGEXP */ -#line 4287 "mrbgems/mruby-compiler/core/parse.y" +#line 4287 "parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -10983,11 +10924,11 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 10987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10928 "y.tab.c" break; case 522: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 4296 "mrbgems/mruby-compiler/core/parse.y" +#line 4296 "parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -10996,47 +10937,47 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 11000 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10941 "y.tab.c" break; case 526: /* heredoc_body: tHEREDOC_END */ -#line 4314 "mrbgems/mruby-compiler/core/parse.y" +#line 4314 "parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, new_str_empty(p)); heredoc_end(p); } -#line 11010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10951 "y.tab.c" break; case 527: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 4320 "mrbgems/mruby-compiler/core/parse.y" +#line 4320 "parse.y" { heredoc_end(p); } -#line 11018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10959 "y.tab.c" break; case 530: /* heredoc_string_interp: tHD_STRING_MID */ -#line 4330 "mrbgems/mruby-compiler/core/parse.y" +#line 4330 "parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 11028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10969 "y.tab.c" break; case 531: /* @35: %empty */ -#line 4336 "mrbgems/mruby-compiler/core/parse.y" +#line 4336 "parse.y" { (yyval.nd) = push_strterm(p); } -#line 11036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10977 "y.tab.c" break; case 532: /* heredoc_string_interp: tHD_STRING_PART @35 compstmt '}' */ -#line 4341 "mrbgems/mruby-compiler/core/parse.y" +#line 4341 "parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); @@ -11044,37 +10985,37 @@ yyreduce: node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); info->doc = push(push(info->doc, (yyvsp[-3].nd)), expr_elem); } -#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10989 "y.tab.c" break; case 533: /* words: tWORDS_BEG tSTRING */ -#line 4351 "mrbgems/mruby-compiler/core/parse.y" +#line 4351 "parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11056 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10997 "y.tab.c" break; case 534: /* words: tWORDS_BEG string_rep tSTRING */ -#line 4355 "mrbgems/mruby-compiler/core/parse.y" +#line 4355 "parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11007 "y.tab.c" break; case 535: /* symbol: basic_symbol */ -#line 4363 "mrbgems/mruby-compiler/core/parse.y" +#line 4363 "parse.y" { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11015 "y.tab.c" break; case 536: /* symbol: "symbol" "string literal" string_rep tSTRING */ -#line 4367 "mrbgems/mruby-compiler/core/parse.y" +#line 4367 "parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -11086,183 +11027,183 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11031 "y.tab.c" break; case 537: /* symbol: "symbol" "numbered parameter" */ -#line 4379 "mrbgems/mruby-compiler/core/parse.y" +#line 4379 "parse.y" { mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11099 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11040 "y.tab.c" break; case 538: /* basic_symbol: "symbol" sym */ -#line 4386 "mrbgems/mruby-compiler/core/parse.y" +#line 4386 "parse.y" { p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11049 "y.tab.c" break; case 543: /* sym: tSTRING */ -#line 4397 "mrbgems/mruby-compiler/core/parse.y" +#line 4397 "parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11057 "y.tab.c" break; case 544: /* sym: "string literal" tSTRING */ -#line 4401 "mrbgems/mruby-compiler/core/parse.y" +#line 4401 "parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11124 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11065 "y.tab.c" break; case 545: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 4407 "mrbgems/mruby-compiler/core/parse.y" +#line 4407 "parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11132 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11073 "y.tab.c" break; case 546: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 4411 "mrbgems/mruby-compiler/core/parse.y" +#line 4411 "parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11142 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11083 "y.tab.c" break; case 549: /* numeric: tUMINUS_NUM "integer literal" */ -#line 4421 "mrbgems/mruby-compiler/core/parse.y" +#line 4421 "parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11150 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11091 "y.tab.c" break; case 550: /* numeric: tUMINUS_NUM "float literal" */ -#line 4425 "mrbgems/mruby-compiler/core/parse.y" +#line 4425 "parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11158 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11099 "y.tab.c" break; case 551: /* variable: "local variable or method" */ -#line 4431 "mrbgems/mruby-compiler/core/parse.y" +#line 4431 "parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11166 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11107 "y.tab.c" break; case 552: /* variable: "instance variable" */ -#line 4435 "mrbgems/mruby-compiler/core/parse.y" +#line 4435 "parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11174 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11115 "y.tab.c" break; case 553: /* variable: "global variable" */ -#line 4439 "mrbgems/mruby-compiler/core/parse.y" +#line 4439 "parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11123 "y.tab.c" break; case 554: /* variable: "class variable" */ -#line 4443 "mrbgems/mruby-compiler/core/parse.y" +#line 4443 "parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11131 "y.tab.c" break; case 555: /* variable: "constant" */ -#line 4447 "mrbgems/mruby-compiler/core/parse.y" +#line 4447 "parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11139 "y.tab.c" break; case 556: /* var_lhs: variable */ -#line 4453 "mrbgems/mruby-compiler/core/parse.y" +#line 4453 "parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 11206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11147 "y.tab.c" break; case 557: /* var_lhs: "numbered parameter" */ -#line 4457 "mrbgems/mruby-compiler/core/parse.y" +#line 4457 "parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11155 "y.tab.c" break; case 558: /* var_ref: variable */ -#line 4463 "mrbgems/mruby-compiler/core/parse.y" +#line 4463 "parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11222 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11163 "y.tab.c" break; case 559: /* var_ref: "numbered parameter" */ -#line 4467 "mrbgems/mruby-compiler/core/parse.y" +#line 4467 "parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11171 "y.tab.c" break; case 560: /* var_ref: "'nil'" */ -#line 4471 "mrbgems/mruby-compiler/core/parse.y" +#line 4471 "parse.y" { (yyval.nd) = new_nil(p); } -#line 11238 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11179 "y.tab.c" break; case 561: /* var_ref: "'self'" */ -#line 4475 "mrbgems/mruby-compiler/core/parse.y" +#line 4475 "parse.y" { (yyval.nd) = new_self(p); } -#line 11246 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11187 "y.tab.c" break; case 562: /* var_ref: "'true'" */ -#line 4479 "mrbgems/mruby-compiler/core/parse.y" +#line 4479 "parse.y" { (yyval.nd) = new_true(p); } -#line 11254 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11195 "y.tab.c" break; case 563: /* var_ref: "'false'" */ -#line 4483 "mrbgems/mruby-compiler/core/parse.y" +#line 4483 "parse.y" { (yyval.nd) = new_false(p); } -#line 11262 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11203 "y.tab.c" break; case 564: /* var_ref: "'__FILE__'" */ -#line 4487 "mrbgems/mruby-compiler/core/parse.y" +#line 4487 "parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -11270,686 +11211,686 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11274 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11215 "y.tab.c" break; case 565: /* var_ref: "'__LINE__'" */ -#line 4495 "mrbgems/mruby-compiler/core/parse.y" +#line 4495 "parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11226 "y.tab.c" break; case 566: /* var_ref: "'__ENCODING__'" */ -#line 4502 "mrbgems/mruby-compiler/core/parse.y" +#line 4502 "parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 11293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11234 "y.tab.c" break; case 569: /* superclass: %empty */ -#line 4512 "mrbgems/mruby-compiler/core/parse.y" +#line 4512 "parse.y" { (yyval.nd) = 0; } -#line 11301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11242 "y.tab.c" break; case 570: /* $@36: %empty */ -#line 4516 "mrbgems/mruby-compiler/core/parse.y" +#line 4516 "parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11310 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11251 "y.tab.c" break; case 571: /* superclass: '<' $@36 expr_value term */ -#line 4521 "mrbgems/mruby-compiler/core/parse.y" +#line 4521 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11318 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11259 "y.tab.c" break; case 574: /* f_arglist_paren: '(' f_args rparen */ -#line 4537 "mrbgems/mruby-compiler/core/parse.y" +#line 4537 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11328 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11269 "y.tab.c" break; case 575: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ -#line 4543 "mrbgems/mruby-compiler/core/parse.y" +#line 4543 "parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11277 "y.tab.c" break; case 576: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 4547 "mrbgems/mruby-compiler/core/parse.y" +#line 4547 "parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 11344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11285 "y.tab.c" break; case 578: /* f_arglist: f_args term */ -#line 4554 "mrbgems/mruby-compiler/core/parse.y" +#line 4554 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11352 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11293 "y.tab.c" break; case 579: /* f_arglist: f_arg ',' tBDOT3 term */ -#line 4558 "mrbgems/mruby-compiler/core/parse.y" +#line 4558 "parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11360 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11301 "y.tab.c" break; case 580: /* f_arglist: "..." term */ -#line 4562 "mrbgems/mruby-compiler/core/parse.y" +#line 4562 "parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 11368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11309 "y.tab.c" break; case 581: /* f_label: "local variable or method" "label" */ -#line 4568 "mrbgems/mruby-compiler/core/parse.y" +#line 4568 "parse.y" { local_nest(p); } -#line 11376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11317 "y.tab.c" break; case 582: /* f_label: "numbered parameter" "label" */ -#line 4572 "mrbgems/mruby-compiler/core/parse.y" +#line 4572 "parse.y" { local_nest(p); } -#line 11384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11325 "y.tab.c" break; case 583: /* f_kw: f_label arg */ -#line 4578 "mrbgems/mruby-compiler/core/parse.y" +#line 4578 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11335 "y.tab.c" break; case 584: /* f_kw: f_label */ -#line 4584 "mrbgems/mruby-compiler/core/parse.y" +#line 4584 "parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11403 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11344 "y.tab.c" break; case 585: /* f_block_kw: f_label primary_value */ -#line 4591 "mrbgems/mruby-compiler/core/parse.y" +#line 4591 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11354 "y.tab.c" break; case 586: /* f_block_kw: f_label */ -#line 4597 "mrbgems/mruby-compiler/core/parse.y" +#line 4597 "parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11422 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11363 "y.tab.c" break; case 587: /* f_block_kwarg: f_block_kw */ -#line 4604 "mrbgems/mruby-compiler/core/parse.y" +#line 4604 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11430 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11371 "y.tab.c" break; case 588: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ -#line 4608 "mrbgems/mruby-compiler/core/parse.y" +#line 4608 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11379 "y.tab.c" break; case 589: /* f_kwarg: f_kw */ -#line 4614 "mrbgems/mruby-compiler/core/parse.y" +#line 4614 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11387 "y.tab.c" break; case 590: /* f_kwarg: f_kwarg ',' f_kw */ -#line 4618 "mrbgems/mruby-compiler/core/parse.y" +#line 4618 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11395 "y.tab.c" break; case 593: /* f_kwrest: kwrest_mark "local variable or method" */ -#line 4628 "mrbgems/mruby-compiler/core/parse.y" +#line 4628 "parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11403 "y.tab.c" break; case 594: /* f_kwrest: kwrest_mark */ -#line 4632 "mrbgems/mruby-compiler/core/parse.y" +#line 4632 "parse.y" { (yyval.id) = intern_op(pow); } -#line 11470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11411 "y.tab.c" break; case 595: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 4638 "mrbgems/mruby-compiler/core/parse.y" +#line 4638 "parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11419 "y.tab.c" break; case 596: /* args_tail: f_kwarg opt_f_block_arg */ -#line 4642 "mrbgems/mruby-compiler/core/parse.y" +#line 4642 "parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 11486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11427 "y.tab.c" break; case 597: /* args_tail: f_kwrest opt_f_block_arg */ -#line 4646 "mrbgems/mruby-compiler/core/parse.y" +#line 4646 "parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11435 "y.tab.c" break; case 598: /* args_tail: f_block_arg */ -#line 4650 "mrbgems/mruby-compiler/core/parse.y" +#line 4650 "parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 11502 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11443 "y.tab.c" break; case 599: /* opt_args_tail: ',' args_tail */ -#line 4656 "mrbgems/mruby-compiler/core/parse.y" +#line 4656 "parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11510 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11451 "y.tab.c" break; case 600: /* opt_args_tail: %empty */ -#line 4660 "mrbgems/mruby-compiler/core/parse.y" +#line 4660 "parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 11518 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11459 "y.tab.c" break; case 601: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4666 "mrbgems/mruby-compiler/core/parse.y" +#line 4666 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11467 "y.tab.c" break; case 602: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4670 "mrbgems/mruby-compiler/core/parse.y" +#line 4670 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11534 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11475 "y.tab.c" break; case 603: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 4674 "mrbgems/mruby-compiler/core/parse.y" +#line 4674 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11483 "y.tab.c" break; case 604: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 4678 "mrbgems/mruby-compiler/core/parse.y" +#line 4678 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11550 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11491 "y.tab.c" break; case 605: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 4682 "mrbgems/mruby-compiler/core/parse.y" +#line 4682 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11499 "y.tab.c" break; case 606: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4686 "mrbgems/mruby-compiler/core/parse.y" +#line 4686 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11566 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11507 "y.tab.c" break; case 607: /* f_args: f_arg opt_args_tail */ -#line 4690 "mrbgems/mruby-compiler/core/parse.y" +#line 4690 "parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 11574 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11515 "y.tab.c" break; case 608: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 4694 "mrbgems/mruby-compiler/core/parse.y" +#line 4694 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11582 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11523 "y.tab.c" break; case 609: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4698 "mrbgems/mruby-compiler/core/parse.y" +#line 4698 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11590 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11531 "y.tab.c" break; case 610: /* f_args: f_optarg opt_args_tail */ -#line 4702 "mrbgems/mruby-compiler/core/parse.y" +#line 4702 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11598 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11539 "y.tab.c" break; case 611: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 4706 "mrbgems/mruby-compiler/core/parse.y" +#line 4706 "parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11606 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11547 "y.tab.c" break; case 612: /* f_args: f_rest_arg opt_args_tail */ -#line 4710 "mrbgems/mruby-compiler/core/parse.y" +#line 4710 "parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11614 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11555 "y.tab.c" break; case 613: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 4714 "mrbgems/mruby-compiler/core/parse.y" +#line 4714 "parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11563 "y.tab.c" break; case 614: /* f_args: args_tail */ -#line 4718 "mrbgems/mruby-compiler/core/parse.y" +#line 4718 "parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 11630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11571 "y.tab.c" break; case 615: /* f_args: %empty */ -#line 4722 "mrbgems/mruby-compiler/core/parse.y" +#line 4722 "parse.y" { local_add_f(p, 0); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 11639 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11580 "y.tab.c" break; case 616: /* f_bad_arg: "constant" */ -#line 4729 "mrbgems/mruby-compiler/core/parse.y" +#line 4729 "parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 11648 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11589 "y.tab.c" break; case 617: /* f_bad_arg: "instance variable" */ -#line 4734 "mrbgems/mruby-compiler/core/parse.y" +#line 4734 "parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 11657 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11598 "y.tab.c" break; case 618: /* f_bad_arg: "global variable" */ -#line 4739 "mrbgems/mruby-compiler/core/parse.y" +#line 4739 "parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 11666 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11607 "y.tab.c" break; case 619: /* f_bad_arg: "class variable" */ -#line 4744 "mrbgems/mruby-compiler/core/parse.y" +#line 4744 "parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 11675 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11616 "y.tab.c" break; case 620: /* f_bad_arg: "numbered parameter" */ -#line 4749 "mrbgems/mruby-compiler/core/parse.y" +#line 4749 "parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 11684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11625 "y.tab.c" break; case 621: /* f_norm_arg: f_bad_arg */ -#line 4756 "mrbgems/mruby-compiler/core/parse.y" +#line 4756 "parse.y" { (yyval.id) = 0; } -#line 11692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11633 "y.tab.c" break; case 622: /* f_norm_arg: "local variable or method" */ -#line 4760 "mrbgems/mruby-compiler/core/parse.y" +#line 4760 "parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11701 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11642 "y.tab.c" break; case 623: /* f_arg_item: f_norm_arg */ -#line 4767 "mrbgems/mruby-compiler/core/parse.y" +#line 4767 "parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11709 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11650 "y.tab.c" break; case 624: /* @37: %empty */ -#line 4771 "mrbgems/mruby-compiler/core/parse.y" +#line 4771 "parse.y" { (yyval.nd) = local_switch(p); } -#line 11717 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11658 "y.tab.c" break; case 625: /* f_arg_item: tLPAREN @37 f_margs rparen */ -#line 4775 "mrbgems/mruby-compiler/core/parse.y" +#line 4775 "parse.y" { (yyval.nd) = new_marg(p, (yyvsp[-1].nd)); local_resume(p, (yyvsp[-2].nd)); local_add_f(p, 0); } -#line 11727 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11668 "y.tab.c" break; case 626: /* f_arg: f_arg_item */ -#line 4783 "mrbgems/mruby-compiler/core/parse.y" +#line 4783 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11735 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11676 "y.tab.c" break; case 627: /* f_arg: f_arg ',' f_arg_item */ -#line 4787 "mrbgems/mruby-compiler/core/parse.y" +#line 4787 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11743 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11684 "y.tab.c" break; case 628: /* f_opt_asgn: "local variable or method" '=' */ -#line 4793 "mrbgems/mruby-compiler/core/parse.y" +#line 4793 "parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 11753 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11694 "y.tab.c" break; case 629: /* f_opt: f_opt_asgn arg */ -#line 4801 "mrbgems/mruby-compiler/core/parse.y" +#line 4801 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11763 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11704 "y.tab.c" break; case 630: /* f_block_opt: f_opt_asgn primary_value */ -#line 4809 "mrbgems/mruby-compiler/core/parse.y" +#line 4809 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11714 "y.tab.c" break; case 631: /* f_block_optarg: f_block_opt */ -#line 4817 "mrbgems/mruby-compiler/core/parse.y" +#line 4817 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11722 "y.tab.c" break; case 632: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 4821 "mrbgems/mruby-compiler/core/parse.y" +#line 4821 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11730 "y.tab.c" break; case 633: /* f_optarg: f_opt */ -#line 4827 "mrbgems/mruby-compiler/core/parse.y" +#line 4827 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11738 "y.tab.c" break; case 634: /* f_optarg: f_optarg ',' f_opt */ -#line 4831 "mrbgems/mruby-compiler/core/parse.y" +#line 4831 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11746 "y.tab.c" break; case 637: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4841 "mrbgems/mruby-compiler/core/parse.y" +#line 4841 "parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11814 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11755 "y.tab.c" break; case 638: /* f_rest_arg: restarg_mark */ -#line 4846 "mrbgems/mruby-compiler/core/parse.y" +#line 4846 "parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 11823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11764 "y.tab.c" break; case 641: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4857 "mrbgems/mruby-compiler/core/parse.y" +#line 4857 "parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11831 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11772 "y.tab.c" break; case 642: /* f_block_arg: blkarg_mark */ -#line 4861 "mrbgems/mruby-compiler/core/parse.y" +#line 4861 "parse.y" { (yyval.id) = intern_op(and); } -#line 11839 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11780 "y.tab.c" break; case 643: /* opt_f_block_arg: ',' f_block_arg */ -#line 4867 "mrbgems/mruby-compiler/core/parse.y" +#line 4867 "parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11847 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11788 "y.tab.c" break; case 644: /* opt_f_block_arg: none */ -#line 4871 "mrbgems/mruby-compiler/core/parse.y" +#line 4871 "parse.y" { (yyval.id) = 0; } -#line 11855 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11796 "y.tab.c" break; case 645: /* singleton: var_ref */ -#line 4877 "mrbgems/mruby-compiler/core/parse.y" +#line 4877 "parse.y" { prohibit_literals(p, (yyvsp[0].nd)); (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 11865 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11806 "y.tab.c" break; case 646: /* $@38: %empty */ -#line 4882 "mrbgems/mruby-compiler/core/parse.y" +#line 4882 "parse.y" {p->lstate = EXPR_BEG;} -#line 11871 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11812 "y.tab.c" break; case 647: /* singleton: '(' $@38 expr rparen */ -#line 4883 "mrbgems/mruby-compiler/core/parse.y" +#line 4883 "parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 11880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11821 "y.tab.c" break; case 649: /* assoc_list: assocs trailer */ -#line 4891 "mrbgems/mruby-compiler/core/parse.y" +#line 4891 "parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11888 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11829 "y.tab.c" break; case 650: /* assocs: assoc */ -#line 4897 "mrbgems/mruby-compiler/core/parse.y" +#line 4897 "parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11896 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11837 "y.tab.c" break; case 651: /* assocs: assocs comma assoc */ -#line 4901 "mrbgems/mruby-compiler/core/parse.y" +#line 4901 "parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11845 "y.tab.c" break; case 652: /* assoc: arg "=>" arg */ -#line 4907 "mrbgems/mruby-compiler/core/parse.y" +#line 4907 "parse.y" { void_expr_error(p, (yyvsp[-2].nd)); void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11855 "y.tab.c" break; case 653: /* assoc: "local variable or method" "label" arg */ -#line 4913 "mrbgems/mruby-compiler/core/parse.y" +#line 4913 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 11923 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11864 "y.tab.c" break; case 654: /* assoc: "local variable or method" "label" */ -#line 4918 "mrbgems/mruby-compiler/core/parse.y" +#line 4918 "parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 11931 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11872 "y.tab.c" break; case 655: /* assoc: "numbered parameter" "label" */ -#line 4922 "mrbgems/mruby-compiler/core/parse.y" +#line 4922 "parse.y" { mrb_sym sym = intern_numparam((yyvsp[-1].num)); (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); } -#line 11940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11881 "y.tab.c" break; case 656: /* assoc: "numbered parameter" "label" arg */ -#line 4927 "mrbgems/mruby-compiler/core/parse.y" +#line 4927 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, intern_numparam((yyvsp[-2].num))), (yyvsp[0].nd)); } -#line 11949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11890 "y.tab.c" break; case 657: /* assoc: string_fragment "label" arg */ -#line 4932 "mrbgems/mruby-compiler/core/parse.y" +#line 4932 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -11965,75 +11906,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 11969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11910 "y.tab.c" break; case 658: /* assoc: "**" arg */ -#line 4948 "mrbgems/mruby-compiler/core/parse.y" +#line 4948 "parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd)); } -#line 11978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11919 "y.tab.c" break; case 659: /* assoc: "**" */ -#line 4953 "mrbgems/mruby-compiler/core/parse.y" +#line 4953 "parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 11986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11927 "y.tab.c" break; case 672: /* call_op: '.' */ -#line 4979 "mrbgems/mruby-compiler/core/parse.y" +#line 4979 "parse.y" { (yyval.num) = '.'; } -#line 11994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11935 "y.tab.c" break; case 673: /* call_op: "&." */ -#line 4983 "mrbgems/mruby-compiler/core/parse.y" +#line 4983 "parse.y" { (yyval.num) = 0; } -#line 12002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11943 "y.tab.c" break; case 675: /* call_op2: "::" */ -#line 4990 "mrbgems/mruby-compiler/core/parse.y" +#line 4990 "parse.y" { (yyval.num) = tCOLON2; } -#line 12010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11951 "y.tab.c" break; case 684: /* term: ';' */ -#line 5011 "mrbgems/mruby-compiler/core/parse.y" +#line 5011 "parse.y" {yyerrok;} -#line 12016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11957 "y.tab.c" break; case 686: /* nl: '\n' */ -#line 5016 "mrbgems/mruby-compiler/core/parse.y" +#line 5016 "parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 12025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11966 "y.tab.c" break; case 690: /* none: %empty */ -#line 5028 "mrbgems/mruby-compiler/core/parse.y" +#line 5028 "parse.y" { (yyval.nd) = 0; } -#line 12033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11974 "y.tab.c" break; -#line 12037 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11978 "y.tab.c" default: break; } @@ -12048,10 +11989,9 @@ yyreduce: case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc, p); + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); - yylen = 0; *++yyvsp = yyval; @@ -12087,7 +12027,7 @@ yyerrlab: = {yyssp, yytoken, &yylloc}; char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; - yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx, p); + yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx); if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == -1) @@ -12099,7 +12039,7 @@ yyerrlab: if (yymsg) { yysyntax_error_status - = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx, p); + = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx); yymsgp = yymsg; } else @@ -12153,9 +12093,8 @@ yyerrorlab: /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp, p); + YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; @@ -12189,9 +12128,8 @@ yyerrlab1: yydestruct ("Error: popping", YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, p); YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp, p); + YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN @@ -12203,8 +12141,7 @@ yyerrlab1: YYLLOC_DEFAULT (*yylsp, yyerror_range, 2); /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp, p); - + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -12250,7 +12187,7 @@ yyreturnlab: /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp, p); + YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", @@ -12266,7 +12203,7 @@ yyreturnlab: return yyresult; } -#line 5032 "mrbgems/mruby-compiler/core/parse.y" +#line 5032 "parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) @@ -14697,6 +14634,7 @@ parser_init_cxt(parser_state *p, mrb_ccontext *cxt) p->capture_errors = cxt->capture_errors; p->no_optimize = cxt->no_optimize; p->no_ext_ops = cxt->no_ext_ops; + p->no_return_value = cxt->no_return_value; p->upper = cxt->upper; if (cxt->partial_hook) { p->cxt = cxt;