diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 5418a9e5a..36d03b0c1 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -6118,6 +6118,61 @@ codegen(codegen_scope *s, node *tree, int val) codegen_case_match(s, tree, val); break; + case NODE_MATCH_PAT: + { + /* One-line pattern matching: expr in pattern / expr => pattern */ + struct mrb_ast_match_pat_node *mp = match_pat_node(tree); + int head = cursp(); + uint32_t fail_pos = JMPLINK_START; + uint32_t match_pos; + + /* Evaluate the value */ + codegen(s, mp->value, VAL); + + /* Generate pattern matching code */ + codegen_pattern(s, mp->pattern, head, &fail_pos); + + /* Pattern matched - load true and jump to end */ + pop(); /* pop the value */ + if (val) { + genop_1(s, OP_LOADT, cursp()); + push(); + } + match_pos = genjmp(s, OP_JMP, JMPLINK_START); + + /* Pattern failed */ + dispatch_linked(s, fail_pos); + pop(); /* pop the value */ + if (mp->raise_on_fail) { + /* expr => pattern: raise NoMatchingPatternError */ + int msg_off = new_lit_cstr(s, "pattern not matched"); + int exc_reg = cursp(); + /* Get NoMatchingPatternError class */ + genop_2(s, OP_GETCONST, exc_reg, new_sym(s, MRB_SYM_2(s->mrb, NoMatchingPatternError))); + push(); + /* Create message string */ + genop_2(s, OP_STRING, cursp(), msg_off); + push(); + /* Call NoMatchingPatternError.new(message) */ + pop(); /* pop argument */ + genop_3(s, OP_SEND, exc_reg, new_sym(s, MRB_SYM_2(s->mrb, new)), 1); + /* Raise the exception */ + genop_1(s, OP_RAISEIF, exc_reg); + if (val) push(); + } + else { + /* expr in pattern: return false */ + if (val) { + genop_1(s, OP_LOADF, cursp()); + push(); + } + } + + /* End of pattern matching */ + dispatch(s, match_pos); + } + break; + case NODE_DEF: codegen_def(s, tree, val); break; diff --git a/mrbgems/mruby-compiler/core/node.h b/mrbgems/mruby-compiler/core/node.h index 40d34a164..37707b8ab 100644 --- a/mrbgems/mruby-compiler/core/node.h +++ b/mrbgems/mruby-compiler/core/node.h @@ -91,6 +91,7 @@ enum node_type { NODE_PAT_ALT, /* alternative pattern (pat1 | pat2) */ NODE_PAT_ARRAY, /* array pattern [a, b, *rest] */ NODE_PAT_HASH, /* hash pattern {a:, b: x} */ + NODE_MATCH_PAT, /* one-line pattern matching (expr in pat / expr => pat) */ NODE_LAST }; @@ -340,6 +341,14 @@ struct mrb_ast_pat_hash_node { struct mrb_ast_node *rest; /* Rest pattern (NULL if none, -1 if **nil) */ }; +/* One-line pattern matching: expr in pattern / expr => pattern */ +struct mrb_ast_match_pat_node { + struct mrb_ast_var_header header; /* 8 bytes */ + struct mrb_ast_node *value; /* Expression to match */ + struct mrb_ast_node *pattern; /* Pattern */ + mrb_bool raise_on_fail; /* TRUE for =>, FALSE for in */ +}; + /* Variable-sized for node */ struct mrb_ast_for_node { struct mrb_ast_var_header header; /* 8 bytes */ @@ -451,6 +460,7 @@ struct mrb_ast_super_node { #define pat_alt_node(n) ((struct mrb_ast_pat_alt_node*)(n)) #define pat_array_node(n) ((struct mrb_ast_pat_array_node*)(n)) #define pat_hash_node(n) ((struct mrb_ast_pat_hash_node*)(n)) +#define match_pat_node(n) ((struct mrb_ast_match_pat_node*)(n)) #define for_node(n) ((struct mrb_ast_for_node*)(n)) #define asgn_node(n) ((struct mrb_ast_asgn_node*)(n)) #define masgn_node(n) ((struct mrb_ast_masgn_node*)(n)) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 449c69387..bb363b70a 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -684,6 +684,17 @@ new_pat_hash(parser_state *p, node *pairs, node *rest) return (node*)n; } +/* Create one-line pattern matching node (expr in pattern / expr => pattern) */ +static node* +new_match_pat(parser_state *p, node *value, node *pattern, mrb_bool raise_on_fail) +{ + struct mrb_ast_match_pat_node *n = NEW_NODE(match_pat, NODE_MATCH_PAT); + n->value = value; + n->pattern = pattern; + n->raise_on_fail = raise_on_fail; + return (node*)n; +} + /* Create in-clause node for case/in */ static node* new_in(parser_state *p, node *pattern, node *guard, node *body, mrb_bool guard_is_unless) @@ -2313,12 +2324,6 @@ stmt : keyword_alias fsym {p->lstate = EXPR_FNAME;} fsym { $$ = new_masgn(p, $1, new_array(p, $3)); } - | arg tASSOC tIDENTIFIER - { - node *lhs = new_lvar(p, $3); - assignable(p, lhs); - $$ = new_asgn(p, lhs, $1); - } | expr ; @@ -2419,6 +2424,18 @@ expr : command_call { $$ = call_uni_op(p, cond($2), "!"); } + | arg tASSOC {p->in_kwarg++;} p_expr + { + /* expr => pattern (raises NoMatchingPatternError on failure) */ + p->in_kwarg--; + $$ = new_match_pat(p, $1, $4, TRUE); + } + | arg keyword_in {p->in_kwarg++;} p_expr + { + /* expr in pattern (returns true/false) */ + p->in_kwarg--; + $$ = new_match_pat(p, $1, $4, FALSE); + } | arg ; @@ -8894,6 +8911,16 @@ dump_node(mrb_state *mrb, node *tree, int offset) } break; + case NODE_MATCH_PAT: + printf("NODE_MATCH_PAT%s:\n", match_pat_node(tree)->raise_on_fail ? " (=>)" : " (in)"); + dump_prefix(offset+1, lineno); + printf("value:\n"); + dump_node(mrb, match_pat_node(tree)->value, offset+2); + dump_prefix(offset+1, lineno); + printf("pattern:\n"); + dump_node(mrb, match_pat_node(tree)->pattern, offset+2); + break; + default: /* Fallback: unknown node type - skip like codegen.c does */ printf("unknown node type %d (0x%x)\n", nodetype, (unsigned)nodetype); diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index b93cda6e5..04a749192 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -746,6 +746,17 @@ new_pat_hash(parser_state *p, node *pairs, node *rest) return (node*)n; } +/* Create one-line pattern matching node (expr in pattern / expr => pattern) */ +static node* +new_match_pat(parser_state *p, node *value, node *pattern, mrb_bool raise_on_fail) +{ + struct mrb_ast_match_pat_node *n = NEW_NODE(match_pat, NODE_MATCH_PAT); + n->value = value; + n->pattern = pattern; + n->raise_on_fail = raise_on_fail; + return (node*)n; +} + /* Create in-clause node for case/in */ static node* new_in(parser_state *p, node *pattern, node *guard, node *body, mrb_bool guard_is_unless) @@ -2036,7 +2047,7 @@ prohibit_literals(parser_state *p, node *n) /* xxx ----------------------------- */ -#line 2040 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2051 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -2207,7 +2218,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 1983 "mrbgems/mruby-compiler/core/parse.y" +#line 1994 "mrbgems/mruby-compiler/core/parse.y" node *nd; mrb_sym id; @@ -2215,7 +2226,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 2219 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2230 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2413,187 +2424,189 @@ enum yysymbol_kind_t YYSYMBOL_command_asgn = 161, /* command_asgn */ YYSYMBOL_command_rhs = 162, /* command_rhs */ YYSYMBOL_expr = 163, /* expr */ - YYSYMBOL_defn_head = 164, /* defn_head */ - YYSYMBOL_165_4 = 165, /* $@4 */ - YYSYMBOL_defs_head = 166, /* defs_head */ - YYSYMBOL_expr_value = 167, /* expr_value */ - YYSYMBOL_command_call = 168, /* command_call */ - YYSYMBOL_block_command = 169, /* block_command */ - YYSYMBOL_170_5 = 170, /* $@5 */ - YYSYMBOL_cmd_brace_block = 171, /* cmd_brace_block */ - YYSYMBOL_command = 172, /* command */ - YYSYMBOL_mlhs = 173, /* mlhs */ - YYSYMBOL_mlhs_inner = 174, /* mlhs_inner */ - YYSYMBOL_mlhs_basic = 175, /* mlhs_basic */ - YYSYMBOL_mlhs_item = 176, /* mlhs_item */ - YYSYMBOL_mlhs_list = 177, /* mlhs_list */ - YYSYMBOL_mlhs_post = 178, /* mlhs_post */ - YYSYMBOL_mlhs_node = 179, /* mlhs_node */ - YYSYMBOL_lhs = 180, /* lhs */ - YYSYMBOL_cname = 181, /* cname */ - YYSYMBOL_cpath = 182, /* cpath */ - YYSYMBOL_fname = 183, /* fname */ - YYSYMBOL_fsym = 184, /* fsym */ - YYSYMBOL_undef_list = 185, /* undef_list */ - YYSYMBOL_186_6 = 186, /* $@6 */ - YYSYMBOL_op = 187, /* op */ - YYSYMBOL_reswords = 188, /* reswords */ - YYSYMBOL_arg = 189, /* arg */ - YYSYMBOL_aref_args = 190, /* aref_args */ - YYSYMBOL_arg_rhs = 191, /* arg_rhs */ - YYSYMBOL_paren_args = 192, /* paren_args */ - YYSYMBOL_opt_paren_args = 193, /* opt_paren_args */ - YYSYMBOL_opt_call_args = 194, /* opt_call_args */ - YYSYMBOL_call_args = 195, /* call_args */ - YYSYMBOL_196_7 = 196, /* @7 */ - YYSYMBOL_command_args = 197, /* command_args */ - YYSYMBOL_block_arg = 198, /* block_arg */ - YYSYMBOL_opt_block_arg = 199, /* opt_block_arg */ - YYSYMBOL_comma = 200, /* comma */ - YYSYMBOL_args = 201, /* args */ - YYSYMBOL_mrhs = 202, /* mrhs */ - YYSYMBOL_primary = 203, /* primary */ - YYSYMBOL_204_8 = 204, /* @8 */ - YYSYMBOL_205_9 = 205, /* @9 */ - YYSYMBOL_206_10 = 206, /* $@10 */ - YYSYMBOL_207_11 = 207, /* $@11 */ - YYSYMBOL_208_12 = 208, /* @12 */ - YYSYMBOL_209_13 = 209, /* @13 */ - YYSYMBOL_210_14 = 210, /* $@14 */ - YYSYMBOL_211_15 = 211, /* $@15 */ + 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_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_command = 174, /* command */ + YYSYMBOL_mlhs = 175, /* mlhs */ + YYSYMBOL_mlhs_inner = 176, /* mlhs_inner */ + YYSYMBOL_mlhs_basic = 177, /* mlhs_basic */ + YYSYMBOL_mlhs_item = 178, /* mlhs_item */ + YYSYMBOL_mlhs_list = 179, /* mlhs_list */ + YYSYMBOL_mlhs_post = 180, /* mlhs_post */ + YYSYMBOL_mlhs_node = 181, /* mlhs_node */ + YYSYMBOL_lhs = 182, /* lhs */ + YYSYMBOL_cname = 183, /* cname */ + YYSYMBOL_cpath = 184, /* cpath */ + YYSYMBOL_fname = 185, /* fname */ + YYSYMBOL_fsym = 186, /* fsym */ + YYSYMBOL_undef_list = 187, /* undef_list */ + YYSYMBOL_188_8 = 188, /* $@8 */ + YYSYMBOL_op = 189, /* op */ + YYSYMBOL_reswords = 190, /* reswords */ + YYSYMBOL_arg = 191, /* arg */ + YYSYMBOL_aref_args = 192, /* aref_args */ + YYSYMBOL_arg_rhs = 193, /* arg_rhs */ + YYSYMBOL_paren_args = 194, /* paren_args */ + 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_block_arg = 200, /* block_arg */ + YYSYMBOL_opt_block_arg = 201, /* opt_block_arg */ + YYSYMBOL_comma = 202, /* comma */ + YYSYMBOL_args = 203, /* args */ + YYSYMBOL_mrhs = 204, /* mrhs */ + YYSYMBOL_primary = 205, /* primary */ + YYSYMBOL_206_10 = 206, /* @10 */ + YYSYMBOL_207_11 = 207, /* @11 */ + YYSYMBOL_208_12 = 208, /* $@12 */ + YYSYMBOL_209_13 = 209, /* $@13 */ + YYSYMBOL_210_14 = 210, /* @14 */ + YYSYMBOL_211_15 = 211, /* @15 */ YYSYMBOL_212_16 = 212, /* $@16 */ YYSYMBOL_213_17 = 213, /* $@17 */ YYSYMBOL_214_18 = 214, /* $@18 */ YYSYMBOL_215_19 = 215, /* $@19 */ - YYSYMBOL_216_20 = 216, /* @20 */ - YYSYMBOL_217_21 = 217, /* @21 */ + YYSYMBOL_216_20 = 216, /* $@20 */ + YYSYMBOL_217_21 = 217, /* $@21 */ YYSYMBOL_218_22 = 218, /* @22 */ YYSYMBOL_219_23 = 219, /* @23 */ - YYSYMBOL_primary_value = 220, /* primary_value */ - YYSYMBOL_then = 221, /* then */ - YYSYMBOL_do = 222, /* do */ - YYSYMBOL_if_tail = 223, /* if_tail */ - YYSYMBOL_opt_else = 224, /* opt_else */ - YYSYMBOL_for_var = 225, /* for_var */ - YYSYMBOL_f_margs = 226, /* f_margs */ - YYSYMBOL_227_24 = 227, /* $@24 */ - YYSYMBOL_block_args_tail = 228, /* block_args_tail */ - YYSYMBOL_opt_block_args_tail = 229, /* opt_block_args_tail */ - YYSYMBOL_block_param = 230, /* block_param */ - YYSYMBOL_opt_block_param = 231, /* opt_block_param */ - YYSYMBOL_232_25 = 232, /* $@25 */ - YYSYMBOL_block_param_def = 233, /* block_param_def */ - YYSYMBOL_opt_bv_decl = 234, /* opt_bv_decl */ - YYSYMBOL_bv_decls = 235, /* bv_decls */ - YYSYMBOL_bvar = 236, /* bvar */ - YYSYMBOL_f_larglist = 237, /* f_larglist */ - YYSYMBOL_lambda_body = 238, /* lambda_body */ - YYSYMBOL_239_26 = 239, /* @26 */ - YYSYMBOL_do_block = 240, /* do_block */ - YYSYMBOL_block_call = 241, /* block_call */ - YYSYMBOL_method_call = 242, /* method_call */ - YYSYMBOL_243_27 = 243, /* @27 */ - YYSYMBOL_brace_block = 244, /* brace_block */ - YYSYMBOL_245_28 = 245, /* @28 */ - YYSYMBOL_case_body = 246, /* case_body */ - YYSYMBOL_cases = 247, /* cases */ - YYSYMBOL_in_clauses = 248, /* in_clauses */ - YYSYMBOL_249_29 = 249, /* $@29 */ - YYSYMBOL_250_30 = 250, /* $@30 */ + YYSYMBOL_220_24 = 220, /* @24 */ + YYSYMBOL_221_25 = 221, /* @25 */ + YYSYMBOL_primary_value = 222, /* primary_value */ + YYSYMBOL_then = 223, /* then */ + YYSYMBOL_do = 224, /* do */ + YYSYMBOL_if_tail = 225, /* if_tail */ + YYSYMBOL_opt_else = 226, /* opt_else */ + YYSYMBOL_for_var = 227, /* for_var */ + YYSYMBOL_f_margs = 228, /* f_margs */ + YYSYMBOL_229_26 = 229, /* $@26 */ + YYSYMBOL_block_args_tail = 230, /* block_args_tail */ + 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_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_block_call = 243, /* block_call */ + YYSYMBOL_method_call = 244, /* method_call */ + YYSYMBOL_245_29 = 245, /* @29 */ + YYSYMBOL_brace_block = 246, /* brace_block */ + YYSYMBOL_247_30 = 247, /* @30 */ + YYSYMBOL_case_body = 248, /* case_body */ + YYSYMBOL_cases = 249, /* cases */ + YYSYMBOL_in_clauses = 250, /* in_clauses */ YYSYMBOL_251_31 = 251, /* $@31 */ - YYSYMBOL_p_expr = 252, /* p_expr */ - YYSYMBOL_p_args_head = 253, /* p_args_head */ - YYSYMBOL_p_args_post = 254, /* p_args_post */ - YYSYMBOL_p_as = 255, /* p_as */ - YYSYMBOL_p_alt = 256, /* p_alt */ - YYSYMBOL_p_value = 257, /* p_value */ - YYSYMBOL_p_array = 258, /* p_array */ - YYSYMBOL_p_array_body = 259, /* p_array_body */ - YYSYMBOL_p_array_elems = 260, /* p_array_elems */ - YYSYMBOL_p_rest = 261, /* p_rest */ - YYSYMBOL_p_hash = 262, /* p_hash */ - YYSYMBOL_p_hash_body = 263, /* p_hash_body */ - YYSYMBOL_p_hash_elems = 264, /* p_hash_elems */ - YYSYMBOL_p_hash_elem = 265, /* p_hash_elem */ - YYSYMBOL_p_kwrest = 266, /* p_kwrest */ - YYSYMBOL_p_var = 267, /* p_var */ - YYSYMBOL_opt_rescue = 268, /* opt_rescue */ - YYSYMBOL_exc_list = 269, /* exc_list */ - YYSYMBOL_exc_var = 270, /* exc_var */ - YYSYMBOL_opt_ensure = 271, /* opt_ensure */ - YYSYMBOL_literal = 272, /* literal */ - YYSYMBOL_string = 273, /* string */ - YYSYMBOL_string_fragment = 274, /* string_fragment */ - YYSYMBOL_string_rep = 275, /* string_rep */ - YYSYMBOL_string_interp = 276, /* string_interp */ - YYSYMBOL_277_32 = 277, /* @32 */ - YYSYMBOL_xstring = 278, /* xstring */ - YYSYMBOL_regexp = 279, /* regexp */ - YYSYMBOL_heredoc = 280, /* heredoc */ - YYSYMBOL_heredoc_bodies = 281, /* heredoc_bodies */ - YYSYMBOL_heredoc_body = 282, /* heredoc_body */ - YYSYMBOL_heredoc_string_rep = 283, /* heredoc_string_rep */ - YYSYMBOL_heredoc_string_interp = 284, /* heredoc_string_interp */ - YYSYMBOL_285_33 = 285, /* @33 */ - YYSYMBOL_words = 286, /* words */ - YYSYMBOL_symbol = 287, /* symbol */ - YYSYMBOL_basic_symbol = 288, /* basic_symbol */ - YYSYMBOL_sym = 289, /* sym */ - YYSYMBOL_symbols = 290, /* symbols */ - YYSYMBOL_numeric = 291, /* numeric */ - YYSYMBOL_variable = 292, /* variable */ - YYSYMBOL_var_lhs = 293, /* var_lhs */ - YYSYMBOL_var_ref = 294, /* var_ref */ - YYSYMBOL_backref = 295, /* backref */ - YYSYMBOL_superclass = 296, /* superclass */ - YYSYMBOL_297_34 = 297, /* $@34 */ - YYSYMBOL_f_opt_arglist_paren = 298, /* f_opt_arglist_paren */ - YYSYMBOL_f_arglist_paren = 299, /* f_arglist_paren */ - YYSYMBOL_f_arglist = 300, /* f_arglist */ - YYSYMBOL_f_label = 301, /* f_label */ - YYSYMBOL_f_kw = 302, /* f_kw */ - YYSYMBOL_f_block_kw = 303, /* f_block_kw */ - YYSYMBOL_f_block_kwarg = 304, /* f_block_kwarg */ - YYSYMBOL_f_kwarg = 305, /* f_kwarg */ - YYSYMBOL_kwrest_mark = 306, /* kwrest_mark */ - YYSYMBOL_f_kwrest = 307, /* f_kwrest */ - YYSYMBOL_args_tail = 308, /* args_tail */ - YYSYMBOL_opt_args_tail = 309, /* opt_args_tail */ - YYSYMBOL_f_args = 310, /* f_args */ - YYSYMBOL_f_bad_arg = 311, /* f_bad_arg */ - YYSYMBOL_f_norm_arg = 312, /* f_norm_arg */ - YYSYMBOL_f_arg_item = 313, /* f_arg_item */ - YYSYMBOL_314_35 = 314, /* @35 */ - YYSYMBOL_f_arg = 315, /* f_arg */ - YYSYMBOL_f_opt_asgn = 316, /* f_opt_asgn */ - YYSYMBOL_f_opt = 317, /* f_opt */ - YYSYMBOL_f_block_opt = 318, /* f_block_opt */ - YYSYMBOL_f_block_optarg = 319, /* f_block_optarg */ - YYSYMBOL_f_optarg = 320, /* f_optarg */ - YYSYMBOL_restarg_mark = 321, /* restarg_mark */ - YYSYMBOL_f_rest_arg = 322, /* f_rest_arg */ - YYSYMBOL_blkarg_mark = 323, /* blkarg_mark */ - YYSYMBOL_f_block_arg = 324, /* f_block_arg */ - YYSYMBOL_opt_f_block_arg = 325, /* opt_f_block_arg */ - YYSYMBOL_singleton = 326, /* singleton */ - YYSYMBOL_327_36 = 327, /* $@36 */ - YYSYMBOL_assoc_list = 328, /* assoc_list */ - YYSYMBOL_assocs = 329, /* assocs */ - YYSYMBOL_assoc = 330, /* assoc */ - YYSYMBOL_operation = 331, /* operation */ - YYSYMBOL_operation2 = 332, /* operation2 */ - YYSYMBOL_operation3 = 333, /* operation3 */ - YYSYMBOL_dot_or_colon = 334, /* dot_or_colon */ - YYSYMBOL_call_op = 335, /* call_op */ - YYSYMBOL_call_op2 = 336, /* call_op2 */ - YYSYMBOL_opt_terms = 337, /* opt_terms */ - YYSYMBOL_opt_nl = 338, /* opt_nl */ - YYSYMBOL_rparen = 339, /* rparen */ - YYSYMBOL_trailer = 340, /* trailer */ - YYSYMBOL_term = 341, /* term */ - YYSYMBOL_nl = 342, /* nl */ - YYSYMBOL_terms = 343, /* terms */ - YYSYMBOL_none = 344 /* none */ + YYSYMBOL_252_32 = 252, /* $@32 */ + YYSYMBOL_253_33 = 253, /* $@33 */ + YYSYMBOL_p_expr = 254, /* p_expr */ + YYSYMBOL_p_args_head = 255, /* p_args_head */ + YYSYMBOL_p_args_post = 256, /* p_args_post */ + YYSYMBOL_p_as = 257, /* p_as */ + YYSYMBOL_p_alt = 258, /* p_alt */ + YYSYMBOL_p_value = 259, /* p_value */ + YYSYMBOL_p_array = 260, /* p_array */ + YYSYMBOL_p_array_body = 261, /* p_array_body */ + YYSYMBOL_p_array_elems = 262, /* p_array_elems */ + YYSYMBOL_p_rest = 263, /* p_rest */ + YYSYMBOL_p_hash = 264, /* p_hash */ + YYSYMBOL_p_hash_body = 265, /* p_hash_body */ + YYSYMBOL_p_hash_elems = 266, /* p_hash_elems */ + YYSYMBOL_p_hash_elem = 267, /* p_hash_elem */ + YYSYMBOL_p_kwrest = 268, /* p_kwrest */ + YYSYMBOL_p_var = 269, /* p_var */ + YYSYMBOL_opt_rescue = 270, /* opt_rescue */ + YYSYMBOL_exc_list = 271, /* exc_list */ + YYSYMBOL_exc_var = 272, /* exc_var */ + YYSYMBOL_opt_ensure = 273, /* opt_ensure */ + YYSYMBOL_literal = 274, /* literal */ + YYSYMBOL_string = 275, /* string */ + YYSYMBOL_string_fragment = 276, /* string_fragment */ + YYSYMBOL_string_rep = 277, /* string_rep */ + YYSYMBOL_string_interp = 278, /* string_interp */ + YYSYMBOL_279_34 = 279, /* @34 */ + YYSYMBOL_xstring = 280, /* xstring */ + YYSYMBOL_regexp = 281, /* regexp */ + YYSYMBOL_heredoc = 282, /* heredoc */ + YYSYMBOL_heredoc_bodies = 283, /* heredoc_bodies */ + YYSYMBOL_heredoc_body = 284, /* heredoc_body */ + YYSYMBOL_heredoc_string_rep = 285, /* heredoc_string_rep */ + YYSYMBOL_heredoc_string_interp = 286, /* heredoc_string_interp */ + YYSYMBOL_287_35 = 287, /* @35 */ + YYSYMBOL_words = 288, /* words */ + YYSYMBOL_symbol = 289, /* symbol */ + YYSYMBOL_basic_symbol = 290, /* basic_symbol */ + YYSYMBOL_sym = 291, /* sym */ + YYSYMBOL_symbols = 292, /* symbols */ + YYSYMBOL_numeric = 293, /* numeric */ + YYSYMBOL_variable = 294, /* variable */ + YYSYMBOL_var_lhs = 295, /* var_lhs */ + YYSYMBOL_var_ref = 296, /* var_ref */ + YYSYMBOL_backref = 297, /* backref */ + YYSYMBOL_superclass = 298, /* superclass */ + YYSYMBOL_299_36 = 299, /* $@36 */ + YYSYMBOL_f_opt_arglist_paren = 300, /* f_opt_arglist_paren */ + YYSYMBOL_f_arglist_paren = 301, /* f_arglist_paren */ + YYSYMBOL_f_arglist = 302, /* f_arglist */ + YYSYMBOL_f_label = 303, /* f_label */ + YYSYMBOL_f_kw = 304, /* f_kw */ + YYSYMBOL_f_block_kw = 305, /* f_block_kw */ + YYSYMBOL_f_block_kwarg = 306, /* f_block_kwarg */ + YYSYMBOL_f_kwarg = 307, /* f_kwarg */ + YYSYMBOL_kwrest_mark = 308, /* kwrest_mark */ + YYSYMBOL_f_kwrest = 309, /* f_kwrest */ + YYSYMBOL_args_tail = 310, /* args_tail */ + YYSYMBOL_opt_args_tail = 311, /* opt_args_tail */ + YYSYMBOL_f_args = 312, /* f_args */ + YYSYMBOL_f_bad_arg = 313, /* f_bad_arg */ + YYSYMBOL_f_norm_arg = 314, /* f_norm_arg */ + YYSYMBOL_f_arg_item = 315, /* f_arg_item */ + YYSYMBOL_316_37 = 316, /* @37 */ + YYSYMBOL_f_arg = 317, /* f_arg */ + YYSYMBOL_f_opt_asgn = 318, /* f_opt_asgn */ + YYSYMBOL_f_opt = 319, /* f_opt */ + YYSYMBOL_f_block_opt = 320, /* f_block_opt */ + YYSYMBOL_f_block_optarg = 321, /* f_block_optarg */ + YYSYMBOL_f_optarg = 322, /* f_optarg */ + YYSYMBOL_restarg_mark = 323, /* restarg_mark */ + YYSYMBOL_f_rest_arg = 324, /* f_rest_arg */ + YYSYMBOL_blkarg_mark = 325, /* blkarg_mark */ + YYSYMBOL_f_block_arg = 326, /* f_block_arg */ + YYSYMBOL_opt_f_block_arg = 327, /* opt_f_block_arg */ + YYSYMBOL_singleton = 328, /* singleton */ + YYSYMBOL_329_38 = 329, /* $@38 */ + YYSYMBOL_assoc_list = 330, /* assoc_list */ + YYSYMBOL_assocs = 331, /* assocs */ + YYSYMBOL_assoc = 332, /* assoc */ + YYSYMBOL_operation = 333, /* operation */ + YYSYMBOL_operation2 = 334, /* operation2 */ + YYSYMBOL_operation3 = 335, /* operation3 */ + YYSYMBOL_dot_or_colon = 336, /* dot_or_colon */ + YYSYMBOL_call_op = 337, /* call_op */ + YYSYMBOL_call_op2 = 338, /* call_op2 */ + YYSYMBOL_opt_terms = 339, /* opt_terms */ + YYSYMBOL_opt_nl = 340, /* opt_nl */ + YYSYMBOL_rparen = 341, /* rparen */ + YYSYMBOL_trailer = 342, /* trailer */ + YYSYMBOL_term = 343, /* term */ + YYSYMBOL_nl = 344, /* nl */ + YYSYMBOL_terms = 345, /* terms */ + YYSYMBOL_none = 346 /* none */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -2924,16 +2937,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 106 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 16582 +#define YYLAST 17015 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 196 +#define YYNNTS 198 /* YYNRULES -- Number of rules. */ -#define YYNRULES 685 +#define YYNRULES 688 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1216 +#define YYNSTATES 1219 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 377 @@ -2994,75 +3007,75 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 2157, 2157, 2157, 2167, 2173, 2177, 2181, 2185, 2191, - 2193, 2192, 2206, 2232, 2238, 2242, 2246, 2250, 2256, 2256, - 2260, 2264, 2268, 2272, 2281, 2290, 2294, 2299, 2300, 2304, - 2308, 2312, 2316, 2322, 2325, 2329, 2333, 2337, 2341, 2345, - 2350, 2354, 2363, 2372, 2381, 2390, 2397, 2398, 2402, 2405, - 2406, 2410, 2414, 2418, 2422, 2425, 2435, 2434, 2449, 2458, - 2459, 2462, 2463, 2470, 2469, 2484, 2488, 2493, 2497, 2502, - 2506, 2511, 2515, 2519, 2523, 2527, 2533, 2537, 2543, 2544, - 2550, 2554, 2558, 2562, 2566, 2570, 2574, 2578, 2582, 2586, - 2592, 2593, 2599, 2603, 2609, 2613, 2619, 2623, 2627, 2631, - 2635, 2639, 2645, 2651, 2658, 2662, 2666, 2670, 2674, 2678, - 2684, 2690, 2695, 2701, 2705, 2708, 2712, 2716, 2723, 2724, - 2725, 2726, 2731, 2738, 2739, 2742, 2746, 2746, 2752, 2753, - 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, - 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, - 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2784, 2784, - 2784, 2785, 2785, 2786, 2786, 2786, 2787, 2787, 2787, 2787, - 2788, 2788, 2788, 2789, 2789, 2789, 2790, 2790, 2790, 2790, - 2791, 2791, 2791, 2791, 2792, 2792, 2792, 2792, 2793, 2793, - 2793, 2793, 2794, 2794, 2794, 2794, 2795, 2795, 2798, 2802, - 2806, 2810, 2814, 2818, 2822, 2827, 2832, 2837, 2841, 2845, - 2849, 2853, 2857, 2861, 2865, 2869, 2873, 2877, 2881, 2885, - 2889, 2893, 2897, 2901, 2905, 2909, 2913, 2917, 2921, 2925, - 2929, 2933, 2937, 2941, 2945, 2949, 2953, 2957, 2961, 2965, - 2969, 2973, 2977, 2981, 2985, 2994, 3003, 3012, 3021, 3027, - 3028, 3032, 3036, 3042, 3046, 3053, 3057, 3066, 3083, 3084, - 3087, 3088, 3089, 3093, 3097, 3103, 3108, 3112, 3116, 3120, - 3126, 3126, 3137, 3141, 3147, 3151, 3157, 3160, 3165, 3169, - 3173, 3178, 3182, 3188, 3193, 3197, 3203, 3204, 3208, 3212, - 3213, 3214, 3215, 3216, 3221, 3220, 3232, 3236, 3231, 3241, - 3241, 3245, 3249, 3253, 3257, 3261, 3265, 3269, 3273, 3277, - 3281, 3285, 3286, 3292, 3299, 3291, 3312, 3320, 3328, 3328, - 3328, 3335, 3335, 3335, 3342, 3348, 3352, 3361, 3370, 3380, - 3382, 3379, 3391, 3389, 3407, 3412, 3405, 3429, 3427, 3443, - 3453, 3464, 3468, 3472, 3476, 3482, 3489, 3490, 3491, 3494, - 3495, 3498, 3499, 3507, 3508, 3514, 3518, 3521, 3525, 3529, - 3533, 3538, 3542, 3546, 3550, 3556, 3555, 3565, 3569, 3573, - 3577, 3583, 3588, 3593, 3597, 3601, 3605, 3609, 3613, 3617, - 3621, 3625, 3629, 3633, 3637, 3641, 3645, 3649, 3655, 3660, - 3667, 3667, 3671, 3676, 3682, 3686, 3692, 3693, 3696, 3701, - 3704, 3708, 3714, 3718, 3725, 3724, 3741, 3746, 3750, 3755, - 3762, 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3801, - 3800, 3815, 3814, 3830, 3838, 3847, 3852, 3856, 3856, 3861, - 3861, 3866, 3866, 3876, 3877, 3881, 3885, 3889, 3893, 3897, - 3902, 3907, 3915, 3919, 3926, 3930, 3936, 3937, 3943, 3944, - 3950, 3951, 3955, 3959, 3963, 3967, 3971, 3975, 3979, 3983, - 3987, 3988, 3989, 3996, 4000, 4007, 4012, 4017, 4022, 4027, - 4035, 4039, 4046, 4050, 4058, 4062, 4069, 4073, 4077, 4084, - 4088, 4096, 4101, 4106, 4114, 4118, 4123, 4130, 4136, 4143, - 4146, 4150, 4151, 4154, 4158, 4161, 4165, 4168, 4169, 4170, - 4171, 4174, 4175, 4181, 4186, 4191, 4196, 4202, 4203, 4209, - 4215, 4214, 4226, 4230, 4236, 4240, 4246, 4255, 4266, 4269, - 4270, 4273, 4279, 4285, 4286, 4289, 4296, 4295, 4310, 4314, - 4322, 4326, 4338, 4345, 4352, 4353, 4354, 4355, 4356, 4360, - 4366, 4370, 4378, 4379, 4380, 4384, 4390, 4394, 4398, 4402, - 4406, 4412, 4416, 4422, 4426, 4430, 4434, 4438, 4442, 4446, - 4454, 4461, 4467, 4468, 4472, 4476, 4475, 4492, 4493, 4496, - 4502, 4506, 4512, 4513, 4517, 4521, 4527, 4531, 4537, 4543, - 4550, 4556, 4563, 4567, 4573, 4577, 4583, 4584, 4587, 4591, - 4597, 4601, 4605, 4609, 4615, 4620, 4625, 4629, 4633, 4637, - 4641, 4645, 4649, 4653, 4657, 4661, 4665, 4669, 4673, 4677, - 4682, 4688, 4693, 4698, 4703, 4708, 4715, 4719, 4726, 4731, - 4730, 4742, 4746, 4752, 4760, 4768, 4776, 4780, 4786, 4790, - 4796, 4797, 4800, 4805, 4812, 4813, 4816, 4820, 4826, 4830, - 4836, 4842, 4842, 4849, 4850, 4856, 4860, 4866, 4872, 4877, - 4881, 4886, 4891, 4907, 4912, 4918, 4919, 4920, 4923, 4924, - 4925, 4926, 4929, 4930, 4931, 4934, 4935, 4938, 4942, 4948, - 4949, 4955, 4956, 4959, 4960, 4963, 4966, 4967, 4968, 4971, - 4972, 4975, 4980, 4983, 4984, 4988 + 0, 2168, 2168, 2168, 2178, 2184, 2188, 2192, 2196, 2202, + 2204, 2203, 2217, 2243, 2249, 2253, 2257, 2261, 2267, 2267, + 2271, 2275, 2279, 2283, 2292, 2301, 2305, 2310, 2311, 2315, + 2319, 2323, 2327, 2330, 2334, 2338, 2342, 2346, 2350, 2355, + 2359, 2368, 2377, 2386, 2395, 2402, 2403, 2407, 2410, 2411, + 2415, 2419, 2423, 2427, 2427, 2433, 2433, 2439, 2442, 2452, + 2451, 2466, 2475, 2476, 2479, 2480, 2487, 2486, 2501, 2505, + 2510, 2514, 2519, 2523, 2528, 2532, 2536, 2540, 2544, 2550, + 2554, 2560, 2561, 2567, 2571, 2575, 2579, 2583, 2587, 2591, + 2595, 2599, 2603, 2609, 2610, 2616, 2620, 2626, 2630, 2636, + 2640, 2644, 2648, 2652, 2656, 2662, 2668, 2675, 2679, 2683, + 2687, 2691, 2695, 2701, 2707, 2712, 2718, 2722, 2725, 2729, + 2733, 2740, 2741, 2742, 2743, 2748, 2755, 2756, 2759, 2763, + 2763, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, + 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, + 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, + 2798, 2801, 2801, 2801, 2802, 2802, 2803, 2803, 2803, 2804, + 2804, 2804, 2804, 2805, 2805, 2805, 2806, 2806, 2806, 2807, + 2807, 2807, 2807, 2808, 2808, 2808, 2808, 2809, 2809, 2809, + 2809, 2810, 2810, 2810, 2810, 2811, 2811, 2811, 2811, 2812, + 2812, 2815, 2819, 2823, 2827, 2831, 2835, 2839, 2844, 2849, + 2854, 2858, 2862, 2866, 2870, 2874, 2878, 2882, 2886, 2890, + 2894, 2898, 2902, 2906, 2910, 2914, 2918, 2922, 2926, 2930, + 2934, 2938, 2942, 2946, 2950, 2954, 2958, 2962, 2966, 2970, + 2974, 2978, 2982, 2986, 2990, 2994, 2998, 3002, 3011, 3020, + 3029, 3038, 3044, 3045, 3049, 3053, 3059, 3063, 3070, 3074, + 3083, 3100, 3101, 3104, 3105, 3106, 3110, 3114, 3120, 3125, + 3129, 3133, 3137, 3143, 3143, 3154, 3158, 3164, 3168, 3174, + 3177, 3182, 3186, 3190, 3195, 3199, 3205, 3210, 3214, 3220, + 3221, 3225, 3229, 3230, 3231, 3232, 3233, 3238, 3237, 3249, + 3253, 3248, 3258, 3258, 3262, 3266, 3270, 3274, 3278, 3282, + 3286, 3290, 3294, 3298, 3302, 3303, 3309, 3316, 3308, 3329, + 3337, 3345, 3345, 3345, 3352, 3352, 3352, 3359, 3365, 3369, + 3378, 3387, 3397, 3399, 3396, 3408, 3406, 3424, 3429, 3422, + 3446, 3444, 3460, 3470, 3481, 3485, 3489, 3493, 3499, 3506, + 3507, 3508, 3511, 3512, 3515, 3516, 3524, 3525, 3531, 3535, + 3538, 3542, 3546, 3550, 3555, 3559, 3563, 3567, 3573, 3572, + 3582, 3586, 3590, 3594, 3600, 3605, 3610, 3614, 3618, 3622, + 3626, 3630, 3634, 3638, 3642, 3646, 3650, 3654, 3658, 3662, + 3666, 3672, 3677, 3684, 3684, 3688, 3693, 3699, 3703, 3709, + 3710, 3713, 3718, 3721, 3725, 3731, 3735, 3742, 3741, 3758, + 3763, 3767, 3772, 3779, 3783, 3787, 3791, 3795, 3799, 3803, + 3807, 3811, 3818, 3817, 3832, 3831, 3847, 3855, 3864, 3869, + 3873, 3873, 3878, 3878, 3883, 3883, 3893, 3894, 3898, 3902, + 3906, 3910, 3914, 3919, 3924, 3932, 3936, 3943, 3947, 3953, + 3954, 3960, 3961, 3967, 3968, 3972, 3976, 3980, 3984, 3988, + 3992, 3996, 4000, 4004, 4005, 4006, 4013, 4017, 4024, 4029, + 4034, 4039, 4044, 4052, 4056, 4063, 4067, 4075, 4079, 4086, + 4090, 4094, 4101, 4105, 4113, 4118, 4123, 4131, 4135, 4140, + 4147, 4153, 4160, 4163, 4167, 4168, 4171, 4175, 4178, 4182, + 4185, 4186, 4187, 4188, 4191, 4192, 4198, 4203, 4208, 4213, + 4219, 4220, 4226, 4232, 4231, 4243, 4247, 4253, 4257, 4263, + 4272, 4283, 4286, 4287, 4290, 4296, 4302, 4303, 4306, 4313, + 4312, 4327, 4331, 4339, 4343, 4355, 4362, 4369, 4370, 4371, + 4372, 4373, 4377, 4383, 4387, 4395, 4396, 4397, 4401, 4407, + 4411, 4415, 4419, 4423, 4429, 4433, 4439, 4443, 4447, 4451, + 4455, 4459, 4463, 4471, 4478, 4484, 4485, 4489, 4493, 4492, + 4509, 4510, 4513, 4519, 4523, 4529, 4530, 4534, 4538, 4544, + 4548, 4554, 4560, 4567, 4573, 4580, 4584, 4590, 4594, 4600, + 4601, 4604, 4608, 4614, 4618, 4622, 4626, 4632, 4637, 4642, + 4646, 4650, 4654, 4658, 4662, 4666, 4670, 4674, 4678, 4682, + 4686, 4690, 4694, 4699, 4705, 4710, 4715, 4720, 4725, 4732, + 4736, 4743, 4748, 4747, 4759, 4763, 4769, 4777, 4785, 4793, + 4797, 4803, 4807, 4813, 4814, 4817, 4822, 4829, 4830, 4833, + 4837, 4843, 4847, 4853, 4859, 4859, 4866, 4867, 4873, 4877, + 4883, 4889, 4894, 4898, 4903, 4908, 4924, 4929, 4935, 4936, + 4937, 4940, 4941, 4942, 4943, 4946, 4947, 4948, 4951, 4952, + 4955, 4959, 4965, 4966, 4972, 4973, 4976, 4977, 4980, 4983, + 4984, 4985, 4988, 4989, 4992, 4997, 5000, 5001, 5005 }; #endif @@ -3109,36 +3122,36 @@ static const char *const yytname[] = "'~'", "tLAST_TOKEN", "'{'", "'}'", "'['", "']'", "','", "'`'", "'('", "')'", "';'", "'.'", "'\\n'", "$accept", "$@1", "program", "top_compstmt", "top_stmts", "top_stmt", "@2", "bodystmt", "compstmt", - "stmts", "$@3", "stmt", "command_asgn", "command_rhs", "expr", - "defn_head", "$@4", "defs_head", "expr_value", "command_call", - "block_command", "$@5", "cmd_brace_block", "command", "mlhs", + "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", "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_list", "mlhs_post", "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym", "undef_list", - "$@6", "op", "reswords", "arg", "aref_args", "arg_rhs", "paren_args", - "opt_paren_args", "opt_call_args", "call_args", "@7", "command_args", - "block_arg", "opt_block_arg", "comma", "args", "mrhs", "primary", "@8", - "@9", "$@10", "$@11", "@12", "@13", "$@14", "$@15", "$@16", "$@17", - "$@18", "$@19", "@20", "@21", "@22", "@23", "primary_value", "then", - "do", "if_tail", "opt_else", "for_var", "f_margs", "$@24", + "$@8", "op", "reswords", "arg", "aref_args", "arg_rhs", "paren_args", + "opt_paren_args", "opt_call_args", "call_args", "@9", "command_args", + "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", "$@25", "block_param_def", "opt_bv_decl", "bv_decls", - "bvar", "f_larglist", "lambda_body", "@26", "do_block", "block_call", - "method_call", "@27", "brace_block", "@28", "case_body", "cases", - "in_clauses", "$@29", "$@30", "$@31", "p_expr", "p_args_head", + "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", + "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_hash", "p_hash_body", "p_hash_elems", "p_hash_elem", "p_kwrest", "p_var", "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", "string", "string_fragment", "string_rep", - "string_interp", "@32", "xstring", "regexp", "heredoc", "heredoc_bodies", - "heredoc_body", "heredoc_string_rep", "heredoc_string_interp", "@33", + "string_interp", "@34", "xstring", "regexp", "heredoc", "heredoc_bodies", + "heredoc_body", "heredoc_string_rep", "heredoc_string_interp", "@35", "words", "symbol", "basic_symbol", "sym", "symbols", "numeric", - "variable", "var_lhs", "var_ref", "backref", "superclass", "$@34", + "variable", "var_lhs", "var_ref", "backref", "superclass", "$@36", "f_opt_arglist_paren", "f_arglist_paren", "f_arglist", "f_label", "f_kw", "f_block_kw", "f_block_kwarg", "f_kwarg", "kwrest_mark", "f_kwrest", "args_tail", "opt_args_tail", "f_args", "f_bad_arg", "f_norm_arg", - "f_arg_item", "@35", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", + "f_arg_item", "@37", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", "f_block_optarg", "f_optarg", "restarg_mark", "f_rest_arg", - "blkarg_mark", "f_block_arg", "opt_f_block_arg", "singleton", "$@36", + "blkarg_mark", "f_block_arg", "opt_f_block_arg", "singleton", "$@38", "assoc_list", "assocs", "assoc", "operation", "operation2", "operation3", "dot_or_colon", "call_op", "call_op2", "opt_terms", "opt_nl", "rparen", "trailer", "term", "nl", "terms", "none", YY_NULLPTR @@ -3151,12 +3164,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-953) +#define YYPACT_NINF (-969) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-686) +#define YYTABLE_NINF (-689) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -3165,128 +3178,128 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -953, 4657, 155, 10239, 13002, 13458, 8289, -953, 12009, 12009, - -953, -953, 13116, 9471, 7905, 10475, 10475, -953, -953, 10475, - 5202, 4794, -953, -953, -953, -953, 25, 9471, -953, 147, - -953, -953, -953, 8431, 4284, -953, -953, 8573, -953, -953, - -953, -953, -953, -953, -953, 168, 12127, 12127, 12127, 12127, - 271, 6726, 1385, 10947, 11301, 9753, -953, 9189, 910, 192, - 696, 1284, 1313, -953, 156, 12245, 12127, -953, 1421, -953, - 1584, -953, 423, 2233, 2233, -953, -953, 152, 222, -953, - 191, 13230, -953, 231, 16263, 432, 519, 234, 130, -953, - 113, -953, -953, -953, -953, -953, -953, -953, -953, -953, - 281, 283, -953, 410, 78, -953, -953, -953, -953, -953, - -953, 255, 255, 25, 89, 769, -953, 12009, 289, 6845, - 590, 1982, 1982, -953, 294, -953, 599, -953, -953, 78, - -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, 102, 188, - 212, 225, -953, -953, -953, -953, -953, -953, 246, 247, - 270, 306, -953, 323, -953, -953, -953, -953, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, -953, 328, - 5758, 366, 423, 2233, 2233, 179, 324, 16387, 675, 236, - 372, 242, 179, 12009, 12009, 735, 430, -953, -953, 751, - 469, 108, 141, -953, -953, -953, -953, -953, -953, -953, - -953, -953, 9330, -953, -953, 359, -953, -953, -953, -953, - -953, -953, 1421, -953, 591, -953, 498, -953, -953, 1421, - 4930, 220, 12127, 12127, 12127, 12127, -953, 16325, -953, -953, - 397, 489, 397, -953, -953, -953, 10593, -953, -953, 10475, - -953, -953, -953, -953, 7905, 8143, -953, 413, 6964, -953, - 782, 452, 16449, 16449, 434, 10357, 6726, 420, 1421, 1584, - 1421, 446, -953, 10357, 1421, 433, 1426, 1426, -953, 16325, - 439, 1426, -953, 516, 13572, 441, 812, 912, 984, 2353, - -953, -953, -953, -953, -953, 1334, -953, -953, -953, -953, - -953, -953, 842, 1353, -953, -953, 383, -953, 974, -953, - 1378, -953, 1408, 538, 543, -953, -953, -953, -953, 7229, - 12009, 12009, 12009, 12009, 10357, 12009, 12009, 60, -953, -953, - -953, -953, 533, 1421, -953, -953, -953, -953, -953, -953, - -953, 2374, 493, 501, 5758, 12127, -953, 511, 609, 523, - -953, 1421, -953, -953, -953, 531, 12127, -953, 539, 641, - 571, 665, -953, -953, 601, 5758, -953, -953, 11419, -953, - 6726, 9867, 582, 11419, 12127, 12127, 12127, 12127, 12127, 12127, - 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, 684, 12127, - 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, - 12127, 3448, -953, 10475, -953, 14100, -953, -953, 15476, -953, - -953, -953, -953, 12245, 12245, -953, 648, -953, 423, -953, - 988, -953, -953, -953, -953, -953, -953, 14186, 10475, 14272, - 5758, 12009, -953, -953, -953, 734, 739, 316, 633, 642, - -953, 5904, 750, 12127, 14358, 10475, 14444, 12127, 12127, 6342, - 52, 52, 157, 14530, 10475, 14616, -953, 707, -953, 6964, - 456, -953, -953, 11537, 770, -953, 12127, 12127, 16387, 16387, - 16387, 12127, -953, -953, 10711, -953, 12127, -953, 11065, 8024, - 644, 1421, 397, 397, -953, -953, 823, 645, -953, -953, - -953, 9471, 6461, 655, 14358, 14444, 12127, 1584, 1421, -953, - -953, 7348, 651, 1584, -953, -953, 11183, -953, 1421, 11301, - -953, -953, -953, 988, 191, 13572, -953, 13572, 14702, 10475, - 14788, 2690, -953, -953, 657, -953, 1412, 6964, 842, -953, - -953, -953, -953, -953, -953, -953, 12127, 12127, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, - 1617, 1421, 1421, 659, 12245, 792, 16387, 1010, -953, -953, - -953, 62, -953, -953, 2539, -953, 16387, 2690, -953, -953, - 1564, -953, -953, 12245, 799, 23, 12127, -953, 15979, 397, - -953, 1421, 13572, 677, -953, -953, -953, 777, 703, 3039, - -953, -953, 1066, 351, 4141, 4141, 4141, 4141, 1782, 1782, - 4487, 3179, 4141, 4141, 16449, 16449, 1143, 1143, -953, 452, - 16387, 1782, 1782, 1100, 1100, 1390, 804, 804, 452, 452, - 452, 1879, 8929, 5474, 9047, -953, 255, -953, 685, 397, - 529, -953, 629, -953, -953, 5066, -953, -953, 2224, 23, - 23, -953, 3346, -953, -953, -953, -953, -953, 1421, 12009, - 5758, 907, 287, -953, 255, 687, 255, 817, 823, 9612, - -953, 11655, 811, -953, 12127, 12127, 619, -953, 8691, 8810, - 697, 370, 406, 811, -953, -953, -953, -953, 120, 132, - 704, 161, 162, 12009, 9471, 698, 12774, 831, 16387, 340, - -953, 16387, 16387, 16387, 669, 12127, 16325, -953, 397, 16387, - -953, -953, -953, -953, 10829, 11065, -953, -953, -953, 714, - -953, -953, 211, 1584, 1421, 1426, 582, -953, 907, 287, - 721, 925, 1213, -953, 98, 2690, -953, 724, -953, 452, - 452, -953, -953, 577, 1421, 723, -953, -953, 2604, 835, - 15548, -953, 810, 533, -953, 523, -953, 1421, -953, -953, - 743, 746, 748, -953, 752, 810, 748, 857, 15610, -953, - -953, 2690, 5758, -953, -953, 16050, 11773, -953, -953, 13572, - 10357, 12245, 12127, 14874, 10475, 14960, 1146, 12245, 12245, -953, - 648, 676, 10711, 12245, 12245, -953, 648, 130, 152, 5758, - 6964, 23, -953, 1421, 888, -953, -953, -953, -953, 15979, - -953, 813, -953, 6607, 890, -953, 12009, 893, -953, 12127, - 12127, 421, 12127, 12127, 897, 7110, 7110, 163, 52, -953, - -953, 3825, 4402, 12468, 63, 3654, 12388, 859, 9981, 10120, - 867, 140, 872, 1150, 870, 12888, 783, 82, -953, -953, - 788, -953, 802, -953, -953, -953, 1458, 12548, -953, 11891, - 6050, 16387, -953, 8024, 397, -953, -953, -953, 615, 779, - 1434, 5758, 6964, -953, -953, -953, 806, -953, 1625, 1421, - 12127, 12127, -953, -953, 2690, -953, 1564, -953, 1564, -953, - 1564, -953, -953, 12127, 12127, -953, -953, -953, 13686, -953, - 825, 523, 836, 13686, -953, 837, 838, -953, 939, 12127, - 16121, -953, -953, 16387, 5338, 5610, 845, 424, 513, 12127, - 12127, -953, -953, -953, -953, -953, 12245, -953, -953, -953, - -953, -953, -953, -953, 972, 851, 6964, 5758, -953, -953, - 13800, 179, -953, -953, 7110, -953, -953, 179, -953, 12127, - -953, 983, 985, -953, 13344, 988, 13848, 948, 7613, -953, - 1152, -953, 866, 877, 878, 12628, 93, 7759, -953, 884, - 882, -953, 15903, -953, -953, -953, -953, 15046, 12009, 12009, - 6196, 12294, 886, 887, -953, 980, 13344, 13344, 87, 13344, - 16387, 111, -953, 11065, -953, 1534, 1022, 923, 1029, 1029, - 1002, -953, 16387, 16387, 748, 904, 748, 748, 16387, 16387, - 938, 940, 994, 1172, 1010, -953, -953, 1744, -953, 1172, - 2690, -953, 1564, -953, -953, 16192, 521, 16387, 16387, -953, - -953, -953, -953, 936, 1055, 1033, -953, 1199, 912, 984, - 5758, -953, 5904, -953, -953, 7110, -953, 15749, 13925, 15132, - -953, 12888, 13344, 7467, 15826, 14002, -953, 87, 933, 287, - 179, 179, 245, -953, 13344, -953, -953, 950, -953, 1037, - -953, -953, 1003, -953, -953, -953, -953, -953, 957, -953, - -953, -953, -953, 961, 961, 1029, 962, -953, 1564, -953, - -953, -953, -953, -953, -953, 15218, -953, 523, 1010, -953, - -953, 973, 975, 978, -953, 979, 978, -953, -953, 988, - 15304, 10475, 15390, 739, 619, 1107, 15672, -953, 992, 995, - -953, 6196, 6196, 12774, -953, 1110, 950, 13344, 1534, 669, - 1029, 961, 1029, 748, 1001, -953, 2690, -953, 1564, -953, - 1564, -953, 1564, -953, -953, 907, 287, 1007, 481, 654, - -953, -953, -953, 13344, 13344, 245, 245, 647, -953, -953, - -953, 961, -953, 978, 1009, 978, 978, 615, 995, 1134, - 1142, 179, 1118, 1122, -953, 1564, -953, -953, -953, -953, - -953, 6196, 12009, 12009, 978, 245, 179, 179, -953, -953, - 6196, 6196, 245, 245, -953, -953 + -969, 4457, 111, 11373, 3656, 14067, 9423, -969, 13143, 13143, + -969, -969, 13725, 10605, 9039, 11609, 11609, -969, -969, 11609, + 5386, 4570, -969, -969, -969, -969, -10, 10605, -969, -17, + -969, -969, -969, 9565, 4100, -969, -969, 9707, -969, -969, + -969, -969, -969, -969, -969, 287, 13261, 13261, 13261, 13261, + 90, 7860, 1522, 12081, 12435, 10887, -969, 10323, 852, 427, + 1214, 1010, 1081, -969, 268, 13379, 13261, -969, 934, -969, + 1019, -969, 477, 1722, 1722, -969, -969, 139, 59, -969, + 67, 13839, -969, 133, 6746, 540, 571, 83, 80, -969, + 426, -969, -969, -969, -969, -969, -969, -969, -969, -969, + 299, 119, -969, 454, 61, -969, -969, -969, -969, -969, + -969, 129, 129, -10, 497, 760, -969, 13143, 367, 7979, + 498, 1928, 1928, -969, 150, -969, 636, -969, -969, 61, + -969, -969, -969, -969, -969, -969, -969, -969, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, 72, 79, + 120, 181, -969, -969, -969, -969, -969, -969, 182, 211, + 229, 250, -969, 253, -969, -969, -969, -969, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, -969, 297, + 6892, 232, 477, 1722, 1722, 185, 172, 748, 343, 214, + 377, 185, 13143, 13143, 749, 259, -969, -969, 789, 296, + 49, 92, -969, -969, -969, -969, -969, -969, -969, -969, + -969, 10464, -969, -969, 196, -969, -969, -969, -969, -969, + -969, 934, -969, 387, -969, 325, -969, -969, 934, 4706, + 51, 13261, 13261, 13261, 13261, -969, 16802, -969, -969, 263, + 317, 263, -969, -969, -969, 11727, -969, -969, 11609, -969, + -969, -969, -969, 9039, 9277, -969, 258, 8098, -969, 858, + 310, 3142, 3142, 467, 11491, 7860, 305, 934, 1019, 934, + 341, -969, 11491, 934, 330, 1700, 1700, -969, 16802, 342, + 1700, -969, 435, 14181, 354, 870, 950, 952, 1378, -969, + -969, -969, -969, -969, 1391, -969, -969, -969, -969, -969, + -969, 630, 1394, -969, -969, 838, -969, 1353, -969, 1403, + -969, 1424, 407, 415, -969, -969, -969, -969, 8363, 13143, + 13143, 13143, 13143, 11491, 13143, 13143, 63, -969, -969, -969, + -969, 461, 934, -969, -969, -969, -969, -969, -969, -969, + 2248, 401, 405, 6892, 13261, -969, 396, 478, 419, -969, + 934, -969, -969, -969, 422, 13261, -969, 428, 528, 431, + 569, -969, -969, 421, 6892, -969, -969, 12553, -969, 7860, + 11001, 484, 12553, -969, 13261, 13261, 13261, 13261, 13261, 13261, + 13261, 13261, 13261, 13261, 13261, 13261, 13261, 13261, -969, 13261, + 13261, 13261, 13261, 13261, 13261, 13261, 13261, 13261, 13261, 13261, + 13261, 14709, -969, 11609, -969, 14795, -969, -969, 4306, -969, + -969, -969, -969, 13379, 13379, -969, 537, -969, 477, -969, + 989, -969, -969, -969, -969, -969, -969, 14881, 11609, 14967, + 6892, 13143, -969, -969, -969, 635, 634, 474, 532, 536, + -969, 7038, 651, 13261, 15053, 11609, 15139, 13261, 13261, 7476, + 697, 697, 113, 15225, 11609, 15311, -969, 608, -969, 8098, + 222, -969, -969, 12671, 660, -969, 13261, 13261, 16864, 16864, + 16864, 13261, -969, -969, 11845, -969, 13261, -969, 12199, 9158, + 545, 934, 263, 263, -969, -969, 1138, 552, -969, -969, + -969, 10605, 7595, 563, 15053, 15139, 13261, 1019, 934, -969, + -969, 8482, 557, 1019, -969, -969, 12317, -969, 934, 12435, + -969, -969, -969, 989, 67, 14181, -969, 14181, 15397, 11609, + 15483, 2085, -969, -969, 566, -969, 1452, 8098, 630, -969, + -969, -969, -969, -969, -969, -969, 13261, 13261, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, -969, -969, + 1502, 934, 934, 572, 13379, 689, 16864, 1224, -969, -969, + -969, 1, -969, -969, 2331, -969, 16864, 2085, -969, -969, + 1529, -969, -969, 13379, 701, 91, 13261, -969, 3470, 263, + -969, 934, 14181, 597, -969, -969, -969, 681, 623, 1800, + -969, -969, 1103, 480, 13497, 3060, 3060, 3060, 3060, 1623, + 1623, 16882, 3952, 3060, 3060, 3142, 3142, 857, 857, 13497, + 310, 16864, 1623, 1623, 1732, 1732, 1807, 204, 204, 310, + 310, 310, 5522, 10063, 6474, 10181, -969, 129, -969, 611, + 263, 521, -969, 522, -969, -969, 4842, -969, -969, 2804, + 91, 91, -969, 2547, -969, -969, -969, -969, -969, 934, + 13143, 6892, 856, 311, -969, 129, 612, 129, 740, 1138, + 10746, -969, 12789, 747, -969, 13261, 13261, 588, -969, 9825, + 9944, 628, 491, 518, 747, -969, -969, -969, -969, 37, + 87, 631, 122, 141, 13143, 10605, 640, 13497, 756, 16864, + 117, -969, 16864, 16864, 16864, 382, 13261, 16802, -969, 263, + 16864, -969, -969, -969, -969, 11963, 12199, -969, -969, -969, + 643, -969, -969, 101, 1019, 934, 1700, 484, -969, 856, + 311, 644, 966, 1012, -969, 153, 2085, -969, 653, -969, + 310, 310, -969, -969, 1329, 934, 656, -969, -969, 2352, + 751, 16158, -969, 742, 461, -969, 419, -969, 934, -969, + -969, 659, 663, 666, -969, 675, 742, 666, 774, 16220, + -969, -969, 2085, 6892, -969, -969, 16589, 12907, -969, -969, + 14181, 11491, 13379, 13261, 15569, 11609, 15655, 5794, 5930, 6066, + 717, 4978, 5250, 764, 11115, 11254, 770, 339, 772, 1123, + -969, 13611, 684, 39, -969, -969, 685, -969, 688, -969, + -969, -969, 2251, 6202, -969, 710, 13379, 13379, -969, 537, + 589, 11845, 13379, 13379, -969, 537, 80, 139, 6892, 8098, + 91, -969, 934, 817, -969, -969, -969, -969, 3470, -969, + 741, -969, 7741, 828, -969, 13143, 829, -969, 13261, 13261, + 535, 13261, 13261, 831, 8244, 8244, 143, 697, -969, -969, + 632, -969, 13025, 7184, 16864, -969, 9158, 263, -969, -969, + -969, 1162, 702, 1528, 6892, 8098, -969, -969, -969, 706, + -969, 1610, 934, 13261, 13261, -969, -969, 2085, -969, 1529, + -969, 1529, -969, 1529, -969, -969, 13261, 13261, -969, -969, + -969, 14295, -969, 709, 419, 718, 14295, -969, 724, 726, + -969, 841, 13261, 16660, -969, -969, 16864, 5658, 6610, 711, + 602, 609, 13953, 989, 14457, 816, 8747, -969, 1231, -969, + 732, 743, 745, 6338, 254, 8893, -969, 735, 766, -969, + 16513, -969, -969, -969, -969, 15741, 5114, 767, 769, -969, + 832, 13953, 13953, 366, 13953, 13261, 13261, -969, -969, -969, + -969, -969, 13379, -969, -969, -969, -969, -969, -969, -969, + 891, 781, 8098, 6892, -969, -969, 14409, 185, -969, -969, + 8244, -969, -969, 185, -969, 13261, -969, 906, 915, -969, + 13143, 13143, 7330, 16864, 178, -969, 12199, -969, 1629, 916, + 794, 1482, 1482, 1340, -969, 16864, 16864, 666, 792, 666, + 666, 16864, 16864, 809, 811, 884, 1252, 1224, -969, -969, + 1995, -969, 1252, 2085, -969, 1529, -969, -969, 16731, 621, + -969, 16359, 14534, 15827, -969, 13611, 13953, 8601, 16436, 14611, + -969, 366, 796, 311, -969, 13953, -969, -969, 801, -969, + 888, -969, -969, 854, -969, 16864, 16864, -969, -969, -969, + -969, 818, 949, 911, -969, 1264, 950, 952, 6892, -969, + 7038, -969, -969, 8244, 185, 185, 227, -969, -969, -969, + -969, 834, -969, -969, -969, -969, 835, 835, 1482, 839, + -969, 1529, -969, -969, -969, -969, -969, -969, 15913, -969, + 419, 1224, -969, -969, 851, 859, 862, -969, 874, 862, + 16282, -969, 880, 885, -969, 801, 13953, -969, -969, 989, + 15999, 11609, 16085, 634, 588, 959, 7330, 7330, 13497, -969, + 984, 1629, 382, 1482, 835, 1482, 666, 868, -969, 2085, + -969, 1529, -969, 1529, -969, 1529, -969, -969, 13953, 13953, + -969, 856, 311, 887, 198, 618, -969, -969, -969, 227, + 227, 591, -969, -969, 835, -969, 862, 889, 862, 862, + 885, 1162, 1018, 1021, 185, 994, 998, -969, 1529, -969, + -969, -969, -969, -969, 7330, 13143, 13143, 862, 227, 185, + 185, -969, -969, 7330, 7330, 227, 227, -969, -969 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3294,178 +3307,178 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 2, 0, 0, 0, 0, 0, 0, 294, 0, 0, - 318, 321, 0, 0, 671, 341, 342, 343, 344, 306, - 270, 270, 556, 555, 557, 558, 673, 0, 10, 0, - 560, 559, 561, 546, 657, 548, 547, 550, 549, 542, - 543, 503, 504, 562, 563, 554, 0, 0, 0, 0, - 0, 0, 296, 685, 685, 88, 313, 0, 0, 0, - 0, 0, 0, 518, 0, 0, 0, 3, 671, 6, - 9, 27, 33, 610, 610, 49, 60, 59, 0, 76, - 0, 80, 90, 0, 54, 248, 0, 61, 311, 286, - 287, 501, 288, 289, 290, 499, 498, 530, 500, 497, - 553, 0, 291, 292, 270, 5, 1, 8, 341, 342, - 306, 685, 417, 0, 113, 114, 554, 0, 0, 0, - 0, 610, 610, 116, 564, 345, 0, 553, 292, 0, - 337, 168, 178, 169, 165, 194, 195, 196, 197, 176, - 191, 184, 174, 173, 189, 172, 171, 167, 192, 166, - 179, 183, 185, 177, 170, 186, 193, 188, 187, 180, - 190, 175, 164, 182, 181, 163, 161, 162, 158, 159, - 160, 118, 120, 119, 153, 154, 131, 132, 133, 140, - 137, 139, 134, 135, 155, 156, 141, 142, 146, 149, - 150, 136, 138, 128, 129, 130, 143, 144, 145, 147, - 148, 151, 152, 157, 641, 55, 121, 122, 640, 0, - 0, 0, 58, 610, 610, 0, 0, 54, 0, 553, - 0, 292, 0, 0, 0, 112, 0, 356, 355, 0, - 0, 553, 292, 187, 180, 190, 175, 158, 159, 160, - 118, 119, 0, 123, 125, 20, 124, 521, 526, 525, - 679, 681, 671, 682, 0, 523, 0, 683, 680, 672, - 655, 554, 278, 654, 273, 0, 265, 277, 74, 269, - 685, 501, 685, 645, 75, 73, 685, 259, 307, 0, - 72, 258, 416, 71, 671, 0, 18, 0, 0, 221, - 0, 222, 209, 212, 303, 0, 0, 0, 671, 15, - 671, 78, 14, 0, 671, 0, 676, 676, 249, 0, - 0, 676, 643, 0, 0, 86, 0, 96, 103, 610, - 536, 535, 537, 538, 532, 0, 534, 533, 505, 510, - 509, 512, 0, 0, 507, 514, 0, 516, 0, 528, - 0, 540, 0, 544, 545, 53, 236, 237, 4, 672, - 0, 0, 0, 0, 0, 0, 0, 617, 613, 612, - 611, 614, 615, 0, 619, 631, 586, 587, 635, 634, - 630, 610, 0, 572, 0, 579, 584, 685, 589, 685, - 609, 0, 616, 618, 621, 595, 0, 628, 595, 633, - 595, 637, 593, 568, 0, 0, 404, 406, 0, 92, - 0, 84, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 208, 211, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 297, 0, 0, + 321, 324, 0, 0, 674, 344, 345, 346, 347, 309, + 273, 273, 559, 558, 560, 561, 676, 0, 10, 0, + 563, 562, 564, 549, 660, 551, 550, 553, 552, 545, + 546, 506, 507, 565, 566, 557, 0, 0, 0, 0, + 0, 0, 299, 688, 688, 91, 316, 0, 0, 0, + 0, 0, 0, 521, 0, 0, 0, 3, 674, 6, + 9, 27, 32, 613, 613, 48, 63, 62, 0, 79, + 0, 83, 93, 0, 0, 251, 0, 64, 314, 289, + 290, 504, 291, 292, 293, 502, 501, 533, 503, 500, + 556, 0, 294, 295, 273, 5, 1, 8, 344, 345, + 309, 688, 420, 0, 116, 117, 557, 0, 0, 0, + 0, 613, 613, 119, 567, 348, 0, 556, 295, 0, + 340, 171, 181, 172, 168, 197, 198, 199, 200, 179, + 194, 187, 177, 176, 192, 175, 174, 170, 195, 169, + 182, 186, 188, 180, 173, 189, 196, 191, 190, 183, + 193, 178, 167, 185, 184, 166, 164, 165, 161, 162, + 163, 121, 123, 122, 156, 157, 134, 135, 136, 143, + 140, 142, 137, 138, 158, 159, 144, 145, 149, 152, + 153, 139, 141, 131, 132, 133, 146, 147, 148, 150, + 151, 154, 155, 160, 644, 58, 124, 125, 643, 0, + 0, 0, 61, 613, 613, 0, 0, 0, 556, 0, + 295, 0, 0, 0, 115, 0, 359, 358, 0, 0, + 556, 295, 190, 183, 193, 178, 161, 162, 163, 121, + 122, 0, 126, 128, 20, 127, 524, 529, 528, 682, + 684, 674, 685, 0, 526, 0, 686, 683, 675, 658, + 557, 281, 657, 276, 0, 268, 280, 77, 272, 688, + 504, 688, 648, 78, 76, 688, 262, 310, 0, 75, + 261, 419, 74, 674, 0, 18, 0, 0, 224, 0, + 225, 212, 215, 306, 0, 0, 0, 674, 15, 674, + 81, 14, 0, 674, 0, 679, 679, 252, 0, 0, + 679, 646, 0, 0, 89, 0, 99, 106, 613, 539, + 538, 540, 541, 535, 0, 537, 536, 508, 513, 512, + 515, 0, 0, 510, 517, 0, 519, 0, 531, 0, + 543, 0, 547, 548, 52, 239, 240, 4, 675, 0, + 0, 0, 0, 0, 0, 0, 620, 616, 615, 614, + 617, 618, 0, 622, 634, 589, 590, 638, 637, 633, + 613, 0, 575, 0, 582, 587, 688, 592, 688, 612, + 0, 619, 621, 624, 598, 0, 631, 598, 636, 598, + 640, 596, 571, 0, 0, 407, 409, 0, 95, 0, + 87, 84, 0, 55, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 211, 214, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 668, 685, 667, 0, 670, 669, 0, 421, - 419, 312, 502, 0, 0, 410, 65, 310, 334, 113, - 114, 115, 544, 545, 572, 565, 332, 0, 685, 0, - 0, 0, 666, 665, 56, 0, 685, 303, 0, 0, - 347, 0, 346, 0, 0, 685, 0, 0, 0, 0, - 0, 0, 303, 0, 685, 0, 329, 0, 126, 0, - 0, 522, 524, 0, 0, 684, 649, 650, 279, 653, - 272, 0, 673, 266, 0, 275, 0, 267, 0, 671, - 0, 671, 685, 685, 260, 271, 671, 0, 309, 52, - 674, 0, 0, 0, 0, 0, 0, 17, 671, 301, - 13, 672, 77, 297, 300, 304, 678, 250, 677, 678, - 252, 305, 644, 102, 94, 0, 89, 0, 0, 685, - 0, 610, 314, 401, 595, 539, 0, 0, 513, 519, - 506, 508, 515, 517, 529, 541, 0, 0, 7, 21, - 22, 23, 24, 25, 50, 51, 576, 623, 577, 575, - 0, 671, 671, 595, 0, 0, 578, 0, 591, 639, - 588, 0, 592, 573, 0, 602, 624, 0, 605, 632, - 0, 607, 636, 0, 0, 685, 278, 28, 30, 0, - 31, 671, 0, 82, 93, 48, 34, 46, 0, 253, - 198, 29, 0, 292, 226, 231, 232, 233, 228, 230, - 240, 241, 234, 235, 207, 210, 238, 239, 32, 218, - 673, 227, 229, 223, 224, 225, 213, 214, 215, 216, - 217, 658, 663, 659, 664, 415, 270, 413, 0, 685, - 658, 660, 659, 661, 414, 270, 658, 659, 270, 685, - 685, 35, 253, 199, 45, 206, 63, 66, 0, 0, - 0, 113, 114, 117, 0, 0, 685, 0, 671, 0, - 295, 685, 685, 489, 0, 0, 685, 348, 662, 302, - 0, 658, 659, 685, 350, 319, 349, 322, 662, 302, - 0, 658, 659, 0, 0, 0, 0, 0, 277, 0, - 325, 648, 651, 647, 276, 281, 280, 274, 685, 652, - 646, 257, 255, 261, 262, 264, 308, 675, 19, 0, - 26, 205, 79, 16, 671, 676, 95, 87, 99, 101, - 0, 98, 100, 673, 0, 0, 531, 0, 520, 219, - 220, 617, 615, 364, 671, 357, 571, 569, 0, 41, - 244, 339, 0, 0, 585, 685, 638, 0, 594, 622, - 595, 595, 595, 629, 595, 617, 595, 43, 246, 340, - 392, 390, 0, 389, 388, 285, 0, 91, 85, 0, - 0, 0, 0, 0, 685, 0, 0, 0, 0, 412, - 69, 418, 262, 0, 0, 411, 67, 407, 62, 0, - 0, 685, 335, 0, 0, 418, 338, 642, 57, 490, - 491, 685, 492, 0, 685, 353, 0, 0, 351, 0, - 0, 418, 0, 0, 0, 0, 0, 418, 0, 127, - 527, 0, 0, 0, 487, 0, 0, 0, 0, 0, - 473, 486, 0, 0, 0, 0, 433, 446, 448, 460, - 437, 461, 439, 479, 441, 450, 0, 0, 324, 0, - 0, 282, 268, 671, 685, 11, 298, 251, 97, 0, - 394, 0, 0, 315, 511, 365, 362, 620, 0, 671, - 0, 0, 590, 574, 0, 598, 0, 600, 0, 606, - 0, 603, 608, 0, 0, 387, 673, 673, 581, 582, - 685, 685, 372, 0, 626, 372, 372, 370, 0, 281, - 283, 83, 47, 254, 658, 659, 0, 658, 659, 0, - 0, 40, 203, 39, 204, 70, 0, 37, 201, 38, - 202, 68, 408, 409, 0, 0, 0, 0, 566, 333, - 0, 0, 494, 354, 0, 12, 496, 0, 316, 0, - 317, 0, 0, 330, 482, 459, 0, 0, 0, 464, - 0, 470, 0, 465, 468, 0, 546, 0, 475, 0, - 476, 478, 0, 472, 485, 484, 462, 0, 0, 0, - 0, 0, 434, 435, 442, 0, 0, 0, 0, 0, - 280, 685, 256, 263, 400, 0, 0, 0, 0, 0, - 360, 570, 42, 245, 595, 595, 595, 595, 44, 247, - 0, 0, 0, 580, 0, 368, 369, 372, 380, 625, - 0, 383, 0, 385, 405, 284, 418, 243, 242, 36, - 200, 422, 420, 0, 0, 0, 493, 0, 104, 111, - 0, 495, 0, 320, 323, 0, 481, 0, 0, 0, - 463, 0, 0, 0, 0, 0, 474, 0, 662, 458, - 0, 0, 685, 443, 0, 447, 449, 438, 444, 0, - 480, 440, 0, 483, 424, 425, 423, 398, 673, 396, - 399, 403, 402, 366, 363, 0, 358, 599, 0, 596, - 601, 604, 393, 391, 303, 0, 583, 685, 0, 371, - 378, 372, 372, 372, 627, 372, 372, 64, 336, 110, - 0, 685, 0, 685, 685, 0, 0, 471, 466, 469, - 477, 0, 0, 0, 426, 0, 436, 0, 0, 395, - 0, 361, 0, 595, 302, 367, 0, 375, 0, 377, - 0, 384, 0, 381, 386, 107, 109, 0, 658, 659, - 488, 352, 331, 0, 0, 685, 685, 427, 326, 445, - 397, 359, 597, 372, 372, 372, 372, 105, 467, 0, - 0, 0, 0, 0, 376, 0, 373, 379, 382, 327, - 328, 0, 0, 0, 372, 685, 0, 0, 374, 428, - 0, 0, 685, 685, 430, 432 + 0, 0, 671, 688, 670, 0, 673, 672, 0, 424, + 422, 315, 505, 0, 0, 413, 68, 313, 337, 116, + 117, 118, 547, 548, 575, 568, 335, 0, 688, 0, + 0, 0, 669, 668, 59, 0, 688, 306, 0, 0, + 350, 0, 349, 0, 0, 688, 0, 0, 0, 0, + 0, 0, 306, 0, 688, 0, 332, 0, 129, 0, + 0, 525, 527, 0, 0, 687, 652, 653, 282, 656, + 275, 0, 676, 269, 0, 278, 0, 270, 0, 674, + 0, 674, 688, 688, 263, 274, 674, 0, 312, 51, + 677, 0, 0, 0, 0, 0, 0, 17, 674, 304, + 13, 675, 80, 300, 303, 307, 681, 253, 680, 681, + 255, 308, 647, 105, 97, 0, 92, 0, 0, 688, + 0, 613, 317, 404, 598, 542, 0, 0, 516, 522, + 509, 511, 518, 520, 532, 544, 0, 0, 7, 21, + 22, 23, 24, 25, 49, 50, 579, 626, 580, 578, + 0, 674, 674, 598, 0, 0, 581, 0, 594, 642, + 591, 0, 595, 576, 0, 605, 627, 0, 608, 635, + 0, 610, 639, 0, 0, 688, 281, 28, 30, 0, + 31, 674, 0, 85, 96, 47, 33, 45, 0, 256, + 201, 29, 0, 295, 0, 229, 234, 235, 236, 231, + 233, 243, 244, 237, 238, 210, 213, 241, 242, 0, + 221, 676, 230, 232, 226, 227, 228, 216, 217, 218, + 219, 220, 661, 666, 662, 667, 418, 273, 416, 0, + 688, 661, 663, 662, 664, 417, 273, 661, 662, 273, + 688, 688, 34, 256, 202, 44, 209, 66, 69, 0, + 0, 0, 116, 117, 120, 0, 0, 688, 0, 674, + 0, 298, 688, 688, 492, 0, 0, 688, 351, 665, + 305, 0, 661, 662, 688, 353, 322, 352, 325, 665, + 305, 0, 661, 662, 0, 0, 0, 0, 0, 280, + 0, 328, 651, 654, 650, 279, 284, 283, 277, 688, + 655, 649, 260, 258, 264, 265, 267, 311, 678, 19, + 0, 26, 208, 82, 16, 674, 679, 98, 90, 102, + 104, 0, 101, 103, 676, 0, 0, 534, 0, 523, + 222, 223, 620, 618, 367, 674, 360, 574, 572, 0, + 40, 247, 342, 0, 0, 588, 688, 641, 0, 597, + 625, 598, 598, 598, 632, 598, 620, 598, 42, 249, + 343, 395, 393, 0, 392, 391, 288, 0, 94, 88, + 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, + 490, 0, 0, 0, 0, 0, 476, 489, 0, 0, + 56, 0, 436, 449, 451, 463, 440, 464, 442, 482, + 444, 453, 0, 0, 54, 0, 0, 0, 415, 72, + 421, 265, 0, 0, 414, 70, 410, 65, 0, 0, + 688, 338, 0, 0, 421, 341, 645, 60, 493, 494, + 688, 495, 0, 688, 356, 0, 0, 354, 0, 0, + 421, 0, 0, 0, 0, 0, 421, 0, 130, 530, + 0, 327, 0, 0, 285, 271, 674, 688, 11, 301, + 254, 100, 0, 397, 0, 0, 318, 514, 368, 365, + 623, 0, 674, 0, 0, 593, 577, 0, 601, 0, + 603, 0, 609, 0, 606, 611, 0, 0, 390, 676, + 676, 584, 585, 688, 688, 375, 0, 629, 375, 375, + 373, 0, 284, 286, 86, 46, 257, 661, 662, 0, + 661, 662, 485, 462, 0, 0, 0, 467, 0, 473, + 0, 468, 471, 0, 549, 0, 478, 0, 479, 481, + 0, 475, 488, 487, 465, 0, 0, 437, 438, 445, + 0, 0, 0, 0, 0, 0, 0, 39, 206, 38, + 207, 73, 0, 36, 204, 37, 205, 71, 411, 412, + 0, 0, 0, 0, 569, 336, 0, 0, 497, 357, + 0, 12, 499, 0, 319, 0, 320, 0, 0, 333, + 0, 0, 0, 283, 688, 259, 266, 403, 0, 0, + 0, 0, 0, 363, 573, 41, 248, 598, 598, 598, + 598, 43, 250, 0, 0, 0, 583, 0, 371, 372, + 375, 383, 628, 0, 386, 0, 388, 408, 287, 421, + 484, 0, 0, 0, 466, 0, 0, 0, 0, 0, + 477, 0, 665, 461, 446, 0, 450, 452, 441, 447, + 0, 483, 443, 0, 486, 246, 245, 35, 203, 425, + 423, 0, 0, 0, 496, 0, 107, 114, 0, 498, + 0, 323, 326, 0, 0, 0, 688, 427, 428, 426, + 401, 676, 399, 402, 406, 405, 369, 366, 0, 361, + 602, 0, 599, 604, 607, 396, 394, 306, 0, 586, + 688, 0, 374, 381, 375, 375, 375, 630, 375, 375, + 0, 474, 469, 472, 480, 439, 0, 67, 339, 113, + 0, 688, 0, 688, 688, 0, 0, 0, 0, 429, + 0, 0, 398, 0, 364, 0, 598, 305, 370, 0, + 378, 0, 380, 0, 387, 0, 384, 389, 0, 0, + 448, 110, 112, 0, 661, 662, 491, 355, 334, 688, + 688, 430, 329, 400, 362, 600, 375, 375, 375, 375, + 470, 108, 0, 0, 0, 0, 0, 379, 0, 376, + 382, 385, 330, 331, 0, 0, 0, 375, 688, 0, + 0, 377, 431, 0, 0, 688, 688, 433, 435 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -953, -953, -953, 637, -953, 30, -953, -256, 307, -953, - -953, 66, -220, -385, -5, 1247, -953, 1754, 15, -3, - -953, -953, -133, 127, 1155, -174, 5, -74, -230, -477, - -21, 2399, -103, 1163, 42, -16, -953, -953, 4, -953, - 3657, -953, 624, 73, -95, -350, 76, -953, 7, -483, - -259, -142, 125, -381, 261, -953, -953, -953, -953, -953, - -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, - -953, 35, -185, -465, 36, -545, -953, -953, -953, 378, - 39, -953, -573, -953, -953, -173, -953, 24, -953, -953, - -953, 355, -953, -953, -953, -80, -953, -476, -953, -66, - -953, -953, -953, 37, -953, 97, 240, -953, 177, -953, - -953, -948, -778, -953, -953, 326, -845, -791, -953, 53, - -953, -953, -953, -953, -953, 228, 100, -235, -953, -953, - -953, -953, -953, -291, -953, 937, -953, -953, 628, 19, - -953, -953, 689, 2482, 3037, 1184, 2177, -953, -953, -8, - 575, 14, -550, 605, 160, -953, -953, -953, -190, 578, - -370, -245, -952, -728, -534, -953, 404, -749, -542, -926, - 159, -513, -953, -148, -953, -478, -377, -953, -953, -953, - 11, -463, 931, -353, -953, -953, -81, -953, 9, -25, - 814, -236, 662, -273, -11, -1 + -969, -969, -969, 519, -969, 24, -969, -266, 473, -969, + -969, 40, -389, -397, -2, -969, -969, 1150, -969, 1713, + 15, -40, -969, -969, -521, 19, 1032, -192, 13, -60, + -287, -498, -18, 2581, -88, 1040, 3, -26, -969, -969, + 69, -969, 3468, -969, 863, 104, -346, -419, 103, -969, + -11, -447, -263, -129, 17, -362, 93, -969, -969, -969, + -969, -969, -969, -969, -969, -969, -969, -969, -969, -969, + -969, -969, -969, 76, -203, -470, -93, -558, -969, -969, + -969, 262, 400, -969, -604, -969, -969, -199, -969, -66, + -969, -969, -969, 244, -969, -969, -969, -83, -969, -474, + -969, 393, -969, -969, -969, -581, -969, 28, 135, -969, + 125, -969, -969, -878, -743, -969, -969, 285, -890, -746, + -969, -38, -969, -969, -969, -969, -969, 562, 99, -135, + -969, -969, -969, -969, -969, -280, -969, 850, -969, -969, + 837, 4, -969, -969, 560, 2439, 2955, 1102, 2171, -969, + -969, 26, 613, 27, 251, 527, 84, -969, -969, -969, + 190, 714, -345, -195, -968, -716, -579, -969, 583, -764, + -552, -967, 82, -500, -969, -508, -969, 75, -374, -969, + -969, -969, 170, -440, 964, -322, -969, -969, -64, -969, + 88, -23, -148, -247, -71, -282, -48, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 2, 67, 68, 69, 287, 465, 466, 298, - 521, 299, 71, 616, 72, 213, 689, 214, 215, 75, - 76, 821, 677, 77, 78, 300, 79, 80, 81, 546, - 82, 216, 123, 124, 243, 244, 245, 714, 654, 207, - 84, 305, 620, 655, 278, 510, 511, 279, 280, 269, - 503, 539, 659, 610, 85, 210, 303, 744, 304, 319, - 754, 223, 845, 224, 846, 713, 1065, 680, 678, 957, - 460, 290, 471, 705, 837, 1144, 230, 764, 1018, 1119, - 1038, 916, 792, 917, 793, 889, 1098, 1099, 552, 893, - 605, 397, 87, 88, 670, 447, 669, 494, 1096, 1145, - 1191, 1192, 1193, 864, 865, 1087, 981, 867, 868, 869, - 982, 983, 870, 871, 989, 872, 873, 874, 875, 692, - 831, 961, 965, 89, 90, 91, 333, 334, 557, 92, - 93, 94, 558, 253, 254, 255, 489, 95, 96, 97, - 327, 98, 99, 219, 220, 102, 221, 456, 679, 372, - 373, 374, 375, 376, 919, 920, 377, 378, 379, 778, - 595, 381, 382, 383, 384, 580, 385, 386, 387, 924, - 925, 388, 389, 390, 391, 392, 588, 209, 461, 310, - 513, 273, 129, 684, 657, 464, 459, 438, 517, 890, - 518, 537, 257, 258, 259, 302 + 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, + 303, 318, 755, 222, 874, 223, 875, 714, 1093, 681, + 679, 993, 460, 289, 471, 706, 866, 1149, 229, 765, + 1021, 1122, 1041, 919, 793, 920, 794, 892, 1101, 1102, + 552, 896, 605, 396, 87, 88, 671, 447, 670, 494, + 1099, 1150, 1194, 1195, 1196, 820, 821, 1068, 822, 823, + 824, 825, 950, 951, 826, 827, 957, 828, 829, 830, + 831, 693, 860, 997, 1001, 89, 90, 91, 332, 333, + 557, 92, 93, 94, 558, 252, 253, 254, 489, 95, + 96, 97, 326, 98, 99, 218, 219, 102, 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, 209, + 461, 309, 513, 272, 129, 685, 658, 464, 459, 438, + 517, 893, 518, 537, 256, 257, 258, 301 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -3473,584 +3486,712 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 105, 285, 592, 212, 212, 435, 437, 402, 441, 212, - 206, 286, 520, 507, 717, 451, 707, 206, 598, 281, - 601, 727, 621, 256, 222, 727, 272, 272, 283, 252, - 272, 206, 246, 107, 315, 896, 86, 479, 86, 126, - 126, 559, 923, 218, 218, 730, 246, 229, 205, 218, - 218, 218, 308, 312, 218, 783, 301, 349, 671, 674, - 779, 206, 345, 1100, 307, 311, 394, 70, 991, 70, - 747, 540, 393, 393, 553, 542, 730, 348, 656, 704, - 984, 780, 665, 658, 545, 668, 86, 1003, 395, -655, - 316, 268, 274, 277, 282, 275, 819, 820, 561, 326, - 218, 561, 790, 561, 439, 561, 686, 561, 685, 776, - 281, 446, 448, 776, 1124, -655, 316, 576, 585, -655, - 974, 656, 528, 665, 1139, 700, 582, 891, 504, 833, - 508, 493, 686, -104, 710, 798, 395, 476, 1089, 604, - 270, 270, 266, 266, 270, -107, 266, 834, 485, 791, - 1073, 838, 218, -546, 86, 106, 439, -109, 844, 336, - 338, 340, 342, 1090, 536, 368, -111, 247, -546, 284, - 248, 249, 686, 41, 994, 1005, 42, 445, 306, -546, - 396, 577, -110, 615, 277, 282, -106, -108, -105, 861, - 369, 995, -556, 57, -546, 470, 1100, 686, 250, 750, - 251, -655, 445, -546, 687, 468, 469, -655, 1006, 525, - -546, 892, 393, 393, 343, 344, 440, 1091, 212, 212, - 58, 779, 276, 615, 615, 1188, 611, -655, 395, -546, - 1124, -655, 1090, -655, 779, 550, -546, -655, 480, 481, - 544, 918, 780, 271, 271, 86, 206, 271, 956, -556, - -96, 727, 727, 335, 507, 780, 329, 330, 218, 218, - -552, 490, -99, 833, -658, 125, 125, 758, 440, 505, - 1143, 505, 730, 125, -101, 514, -659, 497, -555, 516, - 519, 271, 271, -103, 326, 288, 1140, 531, 923, -112, - 272, 923, 1106, 1138, 247, 538, 538, 248, 249, -102, - 538, 301, -557, -98, -100, -97, 753, 530, 331, 332, - 830, 218, -552, 927, 218, -558, 125, 545, 442, 218, - 218, 561, 931, 86, 436, 250, 294, 251, -551, 727, - 86, 86, -77, 399, 478, -555, -560, -559, 86, 432, - 449, -112, 125, 398, 450, 212, 212, 212, 212, 316, - 574, 575, 403, -91, 683, 515, 470, -104, 297, -557, - -561, 527, 783, -111, 779, 569, 570, 571, 572, 533, - 734, 735, -558, -551, 779, 443, 589, -302, 589, 568, - 613, 434, 545, 973, 86, 218, 218, 218, 218, 86, - 218, 218, -302, -560, -559, 607, -546, 775, 902, 276, - 617, 512, -104, 266, 270, 301, 266, 923, 526, 86, - 905, 907, 909, -550, 911, 70, 912, -561, 462, 455, - 573, 467, 941, -96, 824, 556, 297, -302, 947, 949, - 86, -659, 514, 218, -302, 86, 316, -110, 622, 663, - 617, 617, 663, 444, 562, 473, 781, 329, 330, 784, - 656, 520, 665, -546, 936, 247, 688, 514, 248, 249, - 355, 356, 842, 663, 477, 693, 1094, 796, 218, 882, - -550, 746, -111, 544, 514, 463, 493, 724, 622, 622, - 663, 716, 502, 514, 918, 482, 250, 918, 251, 663, - 918, -106, 918, 218, 486, 86, 218, -106, 843, 331, - 332, 488, 444, 779, 271, 738, 86, 271, 664, 887, - 218, 505, 505, 969, 86, 728, 813, 812, 493, 218, - 733, 105, -345, 609, 86, 206, 526, -108, 609, 663, - 727, -111, 664, 520, 880, 1095, 928, -345, 544, 502, - 246, 805, -105, 1035, 1036, -106, 506, 745, 514, 664, - 730, 522, -103, 419, 663, -110, 776, 86, 664, 927, - 266, 1049, 927, 954, 927, 529, 86, -76, 918, 545, - 815, 543, -345, 817, 535, 125, -102, 879, 541, -345, - 316, 615, 316, 547, 218, 266, 508, 615, 70, 838, - 578, 815, 86, 615, 615, 523, -106, 743, 664, -106, - -106, 921, 266, 297, 794, 814, 918, 781, 918, 431, - 918, 266, 918, 946, 584, 806, 779, 520, 719, 218, - 781, 813, -567, 664, 432, 882, 779, -106, 761, -106, - 358, 359, 360, 361, -108, 1016, 836, 833, 218, 566, - 927, -418, -105, 926, 567, 918, 762, 316, 452, 453, - -106, 380, 380, 587, 1107, 1109, 1110, 1111, 505, 433, - 590, 271, 125, 810, 281, 591, 434, 281, 794, 794, - -108, -98, 816, 594, 212, 818, 266, 945, 927, 1000, - 927, 597, 927, 951, 927, 281, 271, -429, -431, 457, - 832, 835, 599, 206, 823, 835, 454, 454, 849, 380, - 380, 1054, 835, 271, 432, -418, 491, 297, 212, 248, - 249, 769, 271, 600, 218, 86, 602, 927, 206, 895, - -418, 814, 603, 554, 614, 544, 615, 505, 848, 809, - 787, 828, 271, 246, 538, 638, 271, 952, 277, 458, - 1155, 277, 1013, 1030, 1031, 884, 434, 676, 218, 690, - -108, 863, 691, -418, 694, -418, 1025, 809, 337, 277, - 329, 330, -418, 695, 271, 474, 697, 271, 946, -108, - 555, -100, -108, -108, 589, 583, 1060, 271, 696, 686, - 432, 1167, 1062, 1182, 247, 720, 703, 248, 249, 732, - 737, 380, 380, -91, 740, -656, 715, -105, 617, 755, - -108, 768, -108, 514, 617, 943, 125, 771, 125, 663, - 617, 617, 331, 332, 789, 475, 609, 251, -97, 799, - 794, 800, 434, 884, 801, -554, 811, 86, 825, 833, - 962, 212, 826, 966, 316, 86, 622, 850, 841, 218, - -554, 483, 622, 218, 1117, 847, 878, 921, 622, 622, - 921, 967, 921, 885, 86, 86, 432, 308, 312, -550, - 355, 356, 888, 894, 757, 898, 932, 576, 86, 307, - 311, 218, 524, 125, -550, -554, 520, 472, 664, 900, - 86, 86, -554, 505, 472, 904, 470, 432, 906, 1122, - 908, 484, 1125, 980, 910, 1141, 1142, 380, 434, 525, - 863, 913, 548, 959, 964, 419, 960, -656, 968, -550, - 998, 999, 970, -656, 975, 86, -550, 432, 993, 589, - 589, 495, 475, 996, 1014, 1004, 86, 86, 921, 434, - 1007, 266, 104, -662, 104, 428, 429, 430, 247, 104, - 104, 248, 249, 617, 1008, 104, 104, 104, 1019, 380, - 104, -658, 549, 1033, 1044, 554, 866, 247, 1039, 434, - 248, 249, 271, 271, 1041, 1043, 921, 1034, 921, 250, - 921, 251, 921, 328, 329, 330, 1132, 125, 1037, 1040, - 1042, 622, 104, 306, 765, 247, 1046, 1051, 248, 249, - 1052, 86, 86, 212, 212, 1057, 104, -662, 1063, 86, - 1064, 782, -553, 1067, 786, 921, 1201, 1070, 1184, 863, - 835, 495, -662, 1080, 1081, -658, 250, -553, 251, 1071, - 1072, 1210, 1211, 1076, 1077, 579, 331, 332, 1083, 1084, - -658, 1085, 271, 218, 218, 86, 563, 1101, 329, 330, - 271, 863, 863, 593, 863, -662, 1108, -662, 104, 1114, - 104, -658, -553, 761, -662, 358, 359, 360, 361, -553, - 125, 772, 1102, -658, 1112, -658, 1113, 673, 675, -658, - 1128, 762, -658, 1149, -292, 1127, 1120, -658, -303, 773, - 761, 835, 358, 359, 360, 361, 271, 271, 1129, -292, - 331, 332, 1147, -303, 974, 86, 1009, 86, 762, 1148, - 86, 673, 675, 1150, 1152, 1002, 863, 863, 980, 1189, - 1190, 366, 367, 368, 532, 1156, 589, 1158, 534, 863, - 1160, 1162, 1172, 364, -292, 1178, 125, 955, -303, 380, - 514, -292, 693, 835, 1173, -303, 663, 1174, 369, 1209, - 963, 104, 706, 706, 1105, -659, 1214, 1215, 1187, 1199, - 741, 1195, 971, 972, 104, 104, 803, 1200, 1202, 739, - 1157, 1159, 1161, 1203, 1163, 1164, 218, 227, 130, 915, - 1171, 432, 1180, 953, 835, 835, 86, 86, 863, 125, - 1177, 1146, 863, 1086, 125, 990, 1170, 1011, 416, 417, - 208, 492, 774, 495, 1116, 922, 1121, 212, 212, 1017, - 495, 419, 0, 939, 835, 664, 804, 104, 863, 863, - 104, 835, 835, 434, 1066, 104, 104, 1206, 1207, 104, - 0, 125, 1194, 1196, 1197, 1198, 104, 104, 425, 426, - 427, 428, 429, 430, 104, 125, 86, 218, 218, -659, - 997, 271, 1069, 1208, 419, 86, 86, 1088, 73, 1093, - 73, 121, 121, 0, 0, 432, 0, 432, 266, 121, - 0, 247, 1115, 1053, 248, 249, 0, 125, 125, 940, - 125, 1061, 426, 427, 428, 429, 430, 432, 0, 0, - 104, 104, 104, 104, 104, 104, 104, 104, 0, 1130, - 458, 0, 475, 0, 251, 0, 0, 434, 73, 434, - 0, 0, 121, -659, 432, 104, 0, 1082, 1024, 0, - 1026, 1137, 458, 1066, 1027, 0, 0, 0, -659, 434, - 0, 0, 0, 731, 1088, 0, 104, 0, 121, 104, - 736, 104, 125, 125, 104, 0, 0, 0, 0, 1131, - 822, 0, 742, 0, 876, 125, 434, 339, 329, 330, - 0, -659, 0, -659, 0, 0, 0, -659, 0, 271, - -659, 0, 0, 0, 104, 0, 73, 1133, 0, 1134, - 0, 0, 1135, 0, 104, 104, 341, 329, 330, 0, - 0, 472, 0, 866, 0, 0, 0, 1179, 0, 104, - 0, 104, 104, 0, 0, 766, 767, 555, 329, 330, - 331, 332, 104, 0, 125, 877, 104, 0, 125, 0, - 104, 0, 0, 0, 1137, 104, 560, 329, 330, 0, - 104, 0, 1103, 1104, 0, 797, 0, 0, 0, 331, - 332, 942, 944, 0, 125, 125, 0, 948, 950, 903, - 0, 564, 329, 330, 1123, 0, 1126, 0, 1175, 1176, - 331, 332, 0, 104, 0, 0, 0, 73, 0, 0, - 0, 0, 104, 942, 944, 0, 948, 950, 0, 331, - 332, 565, 329, 330, -452, 756, 329, 330, 416, 417, - 104, 0, 0, 0, 0, 958, 985, 992, 104, 0, - 0, 419, 0, 985, 331, 332, 0, 0, -452, -452, - -299, 0, 827, -299, -299, 0, 0, 0, 1205, 1151, - 706, 0, 1153, 0, 0, 104, 0, 1212, 1213, 426, - 427, 428, 429, 430, 331, 332, 472, 0, 331, 332, - -299, -299, 0, -299, 104, 73, 247, 0, 0, 248, - 249, 247, 73, 73, 248, 249, 0, 877, -498, 247, - 73, 1009, 248, 249, 877, 0, 1181, 0, 886, 0, - 1183, 121, 1185, -498, 0, 0, 1186, 250, 502, 251, - 1050, 0, 250, -452, 251, 0, -452, -452, 897, 0, - 1015, 0, 251, 0, -452, 1097, 0, 358, 359, 360, - 361, 0, 0, 1050, 0, 0, 73, 0, -498, 1204, - -452, 73, 985, 762, -452, -498, -452, 0, 0, 0, - 104, 104, 0, 0, 0, 785, 0, 358, 359, 360, - 361, 73, 0, 472, 350, 351, 352, 353, 354, 472, - 0, 0, 0, 362, 985, 985, 1092, 985, 0, 0, - 0, 0, 73, 0, 104, 0, 0, 73, 121, 0, - 73, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 0, 0, 877, 0, 366, 367, 368, 761, 0, - 358, 359, 360, 361, 0, 0, 761, 0, 358, 359, - 360, 361, 0, 0, 0, 0, 762, 0, 0, 0, - 73, 73, 369, 0, 762, 877, 877, 1012, 877, 985, - 985, 985, 0, 0, 0, 1092, 0, 73, 0, 0, - 0, 364, 985, 1021, 0, 0, 0, 763, 73, 364, - 0, 0, 0, 104, 0, 1020, 73, 0, 0, 0, - 0, 104, 104, 0, 0, 104, 73, 0, 104, 104, - 0, 0, 472, 472, 104, 104, 0, 0, 0, 0, - 104, 104, 0, 0, 0, 74, 0, 74, 122, 122, - 877, 877, 877, 0, 104, 0, 122, 104, 0, 73, - 0, 876, 0, 877, 0, 985, 104, 104, 73, 0, + 105, 285, 520, 284, 592, 441, 212, 212, 507, 205, + 282, 708, 212, 615, 659, 780, 718, 245, 479, 280, + 348, 401, 435, 437, 221, 344, 545, 107, 926, 251, + 451, 245, 269, 269, 265, 265, 269, 314, 265, 686, + 621, 70, 598, 70, 601, 784, 672, 675, 899, 748, + 1103, 559, 307, 311, 615, 615, 701, 728, 834, 540, + 325, 728, -110, 542, 300, 711, 848, 849, 731, 959, + 305, 952, 392, 392, -107, 206, 1127, 86, 968, 86, + 126, 126, 206, 1071, 217, 217, 782, 439, 228, 785, + 217, 217, 217, 446, 781, 217, 206, 125, 125, 731, + 393, 394, 255, 528, 367, 125, 439, 585, 497, 657, + 280, 106, -112, 666, 799, 448, 669, -114, 267, 273, + 576, 287, 274, 553, 276, 281, 206, 86, 604, 368, + 751, 315, 970, 470, 283, 863, 880, 687, -113, 867, + 504, 217, 508, -555, 472, 293, 873, -109, 125, 394, + 472, 532, 657, 476, 666, 534, 347, 315, 335, 337, + 339, 341, -559, 687, 485, 971, -111, 395, -108, -558, + 791, 1071, -115, 436, 125, 582, 536, 780, 1133, -102, + 397, -661, 894, 1103, 577, 271, 271, 495, 432, 271, + 780, -99, 1127, 217, 688, 86, 862, 561, 493, 440, + 561, 470, 561, 687, 561, 275, 561, 611, 445, 398, + -560, 443, 392, 392, -109, 276, 281, 792, 440, -559, + 212, 212, -80, 306, 310, 525, -558, 1072, 687, -104, + 434, -662, 246, 445, -106, 247, 248, 480, 481, 468, + 469, 394, 493, -94, 325, 862, 992, 717, 782, 531, + 507, 550, 1148, 544, 402, -105, 781, 538, 538, 502, + 545, 782, 538, 249, -101, 250, 895, -560, 505, 781, + 505, -561, -563, 275, 514, 455, 926, 495, 759, 926, + -658, 516, 519, -103, 929, -100, 86, 467, 728, 728, + 1190, 579, 512, 473, 265, 269, 731, 265, 217, 217, + 246, -562, 934, 247, 248, 419, 477, 1109, 300, 593, + 206, 1057, 1132, -109, 482, 1134, -109, -109, 981, -564, + 844, 486, 780, 846, 987, 545, 342, 343, -561, -563, + 859, 249, 780, 250, 527, 428, 429, 430, 488, 490, + -549, 844, 533, -553, -109, 493, -109, 212, 212, 212, + 212, 217, 574, 575, 217, 784, 754, 607, -562, 217, + 217, 732, 617, 86, 569, 570, 571, 572, 737, 684, + 86, 86, 568, 962, 506, 589, -564, 589, 86, -555, + 743, 515, 613, 735, 736, 530, 939, 462, 70, 315, + 963, -554, -658, 573, 728, 926, 522, -549, -658, 1028, + -553, -305, 905, 617, 617, 502, 125, 1009, -115, 707, + 707, 419, 300, 615, 609, 853, -305, 1070, 449, 609, + -107, 561, 450, 556, 86, 217, 217, 217, 217, 86, + 217, 217, 514, 767, 768, -554, 908, 910, 912, 977, + 914, -99, 915, 520, 463, 983, 985, 615, 271, 86, + 529, -305, 265, 615, 615, -662, 1097, 514, -305, 689, + 495, 780, -79, 798, -107, 694, 885, 495, 817, 478, + 86, 535, 57, 217, 514, 86, 315, 265, 622, 725, + 797, 541, 657, 514, 666, 747, 41, 544, 334, 42, + 543, 328, 329, 125, 265, 739, 547, 246, -114, 890, + 247, 248, 491, 265, 664, 247, 248, 664, 566, 217, + 720, 505, 505, 545, 354, 355, 567, 883, 578, 622, + 622, 105, 584, -658, 296, 245, -570, 931, 664, 590, + 250, 841, 1125, 58, 217, 1128, 86, 217, 587, 665, + 1098, 856, 603, 330, 331, 664, 444, 86, 514, 1038, + 1039, 217, 544, 520, 664, 86, 452, 453, 806, 526, + 217, 591, 70, 665, 594, 86, 526, 1181, 265, 728, + 597, 744, 444, 600, 780, -114, 731, 270, 270, 599, + 665, 270, 990, 871, 780, 1077, 867, -549, -113, 665, + 206, 882, 296, 615, 664, -113, -106, 889, 86, 734, + 508, -114, -549, 770, 795, 865, 862, 86, 851, -105, + 872, 520, -109, 842, 843, 270, 270, 900, 835, 664, + 602, 315, 788, 315, 885, 217, 614, 1005, 1019, 665, + -348, -432, -434, 86, -111, -658, 677, -549, 125, -111, + 125, -658, -109, -111, -549, -348, 839, 692, 470, 472, + 691, 1187, 442, 695, 665, 845, -108, 696, 847, 505, + 217, 431, 777, -101, -103, 280, 777, 698, 280, 795, + 795, 555, 1010, 1011, 729, 721, 432, 1012, 212, 217, + -348, 982, 1110, 1112, 1113, 1114, 280, -348, 315, 878, + 733, 861, 864, 857, 842, 852, 864, 738, 538, -94, + 819, 843, 741, 864, 772, 125, 746, 906, 756, 609, + -108, 433, 212, 982, 769, 819, 790, 125, 434, 245, + 1033, 1034, 1173, -109, 705, 801, 457, 1082, 505, 877, + -111, -100, 125, -111, 454, 454, -111, -111, 1015, 800, + 544, 432, -108, -658, 802, 246, 1158, 246, 247, 248, + 247, 248, 840, 854, 1024, 855, 217, 86, 1016, 206, + 523, 838, 617, 988, -111, 862, -111, 975, 296, 870, + 276, 881, 876, 276, 942, 589, 458, 776, 249, 879, + 250, 994, 888, 434, 206, 891, -659, 379, 379, 838, + 217, 276, 897, 819, 1088, 903, 617, 979, 901, 576, + 1090, 907, 617, 617, 514, 909, 707, -549, 911, 472, + 125, 1185, 246, 307, 311, 247, 248, 913, 916, 943, + 687, 961, -549, 964, 265, 246, 969, 972, 247, 248, + 973, 305, 995, 976, 996, 379, 379, 270, 474, -557, + 270, 935, 1000, 249, 1004, 250, 1006, 1017, 1022, 795, + -553, 1037, 1049, 432, -557, -658, 1047, -549, 250, 998, + 1040, -658, 1002, 212, -549, -553, 1043, 930, 1045, 86, + 520, 1051, 296, 1054, 1060, 664, 315, 86, 622, 483, + 1003, 217, -665, 1066, 525, 1055, 505, 1056, 475, -557, + 948, 1146, 1147, 125, 432, 434, -557, 819, -659, 562, + -553, 554, 328, 329, -659, 887, 1079, -553, 1061, 1064, + 665, 1065, 622, 217, 125, 327, 328, 329, 622, 622, + 1080, 1091, 589, 589, 86, 86, 472, 379, 379, 484, + 1092, 1104, 472, 1105, 1111, 1115, 434, 1116, 86, 1117, + -661, 217, 617, 1136, 697, 942, -665, 974, 524, 949, + 86, 86, 704, 583, 330, 331, 967, 1137, 419, 86, + 548, -665, 716, 432, 1138, 104, 1139, 104, 330, 331, + 86, 86, 104, 104, 1178, 432, 1151, 1153, 104, 104, + 104, 1155, 924, 104, 306, 310, 426, 427, 428, 429, + 430, 1204, -661, 1159, -665, 270, -665, 1036, 475, 1182, + -661, 1161, 1042, -665, 1163, 434, 1213, 1214, 212, 212, + 549, 887, -662, 864, 125, 104, 1165, 434, 819, 125, + 270, 1142, 1168, 472, 472, 1094, 1095, 1169, 1191, 104, + 758, 1198, 379, 1202, 1205, 125, 1203, 270, -662, 1206, + -556, 740, -295, 921, 226, 130, 270, 819, 819, 246, + 819, 1177, 247, 248, 918, -556, -661, -295, 622, 349, + 350, 351, 352, 353, 125, 125, 270, 125, 86, 86, + 270, -661, 1085, 338, 328, 329, 86, 1050, 1152, -306, + 249, 104, 250, 104, 379, 1183, 217, 217, 86, 125, + -556, 989, -295, 1135, -306, 864, 1067, -556, 270, -295, + 958, 270, -662, 492, -661, 1176, -661, 1069, 208, 1074, + -661, 270, 777, -661, 775, 930, 0, -662, 930, 589, + 930, 1119, 1124, 472, 0, 0, 330, 331, 0, -306, + 0, 819, 819, 948, 554, 0, -306, 0, 472, 472, + 514, 819, 694, 864, 340, 328, 329, 0, 125, 125, + -662, 73, -662, 73, 121, 121, -662, 0, 125, -662, + 265, 0, 121, 766, 86, 0, 86, 0, 0, 86, + 0, 0, 0, 0, 104, 354, 355, 0, 864, 864, + 783, 0, 0, 787, 833, 0, 104, 104, -421, 0, + 1131, 949, 1050, 804, 0, 0, 930, 330, 331, 833, + 1069, 73, 0, 212, 212, 121, 0, 864, 432, 0, + 0, 664, 819, 965, 864, 864, 0, 217, 0, 0, + 1209, 1210, 86, 86, 819, 0, 0, 1120, 432, 125, + 924, 121, 0, 924, 930, 924, 930, 0, 930, 104, + 930, 125, 104, 805, 819, 819, 665, 104, 104, 0, + 434, 104, -421, 246, 0, 0, 247, 248, 104, 104, + 0, 125, 125, 458, 0, 379, 104, -421, 0, 73, + 434, 1170, 0, 930, 0, 773, 336, 833, 328, 329, + 86, 217, 217, 0, 249, 0, 250, 0, 921, 86, + 86, 921, 0, 774, 921, 0, 921, 270, 270, 0, + -421, 0, -421, 949, 1131, 0, 674, 676, 0, -421, + 0, 924, 104, 104, 104, 104, 104, 104, 104, 104, + 0, 1053, 991, 0, 0, 365, 366, 367, 1044, 1046, + 330, 331, 0, 0, 0, 999, 432, 104, 0, 0, + 674, 676, 1118, 0, 0, 0, 0, 1007, 1008, 924, + 0, 924, 368, 924, 1140, 924, 1014, 432, 104, 0, + 73, 104, 0, 104, 0, 0, 104, 270, 1020, 432, + 0, 475, 921, 0, 833, 925, 270, 270, 434, 0, + 762, 833, 357, 358, 359, 360, 0, 0, 924, 742, + 0, 762, 458, 357, 358, 359, 360, 104, 763, 434, + 0, 0, 0, 270, 1141, 0, 0, 104, 104, 763, + 921, 434, 921, 0, 921, 563, 921, 328, 329, 0, + 0, 0, 104, 0, 104, 104, 0, 0, 0, 356, + 0, 357, 358, 359, 360, 104, 0, 73, 0, 104, + 1123, 0, 0, 104, 73, 73, 0, 361, 104, 921, + 0, 0, 73, 104, 555, 328, 329, 560, 328, 329, + 0, 832, 0, 121, 0, 1081, 564, 328, 329, 330, + 331, 898, 363, 1089, 0, 0, 832, 0, 364, 365, + 366, 367, 1108, 0, 0, 1096, 104, 565, 328, 329, + 1027, 0, 1029, 0, 0, 104, 1030, 0, 73, 0, + 0, 0, 833, 73, 0, 0, 368, 330, 331, 369, + 330, 331, 0, 104, 0, 757, 328, 329, 0, 330, + 331, 104, 551, 73, 1160, 1162, 1164, 0, 1166, 1167, + 0, 833, 833, 762, 833, 357, 358, 359, 360, 0, + 330, 331, 0, 0, 73, 0, 0, 0, 104, 73, + 121, 763, 73, 762, 832, 357, 358, 359, 360, 0, + 0, 1143, 0, 1144, 0, 0, 1145, 104, 330, 331, + 0, 763, 1192, 1193, 0, 0, 363, 0, 270, 0, + 786, 0, 357, 358, 359, 360, 1197, 1199, 1200, 1201, + 0, 0, 0, 73, 73, 0, 363, 0, 361, 0, + 0, 1212, 764, 0, 1106, 1107, 0, 1211, 1217, 1218, + 73, 0, 0, 0, 0, 833, 833, 833, 0, 1179, + 1180, 73, 0, 363, 0, 833, 1126, 0, 1129, 73, + 365, 366, 367, 0, 0, 0, 0, -302, 0, 73, + -302, -302, 0, 246, 104, 104, 247, 248, 0, 0, + 0, 953, 960, 0, 0, 0, 0, 368, 953, 0, + 0, 762, 0, 357, 358, 359, 360, -302, -302, 0, + -302, 0, 73, 0, 1018, 0, 250, 1208, 104, 763, + 1100, 73, 357, 358, 359, 360, 1215, 1216, 0, 0, + 0, 1154, 0, 0, 1156, 121, 833, 121, 763, 978, + 980, 0, 0, 270, 363, 984, 986, 73, 833, 0, + 1023, 416, 417, 0, 74, 0, 74, 122, 122, 0, + 0, 0, 0, 0, 419, 122, 0, 0, 833, 833, + 0, 978, 980, 0, 984, 986, 0, 0, 1184, 0, + 0, 0, 1186, 0, 1188, 0, 0, 0, 1189, 423, + 424, 425, 426, 427, 428, 429, 430, 104, 0, 0, + 0, 0, 121, 0, 74, 104, 104, 0, 122, 104, + 0, 0, 0, 356, 121, 357, 358, 359, 360, 953, + 0, 1207, 0, 0, 0, 0, 0, 0, 0, 121, + 0, 361, 0, 0, 122, 0, 0, 0, 0, 0, + 104, 104, 0, 0, 0, 362, 104, 104, 953, 953, + 1073, 953, 104, 104, 0, 246, 363, 0, 247, 248, + 416, 417, 364, 365, 366, 367, 104, 0, 0, 104, + 0, 73, 74, 419, 0, 0, 0, 0, 104, 104, + 0, 0, 502, -688, 803, 1078, 249, 104, 250, 0, + 368, 0, 0, 369, 0, 0, 0, 0, 104, 104, + 425, 426, 427, 428, 429, 430, 370, 121, 1078, 0, + 0, 0, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 0, 0, 953, 953, 953, 416, 417, 0, 1073, 0, + 0, 419, 953, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 121, 357, 0, 358, 359, 360, - 361, 985, 985, 0, 73, 74, 0, 0, 0, 122, - 0, 104, 0, 362, 0, 0, 0, 0, 0, 0, - 0, 0, 104, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 877, 0, 0, 122, 877, 0, 364, 0, - 0, 0, 0, 0, 365, 366, 367, 368, 0, 0, - 0, 0, 0, 472, 0, 0, 0, 0, 0, 121, - 0, 0, 877, 877, 0, 0, 0, 0, 472, 472, - 416, 417, 369, 74, 0, 370, 0, 104, 0, -662, - 0, 0, 0, 419, 0, 0, 1118, 104, 104, 0, - 0, 0, -662, -662, -662, 104, -662, -662, 0, -662, - 0, 0, 0, 0, -662, -662, 0, 0, 423, 424, - 425, 426, 427, 428, 429, 430, -662, -662, 0, -662, - -662, -662, -662, -662, 0, 0, 0, 73, 0, 104, - 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -662, -662, -662, -662, -662, -662, -662, -662, -662, - -662, -662, -662, 121, 74, 0, 0, -662, -662, -662, - 0, 807, -662, 0, 0, 0, 0, 0, 0, 0, - -662, 0, 0, 0, -662, 0, 0, 0, 0, 0, - 0, 104, 0, 104, -662, 0, 104, -662, -662, 0, - -107, -662, 0, -662, -662, -662, -662, -662, -662, -662, - -662, -662, -662, 0, 0, 0, 0, -662, -662, -662, - 0, -99, 0, 0, -662, -662, -662, -662, 0, 0, - 0, 0, 0, 357, 0, 358, 359, 360, 361, 73, - 0, 0, 74, 0, 0, 0, 121, 73, 73, 74, - 74, 362, 0, 0, 73, 0, 0, 74, 0, 0, - 73, 73, 104, 0, 0, 363, 73, 73, 122, 0, - 0, 0, 104, 104, 0, 0, 364, 0, 0, 0, - 73, 0, 365, 366, 367, 368, 0, 0, 0, 0, - 0, 0, 73, 73, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 0, 0, 0, 0, 74, 0, - 369, 0, 121, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 371, 73, 74, 0, - 0, 0, 104, 104, 104, 0, 0, 0, 73, 73, - 0, 104, 104, 0, 0, 0, 0, 0, 0, 74, - 0, 0, 0, 0, 74, 122, 0, 74, 0, 0, - 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 103, 0, - 103, 128, 128, 0, 0, 0, 0, 0, 0, 232, - 0, 0, 0, 73, 0, 0, 0, 74, 74, 0, - 0, 0, 0, 73, 73, 0, 0, 121, 0, 0, - 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, - 0, 121, 0, 0, -685, 74, 0, 0, 103, 0, - 0, 0, 318, 74, 0, 0, 0, -685, -685, -685, - -685, -685, -685, 74, -685, 0, 0, 73, 0, -685, - -685, -685, 0, 121, 121, 0, 121, 0, 318, 0, - 0, -685, -685, 0, -685, -685, -685, -685, -685, 0, + 0, 0, 420, 74, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 0, 0, 426, 427, 428, 429, + 430, 0, -280, 73, 0, 0, 104, 0, 0, 0, + 121, 73, 73, 0, 0, 0, 104, 104, 0, 0, + 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, + 0, 121, 0, 953, 104, 104, 104, 0, 0, 356, + 0, 357, 358, 359, 360, 832, 73, 0, 0, 0, + 0, 0, 73, 73, 0, 0, 0, 361, 73, 73, + 74, 0, 0, 0, 0, 953, 953, 74, 74, 0, + 0, 362, 73, 0, 0, 74, 0, 0, 0, 0, + 0, 0, 363, 0, 73, 73, 122, 0, 364, 365, + 366, 367, 0, 73, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 73, 73, 356, 0, 357, 358, + 359, 360, 104, 0, 104, 0, 368, 104, 0, 369, + 0, 74, 0, 0, 361, 0, 74, 0, 0, 0, + 0, 121, 370, 0, 0, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 74, 0, 0, 363, + 0, 0, 121, 0, 0, 364, 365, 366, 367, 0, + 0, 0, 0, 0, 0, 104, 0, 74, 0, 0, + 104, 104, 74, 122, 0, 74, 0, 0, 0, 0, + 0, 121, 121, 368, 121, 0, 369, 0, 0, 0, + 0, 0, 73, 0, 0, 0, 356, 1121, 357, 358, + 359, 360, 73, 73, 0, 0, 121, 0, 0, 0, + 73, 0, 0, 0, 361, 0, 74, 74, 0, 0, + 0, 0, 73, 0, 0, 0, 0, 0, 104, 104, + 104, 0, 103, 74, 103, 128, 128, 104, 104, 363, + 0, 0, 0, 231, 74, 364, 365, 366, 367, 0, + 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 74, 0, 0, 121, 121, 0, 0, 0, + 0, 0, 0, 368, 0, 121, 369, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 317, 0, 0, 0, + 0, 0, 0, 0, 0, 74, 0, 0, 73, 0, + 73, 0, 0, 73, 74, 0, 0, 0, 0, 0, + 0, -455, 317, 0, 0, 0, 0, 0, 122, 0, + 122, 0, 0, 0, -455, -455, -455, -455, -455, -455, + 74, -455, 0, 0, 0, 0, -455, 0, -455, 0, + 0, 0, 0, 0, 0, 0, 121, 0, -455, -455, + 103, -455, -455, -455, -455, -455, 73, 73, 121, 356, + 0, 357, 358, 359, 360, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 361, 121, 121, + 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, + 0, 0, 0, 581, 0, 0, 0, 122, 0, 0, + 0, -501, 363, 0, 974, 0, 0, 0, 364, 365, + 366, 367, 122, 0, 73, 0, -501, 0, 0, 0, + 0, 0, 0, 73, 73, 0, -455, 0, 0, -455, + -455, 0, 0, 0, 0, 0, 368, -455, 0, 369, + 0, 103, 356, 0, 357, 358, 359, 360, 0, 0, + -455, -501, 0, -455, 74, 0, -455, -455, -501, -455, + 361, 0, 0, 356, 0, 357, 358, 359, 360, 0, + 0, 0, 0, 0, 0, 0, 778, 0, 0, 0, + 0, 361, 0, 0, 0, 363, 0, 0, 0, 0, + 122, 364, 365, 366, 367, 0, 0, 902, 0, 0, + 100, 0, 100, 127, 127, 127, 363, 0, 0, 0, + 0, 230, 364, 365, 366, 367, 0, 0, 103, 368, + 0, 0, 369, 0, 0, 103, 103, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 368, 0, 0, 369, 317, 0, 0, 0, 0, 0, + 100, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 0, 0, 0, 0, 357, 74, 358, 359, 360, 361, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 122, - 0, 122, 362, 0, 0, 0, 0, 73, 0, 73, - 0, 74, 73, 0, -685, 0, 363, 0, 121, 121, - 0, 0, 0, 0, 0, 0, 0, 364, 0, -685, - 0, 121, 0, 365, 366, 367, 368, 0, 0, -685, - 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -685, 0, 0, 0, 0, 0, - 0, 369, -685, -685, 370, 0, 122, 0, 276, -685, - -685, -685, -685, 0, 0, 0, 0, 371, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 103, 73, 73, - 121, 0, 0, 0, 121, 0, 0, 0, 0, 0, - 83, 0, 83, 0, 357, 0, 358, 359, 360, 361, - 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 121, 362, 0, 0, 357, 0, 358, 359, 360, - 361, 0, 0, 0, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 362, 0, 0, 0, 364, 73, 0, - 83, 0, 0, 365, 366, 367, 368, 73, 73, 581, - 0, 0, 0, 0, 0, 103, 0, 0, 364, 0, - 122, 0, 103, 103, 365, 366, 367, 368, 0, 0, - 103, 369, 0, 100, 370, 100, 127, 127, 127, 0, - 0, 318, 0, 0, 231, 0, 0, 551, 0, 0, - 0, 0, 369, 0, 0, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, - 0, 103, 0, 100, 0, 0, 0, 317, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 0, 103, 0, 122, 74, 74, 0, 0, 0, 0, - 0, 74, 0, 317, 0, 0, 0, 74, 74, 0, - 0, 0, 103, 74, 74, 0, 0, 103, 318, 0, - 623, 0, 0, 0, 0, 0, 0, 74, 0, 0, - 357, 0, 358, 359, 360, 361, 0, 0, 0, 74, - 74, 100, 0, 0, 0, 0, 0, 0, 362, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, - 623, 623, 0, 0, 777, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 74, 0, 0, 103, 0, 365, - 366, 367, 368, 0, 0, 74, 74, 0, 103, 0, - 0, 0, 0, 0, 0, 357, 103, 358, 359, 360, - 361, 0, 0, 0, 0, 0, 103, 369, 0, 0, - 370, 0, 122, 362, 0, 0, 0, 122, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 83, 0, 899, - 0, 0, 100, 0, 83, 83, 0, 0, 364, 103, - 74, 0, 83, 0, 365, 366, 367, 368, 103, 0, - 74, 74, 0, 0, 122, 0, 0, 0, 74, 0, - 0, 0, 318, 0, 318, 0, 0, 0, 122, 0, - 0, 0, 369, 0, 103, 370, 0, 0, 0, 0, - 0, 357, 0, 358, 359, 360, 361, 0, 83, 0, - 0, 0, 0, 83, 74, 0, 0, 0, 0, 362, - 122, 122, 0, 122, 0, 0, 0, 0, 0, 0, - 100, 0, 0, 83, 0, 0, 0, 100, 100, 0, - 0, 0, 0, 0, 364, 100, 0, 0, 0, 318, - 365, 366, 367, 368, 83, 0, 317, 0, 0, 83, - 0, 0, 618, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 74, 0, 74, 0, 369, 74, - 0, 370, 0, 0, 0, 122, 122, 0, 0, 0, - 0, 100, 0, 0, 0, 0, 100, 0, 122, 0, - 0, 0, 618, 618, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 103, 0, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 0, 0, 0, 0, 100, 83, 0, - 0, 0, 100, 317, 0, 0, 0, 0, 83, 0, - 0, 0, 0, 128, 0, 74, 74, 122, 0, 0, - 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 83, 0, 0, 0, 0, 0, 122, 122, 0, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 0, 74, 83, 0, 0, 0, - 0, 100, 0, 0, 74, 74, 0, 0, 0, 103, - 0, 100, 0, 0, 0, 0, 318, 103, 623, 0, - 0, 0, 0, 0, 623, 0, 0, 0, 0, 0, - 623, 623, 0, 0, 0, 0, 103, 103, 0, 0, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, - 103, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 103, 103, 0, 0, 0, 317, 0, 317, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 100, - 101, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 0, 0, 0, 802, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 0, 317, 128, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 623, 0, 0, 0, 416, 417, 0, - 0, 0, 0, 103, 103, 0, 0, 1059, 0, 0, - 419, 103, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 420, 100, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 0, 0, 0, 0, 103, 0, 0, - 0, -277, 0, 128, 128, 0, 128, 0, 0, 0, - 0, 83, 0, 0, 0, 0, 0, 0, 127, 83, - 618, 0, 0, 0, 0, 0, 618, 0, 0, 0, - 0, 0, 618, 618, 0, 0, 0, 0, 83, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 103, 0, 103, - 0, 0, 103, 0, 83, 83, 0, 101, 128, 128, - 0, 404, 405, 406, 407, 408, 409, 410, 0, 412, - 413, 128, 0, 0, 0, 0, 0, 416, 417, 0, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 83, - 419, 317, 100, 0, 0, 0, 0, 0, 0, 0, - 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 100, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 0, 0, 100, 0, 0, 103, 103, - 128, 0, 0, 0, 128, 101, 0, 100, 100, 0, - 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 618, 0, 127, 0, 0, - 128, 128, 0, 0, 0, 83, 83, 0, 0, 1056, - 0, 0, 100, 83, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 100, 0, 0, 0, 103, 0, - 0, 0, 0, 0, 0, 0, 101, 103, 103, 0, - 802, 101, 0, 0, 0, 0, 0, 0, 0, 83, - 127, 0, 0, 0, 0, 127, 0, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 0, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 0, 101, 0, 416, 417, 0, 101, 100, 100, - 101, 0, 1058, 0, 0, 0, 100, 419, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 0, 0, 83, - 0, 83, 0, 0, 83, 0, 0, 0, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 101, 101, 100, 0, 0, 0, 0, 0, 127, 127, - 0, 127, 0, 0, 0, 0, 0, 101, 0, 651, - 652, 0, 0, 653, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 101, 0, 182, 183, - 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, - 83, 83, 100, 0, 100, 0, 0, 100, 188, 189, - 190, 0, 0, 127, 127, 0, 0, 0, 0, 101, - 0, 0, 0, 0, 0, 0, 127, 0, 101, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, - 0, 203, 276, 0, 101, 0, 0, 0, 0, 0, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 100, 127, 0, 0, 0, 127, - 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, 127, 127, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 217, 0, 0, 0, - -457, 217, 267, 267, 0, 0, 267, 0, 0, 0, - -656, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 100, -457, -457, 0, 0, 0, 0, - 0, 0, 0, 289, 291, 292, 293, 0, 0, 0, - 267, 309, 0, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 346, 347, 0, 0, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, 0, 0, - 0, 0, -550, -550, -550, 0, -550, -457, 0, 0, - 0, 0, 0, 0, 0, -550, 0, 0, 0, -550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, - 0, 0, -457, -457, 217, -550, -550, 0, -550, -550, - -457, -550, -550, -550, -550, -550, -550, -550, 0, 0, - 0, 0, -656, -457, -550, -457, -457, 0, -656, 0, - -457, -550, -457, 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, 101, - 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, - 0, -454, 0, 0, 101, 0, 0, 0, 0, 0, - 101, 101, 0, 0, 0, 0, 101, 101, 0, 0, - 0, 0, 0, 0, 0, -454, -454, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 217, 217, 101, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, 0, - 0, 0, 0, -555, -555, -555, 0, 101, -454, 498, - 499, 500, 346, 0, 0, 0, -555, 0, 101, 101, - -555, 0, 0, 267, 0, 0, 267, 0, 0, 0, - -454, 217, 217, -454, -454, 0, 0, -555, 0, -555, - -555, -454, -555, -555, -555, -555, -555, -555, -555, 0, - 0, 0, 0, 0, -454, -555, -454, -454, 0, 0, - 0, -454, -555, -454, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 217, 217, 217, - 217, 0, 217, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 586, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, - 619, 624, 625, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 636, 637, 0, 639, 640, 641, 642, - 643, 644, 645, 646, 647, 648, 649, 650, 0, 0, - 267, 0, 0, 0, 0, 0, 0, 101, 0, 101, - 672, 672, 101, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 267, 0, 0, 217, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 672, 0, 267, 0, 672, 672, 0, 0, 0, 0, - 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 718, 0, 0, 721, 722, 0, 0, 0, 723, 0, - 0, 726, 0, 729, 0, 309, 293, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, - 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 726, 0, 0, 309, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, - 0, 0, 0, -686, -686, -686, -686, 408, 409, 0, - 0, -686, -686, 759, 760, 0, 0, 0, 0, 416, - 417, 0, 0, 0, 0, 0, 0, 0, 101, 0, - 0, 770, 419, 0, 0, 0, 0, 101, 101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 788, 0, 0, 795, 0, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -293, -293, -293, - -293, -293, -293, 0, -293, 0, 0, 0, 0, -293, - 0, -293, -293, -293, 0, 0, 0, 0, 0, 0, - 0, -293, -293, 0, -293, -293, -293, -293, -293, 0, - 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, - 0, -293, 0, 0, 0, 0, 0, 0, 829, 0, - 0, 770, 788, 0, 0, 0, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, 0, 0, - 217, 0, -293, -293, -293, 0, 0, -293, 0, 0, - 0, 0, 881, -293, 0, -293, 0, 0, 0, -293, - 0, 726, 309, 0, 0, 0, 0, -293, 0, -293, - 0, 0, -293, -293, 0, 0, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, -455, 0, - 0, 0, 0, -293, -293, -293, -293, 0, 0, -293, - -293, -293, -293, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -455, -455, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 930, 0, 0, 0, 0, 672, 933, - 0, 267, 0, 0, 672, 672, 0, 0, 0, 726, - 672, 672, 0, 0, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, 0, 0, 0, 0, - -557, -557, -557, 217, 0, -455, 672, 672, 0, 672, - 672, 0, 0, -557, 0, 0, 0, -557, 0, 0, - 0, 0, 0, 0, 0, 267, 309, -455, 0, 0, - -455, -455, 0, 0, -557, 0, -557, -557, -455, -557, - -557, -557, -557, -557, -557, -557, 1010, 0, 0, 0, - 293, -455, -557, -455, -455, 0, 0, 0, -455, -557, - -455, 0, 0, 0, 0, 0, 0, 1022, 1023, 404, - 405, 406, 407, 408, 409, 0, 0, 412, 413, 0, - 1028, 1029, 0, 0, 0, 416, 417, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1045, 0, 419, 0, - 0, 0, 0, 0, 0, 0, 1047, 1048, 0, 0, - 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 122, 74, 74, 0, 0, 0, 103, + 316, 0, 0, 0, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 74, + 0, 0, 0, 0, 0, 74, 74, 0, 100, 0, + 0, 74, 74, 0, 0, 103, 0, 0, 0, 0, + 103, 317, 0, 623, 0, 74, 0, 0, 0, 0, + 0, 0, 83, 0, 83, 0, 0, 74, 74, 0, + 0, 803, 0, 227, 0, 0, 74, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 74, 74, 0, + 0, 0, 0, 0, 623, 623, 0, 0, 0, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 103, 83, 0, 122, 416, 417, 0, 0, 122, + 0, 0, 103, 0, 0, 0, 0, 0, 419, 100, + 103, 0, 0, 0, 0, 122, 0, 0, 0, 0, + 103, 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, 672, 0, 0, 0, - 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, - 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 217, -685, 3, 0, + 430, 0, 0, 0, 122, 122, 0, 122, 0, 0, + 0, 0, 0, 103, 0, 74, 0, 0, 0, 0, + 83, 0, 103, 0, 0, 74, 74, 0, 0, 122, + 0, 0, 0, 74, 0, 0, 317, 0, 317, 0, + 0, 0, 0, 0, 0, 74, 100, 0, 103, 0, + 0, 0, 0, 100, 100, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, + 0, 0, 0, 317, 0, 0, 0, 100, 0, 0, + 0, 83, 100, 0, 0, 128, 0, 0, 0, 0, + 0, 74, 0, 74, -688, 0, 74, 0, 0, 0, + 128, 0, 100, 0, 0, 0, 0, -688, -688, -688, + -688, -688, -688, 0, -688, 0, 0, 0, 0, -688, + -688, -688, 0, 100, 0, 0, 0, 0, 100, 316, + 0, -688, -688, 0, -688, -688, -688, -688, -688, 122, + 0, 0, 103, 0, 0, 0, 0, 0, 0, 74, + 74, 122, 0, 0, 0, 0, 0, 0, 83, 0, + 0, 0, 0, 0, 0, 83, 83, 0, 0, 0, + 0, 122, 122, 83, 0, 0, 0, 0, 128, 0, + 0, 0, 0, 0, -688, 0, 0, 0, 0, 100, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -688, + 100, 0, 0, 0, 0, 0, 0, 74, 100, -688, + 0, 0, -688, -688, 0, 0, 74, 74, 100, 83, + 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, + 0, 0, -688, -688, 0, 0, 0, 0, 275, -688, + -688, -688, -688, 0, 83, 0, 101, 0, 101, 0, + 0, 100, 0, 0, 103, 0, 0, 0, 0, 0, + 100, 317, 103, 623, 0, 83, 0, 0, 0, 0, + 83, 0, 0, 618, 316, 0, 316, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 101, 623, 0, 0, + 0, 0, 0, 623, 623, 0, 0, 0, 0, 103, + 103, 0, 0, 0, 618, 618, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 0, 83, 0, 0, 0, 103, 103, 0, 0, 0, + 0, 316, 83, 0, 103, 0, 0, 0, 0, 0, + 83, 0, 0, 127, 0, 103, 103, 0, 0, 0, + 83, 0, 0, 0, 101, 0, 0, 0, 127, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, + 0, 0, 83, 128, 0, 0, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -689, -689, -689, -689, 408, 409, 83, 0, + -689, -689, 128, 128, 0, 128, 0, 0, 416, 417, + 0, 0, 0, 623, 0, 0, 127, 0, 0, 0, + 0, 419, 0, 103, 103, 101, 0, 1087, 0, 0, + 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 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, 409, + 410, 411, 412, 413, -689, -689, 128, 128, 0, 0, + 416, 417, 100, 0, 0, 0, 128, 0, 0, 316, + 100, 0, 101, 419, 0, 0, 0, 0, 0, 101, + 101, 0, 0, 0, 0, 0, 0, 101, 0, 103, + 127, 103, 83, 0, 103, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 101, 0, 0, 0, 128, 101, 0, + 0, 0, 0, 100, 100, 0, 0, 103, 103, 128, + 0, 0, 100, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 100, 100, 0, 0, 0, 0, 128, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 101, + 0, 0, 0, 0, 101, 0, 0, 101, 0, 0, + 127, 0, 0, 0, 0, 127, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 103, 0, 0, 0, 0, + 0, 127, 83, 618, 103, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 127, 0, 127, 0, 101, 0, 618, 0, 0, + 0, 0, 0, 618, 618, 0, 101, 0, 0, 83, + 83, 100, 100, 0, 101, 1086, 0, 0, 0, 100, + 0, 0, 0, 83, 101, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 0, 83, 83, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 83, 101, 0, 0, + 0, 0, 0, 266, 266, 0, 101, 266, 0, 0, + 0, 0, 0, 0, 127, 127, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, + 0, 0, 101, 0, 288, 290, 291, 292, 0, 0, + 0, 266, 308, 0, 0, 0, 0, 100, 0, 100, + 0, 0, 100, 345, 346, 0, 0, 0, 0, 0, + 0, 0, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 0, 0, 0, 618, 0, 0, 0, 0, 0, 0, + 0, 419, 0, 83, 83, 127, 0, 1084, 0, 0, + 0, 83, 0, 0, 0, 100, 100, 127, 0, 0, + 0, 0, 420, 83, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 0, 0, 0, 127, 127, 0, + 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 100, 0, 0, 0, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 83, + 0, 83, 0, 0, 83, 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, 83, 83, 498, + 499, 500, 345, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 266, 117, 0, 266, 118, 101, 0, + 119, 52, 0, 53, 54, 0, 101, 101, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, + 120, 101, 0, 0, 83, 83, 0, 101, 101, 0, + 0, 0, 0, 101, 101, 0, 0, 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, 586, 0, 0, 0, 0, 0, 0, 101, + 101, 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, 0, + 0, 673, 673, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 266, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 673, 0, 266, 0, 673, 673, 101, 101, 0, + 0, 0, 266, 0, 0, 101, 0, 0, 0, 0, + 0, 719, 0, 0, 722, 723, 0, 101, 0, 724, + 0, 0, 727, 0, 730, 0, 308, 292, 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, 0, 308, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 266, 0, 0, + 0, 0, 0, 0, 404, 405, 406, 407, 408, 409, + 410, 0, 412, 413, 760, 761, 0, 0, 0, 0, + 416, 417, 0, 101, 0, 101, 0, 0, 101, 0, + 0, 0, 771, 419, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 789, 0, 0, 796, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -296, 101, 101, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -296, -296, -296, -296, -296, -296, 0, + -296, 0, 0, 0, 0, -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, 101, + 858, 0, 0, 771, 789, 0, 0, 0, 101, 101, + 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, 0, 0, 0, 0, 0, 0, + 0, 0, 266, 308, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 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, + 1013, 0, 0, 0, 292, 0, 0, 667, 662, 0, + 0, 668, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1025, 1026, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 1031, 1032, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 1048, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, + 0, 0, 0, 499, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 1075, 1076, 0, 0, 0, 0, 203, + 673, 0, 0, 0, 0, 0, 0, -688, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 309, 0, 0, 0, 0, 0, 14, 0, 15, 16, - 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, + 0, 0, 0, 673, 0, 0, 14, 0, 15, 16, + 17, 18, 0, 0, 308, 0, 0, 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, - 721, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 42, 0, 0, 43, 44, 722, 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, -685, 0, 0, -685, -685, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, - 0, 64, 65, 66, -417, 0, 0, 0, 0, 0, - 0, 0, 0, -685, 0, -685, 0, -417, -417, -417, - -417, -417, -417, 0, -417, 0, 0, 0, 0, -417, - -417, -417, -417, 0, 0, 0, 0, 0, 0, 0, - 0, -417, -417, 0, -417, -417, -417, -417, -417, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 217, 0, 0, 0, 0, 0, -417, -417, -417, -417, - -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, - 0, 0, -417, -417, -417, 0, 0, -417, 0, 0, - 0, 0, 0, -417, 0, -417, 0, 0, 0, -417, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, - 0, 0, -417, -417, 0, 0, -417, 0, -417, -417, - -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, - -546, 0, -417, -417, -417, -417, -417, 0, 276, -417, - -417, -417, -417, -546, -546, -546, -546, -546, -546, 0, - -546, 0, 0, 0, 0, -546, 0, -546, -546, 0, - 0, 0, 0, 0, 0, 0, 0, -546, -546, 0, - -546, -546, -546, -546, -546, 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, -546, -546, -546, -546, -546, -546, -546, -546, - -546, -546, -546, -546, 0, 0, 0, 0, -546, -546, - -546, 0, -546, -546, 0, 0, 0, 0, 0, -546, - 0, -546, 0, 0, 0, -546, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -546, 0, 0, -546, -546, - 0, -546, -546, 0, -546, -546, -546, -546, -546, -546, - -546, -546, -546, -546, 0, 0, -685, 0, 0, -546, - -546, -546, -546, 0, 0, -546, -546, -546, -546, -685, - -685, -685, -685, -685, -685, 0, -685, 0, 0, 0, - 0, -685, -685, -685, -685, 0, 0, 0, 0, 0, - 0, 0, 0, -685, -685, 0, -685, -685, -685, -685, - -685, 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, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - 0, 0, 0, 0, -685, -685, -685, 0, 0, -685, - 0, 0, 0, 0, 0, -685, 0, -685, 0, 0, - 0, -685, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -685, 0, 0, -685, -685, 0, 0, -685, 0, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - 0, 0, -685, 0, -685, -685, -685, -685, -685, 0, - 276, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 0, -685, 0, 0, 0, 0, -685, 0, -685, - -685, 0, 0, 0, 0, 0, 0, 0, 0, -685, - -685, 0, -685, -685, -685, -685, -685, 0, 0, 0, + -420, 63, -688, 0, 0, -688, -688, 0, 0, 0, + 0, 0, 0, -420, -420, -420, -420, -420, -420, 0, + -420, 64, 65, 66, 0, -420, -420, -420, -420, 0, + 0, 0, 0, -688, 0, -688, 0, -420, -420, 266, + -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, 0, - 0, 0, 0, 0, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 0, 0, 0, 0, - -685, -685, -685, 0, 0, -685, 0, 0, 0, 0, - 0, -685, 0, -685, 0, 0, 0, -685, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -685, 0, 0, - -685, -685, 0, 0, -685, 0, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 0, 0, -662, 0, - 0, -685, -685, -685, -685, 0, 276, -685, -685, -685, - -685, -662, -662, -662, 0, -662, -662, 0, -662, 0, - 0, 0, 0, -662, -662, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -662, -662, 0, -662, -662, - -662, -662, -662, 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, -549, 0, -420, -420, + -420, -420, -420, 0, 275, -420, -420, -420, -420, -549, + -549, -549, -549, -549, -549, 0, -549, 0, 0, 0, + 0, -549, 0, -549, -549, 0, 0, 0, 0, 0, + 0, 0, 0, -549, -549, 0, -549, -549, -549, -549, + -549, 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, -549, -549, + -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, + 0, 0, 0, 0, -549, -549, -549, 0, -549, -549, + 0, 0, 0, 0, 0, -549, 0, -549, 0, 0, + 0, -549, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -549, 0, 0, -549, -549, 0, -549, -549, 0, + -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, + 0, 0, -688, 0, 0, -549, -549, -549, -549, 0, + 0, -549, -549, -549, -549, -688, -688, -688, -688, -688, + -688, 0, -688, 0, 0, 0, 0, -688, -688, -688, + -688, 0, 0, 0, 0, 0, 0, 0, 0, -688, + -688, 0, -688, -688, -688, -688, -688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -662, -662, -662, -662, -662, -662, -662, -662, -662, -662, - -662, -662, 0, 0, 0, 0, -662, -662, -662, 0, - 807, -662, 0, 0, 0, 0, 0, 0, 0, -662, - 0, 0, 0, -662, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -662, 0, 0, -662, -662, 0, -107, - -662, 0, -662, -662, -662, -662, -662, -662, -662, -662, - -662, -662, 0, 0, -302, 0, -662, -662, -662, 0, - -662, 0, 0, -662, -662, -662, -662, -302, -302, -302, - 0, -302, -302, 0, -302, 0, 0, 0, 0, -302, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -302, -302, 0, -302, -302, -302, -302, -302, 0, + 0, 0, 0, 0, -688, -688, -688, -688, -688, -688, + -688, -688, -688, -688, -688, -688, 0, 0, 0, 0, + -688, -688, -688, 0, 0, -688, 0, 0, 0, 0, + 0, -688, 0, -688, 0, 0, 0, -688, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -688, 0, 0, + -688, -688, 0, 0, -688, 0, -688, -688, -688, -688, + -688, -688, -688, -688, -688, -688, 0, 0, -460, 0, + -688, -688, -688, -688, -688, 0, 275, -688, -688, -688, + -688, -460, -460, -460, -460, -460, -460, 0, -460, 0, + 0, 0, 0, -460, -659, -460, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -460, -460, 0, -460, -460, + -460, -460, -460, 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, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, - 0, 0, -302, -302, -302, 0, 808, -302, 0, 0, - 0, 0, 0, 0, 0, -302, 0, 0, 0, -302, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, - 0, 0, -302, -302, 0, -109, -302, 0, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, - -302, 0, 0, -302, -302, 0, -101, 0, 0, -302, - -302, -302, -302, -302, -302, -302, 0, -302, -302, 0, - -302, 0, 0, 0, 0, -302, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -302, -302, 0, - -302, -302, -302, -302, -302, 0, 0, 0, 0, 0, + -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, + -553, -553, 0, 0, 0, 0, -553, -553, -553, 0, + -553, -460, 0, 0, 0, 0, 0, 0, 0, -553, + 0, 0, 0, -553, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -460, 0, 0, -460, -460, 0, -553, + -553, 0, -553, -553, -460, -553, -553, -553, -553, -553, + -553, -553, 0, 0, -490, 0, -659, -460, -553, -460, + -460, 0, -659, -460, -460, -553, -460, -490, -490, -490, + -490, -490, -490, 0, -490, 0, 0, 0, 0, -490, + -658, -490, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -490, -490, 0, -490, -490, -490, -490, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, 0, 0, 0, 0, -302, -302, - -302, 0, 808, -302, 0, 0, 0, 0, 0, 0, - 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -302, 0, 0, -302, -302, - 0, -109, -302, 0, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, 0, 0, 0, 0, 0, -302, - -302, 0, -302, 0, 0, -302, -302, -302, -302, 295, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, -685, -685, -685, 0, 0, -685, 14, 0, 15, + 0, 0, 0, 0, 0, 0, -549, -549, -549, -549, + -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, + 0, 0, -549, -549, -549, 0, -549, -490, 0, 0, + 0, 0, 0, 0, 0, -549, 0, 0, 0, -549, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, + 0, 0, -490, -490, 0, -549, -549, 0, -549, -549, + -490, -549, -549, -549, -549, -549, -549, -549, 0, 0, + -456, 0, -658, -490, -549, -490, -490, 0, -658, -490, + -490, -549, -490, -456, -456, -456, -456, -456, -456, 0, + -456, 0, 0, 0, 0, -456, 0, -456, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -456, -456, 0, + -456, -456, -456, -456, -456, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -507, 0, 0, + -507, 0, 0, -507, 0, 0, 0, 0, 0, 0, + 0, 0, -507, -507, -507, -507, -507, -507, -507, -507, + -507, -507, -507, -507, 0, 0, 0, 0, -507, -507, + -507, 0, 0, -456, 0, 0, 0, 0, 0, 0, + 0, -507, 0, 0, 0, -507, 0, -507, 0, 0, + 0, 0, 0, 0, 0, -456, 0, 0, -456, -456, + 0, 0, -507, 0, -507, -507, -456, -507, -507, -507, + -507, -507, -507, -507, 0, 0, -688, 0, 0, -456, + -507, -456, -456, 0, 0, -456, -456, -507, -456, -688, + -688, -688, -688, -688, -688, 0, -688, 0, 0, 0, + 0, -688, 0, -688, -688, 0, 0, 0, 0, 0, + 0, 0, 0, -688, -688, 0, -688, -688, -688, -688, + -688, 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, -688, -688, + -688, -688, -688, -688, -688, -688, -688, -688, -688, -688, + 0, 0, 0, 0, -688, -688, -688, 0, 0, -688, + 0, 0, 0, 0, 0, -688, 0, -688, 0, 0, + 0, -688, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -688, 0, 0, -688, -688, 0, 0, -688, 0, + -688, -688, -688, -688, -688, -688, -688, -688, -688, -688, + 0, 0, -665, 0, 0, -688, -688, -688, -688, 0, + 275, -688, -688, -688, -688, -665, -665, -665, 0, -665, + -665, 0, -665, 0, 0, 0, 0, -665, -665, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -665, + -665, 0, -665, -665, -665, -665, -665, 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, -665, -665, -665, -665, -665, -665, + -665, -665, -665, -665, -665, -665, 0, 0, 0, 0, + -665, -665, -665, 0, 836, -665, 0, 0, 0, 0, + 0, 0, 0, -665, 0, 0, 0, -665, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -665, 0, 0, + -665, -665, 0, -110, -665, 0, -665, -665, -665, -665, + -665, -665, -665, -665, -665, -665, 0, 0, -665, 0, + -665, -665, -665, 0, -102, 0, 0, -665, -665, -665, + -665, -665, -665, -665, 0, -665, -665, 0, -665, 0, + 0, 0, 0, -665, -665, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -665, -665, 0, -665, -665, + -665, -665, -665, 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, + -665, -665, -665, -665, -665, -665, -665, -665, -665, -665, + -665, -665, 0, 0, 0, 0, -665, -665, -665, 0, + 836, -665, 0, 0, 0, 0, 0, 0, 0, -665, + 0, 0, 0, -665, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -665, 0, 0, -665, -665, 0, -110, + -665, 0, -665, -665, -665, -665, -665, -665, -665, -665, + -665, -665, 0, 0, -457, 0, -665, -665, -665, 0, + -665, 0, 0, -665, -665, -665, -665, -457, -457, -457, + -457, -457, -457, 0, -457, 0, 0, 0, 0, -457, + 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -457, -457, 0, -457, -457, -457, -457, -457, 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, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, 0, 0, + 0, 0, -558, -558, -558, 0, 0, -457, 0, 0, + 0, 0, 0, 0, 0, -558, 0, 0, 0, -558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, + 0, 0, -457, -457, 0, 0, -558, 0, -558, -558, + -457, -558, -558, -558, -558, -558, -558, -558, 0, 0, + -458, 0, 0, -457, -558, -457, -457, 0, 0, -457, + -457, -558, -457, -458, -458, -458, -458, -458, -458, 0, + -458, 0, 0, 0, 0, -458, 0, -458, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, + -458, -458, -458, -458, -458, 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, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, 0, 0, 0, 0, -560, -560, + -560, 0, 0, -458, 0, 0, 0, 0, 0, 0, + 0, -560, 0, 0, 0, -560, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -458, 0, 0, -458, -458, + 0, 0, -560, 0, -560, -560, -458, -560, -560, -560, + -560, -560, -560, -560, 0, 0, -459, 0, 0, -458, + -560, -458, -458, 0, 0, -458, -458, -560, -458, -459, + -459, -459, -459, -459, -459, 0, -459, 0, 0, 0, + 0, -459, 0, -459, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -459, -459, 0, -459, -459, -459, -459, + -459, 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, -561, -561, + -561, -561, -561, -561, -561, -561, -561, -561, -561, -561, + 0, 0, 0, 0, -561, -561, -561, 0, 0, -459, + 0, 0, 0, 0, 0, 0, 0, -561, 0, 0, + 0, -561, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -459, 0, 0, -459, -459, 0, 0, -561, 0, + -561, -561, -459, -561, -561, -561, -561, -561, -561, -561, + 0, 0, -454, 0, 0, -459, -561, -459, -459, 0, + 0, -459, -459, -561, -459, -454, -454, -454, -454, -454, + -454, 0, -454, 0, 0, 0, 0, -454, 0, -454, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, + -454, 0, -454, -454, -454, -454, -454, 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, -500, -500, -500, -500, -500, -500, + -500, -500, -500, -500, -500, -500, 0, 0, 0, 0, + -500, -500, -500, 0, 0, -454, 0, 0, 0, 0, + 0, 0, 0, -500, 0, 0, 0, -500, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, + -454, -454, 0, 0, -500, 0, -500, -500, -454, -500, + -500, -500, -500, -500, -500, -500, 0, 0, -455, 0, + 0, -454, -500, -454, -454, 0, 0, -454, -454, -500, + -454, -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, 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, + -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, + -501, -501, 0, 0, 0, 0, -501, -501, -501, 0, + 0, -455, 0, 0, 0, 0, 0, 0, 0, -501, + 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -455, 0, 0, -455, -455, 0, 0, + -501, 0, -501, -501, -455, -501, -501, -501, -501, -501, + -501, -501, 0, 0, -305, 0, 0, -455, -501, -455, + -455, 0, 0, -455, -455, -501, -455, -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, 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, 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, -688, -688, -688, 0, 0, + -688, 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, -688, 0, 0, + -688, -688, 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, -688, 294, + -688, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, -688, 0, -688, -688, 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, @@ -4060,12 +4201,12 @@ static const yytype_int16 yytable[] = 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, -685, 0, 0, -685, -685, 0, 0, + 62, 0, 63, -688, 0, 0, -688, -688, 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, -685, 295, -685, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 0, 0, -685, - 0, -685, -685, 14, 0, 15, 16, 17, 18, 0, + 0, 0, 0, 0, -688, 294, -688, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, -688, + 0, 0, -688, 14, -688, 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, @@ -4074,13 +4215,13 @@ static const yytype_int16 yytable[] = 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, -685, - 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -688, + 0, 0, -688, -688, 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, - -685, 295, -685, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, -685, 0, 0, -685, 14, - -685, 15, 16, 17, 18, 0, 0, 0, 0, 0, + -688, 294, -688, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, -688, 0, 0, -688, 14, + 0, 15, 16, 17, 18, -688, 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, @@ -4089,13 +4230,13 @@ static const yytype_int16 yytable[] = 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, -685, 0, 0, -685, -685, + 60, 61, 62, 0, 63, -688, 0, 0, -688, -688, 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, -685, 295, -685, 4, + 0, 0, 0, 0, 0, 0, -688, 294, -688, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, -685, 0, 0, -685, 14, 0, 15, 16, 17, - 18, -685, 0, 0, 0, 0, 19, 20, 21, 22, + 0, -688, 0, 0, -688, 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, @@ -4104,113 +4245,60 @@ static const yytype_int16 yytable[] = 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, -685, 0, 0, -685, -685, 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, -685, 295, -685, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, -685, 0, 0, - -685, 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, -685, 0, 0, - -685, -685, 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, -685, 0, - -685, 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, -685, 0, 0, -685, - -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, - -685, 0, 0, 0, 0, 0, 0, -685, 295, -685, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, -685, -685, 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, -685, 0, 0, -685, -685, 295, 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, -685, 0, -685, 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, - 296, 52, 0, 53, 54, 0, 55, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, -685, 0, 0, -685, -685, 295, 0, 4, 5, + 63, -688, 0, 0, -688, -688, 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, -685, -685, 0, -685, 19, 20, 21, 22, 23, + 0, 0, -688, 0, -688, 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, + 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, - -685, 0, 0, -685, -685, 295, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, - 65, 66, 0, 14, 0, 15, 16, 17, 18, 0, - -685, -685, 0, -685, 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, -685, - 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, - 66, 0, 0, -685, 0, 0, 0, 0, 0, 0, - -685, 295, -685, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, -685, 0, 0, 0, 14, - 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, + -688, 0, 0, -688, -688, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 65, 66, 0, 0, -688, 0, 0, 0, 0, 0, + 0, -688, 294, -688, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 0, -688, -688, 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, -688, 0, 0, -688, + -688, 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, -688, 0, -688, 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, + 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, -685, 0, 0, -685, -685, - 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, + 60, 61, 62, 0, 63, -688, 0, 0, -688, -688, + 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, -685, 0, -685, 19, + 15, 16, 17, 18, 0, -688, -688, 0, -688, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, - 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, + 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, 247, 0, 0, 248, 249, 0, + 61, 62, 0, 63, -688, 0, 0, -688, -688, 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, 250, 0, 251, 19, 20, + 16, 17, 18, 0, -688, -688, 0, -688, 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, @@ -4219,406 +4307,468 @@ static const yytype_int16 yytable[] = 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, 247, 0, 0, 248, 249, 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, 250, 0, 251, 110, 111, 112, - 22, 851, 852, 853, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 1001, 34, - 35, 36, 855, 38, 0, 39, 40, 41, 0, 0, - 856, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 62, 0, 63, -688, 0, 0, -688, -688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 977, 0, - 0, 119, 52, 0, 858, 859, 0, 0, 0, 0, + 0, 0, 64, 65, 66, 0, 0, -688, 0, 0, + 0, 0, 0, 0, -688, 294, -688, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, -688, + 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, -688, + 0, 0, -688, -688, 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, + -688, 0, -688, 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, 108, 109, 17, 18, 0, 0, 249, 0, + 250, 110, 111, 112, 22, 807, 808, 809, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 966, 34, 35, 36, 811, 38, 0, 39, + 40, 41, 0, 0, 812, 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, 945, 0, 0, 119, 52, 0, 814, 815, + 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, + 0, 60, 61, 62, 0, 63, -652, 0, 0, -652, + -652, 0, 0, 0, 0, 0, 0, 0, 818, 0, + 0, 0, 0, 0, 0, 64, 264, 66, 0, 0, + -485, 0, 0, -485, 0, 0, 0, -652, 0, -652, + 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, 1052, 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, -649, 0, 0, -649, -649, 0, 0, 0, - 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, - 0, 64, 265, 66, 0, 0, -482, 0, 0, -482, - 0, 0, 0, -649, 0, -649, 4, 5, 6, 7, + 0, 63, -281, 0, 0, -281, -281, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 264, 66, 0, 0, 0, 0, -281, -281, + 0, 0, 0, -281, 0, -281, 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, 0, 110, 111, 112, 22, 1058, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 1068, 34, 35, 36, 37, 38, + 0, 30, 31, 32, 1059, 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, -278, 0, - 0, -278, -278, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 64, 265, 66, - 0, 0, 0, 0, -278, -278, 0, 0, 0, -278, - 0, -278, 4, 5, 6, 7, 8, 9, 10, 11, + 58, 59, 0, 60, 61, 62, 0, 63, -657, 0, + 0, -657, -657, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 264, 66, + 0, 0, -489, 0, 0, -657, 0, 0, 0, -657, + 0, -657, 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, 1074, 24, 25, 0, 0, 113, 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, - 1075, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 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, -654, 0, 0, -654, -654, 0, + 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, 0, 0, 0, 0, 0, - 0, 0, 0, 64, 265, 66, 0, 0, -486, 0, - 0, -654, 0, 0, 0, -654, 0, -654, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 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, - 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, - 247, 0, 0, 248, 249, 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, 250, 0, 251, 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, 247, - 0, 0, 248, 249, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 64, 265, - 66, 0, 14, 0, 15, 16, 17, 18, 0, 0, - 250, 0, 251, 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, 247, 0, - 0, 248, 249, 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, 251, 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, -655, -655, -655, -655, -655, -655, - -655, -655, -655, 0, 0, 0, 0, 0, 0, 0, - -655, 0, -655, -655, -655, -655, 0, -655, 0, 0, - 0, -655, -655, -655, -655, -655, -655, -655, 0, 0, - -655, 0, 0, 0, 0, 0, 0, 0, 0, -655, - -655, -655, -655, -655, -655, -655, -655, -655, 0, -655, - -655, -655, 0, 0, -655, 0, 0, -655, -655, 0, - -655, -655, -655, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -655, -655, 0, 0, 0, - 0, 0, -655, 0, 0, -655, -655, 0, -655, -655, - 0, -655, 0, -655, -655, -655, 0, -655, -655, -655, - 0, -655, -655, -655, 0, -655, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -655, -655, -655, 0, -655, - 0, 0, 0, 0, 0, -655, -656, -656, -656, -656, - -656, -656, -656, -656, -656, 0, 0, 0, 0, 0, - 0, 0, -656, 0, -656, -656, -656, -656, 0, -656, - 0, 0, 0, -656, -656, -656, -656, -656, -656, -656, - 0, 0, -656, 0, 0, 0, 0, 0, 0, 0, - 0, -656, -656, -656, -656, -656, -656, -656, -656, -656, - 0, -656, -656, -656, 0, 0, -656, 0, 0, -656, - -656, 0, -656, -656, -656, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -656, -656, 0, - 0, 0, 0, 0, -656, 0, 0, -656, -656, 0, - -656, -656, 0, -656, 0, -656, -656, -656, 0, -656, - -656, -656, 0, -656, -656, -656, 0, -656, 0, 0, - 0, 0, 0, 0, -658, -658, -658, -658, -658, -658, - -658, -658, -658, 0, 0, 0, 0, -656, -656, -656, - -658, -656, -658, -658, -658, -658, 0, -656, 0, 0, - 0, -658, -658, -658, -658, -658, -658, -658, 0, 0, - -658, 0, 0, 0, 0, 0, 0, 0, 0, -658, - -658, -658, -658, -658, -658, -658, -658, -658, 0, -658, - -658, -658, 0, 0, -658, 0, 0, -658, -658, 0, - -658, -658, -658, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -658, -658, 0, 0, 0, - 0, 0, -658, 839, 0, -658, -658, 0, -658, -658, - 0, -658, 0, -658, -658, -658, 0, -658, -658, -658, - 0, -658, -658, -658, 0, -658, 0, 0, 0, 0, - 0, 0, -107, -659, -659, -659, -659, -659, -659, -659, - -659, -659, 0, 0, 0, -658, -658, -658, 0, -659, - 0, -659, -659, -659, -659, -658, 0, 0, 0, 0, - -659, -659, -659, -659, -659, -659, -659, 0, 0, -659, - 0, 0, 0, 0, 0, 0, 0, 0, -659, -659, - -659, -659, -659, -659, -659, -659, -659, 0, -659, -659, - -659, 0, 0, -659, 0, 0, -659, -659, 0, -659, - -659, -659, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -659, -659, 0, 0, 0, 0, - 0, -659, 840, 0, -659, -659, 0, -659, -659, 0, - -659, 0, -659, -659, -659, 0, -659, -659, -659, 0, - -659, -659, -659, 0, -659, 0, 0, 0, 0, 0, - 0, -109, -660, -660, -660, -660, -660, -660, -660, -660, - -660, 0, 0, 0, -659, -659, -659, 0, -660, 0, - -660, -660, -660, -660, -659, 0, 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, - -661, -661, -661, -661, -661, -661, -661, -661, -661, 0, - 0, 0, 0, -660, -660, -660, -661, 0, -661, -661, - -661, -661, 0, -660, 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, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -661, -661, -661, 0, 0, 0, 0, 0, 0, - 0, -661, 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, 233, 234, 235, 236, 162, 163, 164, 0, - 0, 0, 0, 0, 165, 166, 167, 237, 238, 239, - 240, 172, 320, 321, 241, 322, 0, 0, 0, 0, - 0, 0, 323, 0, 0, 0, 0, 0, 324, 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, 325, 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, 233, 234, 235, 236, 162, 163, 164, - 0, 0, 0, 0, 0, 165, 166, 167, 237, 238, - 239, 240, 172, 320, 321, 241, 322, 0, 0, 0, - 0, 0, 0, 323, 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, 233, 234, 235, 236, 162, 163, - 164, 0, 0, 0, 0, 0, 165, 166, 167, 237, - 238, 239, 240, 172, 0, 0, 241, 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, 242, 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, 233, 234, 235, 236, 162, - 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, - 237, 238, 239, 240, 172, 0, 0, 241, 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, 313, 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, 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, 0, 0, 0, 0, 14, 120, 108, 109, - 17, 18, 0, 0, 0, 314, 0, 110, 111, 112, + 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, -658, -658, + -658, -658, -658, -658, -658, -658, -658, 0, 0, 0, + 0, 0, 0, 0, -658, 0, -658, -658, -658, -658, + 0, -658, 0, 0, 0, -658, -658, -658, -658, -658, + -658, -658, 0, 0, -658, 0, 0, 0, 0, 0, + 0, 0, 0, -658, -658, -658, -658, -658, -658, -658, + -658, -658, 0, -658, -658, -658, 0, 0, -658, 0, + 0, -658, -658, 0, -658, -658, -658, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -658, + -658, 0, 0, 0, 0, 0, -658, 0, 0, -658, + -658, 0, -658, -658, 0, -658, 0, -658, -658, -658, + 0, -658, -658, -658, 0, -658, -658, -658, 0, -658, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -658, + -658, -658, 0, -658, 0, 0, 0, 0, 0, -658, + -659, -659, -659, -659, -659, -659, -659, -659, -659, 0, + 0, 0, 0, 0, 0, 0, -659, 0, -659, -659, + -659, -659, 0, -659, 0, 0, 0, -659, -659, -659, + -659, -659, -659, -659, 0, 0, -659, 0, 0, 0, + 0, 0, 0, 0, 0, -659, -659, -659, -659, -659, + -659, -659, -659, -659, 0, -659, -659, -659, 0, 0, + -659, 0, 0, -659, -659, 0, -659, -659, -659, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -659, -659, 0, 0, 0, 0, 0, -659, 0, + 0, -659, -659, 0, -659, -659, 0, -659, 0, -659, + -659, -659, 0, -659, -659, -659, 0, -659, -659, -659, + 0, -659, 0, 0, 0, 0, 0, 0, -661, -661, + -661, -661, -661, -661, -661, -661, -661, 0, 0, 0, + 0, -659, -659, -659, -661, -659, -661, -661, -661, -661, + 0, -659, 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, 868, 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, -110, -662, -662, -662, + -662, -662, -662, -662, -662, -662, 0, 0, 0, -661, + -661, -661, 0, -662, 0, -662, -662, -662, -662, -661, + 0, 0, 0, 0, -662, -662, -662, -662, -662, -662, + -662, 0, 0, -662, 0, 0, 0, 0, 0, 0, + 0, 0, -662, -662, -662, -662, -662, -662, -662, -662, + -662, 0, -662, -662, -662, 0, 0, -662, 0, 0, + -662, -662, 0, -662, -662, -662, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -662, -662, + 0, 0, 0, 0, 0, -662, 869, 0, -662, -662, + 0, -662, -662, 0, -662, 0, -662, -662, -662, 0, + -662, -662, -662, 0, -662, -662, -662, 0, -662, 0, + 0, 0, 0, 0, 0, -112, -663, -663, -663, -663, + -663, -663, -663, -663, -663, 0, 0, 0, -662, -662, + -662, 0, -663, 0, -663, -663, -663, -663, -662, 0, + 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, 0, 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, -664, -664, -664, -664, -664, -664, + -664, -664, -664, 0, 0, 0, 0, -663, -663, -663, + -664, 0, -664, -664, -664, -664, 0, -663, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -664, -664, -664, 0, 0, + 0, 0, 0, 0, 0, -664, 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, 313, 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, 612, - 0, 110, 111, 112, 22, 851, 852, 853, 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, 976, 34, 35, 36, 855, 38, 0, 39, - 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, - 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, + 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, 612, 0, 110, 111, 112, 22, 807, + 808, 809, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 944, 34, 35, 36, + 811, 38, 0, 39, 40, 41, 0, 0, 812, 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, 945, 0, 0, 119, + 52, 0, 814, 815, 0, 946, 0, 262, 0, 56, + 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 818, 0, 0, 0, 0, 0, 0, 64, + 264, 66, 0, 0, 0, 0, 947, 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, 954, 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, 955, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 0, 0, 64, 264, + 66, 0, 14, 956, 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, 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, 977, 0, 0, 119, 52, 0, 858, 859, - 0, 978, 0, 263, 0, 56, 0, 57, 58, 59, + 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, 0, 0, 0, 0, 0, 0, 862, 0, - 0, 0, 0, 0, 0, 64, 265, 66, 0, 0, - 0, 0, 979, 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, 986, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, - 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, 987, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 64, 265, 66, 0, 14, 988, + 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, 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, + 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, - 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, - 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, + 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, 13, - 0, 0, 0, 64, 65, 66, 14, 0, 15, 16, + 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, 27, 0, 29, 30, 31, 32, 33, 34, + 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, 45, 46, 47, 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, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 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, 65, 66, 14, 0, 15, 16, 17, 18, - 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, + 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, 260, 34, 35, 36, + 0, 0, 0, 30, 31, 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 261, 46, 47, 0, 0, 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, 262, 0, 263, 264, 56, + 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, - 265, 66, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, + 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, 260, 34, 35, 36, 37, 38, + 0, 30, 31, 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 509, 0, + 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, 262, 0, 263, 264, 56, 0, 57, + 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, 265, 66, + 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, 260, 34, 35, 36, 37, 38, 0, 39, + 31, 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 261, 46, 47, 0, 0, 0, 0, 0, 0, 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, 725, 0, 263, 264, 56, 0, 57, 58, 59, + 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, 265, 66, 14, 0, + 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, - 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, + 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, 883, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 725, - 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, + 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, 265, 66, 14, 0, 108, 109, + 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, 260, 34, + 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, 261, 46, 47, 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, 262, 0, 263, + 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, 265, 66, 14, 0, 108, 109, 17, 18, + 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, 260, 34, 35, 36, + 0, 0, 0, 30, 31, 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 261, 46, 47, 0, 0, 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, 263, 264, 56, + 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, - 265, 66, 14, 0, 108, 109, 17, 18, 0, 0, - 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, + 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, 260, 34, 35, 36, 37, 38, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, + 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, 725, 0, 263, 0, 56, 0, 57, + 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, 265, 66, + 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, 260, 34, 35, 36, 37, 38, 0, 39, + 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 261, 46, 47, 0, 0, 0, 0, 0, 0, 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, 263, 0, 56, 0, 57, 58, 59, + 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, 265, 66, 14, 0, - 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, + 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, @@ -4628,7 +4778,7 @@ static const yytype_int16 yytable[] = 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, 265, 66, 14, 0, 108, 109, + 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, @@ -4636,11 +4786,11 @@ static const yytype_int16 yytable[] = 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, 262, 0, 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, 265, 66, 14, 0, 108, 109, 17, 18, + 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, @@ -4648,22 +4798,22 @@ static const yytype_int16 yytable[] = 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, + 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, - 265, 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, + 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, 929, 0, 0, 0, 56, 0, 57, + 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, 265, 66, + 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, @@ -4672,12 +4822,12 @@ static const yytype_int16 yytable[] = 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, 725, 0, 0, 0, 56, 0, 57, 58, 59, + 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, 265, 66, 14, 0, + 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, + 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, @@ -4687,358 +4837,282 @@ static const yytype_int16 yytable[] = 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, + 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, + 22, 807, 808, 809, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 810, 34, + 35, 36, 811, 38, 0, 39, 40, 41, 0, 0, + 812, 0, 0, 43, 44, 0, 116, 0, 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, 0, 0, 0, 0, 0, 0, 0, 813, 0, + 0, 119, 52, 0, 814, 815, 0, 816, 0, 817, 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, 265, 66, 14, 0, 15, 16, 17, 18, - 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, + 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 0, 818, 0, 0, 0, 0, 0, + 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, + 0, 110, 111, 112, 22, 807, 808, 809, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 966, 34, 35, 36, 811, 38, 0, 39, + 40, 41, 0, 0, 812, 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, 813, 0, 0, 119, 52, 0, 814, 815, + 0, 816, 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, 818, 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, - -487, 43, 44, 0, 45, 46, 47, 0, 0, 0, - -655, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, -487, -487, 211, 0, 0, 119, + 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, 807, 808, 809, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 966, 34, 35, 36, 811, 38, + 0, 39, 40, 41, 0, 0, 812, 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, 813, 0, 0, 119, 52, 0, + 814, 815, 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, + 818, 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, 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, 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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1035, 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, -546, -546, -546, -546, - -546, -546, -546, -546, -546, -546, -546, -546, 0, 64, - 265, 66, -546, -546, -546, 0, -546, -487, 0, 0, - 0, 0, 0, 0, 0, -546, 0, 0, 0, -546, - 0, 0, 0, 0, -453, 0, 0, 0, 0, -487, - 0, 0, -487, -487, 0, -546, -546, 0, -546, -546, - -487, -546, -546, -546, -546, -546, -546, -546, -453, -453, - 0, 0, -655, -487, -546, -487, -487, 0, -655, 0, - -487, -546, -487, 0, 0, -504, 0, 0, -504, 0, - 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, - -504, -504, -504, -504, -504, -504, -504, -504, -504, -504, - -504, -504, 0, 0, 0, 0, -504, -504, -504, 0, - 0, -453, 0, 0, -456, 0, 0, 0, 0, -504, - 0, 0, 0, -504, 0, -504, 0, 0, 0, 0, - 0, 0, 0, -453, 0, 0, -453, -453, -456, -456, - -504, 0, -504, -504, -453, -504, -504, -504, -504, -504, - -504, -504, 0, 0, 0, 0, 0, -453, -504, -453, - -453, 0, 0, 0, -453, -504, -453, 0, 0, 0, - -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, - -558, -558, 0, 0, 0, 0, -558, -558, -558, 0, - 0, -456, 0, 0, -451, 0, 0, 0, 0, -558, - 0, 0, 0, -558, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -456, 0, 0, -456, -456, -451, -451, - -558, 0, -558, -558, -456, -558, -558, -558, -558, -558, - -558, -558, 0, 0, 0, 0, 0, -456, -558, -456, - -456, 0, 0, 0, -456, -558, -456, 0, 0, 0, - -497, -497, -497, -497, -497, -497, -497, -497, -497, -497, - -497, -497, 0, 0, 0, 0, -497, -497, -497, 0, - 0, -451, 0, 0, -452, 0, 0, 0, 0, -497, - 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -451, 0, 0, -451, -451, -452, -452, - -497, 0, -497, -497, -451, -497, -497, -497, -497, -497, - -497, -497, 0, 0, 0, 0, 0, -451, -497, -451, - -451, 0, 0, 0, -451, -497, -451, 0, 0, 0, - -498, -498, -498, -498, -498, -498, -498, -498, -498, -498, - -498, -498, 0, 0, 0, 0, -498, -498, -498, 0, - 0, -452, 0, 0, 0, 0, 0, 0, 0, -498, - 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -452, 0, 0, -452, -452, 0, 0, - -498, 0, -498, -498, -452, -498, -498, -498, -498, -498, - -498, -498, 0, 0, 0, 0, 0, -452, -498, -452, - -452, 0, 0, 0, -452, -498, -452, 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, 851, 852, - 853, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 854, 34, 35, 36, 855, - 38, 0, 39, 40, 41, 0, 0, 856, 0, 0, - 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, + 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, -658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 857, 0, 0, 119, 52, - 0, 858, 859, 0, 860, 0, 861, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 862, 0, 0, 0, 0, 0, 14, 120, 108, - 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 851, 852, 853, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 1001, - 34, 35, 36, 855, 38, 0, 39, 40, 41, 0, - 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, + 1083, 0, 0, 119, 52, 0, 53, 54, 0, 0, + 0, 0, 0, 56, 496, 57, 58, 59, 0, 60, + 61, 62, 0, 63, 0, 0, 0, 0, 0, -549, + -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, + -549, 0, 0, 120, 0, -549, -549, -549, 0, -549, + -490, 0, 0, 0, 0, 0, 0, 0, -549, 0, + -658, 0, -549, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -549, 0, 0, -549, -549, 0, -549, -549, + 0, -549, -549, -490, -549, -549, -549, -549, -549, -549, + -549, 0, 0, 0, 0, -658, 0, -549, -490, -490, + 0, -658, 0, -549, -549, -549, -549, -549, -549, -549, + -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, + 0, 0, -549, -549, -549, 0, -549, 0, 0, 0, + 0, 0, 0, 0, 0, -549, 0, -658, 0, -549, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -549, + 0, 0, -549, -549, 0, -549, -549, 0, -549, -549, + -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, + 0, 0, -658, 0, -549, -475, -475, 0, -658, 0, + -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, + -549, -549, -549, -549, -549, 0, 0, 0, 0, -549, + -549, -549, 0, -549, 0, 0, 0, 0, 0, 0, + 0, 0, -549, 0, 0, 0, -549, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -549, 0, 0, -549, + -549, 0, -549, -549, 0, -549, -549, -549, -549, -549, + -549, -549, -549, -549, -549, 0, 0, 0, 0, -658, + -487, -549, 0, -549, 0, -658, 0, -549, -549, -549, + 652, 653, 0, 0, 654, 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, 0, 0, 0, 0, 0, 0, 857, - 0, 0, 119, 52, 0, 858, 859, 0, 860, 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, 862, 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, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 661, 662, 0, 0, + 663, 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, - 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, 225, 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, 0, 0, 0, 0, 0, 0, 226, 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, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 313, 0, 0, 400, 52, 0, 53, 54, 0, - 401, 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, 851, 852, - 853, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 1001, 34, 35, 36, 855, - 38, 0, 39, 40, 41, 0, 0, 856, 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, 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, 857, 0, 0, 119, 52, - 0, 858, 859, 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, 862, 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, 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, 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, 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, 313, 0, 0, 400, 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, 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, 0, 0, 0, 0, 0, 0, 1032, 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, 225, - 0, 0, 0, 0, -655, 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, 1055, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 56, 496, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, - -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, - -546, -546, 0, 0, 120, 0, -546, -546, -546, 0, - -546, -487, 0, 0, 0, 0, 0, 0, 0, -546, - 0, -655, 0, -546, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -546, 0, 0, -546, -546, 0, -546, - -546, 0, -546, -546, -487, -546, -546, -546, -546, -546, - -546, -546, 0, 0, 0, 0, -655, 0, -546, -487, - -487, 0, -655, 0, -546, -546, -546, -546, -546, -546, - -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, - 0, 0, 0, -546, -546, -546, 0, -546, 0, 0, - 0, 0, 0, 0, 0, 0, -546, 0, -655, 0, - -546, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -546, 0, 0, -546, -546, 0, -546, -546, 0, -546, - -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, - 0, 0, 0, -655, 0, -546, -472, -472, 0, -655, - 0, -546, -546, -546, -546, -546, -546, -546, -546, -546, - -546, -546, -546, -546, -546, -546, 0, 0, 0, 0, - -546, -546, -546, 0, -546, 0, 0, 0, 0, 0, - 0, 0, 0, -546, 0, 0, 0, -546, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -546, 0, 0, - -546, -546, 0, -546, -546, 0, -546, -546, -546, -546, - -546, -546, -546, -546, -546, -546, 0, 0, 0, 0, - -655, -484, -546, 0, -546, 0, -655, 0, -546, -546, - -546, 660, 661, 0, 0, 662, 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, 681, 652, 0, - 0, 682, 0, 203, 276, 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, 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, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 666, 661, 0, 0, 667, 0, 203, - 276, 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, 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, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 698, - 652, 0, 0, 699, 0, 203, 276, 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, 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, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 701, 661, 0, 0, 702, - 0, 203, 276, 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, 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, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 708, 652, 0, 0, 709, 0, 203, 276, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 201, 202, 1062, 653, 0, 0, 1063, 0, 203, 275, 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, 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, - 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, 711, 661, 0, - 0, 712, 0, 203, 276, 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, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 0, 201, 202, 699, 653, + 0, 0, 1130, 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, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 748, 652, 0, 0, 749, 0, 203, - 276, 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, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 1062, 653, 0, 0, 1157, 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, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 751, - 661, 0, 0, 752, 0, 203, 276, 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, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 1171, 653, 0, 0, 1172, 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, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 934, 652, 0, 0, 935, - 0, 203, 276, 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, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 1174, 662, 0, 0, + 1175, 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, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 937, 661, 0, 0, 938, 0, 203, 276, 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, 1078, 652, 0, - 0, 1079, 0, 203, 276, 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, 698, 652, 0, 0, 1136, 0, 203, - 276, 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, 1078, - 652, 0, 0, 1154, 0, 203, 276, 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, 1165, 652, 0, 0, 1166, - 0, 203, 276, 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, 1168, 661, 0, 0, 1169, 0, 203, 276, 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, 666, 661, 0, - 0, 667, 0, 203, 276, 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, 901, 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, 0, 904, 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, 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, 914, 0, 0, 0, 0, 0, + 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, @@ -5047,618 +5121,564 @@ static const yytype_int16 yytable[] = 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, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, - -302, -302, -302, 0, 840, -302, 0, 0, 0, 0, - 0, 0, 0, -302, 0, 0, 0, -302, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, - -302, -302, 0, -109, -302, 0, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, - 0, -302, -302, -302, -302, 0, -659, 0, -302, -302, - -302, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, 0, 0, 0, 0, -303, -303, -303, - 0, 526, -303, 0, 0, 0, 0, 0, 0, 0, - -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -303, 0, 0, -303, -303, 0, - -110, -303, 0, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, 0, 0, 0, 0, 0, -303, -303, - -303, -303, 0, 0, 0, -303, -303, -303, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - 0, 0, 0, 0, -555, -555, -555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -555, 0, 0, - 0, -555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -555, 0, 0, -555, -555, 0, 0, -555, 0, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - 0, 0, 0, 0, 0, -485, -555, 0, -555, 0, - 0, 0, -555, -555, -555, -498, -498, -498, -498, -498, - -498, -498, -498, -498, -498, -498, -498, 0, 0, 0, - 0, -498, -498, -498, 0, 0, 1009, 0, 0, 0, - 0, 0, 0, 0, -498, 0, 0, 0, -498, 0, + 427, 428, 429, 430, -305, -305, -305, -305, -305, -305, + -305, -305, -305, -305, -305, -305, 0, 0, 0, 0, + -305, -305, -305, 0, 869, -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, -305, -305, 0, -662, 0, -305, -305, + -305, -306, -306, -306, -306, -306, -306, -306, -306, -306, + -306, -306, -306, 0, 0, 0, 0, -306, -306, -306, + 0, 526, -306, 0, 0, 0, 0, 0, 0, 0, + -306, 0, 0, 0, -306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -306, 0, 0, -306, -306, 0, + -113, -306, 0, -306, -306, -306, -306, -306, -306, -306, + -306, -306, -306, 0, 0, 0, 0, 0, -306, -306, + -306, -306, 0, 0, 0, -306, -306, -306, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + 0, 0, 0, 0, -558, -558, -558, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -558, 0, 0, + 0, -558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -558, 0, 0, -558, -558, 0, 0, -558, 0, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + 0, 0, 0, 0, 0, -488, -558, 0, -558, 0, + 0, 0, -558, -558, -558, -501, -501, -501, -501, -501, + -501, -501, -501, -501, -501, -501, -501, 0, 0, 0, + 0, -501, -501, -501, 0, 0, 974, 0, 0, 0, + 0, 0, 0, 0, -501, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -498, 0, -498, -498, -498, - -498, -498, -498, -498, -498, -498, -498, 0, 0, 0, - 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, - -498, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 0, 0, 0, 0, -501, 0, -501, -501, -501, + -501, -501, -501, -501, -501, -501, -501, 0, 0, 0, + 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, + -501, 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, -277, 404, 405, 406, 407, 408, 409, 410, 411, + 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, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, - 0, 0, -279, 404, 405, 406, 407, 408, 409, 410, + 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, -280, 404, 405, 406, 407, 408, 409, + 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, + 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, 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, 418, 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, 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, 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, -686, -686, 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, 0, 0, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430 + 425, 426, 427, 428, 429, 430, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 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, 420, 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 }; static const yytype_int16 yycheck[] = { - 1, 26, 379, 8, 9, 86, 87, 81, 88, 14, - 6, 27, 285, 272, 490, 118, 481, 13, 388, 20, - 390, 504, 403, 14, 9, 508, 15, 16, 21, 14, - 19, 27, 13, 3, 55, 763, 1, 222, 3, 4, - 5, 332, 791, 8, 9, 508, 27, 12, 6, 14, - 15, 16, 53, 54, 19, 597, 51, 68, 443, 444, - 594, 57, 65, 1015, 53, 54, 74, 1, 859, 3, - 547, 307, 73, 74, 319, 311, 539, 68, 431, 27, - 858, 594, 435, 433, 314, 438, 51, 865, 74, 26, - 55, 15, 16, 20, 21, 19, 669, 670, 333, 57, - 65, 336, 79, 338, 26, 340, 459, 342, 458, 587, - 111, 104, 117, 591, 1040, 26, 81, 57, 374, 26, - 57, 474, 296, 476, 1072, 475, 371, 29, 270, 18, - 272, 20, 485, 25, 484, 612, 122, 218, 51, 395, - 15, 16, 15, 16, 19, 25, 19, 692, 229, 126, - 57, 696, 117, 90, 119, 0, 26, 25, 703, 59, - 60, 61, 62, 1008, 306, 103, 25, 115, 105, 144, - 118, 119, 525, 60, 34, 93, 63, 104, 53, 90, - 28, 121, 25, 403, 111, 112, 25, 25, 25, 102, - 128, 51, 90, 106, 105, 16, 1148, 550, 146, 549, - 148, 138, 129, 140, 460, 213, 214, 144, 126, 290, - 147, 113, 213, 214, 58, 59, 138, 1008, 223, 224, - 107, 755, 144, 443, 444, 1173, 400, 138, 214, 140, - 1156, 138, 1077, 144, 768, 316, 147, 144, 223, 224, - 314, 791, 755, 15, 16, 210, 242, 19, 821, 147, - 142, 734, 735, 61, 513, 768, 64, 65, 223, 224, - 92, 252, 142, 18, 144, 4, 5, 558, 138, 270, - 25, 272, 735, 12, 142, 276, 144, 57, 90, 284, - 285, 53, 54, 142, 242, 138, 1077, 298, 1037, 121, - 279, 1040, 1020, 1071, 115, 306, 307, 118, 119, 142, - 311, 296, 90, 142, 142, 142, 551, 298, 116, 117, - 691, 276, 92, 791, 279, 90, 55, 547, 90, 284, - 285, 556, 799, 288, 90, 146, 55, 148, 92, 812, - 295, 296, 121, 142, 92, 147, 90, 90, 303, 105, - 51, 121, 81, 121, 55, 350, 351, 352, 353, 314, - 355, 356, 121, 142, 457, 279, 16, 121, 51, 147, - 90, 295, 904, 121, 898, 350, 351, 352, 353, 303, - 512, 513, 147, 92, 908, 92, 377, 90, 379, 349, - 401, 147, 612, 848, 349, 350, 351, 352, 353, 354, - 355, 356, 105, 147, 147, 398, 90, 587, 775, 144, - 403, 276, 121, 276, 279, 400, 279, 1156, 92, 374, - 780, 781, 782, 90, 784, 349, 786, 147, 90, 125, - 354, 55, 807, 142, 680, 325, 119, 140, 813, 814, - 395, 144, 433, 398, 147, 400, 401, 121, 403, 435, - 443, 444, 438, 92, 61, 121, 594, 64, 65, 597, - 803, 724, 805, 147, 804, 115, 461, 458, 118, 119, - 37, 38, 92, 459, 92, 466, 1011, 609, 433, 728, - 147, 545, 121, 547, 475, 147, 20, 502, 443, 444, - 476, 25, 142, 484, 1034, 55, 146, 1037, 148, 485, - 1040, 121, 1042, 458, 25, 460, 461, 16, 92, 116, - 117, 142, 92, 1037, 276, 521, 471, 279, 435, 745, - 475, 512, 513, 92, 479, 504, 92, 659, 20, 484, - 511, 522, 90, 398, 489, 521, 92, 121, 403, 525, - 1013, 121, 459, 806, 719, 1011, 792, 105, 612, 142, - 521, 622, 121, 920, 921, 121, 57, 536, 549, 476, - 1013, 138, 142, 101, 550, 121, 1034, 522, 485, 1037, - 433, 946, 1040, 819, 1042, 145, 531, 121, 1118, 799, - 665, 55, 140, 668, 141, 314, 142, 719, 139, 147, - 545, 801, 547, 142, 549, 458, 728, 807, 522, 1134, - 57, 686, 557, 813, 814, 288, 115, 531, 525, 118, - 119, 791, 475, 296, 605, 92, 1156, 755, 1158, 90, - 1160, 484, 1162, 92, 121, 640, 1150, 890, 493, 584, - 768, 92, 121, 550, 105, 884, 1160, 146, 51, 148, - 53, 54, 55, 56, 121, 891, 17, 18, 603, 101, - 1118, 26, 121, 791, 101, 1195, 69, 612, 58, 59, - 121, 73, 74, 142, 1024, 1025, 1026, 1027, 659, 140, - 51, 433, 401, 656, 665, 142, 147, 668, 669, 670, - 16, 142, 665, 142, 679, 668, 549, 810, 1156, 864, - 1158, 142, 1160, 816, 1162, 686, 458, 40, 41, 90, - 691, 692, 51, 689, 679, 696, 121, 122, 714, 121, - 122, 957, 703, 475, 105, 90, 115, 400, 713, 118, - 119, 584, 484, 142, 679, 680, 51, 1195, 714, 142, - 105, 92, 121, 319, 142, 799, 946, 728, 713, 656, - 603, 689, 504, 714, 745, 51, 508, 817, 665, 140, - 1117, 668, 884, 916, 917, 734, 147, 99, 713, 15, - 121, 716, 13, 138, 121, 140, 904, 684, 62, 686, - 64, 65, 147, 121, 536, 90, 16, 539, 92, 115, - 63, 142, 118, 119, 775, 371, 961, 549, 471, 1132, - 105, 1131, 967, 1153, 115, 15, 479, 118, 119, 145, - 145, 213, 214, 142, 139, 26, 489, 121, 801, 142, - 146, 142, 148, 804, 807, 808, 545, 15, 547, 805, - 813, 814, 116, 117, 15, 140, 691, 148, 142, 142, - 821, 44, 147, 812, 121, 90, 141, 792, 141, 18, - 831, 836, 15, 834, 799, 800, 801, 139, 141, 804, - 105, 90, 807, 808, 1034, 141, 15, 1037, 813, 814, - 1040, 836, 1042, 139, 819, 820, 105, 858, 859, 90, - 37, 38, 141, 139, 557, 142, 800, 57, 833, 858, - 859, 836, 90, 612, 105, 140, 1149, 215, 805, 44, - 845, 846, 147, 884, 222, 142, 16, 105, 142, 1037, - 142, 140, 1040, 858, 142, 1080, 1081, 319, 147, 980, - 865, 44, 90, 15, 14, 101, 93, 138, 15, 140, - 40, 41, 15, 144, 55, 880, 147, 105, 51, 920, - 921, 259, 140, 51, 145, 142, 891, 892, 1118, 147, - 142, 804, 1, 26, 3, 131, 132, 133, 115, 8, - 9, 118, 119, 946, 142, 14, 15, 16, 142, 371, - 19, 26, 140, 918, 15, 551, 716, 115, 923, 147, - 118, 119, 734, 735, 925, 926, 1156, 142, 1158, 146, - 1160, 148, 1162, 63, 64, 65, 1057, 716, 142, 142, - 142, 946, 51, 858, 580, 115, 141, 15, 118, 119, - 139, 956, 957, 998, 999, 960, 65, 90, 15, 964, - 15, 597, 90, 55, 600, 1195, 1191, 141, 1156, 974, - 1011, 349, 105, 998, 999, 90, 146, 105, 148, 142, - 142, 1206, 1207, 139, 142, 363, 116, 117, 142, 142, - 105, 51, 804, 998, 999, 1000, 62, 15, 64, 65, - 812, 1006, 1007, 381, 1009, 138, 142, 140, 117, 55, - 119, 144, 140, 51, 147, 53, 54, 55, 56, 147, - 799, 51, 139, 138, 126, 140, 126, 443, 444, 144, - 15, 69, 147, 1098, 90, 139, 1037, 144, 90, 69, - 51, 1082, 53, 54, 55, 56, 858, 859, 55, 105, - 116, 117, 142, 105, 57, 1060, 93, 1062, 69, 142, - 1065, 477, 478, 142, 142, 865, 1071, 1072, 1073, 1175, - 1176, 101, 102, 103, 300, 142, 1117, 142, 304, 1084, - 142, 142, 15, 94, 140, 15, 865, 820, 140, 551, - 1131, 147, 1133, 1134, 142, 147, 1132, 142, 128, 1205, - 833, 210, 480, 481, 142, 144, 1212, 1213, 141, 15, - 526, 142, 845, 846, 223, 224, 90, 15, 40, 522, - 1121, 1122, 1123, 41, 1125, 1126, 1131, 12, 5, 791, - 1134, 105, 1148, 818, 1175, 1176, 1141, 1142, 1143, 918, - 1143, 1084, 1147, 1006, 923, 859, 1133, 880, 88, 89, - 6, 254, 587, 531, 1034, 791, 1037, 1202, 1203, 892, - 538, 101, -1, 57, 1205, 1132, 140, 276, 1173, 1174, - 279, 1212, 1213, 147, 974, 284, 285, 1202, 1203, 288, - -1, 960, 1183, 1184, 1185, 1186, 295, 296, 128, 129, - 130, 131, 132, 133, 303, 974, 1201, 1202, 1203, 26, - 90, 1013, 90, 1204, 101, 1210, 1211, 1007, 1, 1009, - 3, 4, 5, -1, -1, 105, -1, 105, 1131, 12, - -1, 115, 90, 956, 118, 119, -1, 1006, 1007, 123, - 1009, 964, 129, 130, 131, 132, 133, 105, -1, -1, - 349, 350, 351, 352, 353, 354, 355, 356, -1, 90, - 140, -1, 140, -1, 148, -1, -1, 147, 51, 147, - -1, -1, 55, 90, 105, 374, -1, 1000, 904, -1, - 906, 1071, 140, 1073, 910, -1, -1, -1, 105, 147, - -1, -1, -1, 509, 1084, -1, 395, -1, 81, 398, - 516, 400, 1071, 1072, 403, -1, -1, -1, -1, 140, - 678, -1, 528, -1, 716, 1084, 147, 63, 64, 65, - -1, 138, -1, 140, -1, -1, -1, 144, -1, 1131, - 147, -1, -1, -1, 433, -1, 119, 1060, -1, 1062, - -1, -1, 1065, -1, 443, 444, 63, 64, 65, -1, - -1, 719, -1, 1143, -1, -1, -1, 1147, -1, 458, - -1, 460, 461, -1, -1, 581, 582, 63, 64, 65, - 116, 117, 471, -1, 1143, 716, 475, -1, 1147, -1, - 479, -1, -1, -1, 1174, 484, 63, 64, 65, -1, - 489, -1, 1018, 1019, -1, 611, -1, -1, -1, 116, - 117, 807, 808, -1, 1173, 1174, -1, 813, 814, 777, - -1, 63, 64, 65, 1040, -1, 1042, -1, 1141, 1142, - 116, 117, -1, 522, -1, -1, -1, 210, -1, -1, - -1, -1, 531, 839, 840, -1, 842, 843, -1, 116, - 117, 63, 64, 65, 16, 63, 64, 65, 88, 89, - 549, -1, -1, -1, -1, 823, 858, 859, 557, -1, - -1, 101, -1, 865, 116, 117, -1, -1, 40, 41, - 115, -1, 688, 118, 119, -1, -1, -1, 1201, 1105, - 848, -1, 1108, -1, -1, 584, -1, 1210, 1211, 129, - 130, 131, 132, 133, 116, 117, 864, -1, 116, 117, - 145, 146, -1, 148, 603, 288, 115, -1, -1, 118, - 119, 115, 295, 296, 118, 119, -1, 858, 90, 115, - 303, 93, 118, 119, 865, -1, 1152, -1, 744, -1, - 1156, 314, 1158, 105, -1, -1, 1162, 146, 142, 148, - 946, -1, 146, 115, 148, -1, 118, 119, 764, -1, - 146, -1, 148, -1, 126, 51, -1, 53, 54, 55, - 56, -1, -1, 969, -1, -1, 349, -1, 140, 1195, - 142, 354, 974, 69, 146, 147, 148, -1, -1, -1, - 679, 680, -1, -1, -1, 51, -1, 53, 54, 55, - 56, 374, -1, 961, 40, 41, 42, 43, 44, 967, - -1, -1, -1, 69, 1006, 1007, 1008, 1009, -1, -1, - -1, -1, 395, -1, 713, -1, -1, 400, 401, -1, - 403, -1, -1, -1, -1, -1, -1, -1, 94, -1, - -1, -1, -1, 974, -1, 101, 102, 103, 51, -1, - 53, 54, 55, 56, -1, -1, 51, -1, 53, 54, - 55, 56, -1, -1, -1, -1, 69, -1, -1, -1, - 443, 444, 128, -1, 69, 1006, 1007, 883, 1009, 1071, - 1072, 1073, -1, -1, -1, 1077, -1, 460, -1, -1, - -1, 94, 1084, 899, -1, -1, -1, 100, 471, 94, - -1, -1, -1, 792, -1, 100, 479, -1, -1, -1, - -1, 800, 801, -1, -1, 804, 489, -1, 807, 808, - -1, -1, 1080, 1081, 813, 814, -1, -1, -1, -1, - 819, 820, -1, -1, -1, 1, -1, 3, 4, 5, - 1071, 1072, 1073, -1, 833, -1, 12, 836, -1, 522, - -1, 1143, -1, 1084, -1, 1147, 845, 846, 531, -1, + 1, 27, 284, 26, 378, 88, 8, 9, 271, 6, + 21, 481, 14, 402, 433, 594, 490, 13, 221, 20, + 68, 81, 86, 87, 9, 65, 313, 3, 792, 14, + 118, 27, 15, 16, 15, 16, 19, 55, 19, 458, + 402, 1, 387, 3, 389, 597, 443, 444, 764, 547, + 1018, 331, 53, 54, 443, 444, 475, 504, 639, 306, + 57, 508, 25, 310, 51, 484, 670, 671, 508, 815, + 53, 814, 73, 74, 25, 6, 1043, 1, 821, 3, + 4, 5, 13, 973, 8, 9, 594, 26, 12, 597, + 14, 15, 16, 104, 594, 19, 27, 4, 5, 539, + 74, 74, 14, 295, 103, 12, 26, 373, 57, 431, + 111, 0, 25, 435, 612, 117, 438, 25, 15, 16, + 57, 138, 19, 318, 20, 21, 57, 51, 394, 128, + 549, 55, 93, 16, 144, 693, 717, 459, 25, 697, + 269, 65, 271, 92, 215, 55, 704, 25, 55, 122, + 221, 299, 474, 217, 476, 303, 68, 81, 59, 60, + 61, 62, 90, 485, 228, 126, 25, 28, 25, 90, + 79, 1061, 121, 90, 81, 370, 305, 756, 1056, 142, + 121, 144, 29, 1151, 121, 15, 16, 258, 105, 19, + 769, 142, 1159, 117, 460, 119, 18, 332, 20, 138, + 335, 16, 337, 525, 339, 144, 341, 399, 104, 142, + 90, 92, 213, 214, 16, 111, 112, 126, 138, 147, + 222, 223, 121, 53, 54, 289, 147, 973, 550, 142, + 147, 144, 115, 129, 142, 118, 119, 222, 223, 213, + 214, 214, 20, 142, 241, 18, 850, 25, 756, 297, + 513, 315, 25, 313, 121, 142, 756, 305, 306, 142, + 547, 769, 310, 146, 142, 148, 113, 147, 269, 769, + 271, 90, 90, 144, 275, 125, 1040, 348, 558, 1043, + 26, 283, 284, 142, 792, 142, 210, 55, 735, 736, + 1168, 362, 275, 121, 275, 278, 736, 278, 222, 223, + 115, 90, 800, 118, 119, 101, 92, 1023, 295, 380, + 241, 57, 1055, 115, 55, 1061, 118, 119, 839, 90, + 666, 25, 901, 669, 845, 612, 58, 59, 147, 147, + 692, 146, 911, 148, 294, 131, 132, 133, 142, 251, + 90, 687, 302, 90, 146, 20, 148, 349, 350, 351, + 352, 275, 354, 355, 278, 907, 551, 397, 147, 283, + 284, 509, 402, 287, 349, 350, 351, 352, 516, 457, + 294, 295, 348, 34, 57, 376, 147, 378, 302, 92, + 528, 278, 400, 512, 513, 297, 805, 90, 348, 313, + 51, 92, 138, 353, 841, 1159, 138, 147, 144, 907, + 147, 90, 776, 443, 444, 142, 313, 877, 121, 480, + 481, 101, 399, 802, 397, 681, 105, 51, 51, 402, + 121, 556, 55, 324, 348, 349, 350, 351, 352, 353, + 354, 355, 433, 581, 582, 92, 781, 782, 783, 836, + 785, 142, 787, 725, 147, 842, 843, 836, 278, 373, + 145, 140, 433, 842, 843, 144, 1014, 458, 147, 461, + 531, 1040, 121, 611, 121, 466, 729, 538, 102, 92, + 394, 141, 106, 397, 475, 399, 400, 458, 402, 502, + 609, 139, 804, 484, 806, 545, 60, 547, 61, 63, + 55, 64, 65, 400, 475, 521, 142, 115, 121, 746, + 118, 119, 115, 484, 435, 118, 119, 438, 101, 433, + 493, 512, 513, 800, 37, 38, 101, 720, 57, 443, + 444, 522, 121, 26, 51, 521, 121, 793, 459, 51, + 148, 660, 1040, 107, 458, 1043, 460, 461, 142, 435, + 1014, 689, 121, 116, 117, 476, 92, 471, 549, 923, + 924, 475, 612, 835, 485, 479, 58, 59, 622, 92, + 484, 142, 522, 459, 142, 489, 92, 1148, 549, 1016, + 142, 531, 92, 142, 1153, 121, 1016, 15, 16, 51, + 476, 19, 848, 92, 1163, 982, 1144, 90, 121, 485, + 521, 720, 119, 982, 525, 121, 142, 745, 522, 511, + 729, 121, 105, 584, 605, 17, 18, 531, 679, 142, + 92, 893, 121, 92, 92, 53, 54, 765, 641, 550, + 51, 545, 603, 547, 887, 549, 142, 92, 894, 525, + 90, 40, 41, 557, 16, 138, 99, 140, 545, 121, + 547, 144, 121, 121, 147, 105, 657, 13, 16, 720, + 15, 1159, 90, 121, 550, 666, 121, 121, 669, 660, + 584, 90, 587, 142, 142, 666, 591, 16, 669, 670, + 671, 63, 40, 41, 504, 15, 105, 880, 680, 603, + 140, 92, 1027, 1028, 1029, 1030, 687, 147, 612, 715, + 145, 692, 693, 690, 92, 680, 697, 145, 746, 142, + 624, 92, 139, 704, 15, 612, 536, 778, 142, 692, + 121, 140, 714, 92, 142, 639, 15, 624, 147, 715, + 919, 920, 1141, 121, 27, 44, 90, 993, 729, 714, + 121, 142, 639, 115, 121, 122, 118, 119, 886, 142, + 800, 105, 121, 26, 121, 115, 1120, 115, 118, 119, + 118, 119, 141, 141, 902, 15, 680, 681, 887, 690, + 287, 657, 802, 846, 146, 18, 148, 57, 295, 141, + 666, 15, 141, 669, 57, 776, 140, 587, 146, 139, + 148, 852, 139, 147, 715, 141, 26, 73, 74, 685, + 714, 687, 139, 717, 997, 44, 836, 837, 142, 57, + 1003, 142, 842, 843, 805, 142, 877, 90, 142, 880, + 717, 1156, 115, 814, 815, 118, 119, 142, 44, 55, + 1142, 51, 105, 51, 805, 115, 142, 142, 118, 119, + 142, 814, 15, 123, 93, 121, 122, 275, 90, 90, + 278, 801, 14, 146, 15, 148, 15, 145, 142, 850, + 90, 142, 141, 105, 105, 138, 15, 140, 148, 860, + 142, 144, 863, 865, 147, 105, 142, 792, 142, 793, + 1152, 55, 399, 141, 139, 806, 800, 801, 802, 90, + 865, 805, 26, 51, 948, 142, 887, 142, 140, 140, + 814, 1094, 1095, 800, 105, 147, 147, 821, 138, 61, + 140, 318, 64, 65, 144, 735, 15, 147, 142, 142, + 806, 142, 836, 837, 821, 63, 64, 65, 842, 843, + 139, 15, 923, 924, 848, 849, 997, 213, 214, 140, + 15, 15, 1003, 139, 142, 126, 147, 126, 862, 55, + 144, 865, 982, 142, 471, 57, 90, 93, 90, 814, + 874, 875, 479, 370, 116, 117, 821, 139, 101, 883, + 90, 105, 489, 105, 15, 1, 55, 3, 116, 117, + 894, 895, 8, 9, 15, 105, 142, 142, 14, 15, + 16, 142, 792, 19, 814, 815, 129, 130, 131, 132, + 133, 1194, 26, 142, 138, 433, 140, 921, 140, 15, + 144, 142, 926, 147, 142, 147, 1209, 1210, 1010, 1011, + 140, 841, 144, 1014, 921, 51, 142, 147, 942, 926, + 458, 1085, 142, 1094, 1095, 1010, 1011, 142, 141, 65, + 557, 142, 318, 15, 40, 942, 15, 475, 26, 41, + 90, 522, 90, 792, 12, 5, 484, 971, 972, 115, + 974, 1144, 118, 119, 792, 105, 90, 105, 982, 40, + 41, 42, 43, 44, 971, 972, 504, 974, 992, 993, + 508, 105, 996, 63, 64, 65, 1000, 942, 1101, 90, + 146, 117, 148, 119, 370, 1151, 1010, 1011, 1012, 996, + 140, 847, 140, 1065, 105, 1096, 971, 147, 536, 147, + 815, 539, 90, 253, 138, 1143, 140, 972, 6, 974, + 144, 549, 1037, 147, 587, 1040, -1, 105, 1043, 1120, + 1045, 1037, 1040, 1194, -1, -1, 116, 117, -1, 140, + -1, 1055, 1056, 1057, 551, -1, 147, -1, 1209, 1210, + 1141, 1065, 1143, 1144, 63, 64, 65, -1, 1055, 1056, + 138, 1, 140, 3, 4, 5, 144, -1, 1065, 147, + 1141, -1, 12, 580, 1088, -1, 1090, -1, -1, 1093, + -1, -1, -1, -1, 210, 37, 38, -1, 1179, 1180, + 597, -1, -1, 600, 624, -1, 222, 223, 26, -1, + 1055, 1056, 1057, 90, -1, -1, 1121, 116, 117, 639, + 1065, 51, -1, 1205, 1206, 55, -1, 1208, 105, -1, + -1, 1142, 1136, 90, 1215, 1216, -1, 1141, -1, -1, + 1205, 1206, 1146, 1147, 1148, -1, -1, 1037, 105, 1136, + 1040, 81, -1, 1043, 1159, 1045, 1161, -1, 1163, 275, + 1165, 1148, 278, 140, 1168, 1169, 1142, 283, 284, -1, + 147, 287, 90, 115, -1, -1, 118, 119, 294, 295, + -1, 1168, 1169, 140, -1, 551, 302, 105, -1, 119, + 147, 1136, -1, 1198, -1, 51, 62, 717, 64, 65, + 1204, 1205, 1206, -1, 146, -1, 148, -1, 1037, 1213, + 1214, 1040, -1, 69, 1043, -1, 1045, 735, 736, -1, + 138, -1, 140, 1168, 1169, -1, 443, 444, -1, 147, + -1, 1121, 348, 349, 350, 351, 352, 353, 354, 355, + -1, 90, 849, -1, -1, 101, 102, 103, 928, 929, + 116, 117, -1, -1, -1, 862, 105, 373, -1, -1, + 477, 478, 90, -1, -1, -1, -1, 874, 875, 1159, + -1, 1161, 128, 1163, 90, 1165, 883, 105, 394, -1, + 210, 397, -1, 399, -1, -1, 402, 805, 895, 105, + -1, 140, 1121, -1, 814, 792, 814, 815, 147, -1, + 51, 821, 53, 54, 55, 56, -1, -1, 1198, 526, + -1, 51, 140, 53, 54, 55, 56, 433, 69, 147, + -1, -1, -1, 841, 140, -1, -1, 443, 444, 69, + 1159, 147, 1161, -1, 1163, 62, 1165, 64, 65, -1, + -1, -1, 458, -1, 460, 461, -1, -1, -1, 51, + -1, 53, 54, 55, 56, 471, -1, 287, -1, 475, + 1040, -1, -1, 479, 294, 295, -1, 69, 484, 1198, + -1, -1, 302, 489, 63, 64, 65, 63, 64, 65, + -1, 624, -1, 313, -1, 992, 63, 64, 65, 116, + 117, 142, 94, 1000, -1, -1, 639, -1, 100, 101, + 102, 103, 142, -1, -1, 1012, 522, 63, 64, 65, + 907, -1, 909, -1, -1, 531, 913, -1, 348, -1, + -1, -1, 942, 353, -1, -1, 128, 116, 117, 131, + 116, 117, -1, 549, -1, 63, 64, 65, -1, 116, + 117, 557, 144, 373, 1124, 1125, 1126, -1, 1128, 1129, + -1, 971, 972, 51, 974, 53, 54, 55, 56, -1, + 116, 117, -1, -1, 394, -1, -1, -1, 584, 399, + 400, 69, 402, 51, 717, 53, 54, 55, 56, -1, + -1, 1088, -1, 1090, -1, -1, 1093, 603, 116, 117, + -1, 69, 1179, 1180, -1, -1, 94, -1, 1016, -1, + 51, -1, 53, 54, 55, 56, 1186, 1187, 1188, 1189, + -1, -1, -1, 443, 444, -1, 94, -1, 69, -1, + -1, 1208, 100, -1, 1021, 1022, -1, 1207, 1215, 1216, + 460, -1, -1, -1, -1, 1055, 1056, 1057, -1, 1146, + 1147, 471, -1, 94, -1, 1065, 1043, -1, 1045, 479, + 101, 102, 103, -1, -1, -1, -1, 115, -1, 489, + 118, 119, -1, 115, 680, 681, 118, 119, -1, -1, + -1, 814, 815, -1, -1, -1, -1, 128, 821, -1, + -1, 51, -1, 53, 54, 55, 56, 145, 146, -1, + 148, -1, 522, -1, 146, -1, 148, 1204, 714, 69, + 51, 531, 53, 54, 55, 56, 1213, 1214, -1, -1, + -1, 1108, -1, -1, 1111, 545, 1136, 547, 69, 836, + 837, -1, -1, 1141, 94, 842, 843, 557, 1148, -1, + 100, 88, 89, -1, 1, -1, 3, 4, 5, -1, + -1, -1, -1, -1, 101, 12, -1, -1, 1168, 1169, + -1, 868, 869, -1, 871, 872, -1, -1, 1155, -1, + -1, -1, 1159, -1, 1161, -1, -1, -1, 1165, 126, + 127, 128, 129, 130, 131, 132, 133, 793, -1, -1, + -1, -1, 612, -1, 51, 801, 802, -1, 55, 805, + -1, -1, -1, 51, 624, 53, 54, 55, 56, 942, + -1, 1198, -1, -1, -1, -1, -1, -1, -1, 639, + -1, 69, -1, -1, 81, -1, -1, -1, -1, -1, + 836, 837, -1, -1, -1, 83, 842, 843, 971, 972, + 973, 974, 848, 849, -1, 115, 94, -1, 118, 119, + 88, 89, 100, 101, 102, 103, 862, -1, -1, 865, + -1, 681, 119, 101, -1, -1, -1, -1, 874, 875, + -1, -1, 142, 121, 44, 982, 146, 883, 148, -1, + 128, -1, -1, 131, -1, -1, -1, -1, 894, 895, + 128, 129, 130, 131, 132, 133, 144, 717, 1005, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + -1, -1, 1055, 1056, 1057, 88, 89, -1, 1061, -1, + -1, 101, 1065, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 545, -1, 547, 51, -1, 53, 54, 55, - 56, 1173, 1174, -1, 557, 51, -1, -1, -1, 55, - -1, 880, -1, 69, -1, -1, -1, -1, -1, -1, - -1, -1, 891, 892, -1, -1, -1, -1, -1, -1, - -1, -1, 1143, -1, -1, 81, 1147, -1, 94, -1, - -1, -1, -1, -1, 100, 101, 102, 103, -1, -1, - -1, -1, -1, 1191, -1, -1, -1, -1, -1, 612, - -1, -1, 1173, 1174, -1, -1, -1, -1, 1206, 1207, - 88, 89, 128, 119, -1, 131, -1, 946, -1, 0, - -1, -1, -1, 101, -1, -1, 142, 956, 957, -1, - -1, -1, 13, 14, 15, 964, 17, 18, -1, 20, - -1, -1, -1, -1, 25, 26, -1, -1, 126, 127, - 128, 129, 130, 131, 132, 133, 37, 38, -1, 40, - 41, 42, 43, 44, -1, -1, -1, 680, -1, 998, - 999, 1000, -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, 716, 210, -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, 1060, -1, 1062, 115, -1, 1065, 118, 119, -1, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, -1, 145, 146, 147, 148, -1, -1, - -1, -1, -1, 51, -1, 53, 54, 55, 56, 792, - -1, -1, 288, -1, -1, -1, 799, 800, 801, 295, - 296, 69, -1, -1, 807, -1, -1, 303, -1, -1, - 813, 814, 1131, -1, -1, 83, 819, 820, 314, -1, - -1, -1, 1141, 1142, -1, -1, 94, -1, -1, -1, - 833, -1, 100, 101, 102, 103, -1, -1, -1, -1, - -1, -1, 845, 846, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 349, -1, -1, -1, -1, 354, -1, - 128, -1, 865, 131, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 144, 880, 374, -1, - -1, -1, 1201, 1202, 1203, -1, -1, -1, 891, 892, - -1, 1210, 1211, -1, -1, -1, -1, -1, -1, 395, - -1, -1, -1, -1, 400, 401, -1, 403, -1, -1, - -1, -1, -1, -1, -1, 918, -1, -1, -1, -1, - 923, -1, -1, -1, -1, -1, -1, -1, 1, -1, - 3, 4, 5, -1, -1, -1, -1, -1, -1, 12, - -1, -1, -1, 946, -1, -1, -1, 443, 444, -1, - -1, -1, -1, 956, 957, -1, -1, 960, -1, -1, - -1, 964, -1, -1, 460, -1, -1, -1, -1, -1, - -1, 974, -1, -1, 0, 471, -1, -1, 51, -1, - -1, -1, 55, 479, -1, -1, -1, 13, 14, 15, - 16, 17, 18, 489, 20, -1, -1, 1000, -1, 25, - 26, 27, -1, 1006, 1007, -1, 1009, -1, 81, -1, - -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, - -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, - -1, -1, -1, -1, 51, 531, 53, 54, 55, 56, - -1, -1, -1, -1, -1, -1, 119, -1, -1, 545, - -1, 547, 69, -1, -1, -1, -1, 1060, -1, 1062, - -1, 557, 1065, -1, 90, -1, 83, -1, 1071, 1072, - -1, -1, -1, -1, -1, -1, -1, 94, -1, 105, - -1, 1084, -1, 100, 101, 102, 103, -1, -1, 115, - -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, - -1, 128, 138, 139, 131, -1, 612, -1, 144, 145, - 146, 147, 148, -1, -1, -1, -1, 144, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 210, 1141, 1142, - 1143, -1, -1, -1, 1147, -1, -1, -1, -1, -1, - 1, -1, 3, -1, 51, -1, 53, 54, 55, 56, - -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, - 1173, 1174, 69, -1, -1, 51, -1, 53, 54, 55, - 56, -1, -1, -1, 680, -1, -1, -1, -1, -1, - -1, -1, -1, 69, -1, -1, -1, 94, 1201, -1, - 51, -1, -1, 100, 101, 102, 103, 1210, 1211, 85, - -1, -1, -1, -1, -1, 288, -1, -1, 94, -1, - 716, -1, 295, 296, 100, 101, 102, 103, -1, -1, - 303, 128, -1, 1, 131, 3, 4, 5, 6, -1, - -1, 314, -1, -1, 12, -1, -1, 144, -1, -1, - -1, -1, 128, -1, -1, 131, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, - -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, - -1, 354, -1, 51, -1, -1, -1, 55, -1, -1, - -1, -1, -1, -1, -1, -1, 792, -1, -1, -1, - -1, 374, -1, 799, 800, 801, -1, -1, -1, -1, - -1, 807, -1, 81, -1, -1, -1, 813, 814, -1, - -1, -1, 395, 819, 820, -1, -1, 400, 401, -1, - 403, -1, -1, -1, -1, -1, -1, 833, -1, -1, - 51, -1, 53, 54, 55, 56, -1, -1, -1, 845, - 846, 119, -1, -1, -1, -1, -1, -1, 69, 210, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 865, - 443, 444, -1, -1, 85, -1, -1, -1, -1, -1, - -1, -1, -1, 94, 880, -1, -1, 460, -1, 100, - 101, 102, 103, -1, -1, 891, 892, -1, 471, -1, - -1, -1, -1, -1, -1, 51, 479, 53, 54, 55, - 56, -1, -1, -1, -1, -1, 489, 128, -1, -1, - 131, -1, 918, 69, -1, -1, -1, 923, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 288, -1, 85, - -1, -1, 210, -1, 295, 296, -1, -1, 94, 522, - 946, -1, 303, -1, 100, 101, 102, 103, 531, -1, - 956, 957, -1, -1, 960, -1, -1, -1, 964, -1, - -1, -1, 545, -1, 547, -1, -1, -1, 974, -1, - -1, -1, 128, -1, 557, 131, -1, -1, -1, -1, - -1, 51, -1, 53, 54, 55, 56, -1, 349, -1, - -1, -1, -1, 354, 1000, -1, -1, -1, -1, 69, - 1006, 1007, -1, 1009, -1, -1, -1, -1, -1, -1, - 288, -1, -1, 374, -1, -1, -1, 295, 296, -1, - -1, -1, -1, -1, 94, 303, -1, -1, -1, 612, - 100, 101, 102, 103, 395, -1, 314, -1, -1, 400, - -1, -1, 403, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1060, -1, 1062, -1, 128, 1065, - -1, 131, -1, -1, -1, 1071, 1072, -1, -1, -1, - -1, 349, -1, -1, -1, -1, 354, -1, 1084, -1, - -1, -1, 443, 444, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 374, 680, -1, 460, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 471, -1, -1, -1, -1, -1, -1, 395, 479, -1, - -1, -1, 400, 401, -1, -1, -1, -1, 489, -1, - -1, -1, -1, 716, -1, 1141, 1142, 1143, -1, -1, - -1, 1147, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 522, -1, -1, -1, -1, -1, 1173, 1174, -1, - 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 460, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 471, -1, 1201, 557, -1, -1, -1, - -1, 479, -1, -1, 1210, 1211, -1, -1, -1, 792, - -1, 489, -1, -1, -1, -1, 799, 800, 801, -1, - -1, -1, -1, -1, 807, -1, -1, -1, -1, -1, - 813, 814, -1, -1, -1, -1, 819, 820, -1, -1, - -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, - 833, -1, -1, 531, -1, -1, -1, -1, -1, -1, - -1, -1, 845, 846, -1, -1, -1, 545, -1, 547, - -1, -1, -1, -1, -1, -1, -1, -1, 1, 557, - 3, -1, 865, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 880, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 891, 892, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 680, - -1, -1, -1, 44, -1, -1, -1, -1, 51, -1, - -1, -1, -1, -1, 612, 918, -1, -1, -1, -1, - 923, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 946, -1, -1, -1, 88, 89, -1, - -1, -1, -1, 956, 957, -1, -1, 960, -1, -1, - 101, 964, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 974, -1, -1, -1, -1, 119, -1, -1, -1, - -1, 122, 680, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, -1, 1000, -1, -1, - -1, 142, -1, 1006, 1007, -1, 1009, -1, -1, -1, - -1, 792, -1, -1, -1, -1, -1, -1, 716, 800, - 801, -1, -1, -1, -1, -1, 807, -1, -1, -1, - -1, -1, 813, 814, -1, -1, -1, -1, 819, 820, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 833, -1, -1, -1, -1, 1060, -1, 1062, - -1, -1, 1065, -1, 845, 846, -1, 210, 1071, 1072, - -1, 72, 73, 74, 75, 76, 77, 78, -1, 80, - 81, 1084, -1, -1, -1, -1, -1, 88, 89, -1, - -1, -1, -1, -1, 792, -1, -1, -1, -1, 880, - 101, 799, 800, -1, -1, -1, -1, -1, -1, -1, - 891, 892, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 819, 820, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, 833, -1, -1, 1141, 1142, - 1143, -1, -1, -1, 1147, 288, -1, 845, 846, -1, - -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, - 303, -1, -1, -1, -1, 946, -1, 865, -1, -1, - 1173, 1174, -1, -1, -1, 956, 957, -1, -1, 960, - -1, -1, 880, 964, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 891, 892, -1, -1, -1, 1201, -1, - -1, -1, -1, -1, -1, -1, 349, 1210, 1211, -1, - 44, 354, -1, -1, -1, -1, -1, -1, -1, 1000, - 918, -1, -1, -1, -1, 923, -1, -1, -1, -1, - -1, 374, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, 395, -1, 88, 89, -1, 400, 956, 957, - 403, -1, 960, -1, -1, -1, 964, 101, -1, -1, - -1, -1, -1, -1, -1, -1, 974, -1, -1, 1060, - -1, 1062, -1, -1, 1065, -1, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 443, 444, 1000, -1, -1, -1, -1, -1, 1006, 1007, - -1, 1009, -1, -1, -1, -1, -1, 460, -1, 51, - 52, -1, -1, 55, -1, -1, -1, -1, 471, -1, - -1, -1, -1, -1, -1, -1, 479, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 489, -1, 80, 81, - -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, - 1141, 1142, 1060, -1, 1062, -1, -1, 1065, 100, 101, - 102, -1, -1, 1071, 1072, -1, -1, -1, -1, 522, - -1, -1, -1, -1, -1, -1, 1084, -1, 531, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, - -1, 143, 144, -1, 557, -1, -1, -1, -1, -1, - 1201, -1, -1, -1, -1, -1, -1, -1, -1, 1210, - 1211, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1141, 1142, 1143, -1, -1, -1, 1147, - -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, 1173, 1174, -1, -1, -1, - -1, -1, -1, -1, -1, 8, 9, -1, -1, -1, - 16, 14, 15, 16, -1, -1, 19, -1, -1, -1, - 26, -1, -1, 1201, -1, -1, -1, -1, -1, -1, - -1, -1, 1210, 1211, 40, 41, -1, -1, -1, -1, - -1, -1, -1, 46, 47, 48, 49, -1, -1, -1, - 53, 54, -1, -1, -1, -1, -1, 680, -1, -1, - -1, -1, 65, 66, -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, 117, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, 138, 139, 140, 141, 142, -1, 144, -1, - 146, 147, 148, -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, 792, - -1, -1, -1, -1, -1, -1, -1, 800, 801, -1, - -1, 16, -1, -1, 807, -1, -1, -1, -1, -1, - 813, 814, -1, -1, -1, -1, 819, 820, -1, -1, - -1, -1, -1, -1, -1, 40, 41, -1, -1, -1, - 833, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 223, 224, 845, 846, -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, 880, 93, 262, - 263, 264, 265, -1, -1, -1, 101, -1, 891, 892, - 105, -1, -1, 276, -1, -1, 279, -1, -1, -1, - 115, 284, 285, 118, 119, -1, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, -1, - -1, 146, 147, 148, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 946, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 956, 957, -1, -1, -1, -1, -1, - -1, 964, -1, -1, -1, -1, -1, 350, 351, 352, - 353, -1, 355, 356, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 375, -1, -1, -1, -1, 1000, -1, -1, - -1, -1, -1, 386, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 398, -1, -1, -1, -1, - 403, 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, 1060, -1, 1062, - 443, 444, 1065, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 458, -1, -1, 461, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 1141, 1142, - -1, -1, -1, 526, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 536, -1, -1, 539, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 549, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, 76, 77, -1, - -1, 80, 81, 566, 567, -1, -1, -1, -1, 88, - 89, -1, -1, -1, -1, -1, -1, -1, 1201, -1, - -1, 584, 101, -1, -1, -1, -1, 1210, 1211, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 603, -1, -1, 606, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, -1, -1, -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, -1, 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, 679, -1, -1, -1, - -1, 57, -1, -1, -1, -1, -1, -1, 691, -1, - -1, 694, 695, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - 713, -1, 88, 89, 90, -1, -1, 93, -1, -1, - -1, -1, 725, 99, -1, 101, -1, -1, -1, 105, - -1, 734, 735, -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, 16, -1, - -1, -1, -1, 139, 140, 141, 142, -1, -1, 145, - 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 796, -1, -1, -1, -1, 801, 802, - -1, 804, -1, -1, 807, 808, -1, -1, -1, 812, - 813, 814, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, 836, -1, 93, 839, 840, -1, 842, - 843, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, 858, 859, 115, -1, -1, - 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 879, -1, -1, -1, - 883, 139, 140, 141, 142, -1, -1, -1, 146, 147, - 148, -1, -1, -1, -1, -1, -1, 900, 901, 72, - 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, - 913, 914, -1, -1, -1, 88, 89, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 929, -1, 101, -1, - -1, -1, -1, -1, -1, -1, 939, 940, -1, -1, - -1, -1, -1, 946, -1, -1, -1, -1, -1, -1, + -1, -1, 122, 210, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, 129, 130, 131, 132, + 133, -1, 142, 793, -1, -1, 982, -1, -1, -1, + 800, 801, 802, -1, -1, -1, 992, 993, -1, -1, + -1, -1, -1, -1, 1000, -1, -1, -1, -1, -1, + -1, 821, -1, 1136, 1010, 1011, 1012, -1, -1, 51, + -1, 53, 54, 55, 56, 1148, 836, -1, -1, -1, + -1, -1, 842, 843, -1, -1, -1, 69, 848, 849, + 287, -1, -1, -1, -1, 1168, 1169, 294, 295, -1, + -1, 83, 862, -1, -1, 302, -1, -1, -1, -1, + -1, -1, 94, -1, 874, 875, 313, -1, 100, 101, + 102, 103, -1, 883, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 894, 895, 51, -1, 53, 54, + 55, 56, 1088, -1, 1090, -1, 128, 1093, -1, 131, + -1, 348, -1, -1, 69, -1, 353, -1, -1, -1, + -1, 921, 144, -1, -1, -1, 926, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 373, -1, -1, 94, + -1, -1, 942, -1, -1, 100, 101, 102, 103, -1, + -1, -1, -1, -1, -1, 1141, -1, 394, -1, -1, + 1146, 1147, 399, 400, -1, 402, -1, -1, -1, -1, + -1, 971, 972, 128, 974, -1, 131, -1, -1, -1, + -1, -1, 982, -1, -1, -1, 51, 142, 53, 54, + 55, 56, 992, 993, -1, -1, 996, -1, -1, -1, + 1000, -1, -1, -1, 69, -1, 443, 444, -1, -1, + -1, -1, 1012, -1, -1, -1, -1, -1, 1204, 1205, + 1206, -1, 1, 460, 3, 4, 5, 1213, 1214, 94, + -1, -1, -1, 12, 471, 100, 101, 102, 103, -1, + -1, -1, 479, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 489, -1, -1, 1055, 1056, -1, -1, -1, + -1, -1, -1, 128, -1, 1065, 131, -1, -1, -1, + -1, -1, 51, -1, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, 522, -1, -1, 1088, -1, + 1090, -1, -1, 1093, 531, -1, -1, -1, -1, -1, + -1, 0, 81, -1, -1, -1, -1, -1, 545, -1, + 547, -1, -1, -1, 13, 14, 15, 16, 17, 18, + 557, 20, -1, -1, -1, -1, 25, -1, 27, -1, + -1, -1, -1, -1, -1, -1, 1136, -1, 37, 38, + 119, 40, 41, 42, 43, 44, 1146, 1147, 1148, 51, + -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 69, 1168, 1169, + -1, -1, -1, -1, -1, 612, -1, -1, -1, -1, + -1, -1, -1, 85, -1, -1, -1, 624, -1, -1, + -1, 90, 94, -1, 93, -1, -1, -1, 100, 101, + 102, 103, 639, -1, 1204, -1, 105, -1, -1, -1, + -1, -1, -1, 1213, 1214, -1, 115, -1, -1, 118, + 119, -1, -1, -1, -1, -1, 128, 126, -1, 131, + -1, 210, 51, -1, 53, 54, 55, 56, -1, -1, + 139, 140, -1, 142, 681, -1, 145, 146, 147, 148, + 69, -1, -1, 51, -1, 53, 54, 55, 56, -1, + -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, + -1, 69, -1, -1, -1, 94, -1, -1, -1, -1, + 717, 100, 101, 102, 103, -1, -1, 85, -1, -1, + 1, -1, 3, 4, 5, 6, 94, -1, -1, -1, + -1, 12, 100, 101, 102, 103, -1, -1, 287, 128, + -1, -1, 131, -1, -1, 294, 295, -1, -1, -1, + -1, -1, -1, 302, -1, -1, -1, -1, -1, -1, + 128, -1, -1, 131, 313, -1, -1, -1, -1, -1, + 51, -1, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 793, -1, -1, -1, + -1, -1, -1, 800, 801, 802, -1, -1, -1, 348, + 81, -1, -1, -1, 353, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 821, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 373, -1, -1, -1, -1, 836, + -1, -1, -1, -1, -1, 842, 843, -1, 119, -1, + -1, 848, 849, -1, -1, 394, -1, -1, -1, -1, + 399, 400, -1, 402, -1, 862, -1, -1, -1, -1, + -1, -1, 1, -1, 3, -1, -1, 874, 875, -1, + -1, 44, -1, 12, -1, -1, 883, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 894, 895, -1, + -1, -1, -1, -1, 443, 444, -1, -1, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 460, 51, -1, 921, 88, 89, -1, -1, 926, + -1, -1, 471, -1, -1, -1, -1, -1, 101, 210, + 479, -1, -1, -1, -1, 942, -1, -1, -1, -1, + 489, -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, 969, -1, -1, -1, - -1, -1, -1, -1, -1, 978, -1, -1, -1, -1, - -1, -1, -1, -1, 987, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 998, 999, 0, 1, -1, + 133, -1, -1, -1, 971, 972, -1, 974, -1, -1, + -1, -1, -1, 522, -1, 982, -1, -1, -1, -1, + 119, -1, 531, -1, -1, 992, 993, -1, -1, 996, + -1, -1, -1, 1000, -1, -1, 545, -1, 547, -1, + -1, -1, -1, -1, -1, 1012, 287, -1, 557, -1, + -1, -1, -1, 294, 295, -1, -1, -1, -1, -1, + -1, 302, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1055, 1056, + -1, -1, -1, -1, -1, -1, -1, -1, 1065, -1, + -1, -1, -1, 612, -1, -1, -1, 348, -1, -1, + -1, 210, 353, -1, -1, 624, -1, -1, -1, -1, + -1, 1088, -1, 1090, 0, -1, 1093, -1, -1, -1, + 639, -1, 373, -1, -1, -1, -1, 13, 14, 15, + 16, 17, 18, -1, 20, -1, -1, -1, -1, 25, + 26, 27, -1, 394, -1, -1, -1, -1, 399, 400, + -1, 37, 38, -1, 40, 41, 42, 43, 44, 1136, + -1, -1, 681, -1, -1, -1, -1, -1, -1, 1146, + 1147, 1148, -1, -1, -1, -1, -1, -1, 287, -1, + -1, -1, -1, -1, -1, 294, 295, -1, -1, -1, + -1, 1168, 1169, 302, -1, -1, -1, -1, 717, -1, + -1, -1, -1, -1, 90, -1, -1, -1, -1, 460, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, + 471, -1, -1, -1, -1, -1, -1, 1204, 479, 115, + -1, -1, 118, 119, -1, -1, 1213, 1214, 489, 348, + -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, + -1, -1, 138, 139, -1, -1, -1, -1, 144, 145, + 146, 147, 148, -1, 373, -1, 1, -1, 3, -1, + -1, 522, -1, -1, 793, -1, -1, -1, -1, -1, + 531, 800, 801, 802, -1, 394, -1, -1, -1, -1, + 399, -1, -1, 402, 545, -1, 547, -1, -1, -1, + -1, -1, 821, -1, -1, -1, 557, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 51, 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, -1, -1, -1, + -1, 460, -1, -1, -1, 874, 875, -1, -1, -1, + -1, 612, 471, -1, 883, -1, -1, -1, -1, -1, + 479, -1, -1, 624, -1, 894, 895, -1, -1, -1, + 489, -1, -1, -1, 119, -1, -1, -1, 639, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 921, -1, -1, -1, -1, 926, -1, -1, + -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, + -1, -1, 531, 942, -1, -1, -1, -1, -1, -1, + 681, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 557, -1, + 80, 81, 971, 972, -1, 974, -1, -1, 88, 89, + -1, -1, -1, 982, -1, -1, 717, -1, -1, -1, + -1, 101, -1, 992, 993, 210, -1, 996, -1, -1, + -1, 1000, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1012, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -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, 1055, 1056, -1, -1, + 88, 89, 793, -1, -1, -1, 1065, -1, -1, 800, + 801, -1, 287, 101, -1, -1, -1, -1, -1, 294, + 295, -1, -1, -1, -1, -1, -1, 302, -1, 1088, + 821, 1090, 681, -1, 1093, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 848, 849, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 862, -1, 348, -1, -1, -1, 1136, 353, -1, + -1, -1, -1, 874, 875, -1, -1, 1146, 1147, 1148, + -1, -1, 883, -1, -1, -1, -1, -1, 373, -1, + -1, -1, -1, 894, 895, -1, -1, -1, -1, 1168, + 1169, -1, -1, -1, -1, -1, -1, -1, -1, 394, + -1, -1, -1, -1, 399, -1, -1, 402, -1, -1, + 921, -1, -1, -1, -1, 926, -1, -1, -1, -1, + -1, -1, -1, -1, 793, 1204, -1, -1, -1, -1, + -1, 942, 801, 802, 1213, 1214, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 443, 444, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 971, 972, -1, 974, -1, 460, -1, 836, -1, -1, + -1, -1, -1, 842, 843, -1, 471, -1, -1, 848, + 849, 992, 993, -1, 479, 996, -1, -1, -1, 1000, + -1, -1, -1, 862, 489, -1, -1, -1, -1, -1, + -1, 1012, -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, 522, -1, -1, + -1, -1, -1, 15, 16, -1, 531, 19, -1, -1, + -1, -1, -1, -1, 1055, 1056, -1, -1, -1, -1, + -1, -1, -1, -1, 1065, -1, -1, -1, -1, -1, + -1, -1, 557, -1, 46, 47, 48, 49, -1, -1, + -1, 53, 54, -1, -1, -1, -1, 1088, -1, 1090, + -1, -1, 1093, 65, 66, -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, + -1, -1, -1, 982, -1, -1, -1, -1, -1, -1, + -1, 101, -1, 992, 993, 1136, -1, 996, -1, -1, + -1, 1000, -1, -1, -1, 1146, 1147, 1148, -1, -1, + -1, -1, 122, 1012, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, 1168, 1169, -1, + -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 681, -1, -1, -1, + -1, -1, -1, 1204, -1, -1, -1, -1, -1, -1, + -1, -1, 1213, 1214, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, -1, 1088, + -1, 1090, -1, -1, 1093, 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, 1146, 1147, 261, + 262, 263, 264, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 275, 88, -1, 278, 91, 793, -1, + 94, 95, -1, 97, 98, -1, 801, 802, -1, -1, + 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, 1204, -1, -1, -1, -1, + 134, 836, -1, -1, 1213, 1214, -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, -1, -1, -1, -1, -1, -1, -1, 874, + 875, -1, -1, -1, -1, -1, -1, -1, 883, -1, + -1, -1, 374, -1, -1, -1, -1, -1, -1, 894, + 895, -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, -1, + -1, 443, 444, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 458, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 982, -1, -1, + -1, 473, -1, 475, -1, 477, 478, 992, 993, -1, + -1, -1, 484, -1, -1, 1000, -1, -1, -1, -1, + -1, 493, -1, -1, 496, 497, -1, 1012, -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, -1, 539, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 549, -1, -1, + -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, + 78, -1, 80, 81, 566, 567, -1, -1, -1, -1, + 88, 89, -1, 1088, -1, 1090, -1, -1, 1093, -1, + -1, -1, 584, 101, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 603, -1, -1, 606, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1146, 1147, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 13, 14, 15, 16, 17, 18, -1, + 20, -1, -1, -1, -1, 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, 1204, + 692, -1, -1, 695, 696, -1, -1, -1, 1213, 1214, + -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, -1, -1, -1, -1, -1, -1, + -1, -1, 814, 815, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -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, -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, 51, 52, -1, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 903, 904, -1, -1, -1, 70, 71, 72, 73, + 74, 75, 76, 77, 916, 917, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, + 932, -1, -1, -1, -1, -1, 100, 101, 102, -1, + -1, -1, -1, -1, 946, -1, -1, -1, -1, -1, + -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, 975, 976, -1, -1, -1, -1, 143, + 982, -1, -1, -1, -1, -1, -1, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 1013, -1, -1, -1, -1, -1, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + -1, -1, -1, 1005, -1, -1, 19, -1, 21, 22, + 23, 24, -1, -1, 1016, -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, - 1073, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 63, -1, -1, 66, 67, 1057, 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, 1131, -1, - -1, 134, 135, 136, 0, -1, -1, -1, -1, -1, - -1, -1, -1, 146, -1, 148, -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, 1202, - 1203, -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, + 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, -1, -1, 146, -1, 148, -1, 37, 38, 1141, 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, -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, + 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, 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, + -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, 26, 27, 28, -1, -1, -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, 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, -1, 93, + -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, -1, 122, -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, 141, 142, -1, - 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, - 18, -1, 20, -1, -1, -1, -1, 25, -1, 27, + -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, @@ -5670,7 +5690,75 @@ static const yytype_int16 yycheck[] = -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, + 138, 139, 140, 141, 142, -1, 144, 145, 146, 147, + 148, 13, 14, 15, 16, 17, 18, -1, 20, -1, + -1, -1, -1, 25, 26, 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, 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, 141, + 142, -1, 144, 145, 146, 147, 148, 13, 14, 15, + 16, 17, 18, -1, 20, -1, -1, -1, -1, 25, + 26, 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, 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, 141, 142, -1, 144, 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, 57, -1, -1, + 60, -1, -1, 63, -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, -1, + -1, 101, -1, -1, -1, 105, -1, 107, -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, -1, 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, @@ -5684,6 +5772,74 @@ static const yytype_int16 yycheck[] = -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, + 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, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, -1, 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, -1, 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, -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, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 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, -1, 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, -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, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, -1, -1, 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, -1, 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, -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, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, -1, -1, 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, -1, 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, -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, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 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, -1, + 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, -1, 17, 18, -1, 20, -1, -1, -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5710,10 +5866,38 @@ static const yytype_int16 yycheck[] = -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, + 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, 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, 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, @@ -5728,7 +5912,7 @@ static const yytype_int16 yycheck[] = -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, 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, @@ -5743,7 +5927,7 @@ static const yytype_int16 yycheck[] = 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, + -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, @@ -5758,60 +5942,7 @@ static const yytype_int16 yycheck[] = -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, -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, -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, 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, 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, + 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, @@ -5823,33 +5954,33 @@ static const yytype_int16 yycheck[] = 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, + -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, + 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, -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, + 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, 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, @@ -5859,21 +5990,21 @@ 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, + 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, + 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, 50, + -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, + 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, + 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, @@ -5883,9 +6014,62 @@ static const yytype_int16 yycheck[] = -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, 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, 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, -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, 127, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + 139, -1, -1, 142, -1, -1, -1, 146, -1, 148, 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, + -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, @@ -5895,8 +6079,8 @@ static const yytype_int16 yycheck[] = -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, 127, -1, -1, -1, -1, -1, - -1, 134, 135, 136, -1, -1, 139, -1, -1, 142, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 135, 136, -1, -1, -1, -1, 141, 142, -1, -1, -1, 146, -1, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, @@ -5911,7 +6095,7 @@ static const yytype_int16 yycheck[] = 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, 141, 142, -1, -1, -1, 146, + -1, -1, 139, -1, -1, 142, -1, -1, -1, 146, -1, 148, 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, @@ -5924,78 +6108,99 @@ static const yytype_int16 yycheck[] = 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, -1, 134, 135, 136, -1, -1, 139, -1, - -1, 142, -1, -1, -1, 146, -1, 148, 3, 4, + -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, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -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, -1, -1, -1, -1, 104, + 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, + -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, -1, - -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, + 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, -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, + -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, -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, + 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, @@ -6007,125 +6212,78 @@ static const yytype_int16 yycheck[] = 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, + 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, 92, -1, 94, 95, -1, 97, 98, + -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, 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, 24, -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, - -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, + 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, 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, -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, 134, 21, 22, - 23, 24, -1, -1, -1, 142, -1, 30, 31, 32, + -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, @@ -6141,48 +6299,83 @@ static const yytype_int16 yycheck[] = 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, 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, -1, -1, -1, -1, + -1, -1, 127, -1, -1, -1, -1, -1, -1, 134, + 135, 136, -1, -1, -1, -1, 141, 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, 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, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, + 136, -1, 19, 139, 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, -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, 102, -1, 104, -1, 106, 107, 108, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, - -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, - -1, -1, 141, 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, - 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, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, -1, 134, 135, 136, -1, 19, 139, + 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, 45, 46, 47, 48, 49, 50, + -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, + -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, 12, + 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, 45, -1, 47, 48, 49, 50, 51, 52, + -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, 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, @@ -6217,7 +6410,7 @@ static const yytype_int16 yycheck[] = 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, 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, @@ -6228,7 +6421,7 @@ static const yytype_int16 yycheck[] = -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, + 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, @@ -6252,7 +6445,7 @@ static const yytype_int16 yycheck[] = -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, + 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, @@ -6264,7 +6457,7 @@ static const yytype_int16 yycheck[] = 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, + 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, @@ -6276,7 +6469,7 @@ static const yytype_int16 yycheck[] = 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, 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, @@ -6323,7 +6516,7 @@ static const yytype_int16 yycheck[] = 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, + 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, @@ -6335,7 +6528,7 @@ static const yytype_int16 yycheck[] = 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, -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, @@ -6355,349 +6548,273 @@ static const yytype_int16 yycheck[] = 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, + 63, -1, -1, 66, 67, -1, 69, -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, -1, -1, -1, + -1, -1, -1, -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, 114, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, 127, -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, 127, -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, - 16, 66, 67, -1, 69, 70, 71, -1, -1, -1, - 26, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, 40, 41, 91, -1, -1, 94, + -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, + 127, -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, -1, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, -1, 134, - 135, 136, 88, 89, 90, -1, 92, 93, -1, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, - -1, -1, -1, -1, 16, -1, -1, -1, -1, 115, + -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, 26, -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, 57, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, 134, -1, 88, 89, 90, -1, 92, + 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, + 26, -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, 138, -1, 140, 141, 142, + -1, 144, -1, 146, 147, 148, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, 92, -1, -1, -1, + -1, -1, -1, -1, -1, 101, -1, 26, -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, 40, 41, - -1, -1, 138, 139, 140, 141, 142, -1, 144, -1, - 146, 147, 148, -1, -1, 57, -1, -1, 60, -1, - -1, 63, -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, 16, -1, -1, -1, -1, 101, - -1, -1, -1, 105, -1, 107, -1, -1, -1, -1, - -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, 146, 147, 148, -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, 16, -1, -1, -1, -1, 101, - -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, 146, 147, 148, -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, 16, -1, -1, -1, -1, 101, - -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, 146, 147, 148, -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, -1, -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, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, 146, 147, 148, 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, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 141, 142, -1, 144, -1, + 146, 147, 148, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, 92, -1, -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, 138, + 139, 140, -1, 142, -1, 144, -1, 146, 147, 148, + 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, -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, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, 127, -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, 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, -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, 127, -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, - 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, 127, -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, -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, 26, -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, 57, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, -1, -1, 134, -1, 88, 89, 90, -1, - 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, - -1, 26, -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, 138, -1, 140, 141, - 142, -1, 144, -1, 146, 147, 148, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, 90, -1, 92, -1, -1, - -1, -1, -1, -1, -1, -1, 101, -1, 26, -1, - 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, -1, -1, 138, -1, 140, 141, 142, -1, 144, - -1, 146, 147, 148, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, 92, -1, -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, - 138, 139, 140, -1, 142, -1, 144, -1, 146, 147, - 148, 51, 52, -1, -1, 55, -1, -1, -1, -1, + 135, 136, 51, 52, -1, -1, 55, -1, 143, 144, -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, 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, - 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, 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, -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, 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, -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, -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, -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, 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, -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, 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, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -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, - 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, 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, -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, 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, -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, -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, -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, 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, -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, 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, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -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, - 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, 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, -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, 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, -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, -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, -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, 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, -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, -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, + -1, -1, 44, -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, 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, @@ -6764,37 +6881,19 @@ static const yytype_int16 yycheck[] = 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, + 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, 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, 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, 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, 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, -1, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133 + 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, + -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, 122, -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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -6808,121 +6907,121 @@ static const yytype_int16 yystos[] = 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, 164, 166, 168, 169, 172, 173, 175, - 176, 177, 179, 180, 189, 203, 220, 241, 242, 272, - 273, 274, 278, 279, 280, 286, 287, 288, 290, 291, - 292, 293, 294, 295, 331, 344, 0, 154, 21, 22, + 160, 161, 163, 166, 168, 170, 171, 174, 175, 177, + 178, 179, 181, 182, 191, 205, 222, 243, 244, 274, + 275, 276, 280, 281, 282, 288, 289, 290, 292, 293, + 294, 295, 296, 297, 333, 346, 0, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 164, 166, 181, 182, 203, 220, 292, 295, 331, - 182, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 134, 166, 168, 183, 184, 205, 222, 294, 297, 333, + 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, 35, 36, 37, 38, 39, 45, 46, 47, 48, 49, 50, 51, 52, 55, 70, 71, 72, 73, 74, 75, 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, 183, 187, 188, 294, 326, - 204, 91, 163, 164, 166, 167, 180, 189, 220, 292, - 293, 295, 167, 210, 212, 69, 91, 173, 180, 220, - 225, 292, 295, 33, 34, 35, 36, 48, 49, 50, - 51, 55, 106, 183, 184, 185, 288, 115, 118, 119, - 146, 148, 167, 282, 283, 284, 337, 341, 342, 343, - 51, 69, 100, 102, 103, 135, 172, 189, 195, 198, - 201, 274, 329, 330, 195, 195, 144, 192, 193, 196, - 197, 344, 192, 197, 144, 338, 184, 155, 138, 189, - 220, 189, 189, 189, 55, 1, 94, 157, 158, 160, - 174, 175, 344, 205, 207, 190, 201, 329, 344, 189, - 328, 329, 344, 91, 142, 179, 220, 292, 295, 208, - 53, 54, 56, 63, 69, 107, 183, 289, 63, 64, - 65, 116, 117, 275, 276, 61, 275, 62, 275, 63, - 275, 63, 275, 58, 59, 168, 189, 189, 337, 343, - 40, 41, 42, 43, 44, 37, 38, 51, 53, 54, - 55, 56, 69, 83, 94, 100, 101, 102, 103, 128, - 131, 144, 298, 299, 300, 301, 302, 305, 306, 307, - 308, 310, 311, 312, 313, 315, 316, 317, 320, 321, - 322, 323, 324, 344, 298, 300, 28, 240, 121, 142, - 94, 100, 176, 121, 72, 73, 74, 75, 76, 77, + 133, 135, 136, 143, 144, 185, 189, 190, 296, 328, + 206, 91, 163, 166, 168, 169, 182, 222, 294, 295, + 297, 169, 212, 214, 69, 91, 175, 182, 222, 227, + 294, 297, 33, 34, 35, 36, 48, 49, 50, 51, + 55, 106, 185, 186, 187, 290, 115, 118, 119, 146, + 148, 169, 284, 285, 286, 339, 343, 344, 345, 51, + 69, 100, 102, 103, 135, 174, 191, 197, 200, 203, + 276, 331, 332, 197, 197, 144, 194, 195, 198, 199, + 346, 194, 199, 144, 340, 186, 155, 138, 191, 222, + 191, 191, 191, 55, 1, 94, 157, 158, 160, 176, + 177, 346, 207, 209, 192, 203, 331, 346, 191, 330, + 331, 346, 91, 142, 181, 222, 294, 297, 210, 53, + 54, 56, 63, 69, 107, 185, 291, 63, 64, 65, + 116, 117, 277, 278, 61, 277, 62, 277, 63, 277, + 63, 277, 58, 59, 170, 191, 191, 339, 345, 40, + 41, 42, 43, 44, 37, 38, 51, 53, 54, 55, + 56, 69, 83, 94, 100, 101, 102, 103, 128, 131, + 144, 300, 301, 302, 303, 304, 307, 308, 309, 310, + 312, 313, 314, 315, 317, 318, 319, 322, 323, 324, + 325, 326, 346, 300, 302, 28, 242, 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, 335, 90, 335, 336, 26, - 138, 244, 274, 92, 92, 192, 197, 244, 163, 51, - 55, 181, 58, 59, 299, 125, 296, 90, 140, 335, - 219, 327, 90, 147, 334, 156, 157, 55, 298, 298, - 16, 221, 341, 121, 90, 140, 335, 92, 92, 221, - 167, 167, 55, 90, 140, 335, 25, 107, 142, 285, - 337, 115, 284, 20, 246, 341, 57, 57, 189, 189, - 189, 93, 142, 199, 200, 344, 57, 199, 200, 85, - 194, 195, 201, 329, 344, 195, 163, 337, 339, 163, - 342, 159, 138, 157, 90, 335, 92, 160, 174, 145, - 337, 343, 339, 160, 339, 141, 200, 340, 343, 200, - 340, 139, 340, 55, 176, 177, 178, 142, 90, 140, - 335, 144, 237, 310, 315, 63, 275, 277, 281, 282, - 63, 276, 61, 62, 63, 63, 101, 101, 154, 167, - 167, 167, 167, 160, 163, 163, 57, 121, 57, 341, - 314, 85, 310, 315, 121, 156, 189, 142, 325, 344, - 51, 142, 325, 341, 142, 309, 189, 142, 309, 51, - 142, 309, 51, 121, 156, 239, 100, 168, 189, 201, - 202, 174, 142, 179, 142, 161, 162, 168, 180, 189, - 191, 202, 220, 295, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 51, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 51, 52, 55, 187, 192, 332, 333, 194, 201, - 51, 52, 55, 187, 192, 332, 51, 55, 332, 245, - 243, 162, 189, 191, 162, 191, 99, 171, 217, 297, - 216, 51, 55, 181, 332, 194, 332, 156, 163, 165, - 15, 13, 268, 344, 121, 121, 157, 16, 51, 55, - 194, 51, 55, 157, 27, 222, 341, 222, 51, 55, - 194, 51, 55, 214, 186, 157, 25, 246, 189, 201, - 15, 189, 189, 189, 338, 100, 189, 198, 329, 189, - 330, 339, 145, 337, 200, 200, 339, 145, 184, 152, - 139, 191, 339, 160, 206, 329, 176, 178, 51, 55, - 194, 51, 55, 310, 209, 142, 63, 157, 282, 189, - 189, 51, 69, 100, 226, 315, 339, 339, 142, 172, - 189, 15, 51, 69, 302, 307, 324, 85, 308, 313, - 320, 322, 315, 317, 322, 51, 315, 172, 189, 15, - 79, 126, 231, 233, 344, 189, 200, 339, 178, 142, - 44, 121, 44, 90, 140, 335, 338, 92, 92, 192, - 197, 141, 200, 92, 92, 193, 197, 193, 197, 231, - 231, 170, 341, 167, 156, 141, 15, 339, 183, 189, - 202, 269, 344, 18, 224, 344, 17, 223, 224, 92, - 92, 141, 92, 92, 224, 211, 213, 141, 167, 184, - 139, 34, 35, 36, 51, 55, 63, 91, 97, 98, - 100, 102, 127, 220, 252, 253, 255, 256, 257, 258, - 261, 262, 264, 265, 266, 267, 287, 291, 15, 200, - 221, 189, 199, 85, 329, 139, 339, 340, 141, 234, - 338, 29, 113, 238, 139, 142, 312, 339, 142, 85, - 44, 44, 325, 341, 142, 309, 142, 309, 142, 309, - 142, 309, 309, 44, 44, 228, 230, 232, 301, 303, - 304, 307, 315, 316, 318, 319, 322, 324, 156, 100, - 189, 178, 160, 189, 51, 55, 194, 51, 55, 57, - 123, 162, 191, 168, 191, 171, 92, 162, 191, 162, - 191, 171, 244, 240, 156, 157, 231, 218, 341, 15, - 93, 270, 344, 157, 14, 271, 344, 167, 15, 92, - 15, 157, 157, 222, 57, 55, 51, 91, 100, 141, - 220, 255, 259, 260, 261, 287, 51, 102, 139, 263, - 264, 266, 287, 51, 34, 51, 51, 90, 40, 41, - 221, 51, 255, 261, 142, 93, 126, 142, 142, 93, - 189, 157, 339, 200, 145, 146, 156, 157, 227, 142, - 100, 339, 189, 189, 315, 322, 315, 315, 189, 189, - 234, 234, 91, 220, 142, 325, 325, 142, 229, 220, - 142, 229, 142, 229, 15, 189, 141, 189, 189, 162, - 191, 15, 139, 157, 156, 91, 180, 220, 292, 295, - 221, 157, 221, 15, 15, 215, 255, 55, 51, 90, - 141, 142, 142, 57, 34, 51, 139, 142, 51, 55, - 167, 167, 157, 142, 142, 51, 257, 254, 255, 51, - 265, 266, 287, 255, 224, 246, 247, 51, 235, 236, - 311, 15, 139, 315, 315, 142, 312, 309, 142, 309, - 309, 309, 126, 126, 55, 90, 303, 307, 142, 228, - 229, 319, 322, 315, 318, 322, 315, 139, 15, 55, - 90, 140, 335, 157, 157, 157, 55, 255, 261, 260, - 266, 221, 221, 25, 224, 248, 254, 142, 142, 338, - 142, 315, 142, 315, 55, 325, 142, 229, 142, 229, - 142, 229, 142, 229, 229, 51, 55, 194, 51, 55, - 268, 223, 15, 142, 142, 157, 157, 252, 15, 255, - 236, 315, 309, 315, 322, 315, 315, 141, 260, 248, - 248, 249, 250, 251, 229, 142, 229, 229, 229, 15, - 15, 221, 40, 41, 315, 157, 167, 167, 229, 248, - 221, 221, 157, 157, 248, 248 + 133, 90, 105, 140, 147, 337, 90, 337, 338, 26, + 138, 246, 276, 92, 92, 194, 199, 246, 163, 51, + 55, 183, 58, 59, 301, 125, 298, 90, 140, 337, + 221, 329, 90, 147, 336, 156, 157, 55, 300, 300, + 16, 223, 343, 121, 90, 140, 337, 92, 92, 223, + 169, 169, 55, 90, 140, 337, 25, 107, 142, 287, + 339, 115, 286, 20, 248, 343, 57, 57, 191, 191, + 191, 93, 142, 201, 202, 346, 57, 201, 202, 85, + 196, 197, 203, 331, 346, 197, 163, 339, 341, 163, + 344, 159, 138, 157, 90, 337, 92, 160, 176, 145, + 339, 345, 341, 160, 341, 141, 202, 342, 345, 202, + 342, 139, 342, 55, 178, 179, 180, 142, 90, 140, + 337, 144, 239, 312, 317, 63, 277, 279, 283, 284, + 63, 278, 61, 62, 63, 63, 101, 101, 154, 169, + 169, 169, 169, 160, 163, 163, 57, 121, 57, 343, + 316, 85, 312, 317, 121, 156, 191, 142, 327, 346, + 51, 142, 327, 343, 142, 311, 191, 142, 311, 51, + 142, 311, 51, 121, 156, 241, 100, 170, 191, 203, + 204, 176, 142, 181, 142, 161, 162, 170, 182, 191, + 193, 204, 222, 297, 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, 334, 335, 196, + 203, 51, 52, 55, 189, 194, 334, 51, 55, 334, + 247, 245, 162, 191, 193, 162, 193, 99, 173, 219, + 299, 218, 51, 55, 183, 334, 196, 334, 156, 163, + 167, 15, 13, 270, 346, 121, 121, 157, 16, 51, + 55, 196, 51, 55, 157, 27, 224, 343, 224, 51, + 55, 196, 51, 55, 216, 188, 157, 25, 248, 191, + 203, 15, 191, 191, 191, 340, 100, 191, 200, 331, + 191, 332, 341, 145, 339, 202, 202, 341, 145, 186, + 152, 139, 193, 341, 160, 208, 331, 178, 180, 51, + 55, 196, 51, 55, 312, 211, 142, 63, 157, 284, + 191, 191, 51, 69, 100, 228, 317, 341, 341, 142, + 174, 191, 15, 51, 69, 304, 309, 326, 85, 310, + 315, 322, 324, 317, 319, 324, 51, 317, 174, 191, + 15, 79, 126, 233, 235, 346, 191, 202, 341, 180, + 142, 44, 121, 44, 90, 140, 337, 34, 35, 36, + 51, 55, 63, 91, 97, 98, 100, 102, 127, 222, + 254, 255, 257, 258, 259, 260, 263, 264, 266, 267, + 268, 269, 289, 293, 254, 340, 92, 92, 194, 199, + 141, 202, 92, 92, 195, 199, 195, 199, 233, 233, + 172, 343, 169, 156, 141, 15, 341, 185, 191, 204, + 271, 346, 18, 226, 346, 17, 225, 226, 92, 92, + 141, 92, 92, 226, 213, 215, 141, 169, 186, 139, + 254, 15, 202, 223, 191, 201, 85, 331, 139, 341, + 342, 141, 236, 340, 29, 113, 240, 139, 142, 314, + 341, 142, 85, 44, 44, 327, 343, 142, 311, 142, + 311, 142, 311, 142, 311, 311, 44, 44, 230, 232, + 234, 303, 305, 306, 309, 317, 318, 320, 321, 324, + 326, 156, 100, 191, 180, 160, 191, 51, 55, 196, + 51, 55, 57, 55, 51, 91, 100, 141, 222, 257, + 261, 262, 263, 289, 51, 102, 139, 265, 266, 268, + 289, 51, 34, 51, 51, 90, 51, 257, 263, 142, + 93, 126, 142, 142, 93, 57, 123, 162, 193, 170, + 193, 173, 92, 162, 193, 162, 193, 173, 246, 242, + 156, 157, 233, 220, 343, 15, 93, 272, 346, 157, + 14, 273, 346, 169, 15, 92, 15, 157, 157, 224, + 40, 41, 223, 191, 157, 341, 202, 145, 146, 156, + 157, 229, 142, 100, 341, 191, 191, 317, 324, 317, + 317, 191, 191, 236, 236, 91, 222, 142, 327, 327, + 142, 231, 222, 142, 231, 142, 231, 15, 191, 141, + 257, 55, 51, 90, 141, 142, 142, 57, 34, 51, + 139, 142, 51, 55, 142, 142, 51, 259, 256, 257, + 51, 267, 268, 289, 257, 191, 191, 162, 193, 15, + 139, 157, 156, 91, 182, 222, 294, 297, 223, 157, + 223, 15, 15, 217, 169, 169, 157, 226, 248, 249, + 51, 237, 238, 313, 15, 139, 317, 317, 142, 314, + 311, 142, 311, 311, 311, 126, 126, 55, 90, 305, + 309, 142, 230, 231, 321, 324, 317, 320, 324, 317, + 55, 257, 263, 262, 268, 256, 142, 139, 15, 55, + 90, 140, 337, 157, 157, 157, 223, 223, 25, 226, + 250, 142, 340, 142, 317, 142, 317, 55, 327, 142, + 231, 142, 231, 142, 231, 142, 231, 231, 142, 142, + 257, 51, 55, 196, 51, 55, 270, 225, 15, 157, + 157, 254, 15, 238, 317, 311, 317, 324, 317, 317, + 262, 141, 250, 250, 251, 252, 253, 231, 142, 231, + 231, 231, 15, 15, 223, 40, 41, 317, 157, 169, + 169, 231, 250, 223, 223, 157, 157, 250, 250 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -6931,72 +7030,72 @@ 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, 160, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 162, 162, 162, 163, - 163, 163, 163, 163, 163, 164, 165, 166, 167, 168, - 168, 169, 169, 170, 171, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 173, 173, 174, 174, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 176, 176, 177, 177, 178, 178, 179, 179, 179, 179, - 179, 179, 179, 179, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 181, 181, 182, 182, 182, 183, 183, - 183, 183, 183, 184, 184, 185, 186, 185, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, + 160, 160, 160, 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, + 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, + 181, 181, 181, 181, 181, 181, 181, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 183, 183, 184, 184, + 184, 185, 185, 185, 185, 185, 186, 186, 187, 188, + 187, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 190, - 190, 190, 190, 191, 191, 192, 192, 192, 193, 193, - 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, - 196, 197, 198, 198, 199, 199, 200, 201, 201, 201, - 201, 201, 201, 202, 202, 202, 203, 203, 203, 203, - 203, 203, 203, 203, 204, 203, 205, 206, 203, 207, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 208, 209, 203, 203, 203, 210, 211, - 203, 212, 213, 203, 203, 203, 203, 203, 203, 214, - 215, 203, 216, 203, 217, 218, 203, 219, 203, 203, - 203, 203, 203, 203, 203, 220, 221, 221, 221, 222, - 222, 223, 223, 224, 224, 225, 225, 226, 226, 226, - 226, 226, 226, 226, 226, 227, 226, 228, 228, 228, - 228, 229, 229, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, - 232, 233, 233, 233, 234, 234, 235, 235, 236, 236, - 237, 237, 238, 238, 239, 240, 241, 241, 241, 241, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, - 244, 245, 244, 246, 247, 247, 248, 249, 248, 250, - 248, 251, 248, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 253, 253, 254, 254, 255, 255, 256, 256, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 258, 258, 259, 259, 259, 259, 259, - 260, 260, 261, 261, 262, 262, 263, 263, 263, 264, - 264, 265, 265, 265, 266, 266, 266, 267, 268, 268, - 269, 269, 269, 270, 270, 271, 271, 272, 272, 272, - 272, 273, 273, 274, 274, 274, 274, 275, 275, 276, - 277, 276, 276, 276, 278, 278, 279, 279, 280, 281, - 281, 282, 282, 283, 283, 284, 285, 284, 286, 286, - 287, 287, 287, 288, 289, 289, 289, 289, 289, 289, - 290, 290, 291, 291, 291, 291, 292, 292, 292, 292, - 292, 293, 293, 294, 294, 294, 294, 294, 294, 294, - 294, 294, 295, 295, 296, 297, 296, 298, 298, 299, - 299, 299, 300, 300, 300, 300, 301, 301, 302, 302, - 303, 303, 304, 304, 305, 305, 306, 306, 307, 307, - 308, 308, 308, 308, 309, 309, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 311, 311, 311, 311, 311, 312, 312, 313, 314, - 313, 315, 315, 316, 317, 318, 319, 319, 320, 320, - 321, 321, 322, 322, 323, 323, 324, 324, 325, 325, - 326, 327, 326, 328, 328, 329, 329, 330, 330, 330, - 330, 330, 330, 330, 330, 331, 331, 331, 332, 332, - 332, 332, 333, 333, 333, 334, 334, 335, 335, 336, - 336, 337, 337, 338, 338, 339, 340, 340, 340, 341, - 341, 342, 342, 343, 343, 344 + 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 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, + 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, + 205, 205, 205, 205, 205, 205, 210, 211, 205, 205, + 205, 212, 213, 205, 214, 215, 205, 205, 205, 205, + 205, 205, 216, 217, 205, 218, 205, 219, 220, 205, + 221, 205, 205, 205, 205, 205, 205, 205, 222, 223, + 223, 223, 224, 224, 225, 225, 226, 226, 227, 227, + 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, + 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 245, 246, 247, 246, 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, + 259, 259, 259, 259, 259, 259, 260, 260, 261, 261, + 261, 261, 261, 262, 262, 263, 263, 264, 264, 265, + 265, 265, 266, 266, 267, 267, 267, 268, 268, 268, + 269, 270, 270, 271, 271, 271, 272, 272, 273, 273, + 274, 274, 274, 274, 275, 275, 276, 276, 276, 276, + 277, 277, 278, 279, 278, 278, 278, 280, 280, 281, + 281, 282, 283, 283, 284, 284, 285, 285, 286, 287, + 286, 288, 288, 289, 289, 289, 290, 291, 291, 291, + 291, 291, 291, 292, 292, 293, 293, 293, 293, 294, + 294, 294, 294, 294, 295, 295, 296, 296, 296, 296, + 296, 296, 296, 296, 296, 297, 297, 298, 299, 298, + 300, 300, 301, 301, 301, 302, 302, 302, 302, 303, + 303, 304, 304, 305, 305, 306, 306, 307, 307, 308, + 308, 309, 309, 310, 310, 310, 310, 311, 311, 312, + 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 312, 312, 312, 313, 313, 313, 313, 313, 314, + 314, 315, 316, 315, 317, 317, 318, 319, 320, 321, + 321, 322, 322, 323, 323, 324, 324, 325, 325, 326, + 326, 327, 327, 328, 329, 328, 330, 330, 331, 331, + 332, 332, 332, 332, 332, 332, 332, 332, 333, 333, + 333, 334, 334, 334, 334, 335, 335, 335, 336, 336, + 337, 337, 338, 338, 339, 339, 340, 340, 341, 342, + 342, 342, 343, 343, 344, 344, 345, 345, 346 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -7005,72 +7104,72 @@ static const yytype_int8 yyr2[] = 0, 2, 0, 2, 2, 1, 1, 3, 2, 1, 0, 5, 4, 2, 1, 1, 3, 2, 0, 4, 2, 3, 3, 3, 3, 3, 4, 1, 3, 3, - 3, 3, 3, 1, 3, 3, 6, 5, 5, 5, - 5, 4, 6, 4, 6, 3, 1, 3, 1, 1, - 3, 3, 3, 2, 1, 2, 0, 5, 1, 1, - 1, 1, 4, 0, 5, 2, 3, 4, 5, 4, - 5, 2, 2, 2, 2, 2, 1, 3, 1, 3, - 1, 2, 3, 5, 2, 4, 2, 4, 1, 3, - 1, 3, 2, 3, 1, 2, 1, 4, 3, 3, - 3, 3, 2, 1, 1, 4, 3, 3, 3, 3, - 2, 1, 1, 1, 1, 2, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, + 3, 3, 1, 3, 3, 6, 5, 5, 5, 5, + 4, 6, 4, 6, 3, 1, 3, 1, 1, 3, + 3, 3, 2, 0, 4, 0, 4, 1, 2, 0, + 5, 1, 1, 1, 1, 4, 0, 5, 2, 3, + 4, 5, 4, 5, 2, 2, 2, 2, 2, 1, + 3, 1, 3, 1, 2, 3, 5, 2, 4, 2, + 4, 1, 3, 1, 3, 2, 3, 1, 2, 1, + 4, 3, 3, 3, 3, 2, 1, 1, 4, 3, + 3, 3, 3, 2, 1, 1, 1, 1, 2, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 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, 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, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, - 6, 5, 5, 5, 5, 4, 3, 3, 2, 2, - 3, 2, 2, 3, 3, 3, 3, 3, 3, 4, - 4, 2, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, - 3, 3, 6, 6, 4, 6, 4, 6, 1, 1, - 2, 4, 2, 1, 3, 3, 5, 3, 1, 1, - 1, 2, 2, 4, 2, 1, 2, 2, 4, 1, - 0, 2, 2, 1, 2, 1, 2, 1, 1, 2, - 3, 3, 4, 3, 4, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 0, 0, 5, 0, - 3, 3, 3, 2, 3, 3, 1, 2, 4, 3, - 2, 1, 2, 0, 0, 5, 6, 6, 0, 0, - 7, 0, 0, 7, 5, 4, 9, 11, 11, 0, - 0, 9, 0, 6, 0, 0, 8, 0, 5, 4, - 4, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 5, 1, 2, 1, 1, 1, 4, 6, - 3, 5, 2, 4, 1, 0, 4, 4, 2, 2, - 1, 2, 0, 6, 8, 4, 6, 4, 3, 6, - 2, 4, 6, 2, 4, 2, 4, 1, 1, 1, - 0, 4, 1, 4, 1, 4, 1, 3, 1, 1, - 4, 1, 3, 3, 0, 5, 2, 4, 5, 5, - 2, 4, 4, 3, 3, 3, 2, 1, 4, 0, - 5, 0, 5, 5, 1, 1, 1, 0, 6, 0, - 8, 0, 8, 1, 2, 2, 4, 1, 3, 1, - 3, 1, 2, 3, 1, 3, 1, 3, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, - 1, 1, 2, 3, 2, 1, 3, 5, 1, 3, - 1, 3, 2, 1, 3, 2, 1, 3, 1, 1, - 3, 3, 2, 3, 2, 2, 1, 1, 6, 1, - 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 2, 3, 1, 2, 1, - 0, 4, 1, 2, 2, 3, 2, 3, 1, 1, - 2, 1, 2, 1, 2, 1, 0, 4, 2, 3, - 1, 4, 2, 2, 1, 1, 1, 1, 1, 2, - 2, 3, 1, 1, 2, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 4, 1, 1, 3, - 5, 3, 1, 2, 4, 2, 2, 2, 2, 1, - 2, 1, 1, 3, 1, 3, 1, 1, 2, 1, + 1, 3, 3, 6, 5, 5, 5, 5, 4, 3, + 3, 2, 2, 3, 2, 2, 3, 3, 3, 3, + 3, 3, 4, 4, 2, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 3, 3, 3, 3, 6, 6, 4, 6, 4, + 6, 1, 1, 2, 4, 2, 1, 3, 3, 5, + 3, 1, 1, 1, 2, 2, 4, 2, 1, 2, + 2, 4, 1, 0, 2, 2, 1, 2, 1, 2, + 1, 1, 2, 3, 3, 4, 3, 4, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, + 0, 5, 0, 3, 3, 3, 2, 3, 3, 1, + 2, 4, 3, 2, 1, 2, 0, 0, 5, 6, + 6, 0, 0, 7, 0, 0, 7, 5, 4, 9, + 11, 11, 0, 0, 9, 0, 6, 0, 0, 8, + 0, 5, 4, 4, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 5, 1, 2, 1, 1, + 1, 4, 6, 3, 5, 2, 4, 1, 0, 4, 4, 2, 2, 1, 2, 0, 6, 8, 4, 6, - 4, 6, 2, 4, 6, 2, 4, 2, 4, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 4, 1, 3, 2, 2, 2, 1, 3, 1, 3, - 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, - 1, 0, 4, 1, 2, 1, 3, 3, 3, 2, - 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, + 4, 3, 6, 2, 4, 6, 2, 4, 2, 4, + 1, 1, 1, 0, 4, 1, 4, 1, 4, 1, + 3, 1, 1, 4, 1, 3, 3, 0, 5, 2, + 4, 5, 5, 2, 4, 4, 3, 3, 3, 2, + 1, 4, 0, 5, 0, 5, 5, 1, 1, 1, + 0, 6, 0, 8, 0, 8, 1, 2, 2, 4, + 1, 3, 1, 3, 1, 2, 3, 1, 3, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 1, 1, 2, 3, 2, 1, 3, + 5, 1, 3, 1, 3, 2, 1, 3, 2, 1, + 3, 1, 1, 3, 3, 2, 3, 2, 2, 1, + 1, 6, 1, 1, 1, 1, 2, 1, 2, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 2, 3, + 1, 2, 1, 0, 4, 1, 2, 2, 3, 2, + 3, 1, 1, 2, 1, 2, 1, 2, 1, 0, + 4, 2, 3, 1, 4, 2, 2, 1, 1, 1, + 1, 1, 2, 2, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 0, 2, 2, 0, 1, 1, 1, - 1, 1, 1, 1, 2, 0 + 1, 1, 1, 1, 1, 1, 1, 0, 0, 4, + 1, 1, 3, 5, 3, 1, 2, 4, 2, 2, + 2, 2, 1, 2, 1, 1, 3, 1, 3, 1, + 1, 2, 1, 4, 2, 2, 1, 2, 0, 6, + 8, 4, 6, 4, 6, 2, 4, 6, 2, 4, + 2, 4, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 4, 1, 3, 2, 2, 2, 1, + 3, 1, 3, 1, 1, 2, 1, 1, 1, 2, + 1, 2, 1, 1, 0, 4, 1, 2, 1, 3, + 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 0, 2, 2, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 0 }; @@ -7737,7 +7836,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7840 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -7950,84 +8049,84 @@ yyreduce: switch (yyn) { case 2: /* $@1: %empty */ -#line 2157 "mrbgems/mruby-compiler/core/parse.y" +#line 2168 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7959 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8058 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ -#line 2162 "mrbgems/mruby-compiler/core/parse.y" +#line 2173 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7967 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8066 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ -#line 2168 "mrbgems/mruby-compiler/core/parse.y" +#line 2179 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7975 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8074 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ -#line 2174 "mrbgems/mruby-compiler/core/parse.y" +#line 2185 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7983 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8082 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ -#line 2178 "mrbgems/mruby-compiler/core/parse.y" +#line 2189 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8090 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ -#line 2182 "mrbgems/mruby-compiler/core/parse.y" +#line 2193 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8098 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ -#line 2186 "mrbgems/mruby-compiler/core/parse.y" +#line 2197 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 8007 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8106 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ -#line 2193 "mrbgems/mruby-compiler/core/parse.y" +#line 2204 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 8016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8115 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ -#line 2198 "mrbgems/mruby-compiler/core/parse.y" +#line 2209 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "BEGIN not supported"); local_resume(p, (yyvsp[-3].nd)); nvars_unnest(p); (yyval.nd) = 0; } -#line 8027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8126 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ -#line 2210 "mrbgems/mruby-compiler/core/parse.y" +#line 2221 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8048,89 +8147,89 @@ yyreduce: } } } -#line 8052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8151 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ -#line 2233 "mrbgems/mruby-compiler/core/parse.y" +#line 2244 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8060 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8159 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ -#line 2239 "mrbgems/mruby-compiler/core/parse.y" +#line 2250 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 8068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ -#line 2243 "mrbgems/mruby-compiler/core/parse.y" +#line 2254 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8076 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8175 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ -#line 2247 "mrbgems/mruby-compiler/core/parse.y" +#line 2258 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 8084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8183 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ -#line 2251 "mrbgems/mruby-compiler/core/parse.y" +#line 2262 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8092 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8191 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ -#line 2256 "mrbgems/mruby-compiler/core/parse.y" +#line 2267 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8197 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ -#line 2257 "mrbgems/mruby-compiler/core/parse.y" +#line 2268 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 8106 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ -#line 2261 "mrbgems/mruby-compiler/core/parse.y" +#line 2272 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 8114 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8213 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ -#line 2265 "mrbgems/mruby-compiler/core/parse.y" +#line 2276 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 8122 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8221 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ -#line 2269 "mrbgems/mruby-compiler/core/parse.y" +#line 2280 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 8130 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8229 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ -#line 2273 "mrbgems/mruby-compiler/core/parse.y" +#line 2284 "mrbgems/mruby-compiler/core/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)); @@ -8139,11 +8238,11 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8143 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ -#line 2282 "mrbgems/mruby-compiler/core/parse.y" +#line 2293 "mrbgems/mruby-compiler/core/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)); @@ -8152,127 +8251,117 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8156 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8255 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ -#line 2291 "mrbgems/mruby-compiler/core/parse.y" +#line 2302 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8263 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ -#line 2295 "mrbgems/mruby-compiler/core/parse.y" +#line 2306 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 8173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8272 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ -#line 2301 "mrbgems/mruby-compiler/core/parse.y" +#line 2312 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8280 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ -#line 2305 "mrbgems/mruby-compiler/core/parse.y" +#line 2316 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8288 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ -#line 2309 "mrbgems/mruby-compiler/core/parse.y" +#line 2320 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8296 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ -#line 2313 "mrbgems/mruby-compiler/core/parse.y" +#line 2324 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8304 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 32: /* stmt: arg "=>" "local variable or method" */ -#line 2317 "mrbgems/mruby-compiler/core/parse.y" - { - node *lhs = new_lvar(p, (yyvsp[0].id)); - assignable(p, lhs); - (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); - } -#line 8215 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 34: /* command_asgn: lhs '=' command_rhs */ -#line 2326 "mrbgems/mruby-compiler/core/parse.y" + case 33: /* command_asgn: lhs '=' command_rhs */ +#line 2331 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8223 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8312 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 35: /* command_asgn: var_lhs tOP_ASGN command_rhs */ -#line 2330 "mrbgems/mruby-compiler/core/parse.y" + case 34: /* command_asgn: var_lhs tOP_ASGN command_rhs */ +#line 2335 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8231 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8320 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 36: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ -#line 2334 "mrbgems/mruby-compiler/core/parse.y" + case 35: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ +#line 2339 "mrbgems/mruby-compiler/core/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 8239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8328 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 37: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ -#line 2338 "mrbgems/mruby-compiler/core/parse.y" + case 36: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ +#line 2343 "mrbgems/mruby-compiler/core/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 8247 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8336 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 38: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ -#line 2342 "mrbgems/mruby-compiler/core/parse.y" + case 37: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ +#line 2347 "mrbgems/mruby-compiler/core/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 8255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8344 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 39: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ -#line 2346 "mrbgems/mruby-compiler/core/parse.y" + case 38: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ +#line 2351 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 8264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8353 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 40: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ -#line 2351 "mrbgems/mruby-compiler/core/parse.y" + case 39: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ +#line 2356 "mrbgems/mruby-compiler/core/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 8272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8361 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ -#line 2355 "mrbgems/mruby-compiler/core/parse.y" + case 40: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ +#line 2360 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -8281,11 +8370,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8374 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 42: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2364 "mrbgems/mruby-compiler/core/parse.y" + case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ +#line 2369 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -8294,11 +8383,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8298 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8387 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ -#line 2373 "mrbgems/mruby-compiler/core/parse.y" + case 42: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ +#line 2378 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -8307,11 +8396,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8311 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8400 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 44: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2382 "mrbgems/mruby-compiler/core/parse.y" + case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ +#line 2387 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -8320,79 +8409,111 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8324 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8413 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 45: /* command_asgn: backref tOP_ASGN command_rhs */ -#line 2391 "mrbgems/mruby-compiler/core/parse.y" + case 44: /* command_asgn: backref tOP_ASGN command_rhs */ +#line 2396 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8422 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 47: /* command_rhs: command_call "'rescue' modifier" stmt */ -#line 2399 "mrbgems/mruby-compiler/core/parse.y" + case 46: /* command_rhs: command_call "'rescue' modifier" stmt */ +#line 2404 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8430 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 50: /* expr: expr "'and'" expr */ -#line 2407 "mrbgems/mruby-compiler/core/parse.y" + case 49: /* expr: expr "'and'" expr */ +#line 2412 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8349 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8438 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 51: /* expr: expr "'or'" expr */ -#line 2411 "mrbgems/mruby-compiler/core/parse.y" + case 50: /* expr: expr "'or'" expr */ +#line 2416 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8357 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8446 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 52: /* expr: "'not'" opt_nl expr */ -#line 2415 "mrbgems/mruby-compiler/core/parse.y" + case 51: /* expr: "'not'" opt_nl expr */ +#line 2420 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8365 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8454 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 53: /* expr: '!' command_call */ -#line 2419 "mrbgems/mruby-compiler/core/parse.y" + case 52: /* expr: '!' command_call */ +#line 2424 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8373 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8462 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 55: /* defn_head: "'def'" fname */ -#line 2426 "mrbgems/mruby-compiler/core/parse.y" + case 53: /* $@4: %empty */ +#line 2427 "mrbgems/mruby-compiler/core/parse.y" + {p->in_kwarg++;} +#line 8468 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 54: /* expr: arg "=>" $@4 p_expr */ +#line 2428 "mrbgems/mruby-compiler/core/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 8478 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 55: /* $@5: %empty */ +#line 2433 "mrbgems/mruby-compiler/core/parse.y" + {p->in_kwarg++;} +#line 8484 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 56: /* expr: arg "'in'" $@5 p_expr */ +#line 2434 "mrbgems/mruby-compiler/core/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 8494 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 58: /* defn_head: "'def'" fname */ +#line 2443 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_def(p, (yyvsp[0].id)); p->cmdarg_stack = 0; p->in_def++; nvars_block(p); } -#line 8384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8505 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 56: /* $@4: %empty */ -#line 2435 "mrbgems/mruby-compiler/core/parse.y" + case 59: /* $@6: %empty */ +#line 2452 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 8392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8513 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 57: /* defs_head: "'def'" singleton dot_or_colon $@4 fname */ -#line 2439 "mrbgems/mruby-compiler/core/parse.y" + case 60: /* defs_head: "'def'" singleton dot_or_colon $@6 fname */ +#line 2456 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id)); p->cmdarg_stack = 0; @@ -8401,1054 +8522,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 8405 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8526 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 58: /* expr_value: expr */ -#line 2450 "mrbgems/mruby-compiler/core/parse.y" + case 61: /* expr_value: expr */ +#line 2467 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 8416 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8537 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 62: /* block_command: block_call call_op2 operation2 command_args */ -#line 2464 "mrbgems/mruby-compiler/core/parse.y" + case 65: /* block_command: block_call call_op2 operation2 command_args */ +#line 2481 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8424 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8545 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 63: /* $@5: %empty */ -#line 2470 "mrbgems/mruby-compiler/core/parse.y" + case 66: /* $@7: %empty */ +#line 2487 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8433 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8554 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 64: /* cmd_brace_block: "{" $@5 opt_block_param compstmt '}' */ -#line 2477 "mrbgems/mruby-compiler/core/parse.y" + case 67: /* cmd_brace_block: "{" $@7 opt_block_param compstmt '}' */ +#line 2494 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8564 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 65: /* command: operation command_args */ -#line 2485 "mrbgems/mruby-compiler/core/parse.y" + case 68: /* command: operation command_args */ +#line 2502 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8572 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 66: /* command: operation command_args cmd_brace_block */ -#line 2489 "mrbgems/mruby-compiler/core/parse.y" + case 69: /* command: operation command_args cmd_brace_block */ +#line 2506 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 8460 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8581 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 67: /* command: primary_value call_op operation2 command_args */ -#line 2494 "mrbgems/mruby-compiler/core/parse.y" + case 70: /* command: primary_value call_op operation2 command_args */ +#line 2511 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8468 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8589 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 68: /* command: primary_value call_op operation2 command_args cmd_brace_block */ -#line 2498 "mrbgems/mruby-compiler/core/parse.y" + case 71: /* command: primary_value call_op operation2 command_args cmd_brace_block */ +#line 2515 "mrbgems/mruby-compiler/core/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 8477 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 69: /* command: primary_value "::" operation2 command_args */ -#line 2503 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); - } -#line 8485 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 70: /* command: primary_value "::" operation2 command_args cmd_brace_block */ -#line 2507 "mrbgems/mruby-compiler/core/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 8494 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 71: /* command: "'super'" command_args */ -#line 2512 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_super(p, (yyvsp[0].nd)); - } -#line 8502 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 72: /* command: "'yield'" command_args */ -#line 2516 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_yield(p, (yyvsp[0].nd)); - } -#line 8510 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 73: /* command: "'return'" call_args */ -#line 2520 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); - } -#line 8518 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 74: /* command: "'break'" call_args */ -#line 2524 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); - } -#line 8526 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 75: /* command: "'next'" call_args */ -#line 2528 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); - } -#line 8534 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 76: /* mlhs: mlhs_basic */ -#line 2534 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 8542 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 77: /* mlhs: tLPAREN mlhs_inner rparen */ -#line 2538 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 8550 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 79: /* mlhs_inner: tLPAREN mlhs_inner rparen */ -#line 2545 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 8558 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 80: /* mlhs_basic: mlhs_list */ -#line 2551 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 8566 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 81: /* mlhs_basic: mlhs_list mlhs_item */ -#line 2555 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); - } -#line 8574 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 82: /* mlhs_basic: mlhs_list "*" mlhs_node */ -#line 2559 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 8582 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 83: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ -#line 2563 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 8590 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 84: /* mlhs_basic: mlhs_list "*" */ -#line 2567 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); - } #line 8598 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 85: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ -#line 2571 "mrbgems/mruby-compiler/core/parse.y" + case 72: /* command: primary_value "::" operation2 command_args */ +#line 2520 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } #line 8606 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 86: /* mlhs_basic: "*" mlhs_node */ -#line 2575 "mrbgems/mruby-compiler/core/parse.y" + case 73: /* command: primary_value "::" operation2 command_args cmd_brace_block */ +#line 2524 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list2(0, (yyvsp[0].nd)); + 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 8614 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8615 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 87: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ -#line 2579 "mrbgems/mruby-compiler/core/parse.y" + case 74: /* command: "'super'" command_args */ +#line 2529 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8623 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 88: /* mlhs_basic: "*" */ -#line 2583 "mrbgems/mruby-compiler/core/parse.y" + case 75: /* command: "'yield'" command_args */ +#line 2533 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list2(0, new_nil(p)); + (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8631 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 89: /* mlhs_basic: "*" ',' mlhs_post */ -#line 2587 "mrbgems/mruby-compiler/core/parse.y" + case 76: /* command: "'return'" call_args */ +#line 2537 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); + (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8639 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 91: /* mlhs_item: tLPAREN mlhs_inner rparen */ -#line 2594 "mrbgems/mruby-compiler/core/parse.y" + case 77: /* command: "'break'" call_args */ +#line 2541 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); + (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8646 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8647 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 92: /* mlhs_list: mlhs_item ',' */ -#line 2600 "mrbgems/mruby-compiler/core/parse.y" + case 78: /* command: "'next'" call_args */ +#line 2545 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[-1].nd)); + (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8655 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 93: /* mlhs_list: mlhs_list mlhs_item ',' */ -#line 2604 "mrbgems/mruby-compiler/core/parse.y" + case 79: /* mlhs: mlhs_basic */ +#line 2551 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); + (yyval.nd) = (yyvsp[0].nd); } -#line 8662 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8663 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 94: /* mlhs_post: mlhs_item */ -#line 2610 "mrbgems/mruby-compiler/core/parse.y" + case 80: /* mlhs: tLPAREN mlhs_inner rparen */ +#line 2555 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 8671 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 82: /* mlhs_inner: tLPAREN mlhs_inner rparen */ +#line 2562 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 8679 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 83: /* mlhs_basic: mlhs_list */ +#line 2568 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8687 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 95: /* mlhs_post: mlhs_list mlhs_item */ -#line 2614 "mrbgems/mruby-compiler/core/parse.y" + case 84: /* mlhs_basic: mlhs_list mlhs_item */ +#line 2572 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); + } +#line 8695 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 85: /* mlhs_basic: mlhs_list "*" mlhs_node */ +#line 2576 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 8703 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 86: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ +#line 2580 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 8711 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 87: /* mlhs_basic: mlhs_list "*" */ +#line 2584 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); + } +#line 8719 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 88: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ +#line 2588 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); + } +#line 8727 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 89: /* mlhs_basic: "*" mlhs_node */ +#line 2592 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list2(0, (yyvsp[0].nd)); + } +#line 8735 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 90: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ +#line 2596 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 8743 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 91: /* mlhs_basic: "*" */ +#line 2600 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list2(0, new_nil(p)); + } +#line 8751 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 92: /* mlhs_basic: "*" ',' mlhs_post */ +#line 2604 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); + } +#line 8759 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 94: /* mlhs_item: tLPAREN mlhs_inner rparen */ +#line 2611 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); + } +#line 8767 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 95: /* mlhs_list: mlhs_item ',' */ +#line 2617 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[-1].nd)); + } +#line 8775 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 96: /* mlhs_list: mlhs_list mlhs_item ',' */ +#line 2621 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); + } +#line 8783 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 97: /* mlhs_post: mlhs_item */ +#line 2627 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 8791 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 98: /* mlhs_post: mlhs_list mlhs_item */ +#line 2631 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8678 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8799 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 96: /* mlhs_node: variable */ -#line 2620 "mrbgems/mruby-compiler/core/parse.y" + case 99: /* mlhs_node: variable */ +#line 2637 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8686 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 97: /* mlhs_node: primary_value '[' opt_call_args ']' */ -#line 2624 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); - } -#line 8694 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 98: /* mlhs_node: primary_value call_op "local variable or method" */ -#line 2628 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8702 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 99: /* mlhs_node: primary_value "::" "local variable or method" */ -#line 2632 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); - } -#line 8710 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 100: /* mlhs_node: primary_value call_op "constant" */ -#line 2636 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8718 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 101: /* mlhs_node: primary_value "::" "constant" */ -#line 2640 "mrbgems/mruby-compiler/core/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 8728 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 102: /* mlhs_node: tCOLON3 "constant" */ -#line 2646 "mrbgems/mruby-compiler/core/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 8738 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 103: /* mlhs_node: backref */ -#line 2652 "mrbgems/mruby-compiler/core/parse.y" - { - backref_error(p, (yyvsp[0].nd)); - (yyval.nd) = 0; - } -#line 8747 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 104: /* lhs: variable */ -#line 2659 "mrbgems/mruby-compiler/core/parse.y" - { - assignable(p, (yyvsp[0].nd)); - } -#line 8755 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 105: /* lhs: primary_value '[' opt_call_args ']' */ -#line 2663 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); - } -#line 8763 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 106: /* lhs: primary_value call_op "local variable or method" */ -#line 2667 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8771 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 107: /* lhs: primary_value "::" "local variable or method" */ -#line 2671 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); - } -#line 8779 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 108: /* lhs: primary_value call_op "constant" */ -#line 2675 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8787 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 109: /* lhs: primary_value "::" "constant" */ -#line 2679 "mrbgems/mruby-compiler/core/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 8797 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 110: /* lhs: tCOLON3 "constant" */ -#line 2685 "mrbgems/mruby-compiler/core/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 8807 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 111: /* lhs: backref */ -#line 2691 "mrbgems/mruby-compiler/core/parse.y" + case 100: /* mlhs_node: primary_value '[' opt_call_args ']' */ +#line 2641 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + } +#line 8815 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 101: /* mlhs_node: primary_value call_op "local variable or method" */ +#line 2645 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8823 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 102: /* mlhs_node: primary_value "::" "local variable or method" */ +#line 2649 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + } +#line 8831 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 103: /* mlhs_node: primary_value call_op "constant" */ +#line 2653 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8839 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 104: /* mlhs_node: primary_value "::" "constant" */ +#line 2657 "mrbgems/mruby-compiler/core/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 8849 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 105: /* mlhs_node: tCOLON3 "constant" */ +#line 2663 "mrbgems/mruby-compiler/core/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 8859 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 106: /* mlhs_node: backref */ +#line 2669 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8868 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 112: /* lhs: "numbered parameter" */ + case 107: /* lhs: variable */ +#line 2676 "mrbgems/mruby-compiler/core/parse.y" + { + assignable(p, (yyvsp[0].nd)); + } +#line 8876 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 108: /* lhs: primary_value '[' opt_call_args ']' */ +#line 2680 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + } +#line 8884 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 109: /* lhs: primary_value call_op "local variable or method" */ +#line 2684 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8892 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 110: /* lhs: primary_value "::" "local variable or method" */ +#line 2688 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + } +#line 8900 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 111: /* lhs: primary_value call_op "constant" */ +#line 2692 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8908 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 112: /* lhs: primary_value "::" "constant" */ #line 2696 "mrbgems/mruby-compiler/core/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 8918 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 113: /* lhs: tCOLON3 "constant" */ +#line 2702 "mrbgems/mruby-compiler/core/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 8928 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 114: /* lhs: backref */ +#line 2708 "mrbgems/mruby-compiler/core/parse.y" + { + backref_error(p, (yyvsp[0].nd)); + (yyval.nd) = 0; + } +#line 8937 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 115: /* lhs: "numbered parameter" */ +#line 2713 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8824 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8945 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 113: /* cname: "local variable or method" */ -#line 2702 "mrbgems/mruby-compiler/core/parse.y" + case 116: /* cname: "local variable or method" */ +#line 2719 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8953 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 115: /* cpath: tCOLON3 cname */ -#line 2709 "mrbgems/mruby-compiler/core/parse.y" + case 118: /* cpath: tCOLON3 cname */ +#line 2726 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8961 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 116: /* cpath: cname */ -#line 2713 "mrbgems/mruby-compiler/core/parse.y" + case 119: /* cpath: cname */ +#line 2730 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8969 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 117: /* cpath: primary_value "::" cname */ -#line 2717 "mrbgems/mruby-compiler/core/parse.y" + case 120: /* cpath: primary_value "::" cname */ +#line 2734 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), sym_to_node((yyvsp[0].id))); } -#line 8857 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8978 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 121: /* fname: op */ -#line 2727 "mrbgems/mruby-compiler/core/parse.y" + case 124: /* fname: op */ +#line 2744 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8866 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 122: /* fname: reswords */ -#line 2732 "mrbgems/mruby-compiler/core/parse.y" - { - p->lstate = EXPR_ENDFN; - (yyval.id) = (yyvsp[0].id); - } -#line 8875 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 125: /* undef_list: fsym */ -#line 2743 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); - } -#line 8883 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 126: /* $@6: %empty */ -#line 2746 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_FNAME;} -#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 127: /* undef_list: undef_list ',' $@6 fsym */ -#line 2747 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); - } -#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 128: /* op: '|' */ -#line 2752 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(or); } -#line 8903 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 129: /* op: '^' */ -#line 2753 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(xor); } -#line 8909 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 130: /* op: '&' */ -#line 2754 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(and); } -#line 8915 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 131: /* op: "<=>" */ -#line 2755 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(cmp); } -#line 8921 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 132: /* op: "==" */ -#line 2756 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eq); } -#line 8927 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 133: /* op: "===" */ -#line 2757 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eqq); } -#line 8933 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 134: /* op: "=~" */ -#line 2758 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(match); } -#line 8939 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 135: /* op: "!~" */ -#line 2759 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(nmatch); } -#line 8945 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 136: /* op: '>' */ -#line 2760 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(gt); } -#line 8951 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 137: /* op: ">=" */ -#line 2761 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(ge); } -#line 8957 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 138: /* op: '<' */ -#line 2762 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lt); } -#line 8963 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 139: /* op: "<=" */ -#line 2763 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(le); } -#line 8969 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 140: /* op: "!=" */ -#line 2764 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neq); } -#line 8975 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 141: /* op: "<<" */ -#line 2765 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lshift); } -#line 8981 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 142: /* op: ">>" */ -#line 2766 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(rshift); } #line 8987 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 143: /* op: '+' */ -#line 2767 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(add); } -#line 8993 "mrbgems/mruby-compiler/core/y.tab.c" + case 125: /* fname: reswords */ +#line 2749 "mrbgems/mruby-compiler/core/parse.y" + { + p->lstate = EXPR_ENDFN; + (yyval.id) = (yyvsp[0].id); + } +#line 8996 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 144: /* op: '-' */ -#line 2768 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(sub); } -#line 8999 "mrbgems/mruby-compiler/core/y.tab.c" + case 128: /* undef_list: fsym */ +#line 2760 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); + } +#line 9004 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 145: /* op: '*' */ + case 129: /* $@8: %empty */ +#line 2763 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_FNAME;} +#line 9010 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 130: /* undef_list: undef_list ',' $@8 fsym */ +#line 2764 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); + } +#line 9018 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 131: /* op: '|' */ #line 2769 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } -#line 9005 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(or); } +#line 9024 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 146: /* op: "*" */ + case 132: /* op: '^' */ #line 2770 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } -#line 9011 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(xor); } +#line 9030 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 147: /* op: '/' */ + case 133: /* op: '&' */ #line 2771 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(div); } -#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(and); } +#line 9036 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 148: /* op: '%' */ + case 134: /* op: "<=>" */ #line 2772 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mod); } -#line 9023 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(cmp); } +#line 9042 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 149: /* op: tPOW */ + case 135: /* op: "==" */ #line 2773 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } -#line 9029 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(eq); } +#line 9048 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 150: /* op: "**" */ + case 136: /* op: "===" */ #line 2774 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } -#line 9035 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(eqq); } +#line 9054 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 151: /* op: '!' */ + case 137: /* op: "=~" */ #line 2775 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(not); } -#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(match); } +#line 9060 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 152: /* op: '~' */ + case 138: /* op: "!~" */ #line 2776 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neg); } -#line 9047 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(nmatch); } +#line 9066 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 153: /* op: "unary plus" */ + case 139: /* op: '>' */ #line 2777 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(plus); } -#line 9053 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(gt); } +#line 9072 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 154: /* op: "unary minus" */ + case 140: /* op: ">=" */ #line 2778 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(minus); } -#line 9059 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(ge); } +#line 9078 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 155: /* op: tAREF */ + case 141: /* op: '<' */ #line 2779 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aref); } -#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(lt); } +#line 9084 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 156: /* op: tASET */ + case 142: /* op: "<=" */ #line 2780 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aset); } -#line 9071 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(le); } +#line 9090 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 157: /* op: '`' */ + case 143: /* op: "!=" */ #line 2781 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(tick); } -#line 9077 "mrbgems/mruby-compiler/core/y.tab.c" + { (yyval.id) = intern_op(neq); } +#line 9096 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 198: /* arg: lhs '=' arg_rhs */ -#line 2799 "mrbgems/mruby-compiler/core/parse.y" + case 144: /* op: "<<" */ +#line 2782 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lshift); } +#line 9102 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 145: /* op: ">>" */ +#line 2783 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(rshift); } +#line 9108 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 146: /* op: '+' */ +#line 2784 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(add); } +#line 9114 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 147: /* op: '-' */ +#line 2785 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(sub); } +#line 9120 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 148: /* op: '*' */ +#line 2786 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } +#line 9126 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 149: /* op: "*" */ +#line 2787 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } +#line 9132 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 150: /* op: '/' */ +#line 2788 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(div); } +#line 9138 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 151: /* op: '%' */ +#line 2789 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mod); } +#line 9144 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 152: /* op: tPOW */ +#line 2790 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } +#line 9150 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 153: /* op: "**" */ +#line 2791 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } +#line 9156 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 154: /* op: '!' */ +#line 2792 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(not); } +#line 9162 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 155: /* op: '~' */ +#line 2793 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neg); } +#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 156: /* op: "unary plus" */ +#line 2794 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(plus); } +#line 9174 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 157: /* op: "unary minus" */ +#line 2795 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(minus); } +#line 9180 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 158: /* op: tAREF */ +#line 2796 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aref); } +#line 9186 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 159: /* op: tASET */ +#line 2797 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aset); } +#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 160: /* op: '`' */ +#line 2798 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(tick); } +#line 9198 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 201: /* arg: lhs '=' arg_rhs */ +#line 2816 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9085 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9206 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 199: /* arg: var_lhs tOP_ASGN arg_rhs */ -#line 2803 "mrbgems/mruby-compiler/core/parse.y" + case 202: /* arg: var_lhs tOP_ASGN arg_rhs */ +#line 2820 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9214 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 200: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ -#line 2807 "mrbgems/mruby-compiler/core/parse.y" + case 203: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ +#line 2824 "mrbgems/mruby-compiler/core/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 9101 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9222 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 201: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ -#line 2811 "mrbgems/mruby-compiler/core/parse.y" + case 204: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ +#line 2828 "mrbgems/mruby-compiler/core/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 9109 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9230 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 202: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ -#line 2815 "mrbgems/mruby-compiler/core/parse.y" + case 205: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ +#line 2832 "mrbgems/mruby-compiler/core/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 9117 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9238 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 203: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ -#line 2819 "mrbgems/mruby-compiler/core/parse.y" + case 206: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ +#line 2836 "mrbgems/mruby-compiler/core/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 9125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9246 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 204: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ -#line 2823 "mrbgems/mruby-compiler/core/parse.y" + case 207: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ +#line 2840 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9134 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9255 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 205: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ -#line 2828 "mrbgems/mruby-compiler/core/parse.y" + case 208: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ +#line 2845 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9143 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9264 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 206: /* arg: backref tOP_ASGN arg_rhs */ -#line 2833 "mrbgems/mruby-compiler/core/parse.y" + case 209: /* arg: backref tOP_ASGN arg_rhs */ +#line 2850 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 9152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9273 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 207: /* arg: arg ".." arg */ -#line 2838 "mrbgems/mruby-compiler/core/parse.y" + case 210: /* arg: arg ".." arg */ +#line 2855 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9281 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 208: /* arg: arg ".." */ -#line 2842 "mrbgems/mruby-compiler/core/parse.y" + case 211: /* arg: arg ".." */ +#line 2859 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9289 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 209: /* arg: tBDOT2 arg */ -#line 2846 "mrbgems/mruby-compiler/core/parse.y" + case 212: /* arg: tBDOT2 arg */ +#line 2863 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 9176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9297 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 210: /* arg: arg "..." arg */ -#line 2850 "mrbgems/mruby-compiler/core/parse.y" + case 213: /* arg: arg "..." arg */ +#line 2867 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9305 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 211: /* arg: arg "..." */ -#line 2854 "mrbgems/mruby-compiler/core/parse.y" + case 214: /* arg: arg "..." */ +#line 2871 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9313 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 212: /* arg: tBDOT3 arg */ -#line 2858 "mrbgems/mruby-compiler/core/parse.y" + case 215: /* arg: tBDOT3 arg */ +#line 2875 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 9200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9321 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 213: /* arg: arg '+' arg */ -#line 2862 "mrbgems/mruby-compiler/core/parse.y" + case 216: /* arg: arg '+' arg */ +#line 2879 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 9208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9329 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 214: /* arg: arg '-' arg */ -#line 2866 "mrbgems/mruby-compiler/core/parse.y" + case 217: /* arg: arg '-' arg */ +#line 2883 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 9216 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9337 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 215: /* arg: arg '*' arg */ -#line 2870 "mrbgems/mruby-compiler/core/parse.y" + case 218: /* arg: arg '*' arg */ +#line 2887 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 9224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9345 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 216: /* arg: arg '/' arg */ -#line 2874 "mrbgems/mruby-compiler/core/parse.y" + case 219: /* arg: arg '/' arg */ +#line 2891 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 9232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9353 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 217: /* arg: arg '%' arg */ -#line 2878 "mrbgems/mruby-compiler/core/parse.y" + case 220: /* arg: arg '%' arg */ +#line 2895 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 9240 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9361 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 218: /* arg: arg tPOW arg */ -#line 2882 "mrbgems/mruby-compiler/core/parse.y" + case 221: /* arg: arg tPOW arg */ +#line 2899 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 9248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9369 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 219: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ -#line 2886 "mrbgems/mruby-compiler/core/parse.y" + case 222: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ +#line 2903 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9377 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 220: /* arg: tUMINUS_NUM "float literal" tPOW arg */ -#line 2890 "mrbgems/mruby-compiler/core/parse.y" + case 223: /* arg: tUMINUS_NUM "float literal" tPOW arg */ +#line 2907 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9385 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 221: /* arg: "unary plus" arg */ -#line 2894 "mrbgems/mruby-compiler/core/parse.y" + case 224: /* arg: "unary plus" arg */ +#line 2911 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 9272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9393 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 222: /* arg: "unary minus" arg */ -#line 2898 "mrbgems/mruby-compiler/core/parse.y" + case 225: /* arg: "unary minus" arg */ +#line 2915 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9401 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 223: /* arg: arg '|' arg */ -#line 2902 "mrbgems/mruby-compiler/core/parse.y" + case 226: /* arg: arg '|' arg */ +#line 2919 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 9288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9409 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 224: /* arg: arg '^' arg */ -#line 2906 "mrbgems/mruby-compiler/core/parse.y" + case 227: /* arg: arg '^' arg */ +#line 2923 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 9296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9417 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 225: /* arg: arg '&' arg */ -#line 2910 "mrbgems/mruby-compiler/core/parse.y" + case 228: /* arg: arg '&' arg */ +#line 2927 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 9304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9425 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 226: /* arg: arg "<=>" arg */ -#line 2914 "mrbgems/mruby-compiler/core/parse.y" + case 229: /* arg: arg "<=>" arg */ +#line 2931 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 9312 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9433 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 227: /* arg: arg '>' arg */ -#line 2918 "mrbgems/mruby-compiler/core/parse.y" + case 230: /* arg: arg '>' arg */ +#line 2935 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 9320 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9441 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 228: /* arg: arg ">=" arg */ -#line 2922 "mrbgems/mruby-compiler/core/parse.y" + case 231: /* arg: arg ">=" arg */ +#line 2939 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 9328 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9449 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 229: /* arg: arg '<' arg */ -#line 2926 "mrbgems/mruby-compiler/core/parse.y" + case 232: /* arg: arg '<' arg */ +#line 2943 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 9336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9457 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 230: /* arg: arg "<=" arg */ -#line 2930 "mrbgems/mruby-compiler/core/parse.y" + case 233: /* arg: arg "<=" arg */ +#line 2947 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 9344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 231: /* arg: arg "==" arg */ -#line 2934 "mrbgems/mruby-compiler/core/parse.y" + case 234: /* arg: arg "==" arg */ +#line 2951 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 9352 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 232: /* arg: arg "===" arg */ -#line 2938 "mrbgems/mruby-compiler/core/parse.y" + case 235: /* arg: arg "===" arg */ +#line 2955 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 9360 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9481 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 233: /* arg: arg "!=" arg */ -#line 2942 "mrbgems/mruby-compiler/core/parse.y" + case 236: /* arg: arg "!=" arg */ +#line 2959 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 9368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9489 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 234: /* arg: arg "=~" arg */ -#line 2946 "mrbgems/mruby-compiler/core/parse.y" + case 237: /* arg: arg "=~" arg */ +#line 2963 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 9376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9497 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 235: /* arg: arg "!~" arg */ -#line 2950 "mrbgems/mruby-compiler/core/parse.y" + case 238: /* arg: arg "!~" arg */ +#line 2967 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 9384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9505 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 236: /* arg: '!' arg */ -#line 2954 "mrbgems/mruby-compiler/core/parse.y" + case 239: /* arg: '!' arg */ +#line 2971 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 9392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9513 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 237: /* arg: '~' arg */ -#line 2958 "mrbgems/mruby-compiler/core/parse.y" + case 240: /* arg: '~' arg */ +#line 2975 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 9400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9521 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 238: /* arg: arg "<<" arg */ -#line 2962 "mrbgems/mruby-compiler/core/parse.y" + case 241: /* arg: arg "<<" arg */ +#line 2979 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 9408 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9529 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 239: /* arg: arg ">>" arg */ -#line 2966 "mrbgems/mruby-compiler/core/parse.y" + case 242: /* arg: arg ">>" arg */ +#line 2983 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 9416 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 240: /* arg: arg "&&" arg */ -#line 2970 "mrbgems/mruby-compiler/core/parse.y" + case 243: /* arg: arg "&&" arg */ +#line 2987 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9424 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9545 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 241: /* arg: arg "||" arg */ -#line 2974 "mrbgems/mruby-compiler/core/parse.y" + case 244: /* arg: arg "||" arg */ +#line 2991 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9432 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9553 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 242: /* arg: arg '?' arg opt_nl ':' arg */ -#line 2978 "mrbgems/mruby-compiler/core/parse.y" + case 245: /* arg: arg '?' arg opt_nl ':' arg */ +#line 2995 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9440 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9561 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 243: /* arg: arg '?' arg opt_nl "label" arg */ -#line 2982 "mrbgems/mruby-compiler/core/parse.y" + case 246: /* arg: arg '?' arg opt_nl "label" arg */ +#line 2999 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9448 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9569 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 244: /* arg: defn_head f_opt_arglist_paren '=' arg */ -#line 2986 "mrbgems/mruby-compiler/core/parse.y" + case 247: /* arg: defn_head f_opt_arglist_paren '=' arg */ +#line 3003 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -9457,11 +9578,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9461 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9582 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 245: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 2995 "mrbgems/mruby-compiler/core/parse.y" + case 248: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ +#line 3012 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -9470,11 +9591,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9474 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 246: /* arg: defs_head f_opt_arglist_paren '=' arg */ -#line 3004 "mrbgems/mruby-compiler/core/parse.y" + case 249: /* arg: defs_head f_opt_arglist_paren '=' arg */ +#line 3021 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -9483,11 +9604,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9608 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 247: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 3013 "mrbgems/mruby-compiler/core/parse.y" + case 250: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ +#line 3030 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -9496,68 +9617,68 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9500 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9621 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 248: /* arg: primary */ -#line 3022 "mrbgems/mruby-compiler/core/parse.y" + case 251: /* arg: primary */ +#line 3039 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9629 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 250: /* aref_args: args trailer */ -#line 3029 "mrbgems/mruby-compiler/core/parse.y" + case 253: /* aref_args: args trailer */ +#line 3046 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9637 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 251: /* aref_args: args comma assocs trailer */ -#line 3033 "mrbgems/mruby-compiler/core/parse.y" + case 254: /* aref_args: args comma assocs trailer */ +#line 3050 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9645 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 252: /* aref_args: assocs trailer */ -#line 3037 "mrbgems/mruby-compiler/core/parse.y" + case 255: /* aref_args: assocs trailer */ +#line 3054 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9653 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 253: /* arg_rhs: arg */ -#line 3043 "mrbgems/mruby-compiler/core/parse.y" + case 256: /* arg_rhs: arg */ +#line 3060 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9661 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 254: /* arg_rhs: arg "'rescue' modifier" arg */ -#line 3047 "mrbgems/mruby-compiler/core/parse.y" + case 257: /* arg_rhs: arg "'rescue' modifier" arg */ +#line 3064 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9549 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9670 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 255: /* paren_args: '(' opt_call_args ')' */ -#line 3054 "mrbgems/mruby-compiler/core/parse.y" + case 258: /* paren_args: '(' opt_call_args ')' */ +#line 3071 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9557 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9678 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 256: /* paren_args: '(' args comma tBDOT3 rparen */ -#line 3058 "mrbgems/mruby-compiler/core/parse.y" + case 259: /* paren_args: '(' args comma tBDOT3 rparen */ +#line 3075 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9566,11 +9687,11 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9691 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 257: /* paren_args: '(' tBDOT3 rparen */ -#line 3067 "mrbgems/mruby-compiler/core/parse.y" + case 260: /* paren_args: '(' tBDOT3 rparen */ +#line 3084 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9585,390 +9706,390 @@ yyreduce: (yyval.nd) = 0; } } -#line 9589 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9710 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 262: /* opt_call_args: args comma */ -#line 3090 "mrbgems/mruby-compiler/core/parse.y" + case 265: /* opt_call_args: args comma */ +#line 3107 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9597 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9718 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 263: /* opt_call_args: args comma assocs comma */ -#line 3094 "mrbgems/mruby-compiler/core/parse.y" + case 266: /* opt_call_args: args comma assocs comma */ +#line 3111 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9605 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9726 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 264: /* opt_call_args: assocs comma */ -#line 3098 "mrbgems/mruby-compiler/core/parse.y" + case 267: /* opt_call_args: assocs comma */ +#line 3115 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9734 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 265: /* call_args: command */ -#line 3104 "mrbgems/mruby-compiler/core/parse.y" + case 268: /* call_args: command */ +#line 3121 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } -#line 9622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9743 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 266: /* call_args: args opt_block_arg */ -#line 3109 "mrbgems/mruby-compiler/core/parse.y" + case 269: /* call_args: args opt_block_arg */ +#line 3126 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9751 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 267: /* call_args: assocs opt_block_arg */ -#line 3113 "mrbgems/mruby-compiler/core/parse.y" + case 270: /* call_args: assocs opt_block_arg */ +#line 3130 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9759 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 268: /* call_args: args comma assocs opt_block_arg */ -#line 3117 "mrbgems/mruby-compiler/core/parse.y" + case 271: /* call_args: args comma assocs opt_block_arg */ +#line 3134 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9646 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9767 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 269: /* call_args: block_arg */ -#line 3121 "mrbgems/mruby-compiler/core/parse.y" + case 272: /* call_args: block_arg */ +#line 3138 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9775 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 270: /* @7: %empty */ -#line 3126 "mrbgems/mruby-compiler/core/parse.y" + case 273: /* @9: %empty */ +#line 3143 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 9663 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9784 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 271: /* command_args: @7 call_args */ -#line 3131 "mrbgems/mruby-compiler/core/parse.y" + case 274: /* command_args: @9 call_args */ +#line 3148 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 9672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9793 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 272: /* block_arg: "&" arg */ -#line 3138 "mrbgems/mruby-compiler/core/parse.y" + case 275: /* block_arg: "&" arg */ +#line 3155 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9680 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9801 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 273: /* block_arg: "&" */ -#line 3142 "mrbgems/mruby-compiler/core/parse.y" + case 276: /* block_arg: "&" */ +#line 3159 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, 0); } -#line 9688 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9809 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 274: /* opt_block_arg: comma block_arg */ -#line 3148 "mrbgems/mruby-compiler/core/parse.y" + case 277: /* opt_block_arg: comma block_arg */ +#line 3165 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9696 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9817 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 275: /* opt_block_arg: none */ -#line 3152 "mrbgems/mruby-compiler/core/parse.y" + case 278: /* opt_block_arg: none */ +#line 3169 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 9704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9825 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 277: /* args: arg */ -#line 3161 "mrbgems/mruby-compiler/core/parse.y" + case 280: /* args: arg */ +#line 3178 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9834 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 278: /* args: "*" */ -#line 3166 "mrbgems/mruby-compiler/core/parse.y" + case 281: /* args: "*" */ +#line 3183 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9842 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 279: /* args: "*" arg */ -#line 3170 "mrbgems/mruby-compiler/core/parse.y" + case 282: /* args: "*" arg */ +#line 3187 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9850 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 280: /* args: args comma arg */ -#line 3174 "mrbgems/mruby-compiler/core/parse.y" + case 283: /* args: args comma arg */ +#line 3191 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9738 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 281: /* args: args comma "*" */ -#line 3179 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); - } -#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 282: /* args: args comma "*" arg */ -#line 3183 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); - } -#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 283: /* mrhs: args comma arg */ -#line 3189 "mrbgems/mruby-compiler/core/parse.y" - { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 9763 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 284: /* mrhs: args comma "*" arg */ -#line 3194 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); - } -#line 9771 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 285: /* mrhs: "*" arg */ -#line 3198 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); - } -#line 9779 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 287: /* primary: string */ -#line 3205 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_str(p, (yyvsp[0].nd)); - } -#line 9787 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 288: /* primary: xstring */ -#line 3209 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); - } -#line 9795 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 293: /* primary: "method" */ -#line 3217 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); - } -#line 9803 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 294: /* @8: %empty */ -#line 3221 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; - } -#line 9812 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 295: /* primary: "'begin'" @8 bodystmt "'end'" */ -#line 3227 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmdarg_stack = (yyvsp[-2].stack); - (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); - } -#line 9821 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 296: /* @9: %empty */ -#line 3232 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; - } -#line 9830 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 297: /* $@10: %empty */ -#line 3236 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_ENDARG;} -#line 9836 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 298: /* primary: "(" @9 stmt $@10 rparen */ -#line 3237 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmdarg_stack = (yyvsp[-3].stack); - (yyval.nd) = (yyvsp[-2].nd); - } -#line 9845 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 299: /* $@11: %empty */ -#line 3241 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_ENDARG;} -#line 9851 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 300: /* primary: "(" $@11 rparen */ -#line 3242 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_nil(p); - } #line 9859 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 301: /* primary: tLPAREN compstmt ')' */ -#line 3246 "mrbgems/mruby-compiler/core/parse.y" + case 284: /* args: args comma "*" */ +#line 3196 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } #line 9867 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 302: /* primary: primary_value "::" "constant" */ -#line 3250 "mrbgems/mruby-compiler/core/parse.y" + case 285: /* args: args comma "*" arg */ +#line 3200 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } #line 9875 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 303: /* primary: tCOLON3 "constant" */ + case 286: /* mrhs: args comma arg */ +#line 3206 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9884 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 287: /* mrhs: args comma "*" arg */ +#line 3211 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + } +#line 9892 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 288: /* mrhs: "*" arg */ +#line 3215 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + } +#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 290: /* primary: string */ +#line 3222 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_str(p, (yyvsp[0].nd)); + } +#line 9908 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 291: /* primary: xstring */ +#line 3226 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); + } +#line 9916 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 296: /* primary: "method" */ +#line 3234 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + } +#line 9924 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 297: /* @10: %empty */ +#line 3238 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9933 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 298: /* primary: "'begin'" @10 bodystmt "'end'" */ +#line 3244 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmdarg_stack = (yyvsp[-2].stack); + (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); + } +#line 9942 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 299: /* @11: %empty */ +#line 3249 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9951 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 300: /* $@12: %empty */ +#line 3253 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_ENDARG;} +#line 9957 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 301: /* primary: "(" @11 stmt $@12 rparen */ #line 3254 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmdarg_stack = (yyvsp[-3].stack); + (yyval.nd) = (yyvsp[-2].nd); + } +#line 9966 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 302: /* $@13: %empty */ +#line 3258 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_ENDARG;} +#line 9972 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 303: /* primary: "(" $@13 rparen */ +#line 3259 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_nil(p); + } +#line 9980 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 304: /* primary: tLPAREN compstmt ')' */ +#line 3263 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 9988 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 305: /* primary: primary_value "::" "constant" */ +#line 3267 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); + } +#line 9996 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 306: /* primary: tCOLON3 "constant" */ +#line 3271 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9883 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10004 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 304: /* primary: "[" aref_args ']' */ -#line 3258 "mrbgems/mruby-compiler/core/parse.y" + case 307: /* primary: "[" aref_args ']' */ +#line 3275 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9891 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10012 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 305: /* primary: tLBRACE assoc_list '}' */ -#line 3262 "mrbgems/mruby-compiler/core/parse.y" + case 308: /* primary: tLBRACE assoc_list '}' */ +#line 3279 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9899 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10020 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 306: /* primary: "'return'" */ -#line 3266 "mrbgems/mruby-compiler/core/parse.y" + case 309: /* primary: "'return'" */ +#line 3283 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 9907 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10028 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 307: /* primary: "'yield'" opt_paren_args */ -#line 3270 "mrbgems/mruby-compiler/core/parse.y" + case 310: /* primary: "'yield'" opt_paren_args */ +#line 3287 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9915 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10036 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 308: /* primary: "'not'" '(' expr rparen */ -#line 3274 "mrbgems/mruby-compiler/core/parse.y" + case 311: /* primary: "'not'" '(' expr rparen */ +#line 3291 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9923 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10044 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 309: /* primary: "'not'" '(' rparen */ -#line 3278 "mrbgems/mruby-compiler/core/parse.y" + case 312: /* primary: "'not'" '(' rparen */ +#line 3295 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9931 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10052 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 310: /* primary: operation brace_block */ -#line 3282 "mrbgems/mruby-compiler/core/parse.y" + case 313: /* primary: operation brace_block */ +#line 3299 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9939 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10060 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 312: /* primary: method_call brace_block */ -#line 3287 "mrbgems/mruby-compiler/core/parse.y" + case 315: /* primary: method_call brace_block */ +#line 3304 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9948 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 313: /* @12: %empty */ -#line 3292 "mrbgems/mruby-compiler/core/parse.y" + case 316: /* @14: %empty */ +#line 3309 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9959 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10080 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 314: /* @13: %empty */ -#line 3299 "mrbgems/mruby-compiler/core/parse.y" + case 317: /* @15: %empty */ +#line 3316 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9968 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10089 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 315: /* primary: "->" @12 f_larglist @13 lambda_body */ -#line 3304 "mrbgems/mruby-compiler/core/parse.y" + case 318: /* primary: "->" @14 f_larglist @15 lambda_body */ +#line 3321 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -9977,176 +10098,176 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9981 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10102 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 316: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ -#line 3316 "mrbgems/mruby-compiler/core/parse.y" + case 319: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ +#line 3333 "mrbgems/mruby-compiler/core/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 9990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10111 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 317: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ -#line 3324 "mrbgems/mruby-compiler/core/parse.y" + case 320: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ +#line 3341 "mrbgems/mruby-compiler/core/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 9999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10120 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 318: /* $@14: %empty */ -#line 3328 "mrbgems/mruby-compiler/core/parse.y" + case 321: /* $@16: %empty */ +#line 3345 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10005 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10126 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 319: /* $@15: %empty */ -#line 3328 "mrbgems/mruby-compiler/core/parse.y" + case 322: /* $@17: %empty */ +#line 3345 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10011 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10132 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 320: /* primary: "'while'" $@14 expr_value do $@15 compstmt "'end'" */ -#line 3331 "mrbgems/mruby-compiler/core/parse.y" + case 323: /* primary: "'while'" $@16 expr_value do $@17 compstmt "'end'" */ +#line 3348 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 10020 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10141 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 321: /* $@16: %empty */ -#line 3335 "mrbgems/mruby-compiler/core/parse.y" + case 324: /* $@18: %empty */ +#line 3352 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10147 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 322: /* $@17: %empty */ -#line 3335 "mrbgems/mruby-compiler/core/parse.y" + case 325: /* $@19: %empty */ +#line 3352 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10032 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10153 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 323: /* primary: "'until'" $@16 expr_value do $@17 compstmt "'end'" */ -#line 3338 "mrbgems/mruby-compiler/core/parse.y" + case 326: /* primary: "'until'" $@18 expr_value do $@19 compstmt "'end'" */ +#line 3355 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 10041 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10162 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 324: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ -#line 3345 "mrbgems/mruby-compiler/core/parse.y" + case 327: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ +#line 3362 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 10049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10170 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 325: /* primary: "'case'" opt_terms case_body "'end'" */ -#line 3349 "mrbgems/mruby-compiler/core/parse.y" + case 328: /* primary: "'case'" opt_terms case_body "'end'" */ +#line 3366 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10178 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 326: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ -#line 3357 "mrbgems/mruby-compiler/core/parse.y" + case 329: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ +#line 3374 "mrbgems/mruby-compiler/core/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 10066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10187 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 327: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3366 "mrbgems/mruby-compiler/core/parse.y" + case 330: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ +#line 3383 "mrbgems/mruby-compiler/core/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 10075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10196 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 328: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3375 "mrbgems/mruby-compiler/core/parse.y" + case 331: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ +#line 3392 "mrbgems/mruby-compiler/core/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 10084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10205 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 329: /* $@18: %empty */ -#line 3380 "mrbgems/mruby-compiler/core/parse.y" + case 332: /* $@20: %empty */ +#line 3397 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10211 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 330: /* $@19: %empty */ -#line 3382 "mrbgems/mruby-compiler/core/parse.y" + case 333: /* $@21: %empty */ +#line 3399 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10217 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 331: /* primary: "'for'" for_var "'in'" $@18 expr_value do $@19 compstmt "'end'" */ -#line 3385 "mrbgems/mruby-compiler/core/parse.y" + case 334: /* primary: "'for'" for_var "'in'" $@20 expr_value do $@21 compstmt "'end'" */ +#line 3402 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 10105 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10226 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 332: /* @20: %empty */ -#line 3391 "mrbgems/mruby-compiler/core/parse.y" + case 335: /* @22: %empty */ +#line 3408 "mrbgems/mruby-compiler/core/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 10116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10237 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 333: /* primary: "'class'" cpath superclass @20 bodystmt "'end'" */ -#line 3399 "mrbgems/mruby-compiler/core/parse.y" + case 336: /* primary: "'class'" cpath superclass @22 bodystmt "'end'" */ +#line 3416 "mrbgems/mruby-compiler/core/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 10127 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10248 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 334: /* @21: %empty */ -#line 3407 "mrbgems/mruby-compiler/core/parse.y" + case 337: /* @23: %empty */ +#line 3424 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 10136 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10257 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 335: /* @22: %empty */ -#line 3412 "mrbgems/mruby-compiler/core/parse.y" + case 338: /* @24: %empty */ +#line 3429 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), int_to_node(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 10146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 336: /* primary: "'class'" "<<" expr @21 term @22 bodystmt "'end'" */ -#line 3419 "mrbgems/mruby-compiler/core/parse.y" + case 339: /* primary: "'class'" "<<" expr @23 term @24 bodystmt "'end'" */ +#line 3436 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -10155,44 +10276,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 10159 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10280 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 337: /* @23: %empty */ -#line 3429 "mrbgems/mruby-compiler/core/parse.y" + case 340: /* @25: %empty */ +#line 3446 "mrbgems/mruby-compiler/core/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 10170 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10291 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 338: /* primary: "'module'" cpath @23 bodystmt "'end'" */ -#line 3437 "mrbgems/mruby-compiler/core/parse.y" + case 341: /* primary: "'module'" cpath @25 bodystmt "'end'" */ +#line 3454 "mrbgems/mruby-compiler/core/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 10181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10302 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 339: /* primary: defn_head f_arglist bodystmt "'end'" */ -#line 3447 "mrbgems/mruby-compiler/core/parse.y" + case 342: /* primary: defn_head f_arglist bodystmt "'end'" */ +#line 3464 "mrbgems/mruby-compiler/core/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 10192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10313 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 340: /* primary: defs_head f_arglist bodystmt "'end'" */ -#line 3457 "mrbgems/mruby-compiler/core/parse.y" + case 343: /* primary: defs_head f_arglist bodystmt "'end'" */ +#line 3474 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -10200,610 +10321,610 @@ yyreduce: p->in_def--; p->in_single--; } -#line 10204 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10325 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 341: /* primary: "'break'" */ -#line 3465 "mrbgems/mruby-compiler/core/parse.y" + case 344: /* primary: "'break'" */ +#line 3482 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 10212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10333 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 342: /* primary: "'next'" */ -#line 3469 "mrbgems/mruby-compiler/core/parse.y" + case 345: /* primary: "'next'" */ +#line 3486 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 10220 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10341 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 343: /* primary: "'redo'" */ -#line 3473 "mrbgems/mruby-compiler/core/parse.y" + case 346: /* primary: "'redo'" */ +#line 3490 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 10228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10349 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 344: /* primary: "'retry'" */ -#line 3477 "mrbgems/mruby-compiler/core/parse.y" + case 347: /* primary: "'retry'" */ +#line 3494 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 10236 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10357 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 345: /* primary_value: primary */ -#line 3483 "mrbgems/mruby-compiler/core/parse.y" + case 348: /* primary_value: primary */ +#line 3500 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 10245 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10366 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 352: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ -#line 3502 "mrbgems/mruby-compiler/core/parse.y" + case 355: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ +#line 3519 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10253 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10374 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 354: /* opt_else: "'else'" compstmt */ -#line 3509 "mrbgems/mruby-compiler/core/parse.y" + case 357: /* opt_else: "'else'" compstmt */ +#line 3526 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10261 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10382 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 355: /* for_var: lhs */ -#line 3515 "mrbgems/mruby-compiler/core/parse.y" + case 358: /* for_var: lhs */ +#line 3532 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 10269 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10390 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 357: /* f_margs: f_arg */ -#line 3522 "mrbgems/mruby-compiler/core/parse.y" + case 360: /* f_margs: f_arg */ +#line 3539 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 10277 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10398 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 358: /* f_margs: f_arg ',' "*" f_norm_arg */ -#line 3526 "mrbgems/mruby-compiler/core/parse.y" + case 361: /* f_margs: f_arg ',' "*" f_norm_arg */ +#line 3543 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 10285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10406 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 359: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ -#line 3530 "mrbgems/mruby-compiler/core/parse.y" + case 362: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ +#line 3547 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10414 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 360: /* f_margs: f_arg ',' "*" */ -#line 3534 "mrbgems/mruby-compiler/core/parse.y" + case 363: /* f_margs: f_arg ',' "*" */ +#line 3551 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), int_to_node(-1), 0); } -#line 10302 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 361: /* f_margs: f_arg ',' "*" ',' f_arg */ -#line 3539 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); - } -#line 10310 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 362: /* f_margs: "*" f_norm_arg */ -#line 3543 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); - } -#line 10318 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 363: /* f_margs: "*" f_norm_arg ',' f_arg */ -#line 3547 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); - } -#line 10326 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 364: /* f_margs: "*" */ -#line 3551 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_f(p, intern_op(mul)); - (yyval.nd) = list3(0, int_to_node(-1), 0); - } -#line 10335 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 365: /* $@24: %empty */ -#line 3556 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_f(p, intern_op(mul)); - } -#line 10343 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 366: /* f_margs: "*" ',' $@24 f_arg */ -#line 3560 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); - } -#line 10351 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 367: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ -#line 3566 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 10359 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 368: /* block_args_tail: f_block_kwarg opt_f_block_arg */ -#line 3570 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); - } -#line 10367 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 369: /* block_args_tail: f_kwrest opt_f_block_arg */ -#line 3574 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 10375 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 370: /* block_args_tail: f_block_arg */ -#line 3578 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); - } -#line 10383 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 371: /* opt_block_args_tail: ',' block_args_tail */ -#line 3584 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 10391 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 372: /* opt_block_args_tail: %empty */ -#line 3588 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, 0); - } -#line 10399 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 373: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3594 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); - } -#line 10407 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 374: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3598 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 10415 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 375: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ -#line 3602 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); - } #line 10423 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 376: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3606 "mrbgems/mruby-compiler/core/parse.y" + case 364: /* f_margs: f_arg ',' "*" ',' f_arg */ +#line 3556 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } #line 10431 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 377: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ -#line 3610 "mrbgems/mruby-compiler/core/parse.y" + case 365: /* f_margs: "*" f_norm_arg */ +#line 3560 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } #line 10439 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 378: /* block_param: f_arg ',' opt_block_args_tail */ -#line 3614 "mrbgems/mruby-compiler/core/parse.y" + case 366: /* f_margs: "*" f_norm_arg ',' f_arg */ +#line 3564 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } #line 10447 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 379: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3618 "mrbgems/mruby-compiler/core/parse.y" + case 367: /* f_margs: "*" */ +#line 3568 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + local_add_f(p, intern_op(mul)); + (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 10455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10456 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 380: /* block_param: f_arg opt_block_args_tail */ -#line 3622 "mrbgems/mruby-compiler/core/parse.y" + case 368: /* $@26: %empty */ +#line 3573 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + local_add_f(p, intern_op(mul)); } -#line 10463 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10464 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 381: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3626 "mrbgems/mruby-compiler/core/parse.y" + case 369: /* f_margs: "*" ',' $@26 f_arg */ +#line 3577 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 10471 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10472 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 382: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3630 "mrbgems/mruby-compiler/core/parse.y" + case 370: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ +#line 3583 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10479 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10480 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 383: /* block_param: f_block_optarg opt_block_args_tail */ -#line 3634 "mrbgems/mruby-compiler/core/parse.y" + case 371: /* block_args_tail: f_block_kwarg opt_f_block_arg */ +#line 3587 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 10487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10488 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 384: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3638 "mrbgems/mruby-compiler/core/parse.y" + case 372: /* block_args_tail: f_kwrest opt_f_block_arg */ +#line 3591 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10496 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 385: /* block_param: f_rest_arg opt_block_args_tail */ -#line 3642 "mrbgems/mruby-compiler/core/parse.y" + case 373: /* block_args_tail: f_block_arg */ +#line 3595 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 10503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10504 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 386: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3646 "mrbgems/mruby-compiler/core/parse.y" + case 374: /* opt_block_args_tail: ',' block_args_tail */ +#line 3601 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); } -#line 10511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10512 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 387: /* block_param: block_args_tail */ -#line 3650 "mrbgems/mruby-compiler/core/parse.y" + case 375: /* opt_block_args_tail: %empty */ +#line 3605 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 10519 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10520 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 388: /* opt_block_param: none */ -#line 3656 "mrbgems/mruby-compiler/core/parse.y" + case 376: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ +#line 3611 "mrbgems/mruby-compiler/core/parse.y" { - local_add_blk(p); - (yyval.nd) = 0; + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 10528 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 389: /* opt_block_param: block_param_def */ -#line 3661 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmd_start = TRUE; - (yyval.nd) = (yyvsp[0].nd); - } -#line 10537 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 390: /* $@25: %empty */ -#line 3667 "mrbgems/mruby-compiler/core/parse.y" - {local_add_blk(p);} -#line 10543 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 391: /* block_param_def: '|' $@25 opt_bv_decl '|' */ -#line 3668 "mrbgems/mruby-compiler/core/parse.y" + case 377: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ +#line 3615 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10551 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10536 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 392: /* block_param_def: "||" */ -#line 3672 "mrbgems/mruby-compiler/core/parse.y" + case 378: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ +#line 3619 "mrbgems/mruby-compiler/core/parse.y" { - local_add_blk(p); - (yyval.nd) = 0; + (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 10544 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 379: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ +#line 3623 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 10552 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 380: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ +#line 3627 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 10560 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 393: /* block_param_def: '|' block_param opt_bv_decl '|' */ -#line 3677 "mrbgems/mruby-compiler/core/parse.y" + case 381: /* block_param: f_arg ',' opt_block_args_tail */ +#line 3631 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-2].nd); + (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } #line 10568 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 394: /* opt_bv_decl: opt_nl */ -#line 3683 "mrbgems/mruby-compiler/core/parse.y" + case 382: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ +#line 3635 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 10576 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 395: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ -#line 3687 "mrbgems/mruby-compiler/core/parse.y" + case 383: /* block_param: f_arg opt_block_args_tail */ +#line 3639 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = 0; + (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } #line 10584 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 398: /* bvar: "local variable or method" */ -#line 3697 "mrbgems/mruby-compiler/core/parse.y" + case 384: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ +#line 3643 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, (yyvsp[0].id)); - new_bv(p, (yyvsp[0].id)); + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10593 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10592 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 400: /* f_larglist: '(' f_args opt_bv_decl ')' */ -#line 3705 "mrbgems/mruby-compiler/core/parse.y" + case 385: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ +#line 3647 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-2].nd); + (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10601 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10600 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 401: /* f_larglist: f_args */ -#line 3709 "mrbgems/mruby-compiler/core/parse.y" + case 386: /* block_param: f_block_optarg opt_block_args_tail */ +#line 3651 "mrbgems/mruby-compiler/core/parse.y" { + (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 10608 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 387: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ +#line 3655 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 10616 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 388: /* block_param: f_rest_arg opt_block_args_tail */ +#line 3659 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 10624 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 389: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ +#line 3663 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 10632 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 390: /* block_param: block_args_tail */ +#line 3667 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 10640 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 391: /* opt_block_param: none */ +#line 3673 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_blk(p); + (yyval.nd) = 0; + } +#line 10649 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 392: /* opt_block_param: block_param_def */ +#line 3678 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10609 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10658 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 402: /* lambda_body: tLAMBEG compstmt '}' */ -#line 3715 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10617 "mrbgems/mruby-compiler/core/y.tab.c" + case 393: /* $@27: %empty */ +#line 3684 "mrbgems/mruby-compiler/core/parse.y" + {local_add_blk(p);} +#line 10664 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 403: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ -#line 3719 "mrbgems/mruby-compiler/core/parse.y" + case 394: /* block_param_def: '|' $@27 opt_bv_decl '|' */ +#line 3685 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10625 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 404: /* @26: %empty */ -#line 3725 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - nvars_nest(p); - (yyval.num) = p->lineno; - } -#line 10635 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 405: /* do_block: "'do' for block" @26 opt_block_param bodystmt "'end'" */ -#line 3733 "mrbgems/mruby-compiler/core/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 10646 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 406: /* block_call: command do_block */ -#line 3742 "mrbgems/mruby-compiler/core/parse.y" - { - call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10655 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 407: /* block_call: block_call call_op2 operation2 opt_paren_args */ -#line 3747 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); - } -#line 10663 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 408: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ -#line 3751 "mrbgems/mruby-compiler/core/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)); + (yyval.nd) = 0; } #line 10672 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 409: /* block_call: block_call call_op2 operation2 command_args do_block */ -#line 3756 "mrbgems/mruby-compiler/core/parse.y" + case 395: /* block_param_def: "||" */ +#line 3689 "mrbgems/mruby-compiler/core/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)); + local_add_blk(p); + (yyval.nd) = 0; } #line 10681 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 410: /* method_call: operation paren_args */ -#line 3763 "mrbgems/mruby-compiler/core/parse.y" + case 396: /* block_param_def: '|' block_param opt_bv_decl '|' */ +#line 3694 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-2].nd); } #line 10689 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 411: /* method_call: primary_value call_op operation2 opt_paren_args */ -#line 3767 "mrbgems/mruby-compiler/core/parse.y" + case 397: /* opt_bv_decl: opt_nl */ +#line 3700 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); + (yyval.nd) = 0; } #line 10697 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 412: /* method_call: primary_value "::" operation2 paren_args */ -#line 3771 "mrbgems/mruby-compiler/core/parse.y" + case 398: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ +#line 3704 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); + (yyval.nd) = 0; } #line 10705 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 413: /* method_call: primary_value "::" operation3 */ -#line 3775 "mrbgems/mruby-compiler/core/parse.y" + case 401: /* bvar: "local variable or method" */ +#line 3714 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + local_add_f(p, (yyvsp[0].id)); + new_bv(p, (yyvsp[0].id)); } -#line 10713 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10714 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 414: /* method_call: primary_value call_op paren_args */ -#line 3779 "mrbgems/mruby-compiler/core/parse.y" + case 403: /* f_larglist: '(' f_args opt_bv_decl ')' */ +#line 3722 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); + (yyval.nd) = (yyvsp[-2].nd); } -#line 10721 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10722 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 415: /* method_call: primary_value "::" paren_args */ -#line 3783 "mrbgems/mruby-compiler/core/parse.y" + case 404: /* f_larglist: f_args */ +#line 3726 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); + (yyval.nd) = (yyvsp[0].nd); } -#line 10729 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10730 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 416: /* method_call: "'super'" paren_args */ -#line 3787 "mrbgems/mruby-compiler/core/parse.y" + case 405: /* lambda_body: tLAMBEG compstmt '}' */ +#line 3732 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_super(p, (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-1].nd); } -#line 10737 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10738 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 417: /* method_call: "'super'" */ -#line 3791 "mrbgems/mruby-compiler/core/parse.y" + case 406: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ +#line 3736 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_zsuper(p); + (yyval.nd) = (yyvsp[-1].nd); } -#line 10745 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10746 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 418: /* method_call: primary_value '[' opt_call_args ']' */ -#line 3795 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); - } -#line 10753 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 419: /* @27: %empty */ -#line 3801 "mrbgems/mruby-compiler/core/parse.y" + case 407: /* @28: %empty */ +#line 3742 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10763 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10756 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 420: /* brace_block: '{' @27 opt_block_param compstmt '}' */ -#line 3808 "mrbgems/mruby-compiler/core/parse.y" + case 408: /* do_block: "'do' for block" @28 opt_block_param bodystmt "'end'" */ +#line 3750 "mrbgems/mruby-compiler/core/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 10774 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10767 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 421: /* @28: %empty */ -#line 3815 "mrbgems/mruby-compiler/core/parse.y" + case 409: /* block_call: command do_block */ +#line 3759 "mrbgems/mruby-compiler/core/parse.y" { - local_nest(p); - nvars_nest(p); - (yyval.num) = p->lineno; + call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10776 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 410: /* block_call: block_call call_op2 operation2 opt_paren_args */ +#line 3764 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } #line 10784 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 422: /* brace_block: "'do'" @28 opt_block_param bodystmt "'end'" */ -#line 3822 "mrbgems/mruby-compiler/core/parse.y" + case 411: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ +#line 3768 "mrbgems/mruby-compiler/core/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 10793 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 412: /* block_call: block_call call_op2 operation2 command_args do_block */ +#line 3773 "mrbgems/mruby-compiler/core/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 10802 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 413: /* method_call: operation paren_args */ +#line 3780 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 10810 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 414: /* method_call: primary_value call_op operation2 opt_paren_args */ +#line 3784 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); + } +#line 10818 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 415: /* method_call: primary_value "::" operation2 paren_args */ +#line 3788 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); + } +#line 10826 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 416: /* method_call: primary_value "::" operation3 */ +#line 3792 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + } +#line 10834 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 417: /* method_call: primary_value call_op paren_args */ +#line 3796 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); + } +#line 10842 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 418: /* method_call: primary_value "::" paren_args */ +#line 3800 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); + } +#line 10850 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 419: /* method_call: "'super'" paren_args */ +#line 3804 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_super(p, (yyvsp[0].nd)); + } +#line 10858 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 420: /* method_call: "'super'" */ +#line 3808 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_zsuper(p); + } +#line 10866 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 421: /* method_call: primary_value '[' opt_call_args ']' */ +#line 3812 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + } +#line 10874 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 422: /* @29: %empty */ +#line 3818 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + nvars_nest(p); + (yyval.num) = p->lineno; + } +#line 10884 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 423: /* brace_block: '{' @29 opt_block_param compstmt '}' */ +#line 3825 "mrbgems/mruby-compiler/core/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 10795 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10895 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 423: /* case_body: "'when'" args then compstmt cases */ -#line 3833 "mrbgems/mruby-compiler/core/parse.y" + case 424: /* @30: %empty */ +#line 3832 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + nvars_nest(p); + (yyval.num) = p->lineno; + } +#line 10905 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 425: /* brace_block: "'do'" @30 opt_block_param bodystmt "'end'" */ +#line 3839 "mrbgems/mruby-compiler/core/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 10916 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 426: /* case_body: "'when'" args then compstmt cases */ +#line 3850 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10803 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10924 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 424: /* cases: opt_else */ -#line 3839 "mrbgems/mruby-compiler/core/parse.y" + case 427: /* cases: opt_else */ +#line 3856 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -10812,614 +10933,614 @@ yyreduce: (yyval.nd) = 0; } } -#line 10816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10937 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 426: /* in_clauses: opt_else */ -#line 3853 "mrbgems/mruby-compiler/core/parse.y" + case 429: /* in_clauses: opt_else */ +#line 3870 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10824 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10945 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 427: /* $@29: %empty */ -#line 3856 "mrbgems/mruby-compiler/core/parse.y" + case 430: /* $@31: %empty */ +#line 3873 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10830 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10951 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 428: /* in_clauses: "'in'" p_expr $@29 then compstmt in_clauses */ -#line 3857 "mrbgems/mruby-compiler/core/parse.y" + case 431: /* in_clauses: "'in'" p_expr $@31 then compstmt in_clauses */ +#line 3874 "mrbgems/mruby-compiler/core/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 10839 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10960 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 429: /* $@30: %empty */ -#line 3861 "mrbgems/mruby-compiler/core/parse.y" + case 432: /* $@32: %empty */ +#line 3878 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10845 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10966 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 430: /* in_clauses: "'in'" p_expr $@30 "'if' modifier" expr_value then compstmt in_clauses */ -#line 3862 "mrbgems/mruby-compiler/core/parse.y" + case 433: /* in_clauses: "'in'" p_expr $@32 "'if' modifier" expr_value then compstmt in_clauses */ +#line 3879 "mrbgems/mruby-compiler/core/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 10854 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10975 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 431: /* $@31: %empty */ -#line 3866 "mrbgems/mruby-compiler/core/parse.y" + case 434: /* $@33: %empty */ +#line 3883 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10860 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10981 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 432: /* in_clauses: "'in'" p_expr $@31 "'unless' modifier" expr_value then compstmt in_clauses */ -#line 3867 "mrbgems/mruby-compiler/core/parse.y" + case 435: /* in_clauses: "'in'" p_expr $@33 "'unless' modifier" expr_value then compstmt in_clauses */ +#line 3884 "mrbgems/mruby-compiler/core/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 10869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10990 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 434: /* p_expr: p_args_head p_as */ -#line 3878 "mrbgems/mruby-compiler/core/parse.y" + case 437: /* p_expr: p_args_head p_as */ +#line 3895 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); } -#line 10877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10998 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 435: /* p_expr: p_args_head p_rest */ -#line 3882 "mrbgems/mruby-compiler/core/parse.y" + case 438: /* p_expr: p_args_head p_rest */ +#line 3899 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); } -#line 10885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11006 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 436: /* p_expr: p_args_head p_rest ',' p_args_post */ -#line 3886 "mrbgems/mruby-compiler/core/parse.y" + case 439: /* p_expr: p_args_head p_rest ',' p_args_post */ +#line 3903 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11014 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 437: /* p_expr: p_rest */ -#line 3890 "mrbgems/mruby-compiler/core/parse.y" + case 440: /* p_expr: p_rest */ +#line 3907 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 10901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11022 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 438: /* p_expr: p_rest ',' p_args_post */ -#line 3894 "mrbgems/mruby-compiler/core/parse.y" + case 441: /* p_expr: p_rest ',' p_args_post */ +#line 3911 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11030 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 439: /* p_expr: p_hash_elems */ -#line 3898 "mrbgems/mruby-compiler/core/parse.y" + case 442: /* p_expr: p_hash_elems */ +#line 3915 "mrbgems/mruby-compiler/core/parse.y" { /* Brace-less hash pattern: in a:, b: x */ (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10918 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11039 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 440: /* p_expr: p_hash_elems ',' p_kwrest */ -#line 3903 "mrbgems/mruby-compiler/core/parse.y" + case 443: /* p_expr: p_hash_elems ',' p_kwrest */ +#line 3920 "mrbgems/mruby-compiler/core/parse.y" { /* Brace-less hash pattern with kwrest: in a:, **rest */ (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10927 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 441: /* p_expr: p_kwrest */ -#line 3908 "mrbgems/mruby-compiler/core/parse.y" + case 444: /* p_expr: p_kwrest */ +#line 3925 "mrbgems/mruby-compiler/core/parse.y" { /* Brace-less kwrest only: in **rest */ (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10936 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11057 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 442: /* p_args_head: p_as ',' */ -#line 3916 "mrbgems/mruby-compiler/core/parse.y" + case 445: /* p_args_head: p_as ',' */ +#line 3933 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 10944 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11065 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 443: /* p_args_head: p_args_head p_as ',' */ -#line 3920 "mrbgems/mruby-compiler/core/parse.y" + case 446: /* p_args_head: p_args_head p_as ',' */ +#line 3937 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 10952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11073 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 444: /* p_args_post: p_as */ -#line 3927 "mrbgems/mruby-compiler/core/parse.y" + case 447: /* p_args_post: p_as */ +#line 3944 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11081 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 445: /* p_args_post: p_args_post ',' p_as */ -#line 3931 "mrbgems/mruby-compiler/core/parse.y" + case 448: /* p_args_post: p_args_post ',' p_as */ +#line 3948 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10968 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 447: /* p_as: p_alt "=>" "local variable or method" */ -#line 3938 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); - } -#line 10976 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 449: /* p_alt: p_alt '|' p_value */ -#line 3945 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 10984 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 451: /* p_value: numeric */ -#line 3952 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10992 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 452: /* p_value: symbol */ -#line 3956 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 11000 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 453: /* p_value: tSTRING */ -#line 3960 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 11008 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 454: /* p_value: "'nil'" */ -#line 3964 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_nil(p)); - } -#line 11016 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 455: /* p_value: "'true'" */ -#line 3968 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_true(p)); - } -#line 11024 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 456: /* p_value: "'false'" */ -#line 3972 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_false(p)); - } -#line 11032 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 457: /* p_value: "constant" */ -#line 3976 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); - } -#line 11040 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 458: /* p_value: primary_value "::" "constant" */ -#line 3980 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); - } -#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 459: /* p_value: tCOLON3 "constant" */ -#line 3984 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); - } -#line 11056 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 462: /* p_value: '^' "local variable or method" */ -#line 3990 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); - } -#line 11064 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 463: /* p_array: "[" p_array_body ']' */ -#line 3997 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11072 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 464: /* p_array: "[" ']' */ -#line 4001 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_array(p, 0, 0, 0); - } -#line 11080 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 465: /* p_array_body: p_array_elems */ -#line 4008 "mrbgems/mruby-compiler/core/parse.y" - { - /* Just pre elements, no rest */ - (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); - } #line 11089 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 466: /* p_array_body: p_array_elems ',' p_rest */ -#line 4013 "mrbgems/mruby-compiler/core/parse.y" + case 450: /* p_as: p_alt "=>" "local variable or method" */ +#line 3955 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); + } +#line 11097 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 452: /* p_alt: p_alt '|' p_value */ +#line 3962 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 11105 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 454: /* p_value: numeric */ +#line 3969 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 11113 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 455: /* p_value: symbol */ +#line 3973 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 11121 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 456: /* p_value: tSTRING */ +#line 3977 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 11129 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 457: /* p_value: "'nil'" */ +#line 3981 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_nil(p)); + } +#line 11137 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 458: /* p_value: "'true'" */ +#line 3985 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_true(p)); + } +#line 11145 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 459: /* p_value: "'false'" */ +#line 3989 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_false(p)); + } +#line 11153 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 460: /* p_value: "constant" */ +#line 3993 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); + } +#line 11161 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 461: /* p_value: primary_value "::" "constant" */ +#line 3997 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); + } +#line 11169 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 462: /* p_value: tCOLON3 "constant" */ +#line 4001 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); + } +#line 11177 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 465: /* p_value: '^' "local variable or method" */ +#line 4007 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); + } +#line 11185 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 466: /* p_array: "[" p_array_body ']' */ +#line 4014 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 11193 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 467: /* p_array: "[" ']' */ +#line 4018 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, 0, 0, 0); + } +#line 11201 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 468: /* p_array_body: p_array_elems */ +#line 4025 "mrbgems/mruby-compiler/core/parse.y" + { + /* Just pre elements, no rest */ + (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); + } +#line 11210 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 469: /* p_array_body: p_array_elems ',' p_rest */ +#line 4030 "mrbgems/mruby-compiler/core/parse.y" { /* Pre elements + rest, no post */ (yyval.nd) = new_pat_array(p, (yyvsp[-2].nd), (yyvsp[0].nd), 0); } -#line 11098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11219 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 467: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ -#line 4018 "mrbgems/mruby-compiler/core/parse.y" + case 470: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ +#line 4035 "mrbgems/mruby-compiler/core/parse.y" { /* Pre + rest + post */ (yyval.nd) = new_pat_array(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11228 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 468: /* p_array_body: p_rest */ -#line 4023 "mrbgems/mruby-compiler/core/parse.y" + case 471: /* p_array_body: p_rest */ +#line 4040 "mrbgems/mruby-compiler/core/parse.y" { /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 11116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11237 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 469: /* p_array_body: p_rest ',' p_array_elems */ -#line 4028 "mrbgems/mruby-compiler/core/parse.y" + case 472: /* p_array_body: p_rest ',' p_array_elems */ +#line 4045 "mrbgems/mruby-compiler/core/parse.y" { /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11246 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 470: /* p_array_elems: p_as */ -#line 4036 "mrbgems/mruby-compiler/core/parse.y" + case 473: /* p_array_elems: p_as */ +#line 4053 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11133 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11254 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 471: /* p_array_elems: p_array_elems ',' p_as */ -#line 4040 "mrbgems/mruby-compiler/core/parse.y" + case 474: /* p_array_elems: p_array_elems ',' p_as */ +#line 4057 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11262 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 472: /* p_rest: "*" "local variable or method" */ -#line 4047 "mrbgems/mruby-compiler/core/parse.y" + case 475: /* p_rest: "*" "local variable or method" */ +#line 4064 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11149 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11270 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 473: /* p_rest: "*" */ -#line 4051 "mrbgems/mruby-compiler/core/parse.y" + case 476: /* p_rest: "*" */ +#line 4068 "mrbgems/mruby-compiler/core/parse.y" { /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 11158 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11279 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 474: /* p_hash: tLBRACE p_hash_body '}' */ -#line 4059 "mrbgems/mruby-compiler/core/parse.y" + case 477: /* p_hash: tLBRACE p_hash_body '}' */ +#line 4076 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11166 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11287 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 475: /* p_hash: tLBRACE '}' */ -#line 4063 "mrbgems/mruby-compiler/core/parse.y" + case 478: /* p_hash: tLBRACE '}' */ +#line 4080 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 11174 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11295 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 476: /* p_hash_body: p_hash_elems */ -#line 4070 "mrbgems/mruby-compiler/core/parse.y" + case 479: /* p_hash_body: p_hash_elems */ +#line 4087 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 11182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11303 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 477: /* p_hash_body: p_hash_elems ',' p_kwrest */ -#line 4074 "mrbgems/mruby-compiler/core/parse.y" + case 480: /* p_hash_body: p_hash_elems ',' p_kwrest */ +#line 4091 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11311 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 478: /* p_hash_body: p_kwrest */ -#line 4078 "mrbgems/mruby-compiler/core/parse.y" + case 481: /* p_hash_body: p_kwrest */ +#line 4095 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 11198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11319 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 479: /* p_hash_elems: p_hash_elem */ -#line 4085 "mrbgems/mruby-compiler/core/parse.y" + case 482: /* p_hash_elems: p_hash_elem */ +#line 4102 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11327 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 480: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ -#line 4089 "mrbgems/mruby-compiler/core/parse.y" + case 483: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ +#line 4106 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11335 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 481: /* p_hash_elem: "local variable or method" "label" p_as */ -#line 4097 "mrbgems/mruby-compiler/core/parse.y" + case 484: /* p_hash_elem: "local variable or method" "label" p_as */ +#line 4114 "mrbgems/mruby-compiler/core/parse.y" { /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 11223 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11344 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 482: /* p_hash_elem: "local variable or method" "label" */ -#line 4102 "mrbgems/mruby-compiler/core/parse.y" + case 485: /* p_hash_elem: "local variable or method" "label" */ +#line 4119 "mrbgems/mruby-compiler/core/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 11232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11353 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 483: /* p_hash_elem: symbol "=>" p_as */ -#line 4107 "mrbgems/mruby-compiler/core/parse.y" + case 486: /* p_hash_elem: symbol "=>" p_as */ +#line 4124 "mrbgems/mruby-compiler/core/parse.y" { /* {:"key" => pattern} or {:key => pattern} */ (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11362 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 484: /* p_kwrest: "**" "local variable or method" */ -#line 4115 "mrbgems/mruby-compiler/core/parse.y" + case 487: /* p_kwrest: "**" "local variable or method" */ +#line 4132 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11249 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11370 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 485: /* p_kwrest: "**" "'nil'" */ -#line 4119 "mrbgems/mruby-compiler/core/parse.y" + case 488: /* p_kwrest: "**" "'nil'" */ +#line 4136 "mrbgems/mruby-compiler/core/parse.y" { /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 11258 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11379 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 486: /* p_kwrest: "**" */ -#line 4124 "mrbgems/mruby-compiler/core/parse.y" + case 489: /* p_kwrest: "**" */ +#line 4141 "mrbgems/mruby-compiler/core/parse.y" { /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 11267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11388 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 487: /* p_var: "local variable or method" */ -#line 4131 "mrbgems/mruby-compiler/core/parse.y" + case 490: /* p_var: "local variable or method" */ +#line 4148 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11275 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11396 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 488: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ -#line 4139 "mrbgems/mruby-compiler/core/parse.y" + case 491: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ +#line 4156 "mrbgems/mruby-compiler/core/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 11284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11405 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 490: /* exc_list: arg */ -#line 4147 "mrbgems/mruby-compiler/core/parse.y" + case 493: /* exc_list: arg */ +#line 4164 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11413 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 493: /* exc_var: "=>" lhs */ -#line 4155 "mrbgems/mruby-compiler/core/parse.y" + case 496: /* exc_var: "=>" lhs */ +#line 4172 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11421 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 495: /* opt_ensure: "'ensure'" compstmt */ -#line 4162 "mrbgems/mruby-compiler/core/parse.y" + case 498: /* opt_ensure: "'ensure'" compstmt */ +#line 4179 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11429 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 502: /* string: string string_fragment */ -#line 4176 "mrbgems/mruby-compiler/core/parse.y" + case 505: /* string: string string_fragment */ +#line 4193 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11437 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 503: /* string_fragment: "character literal" */ -#line 4182 "mrbgems/mruby-compiler/core/parse.y" + case 506: /* string_fragment: "character literal" */ +#line 4199 "mrbgems/mruby-compiler/core/parse.y" { /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11446 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 504: /* string_fragment: tSTRING */ -#line 4187 "mrbgems/mruby-compiler/core/parse.y" + case 507: /* string_fragment: tSTRING */ +#line 4204 "mrbgems/mruby-compiler/core/parse.y" { /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11334 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11455 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 505: /* string_fragment: "string literal" tSTRING */ -#line 4192 "mrbgems/mruby-compiler/core/parse.y" + case 508: /* string_fragment: "string literal" tSTRING */ +#line 4209 "mrbgems/mruby-compiler/core/parse.y" { /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11343 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11464 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: /* string_fragment: "string literal" string_rep tSTRING */ -#line 4197 "mrbgems/mruby-compiler/core/parse.y" + case 509: /* string_fragment: "string literal" string_rep tSTRING */ +#line 4214 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11472 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 508: /* string_rep: string_rep string_interp */ -#line 4204 "mrbgems/mruby-compiler/core/parse.y" + case 511: /* string_rep: string_rep string_interp */ +#line 4221 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11480 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 509: /* string_interp: tSTRING_MID */ -#line 4210 "mrbgems/mruby-compiler/core/parse.y" + case 512: /* string_interp: tSTRING_MID */ +#line 4227 "mrbgems/mruby-compiler/core/parse.y" { /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11489 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 510: /* @32: %empty */ -#line 4215 "mrbgems/mruby-compiler/core/parse.y" + case 513: /* @34: %empty */ +#line 4232 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11497 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: /* string_interp: tSTRING_PART @32 compstmt '}' */ -#line 4220 "mrbgems/mruby-compiler/core/parse.y" + case 514: /* string_interp: tSTRING_PART @34 compstmt '}' */ +#line 4237 "mrbgems/mruby-compiler/core/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 11387 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11508 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 512: /* string_interp: tLITERAL_DELIM */ -#line 4227 "mrbgems/mruby-compiler/core/parse.y" + case 515: /* string_interp: tLITERAL_DELIM */ +#line 4244 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11395 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11516 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 513: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 4231 "mrbgems/mruby-compiler/core/parse.y" + case 516: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ +#line 4248 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11403 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11524 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 514: /* xstring: tXSTRING_BEG tXSTRING */ -#line 4237 "mrbgems/mruby-compiler/core/parse.y" + case 517: /* xstring: tXSTRING_BEG tXSTRING */ +#line 4254 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 11411 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11532 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 515: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 4241 "mrbgems/mruby-compiler/core/parse.y" + case 518: /* xstring: tXSTRING_BEG string_rep tXSTRING */ +#line 4258 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11419 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11540 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 516: /* regexp: tREGEXP_BEG tREGEXP */ -#line 4247 "mrbgems/mruby-compiler/core/parse.y" + case 519: /* regexp: tREGEXP_BEG tREGEXP */ +#line 4264 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11428,11 +11549,11 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 11432 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11553 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 4256 "mrbgems/mruby-compiler/core/parse.y" + case 520: /* regexp: tREGEXP_BEG string_rep tREGEXP */ +#line 4273 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11441,47 +11562,47 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 11445 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11566 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 521: /* heredoc_body: tHEREDOC_END */ -#line 4274 "mrbgems/mruby-compiler/core/parse.y" + case 524: /* heredoc_body: tHEREDOC_END */ +#line 4291 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, new_str_empty(p)); heredoc_end(p); } -#line 11455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11576 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 522: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 4280 "mrbgems/mruby-compiler/core/parse.y" + case 525: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ +#line 4297 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 11463 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11584 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 525: /* heredoc_string_interp: tHD_STRING_MID */ -#line 4290 "mrbgems/mruby-compiler/core/parse.y" + case 528: /* heredoc_string_interp: tHD_STRING_MID */ +#line 4307 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 11473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11594 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 526: /* @33: %empty */ -#line 4296 "mrbgems/mruby-compiler/core/parse.y" + case 529: /* @35: %empty */ +#line 4313 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11602 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 527: /* heredoc_string_interp: tHD_STRING_PART @33 compstmt '}' */ -#line 4301 "mrbgems/mruby-compiler/core/parse.y" + case 530: /* heredoc_string_interp: tHD_STRING_PART @35 compstmt '}' */ +#line 4318 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); @@ -11489,37 +11610,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 11493 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11614 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 528: /* words: tWORDS_BEG tSTRING */ -#line 4311 "mrbgems/mruby-compiler/core/parse.y" + case 531: /* words: tWORDS_BEG tSTRING */ +#line 4328 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11501 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11622 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 529: /* words: tWORDS_BEG string_rep tSTRING */ -#line 4315 "mrbgems/mruby-compiler/core/parse.y" + case 532: /* words: tWORDS_BEG string_rep tSTRING */ +#line 4332 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11632 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 530: /* symbol: basic_symbol */ -#line 4323 "mrbgems/mruby-compiler/core/parse.y" + case 533: /* symbol: basic_symbol */ +#line 4340 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11519 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11640 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 531: /* symbol: "symbol" "string literal" string_rep tSTRING */ -#line 4327 "mrbgems/mruby-compiler/core/parse.y" + case 534: /* symbol: "symbol" "string literal" string_rep tSTRING */ +#line 4344 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -11531,183 +11652,183 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11535 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11656 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 532: /* symbol: "symbol" "numbered parameter" */ -#line 4339 "mrbgems/mruby-compiler/core/parse.y" + case 535: /* symbol: "symbol" "numbered parameter" */ +#line 4356 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11544 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11665 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 533: /* basic_symbol: "symbol" sym */ -#line 4346 "mrbgems/mruby-compiler/core/parse.y" + case 536: /* basic_symbol: "symbol" sym */ +#line 4363 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11553 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11674 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 538: /* sym: tSTRING */ -#line 4357 "mrbgems/mruby-compiler/core/parse.y" + case 541: /* sym: tSTRING */ +#line 4374 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11682 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 539: /* sym: "string literal" tSTRING */ -#line 4361 "mrbgems/mruby-compiler/core/parse.y" + case 542: /* sym: "string literal" tSTRING */ +#line 4378 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11569 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11690 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 540: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 4367 "mrbgems/mruby-compiler/core/parse.y" + case 543: /* symbols: tSYMBOLS_BEG tSTRING */ +#line 4384 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11577 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11698 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 541: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 4371 "mrbgems/mruby-compiler/core/parse.y" + case 544: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ +#line 4388 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11587 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11708 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 544: /* numeric: tUMINUS_NUM "integer literal" */ -#line 4381 "mrbgems/mruby-compiler/core/parse.y" + case 547: /* numeric: tUMINUS_NUM "integer literal" */ +#line 4398 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11595 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11716 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 545: /* numeric: tUMINUS_NUM "float literal" */ -#line 4385 "mrbgems/mruby-compiler/core/parse.y" + case 548: /* numeric: tUMINUS_NUM "float literal" */ +#line 4402 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11724 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 546: /* variable: "local variable or method" */ -#line 4391 "mrbgems/mruby-compiler/core/parse.y" + case 549: /* variable: "local variable or method" */ +#line 4408 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11732 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 547: /* variable: "instance variable" */ -#line 4395 "mrbgems/mruby-compiler/core/parse.y" + case 550: /* variable: "instance variable" */ +#line 4412 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11740 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 548: /* variable: "global variable" */ -#line 4399 "mrbgems/mruby-compiler/core/parse.y" + case 551: /* variable: "global variable" */ +#line 4416 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11748 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 549: /* variable: "class variable" */ -#line 4403 "mrbgems/mruby-compiler/core/parse.y" + case 552: /* variable: "class variable" */ +#line 4420 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11756 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 550: /* variable: "constant" */ -#line 4407 "mrbgems/mruby-compiler/core/parse.y" + case 553: /* variable: "constant" */ +#line 4424 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11764 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 551: /* var_lhs: variable */ -#line 4413 "mrbgems/mruby-compiler/core/parse.y" + case 554: /* var_lhs: variable */ +#line 4430 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 11651 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11772 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 552: /* var_lhs: "numbered parameter" */ -#line 4417 "mrbgems/mruby-compiler/core/parse.y" + case 555: /* var_lhs: "numbered parameter" */ +#line 4434 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11659 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11780 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 553: /* var_ref: variable */ -#line 4423 "mrbgems/mruby-compiler/core/parse.y" + case 556: /* var_ref: variable */ +#line 4440 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11667 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11788 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 554: /* var_ref: "numbered parameter" */ -#line 4427 "mrbgems/mruby-compiler/core/parse.y" + case 557: /* var_ref: "numbered parameter" */ +#line 4444 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11675 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11796 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 555: /* var_ref: "'nil'" */ -#line 4431 "mrbgems/mruby-compiler/core/parse.y" + case 558: /* var_ref: "'nil'" */ +#line 4448 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 11683 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11804 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 556: /* var_ref: "'self'" */ -#line 4435 "mrbgems/mruby-compiler/core/parse.y" + case 559: /* var_ref: "'self'" */ +#line 4452 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 11691 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11812 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 557: /* var_ref: "'true'" */ -#line 4439 "mrbgems/mruby-compiler/core/parse.y" + case 560: /* var_ref: "'true'" */ +#line 4456 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 11699 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11820 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 558: /* var_ref: "'false'" */ -#line 4443 "mrbgems/mruby-compiler/core/parse.y" + case 561: /* var_ref: "'false'" */ +#line 4460 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 11707 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11828 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 559: /* var_ref: "'__FILE__'" */ -#line 4447 "mrbgems/mruby-compiler/core/parse.y" + case 562: /* var_ref: "'__FILE__'" */ +#line 4464 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -11715,686 +11836,686 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11719 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11840 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 560: /* var_ref: "'__LINE__'" */ -#line 4455 "mrbgems/mruby-compiler/core/parse.y" + case 563: /* var_ref: "'__LINE__'" */ +#line 4472 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11730 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11851 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 561: /* var_ref: "'__ENCODING__'" */ -#line 4462 "mrbgems/mruby-compiler/core/parse.y" + case 564: /* var_ref: "'__ENCODING__'" */ +#line 4479 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 11738 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11859 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 564: /* superclass: %empty */ -#line 4472 "mrbgems/mruby-compiler/core/parse.y" + case 567: /* superclass: %empty */ +#line 4489 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 11746 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 565: /* $@34: %empty */ -#line 4476 "mrbgems/mruby-compiler/core/parse.y" - { - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } -#line 11755 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 566: /* superclass: '<' $@34 expr_value term */ -#line 4481 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11763 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 569: /* f_arglist_paren: '(' f_args rparen */ -#line 4497 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } -#line 11773 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 570: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ -#line 4503 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11781 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 571: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 4507 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11789 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 573: /* f_arglist: f_args term */ -#line 4514 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11797 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 574: /* f_arglist: f_arg ',' tBDOT3 term */ -#line 4518 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11805 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 575: /* f_arglist: "..." term */ -#line 4522 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11813 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 576: /* f_label: "local variable or method" "label" */ -#line 4528 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11821 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 577: /* f_label: "numbered parameter" "label" */ -#line 4532 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11829 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 578: /* f_kw: f_label arg */ -#line 4538 "mrbgems/mruby-compiler/core/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 11839 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 579: /* f_kw: f_label */ -#line 4544 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 11848 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 580: /* f_block_kw: f_label primary_value */ -#line 4551 "mrbgems/mruby-compiler/core/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 11858 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 581: /* f_block_kw: f_label */ -#line 4557 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } #line 11867 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 582: /* f_block_kwarg: f_block_kw */ -#line 4564 "mrbgems/mruby-compiler/core/parse.y" + case 568: /* $@36: %empty */ +#line 4493 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; } -#line 11875 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11876 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 583: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ + case 569: /* superclass: '<' $@36 expr_value term */ +#line 4498 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 11884 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 572: /* f_arglist_paren: '(' f_args rparen */ +#line 4514 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; + } +#line 11894 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 573: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ +#line 4520 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + } +#line 11902 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 574: /* f_arglist_paren: '(' tBDOT3 rparen */ +#line 4524 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, 0); + } +#line 11910 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 576: /* f_arglist: f_args term */ +#line 4531 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 11918 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 577: /* f_arglist: f_arg ',' tBDOT3 term */ +#line 4535 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + } +#line 11926 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 578: /* f_arglist: "..." term */ +#line 4539 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, 0); + } +#line 11934 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 579: /* f_label: "local variable or method" "label" */ +#line 4545 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + } +#line 11942 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 580: /* f_label: "numbered parameter" "label" */ +#line 4549 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + } +#line 11950 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 581: /* f_kw: f_label arg */ +#line 4555 "mrbgems/mruby-compiler/core/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 11960 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 582: /* f_kw: f_label */ +#line 4561 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); + } +#line 11969 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 583: /* f_block_kw: f_label primary_value */ #line 4568 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 11883 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 584: /* f_kwarg: f_kw */ -#line 4574 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 11891 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 585: /* f_kwarg: f_kwarg ',' f_kw */ -#line 4578 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 11899 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 588: /* f_kwrest: kwrest_mark "local variable or method" */ -#line 4588 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } -#line 11907 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 589: /* f_kwrest: kwrest_mark */ -#line 4592 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = intern_op(pow); - } -#line 11915 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 590: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 4598 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 11923 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 591: /* args_tail: f_kwarg opt_f_block_arg */ -#line 4602 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); - } -#line 11931 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 592: /* args_tail: f_kwrest opt_f_block_arg */ -#line 4606 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 11939 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 593: /* args_tail: f_block_arg */ -#line 4610 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); - } -#line 11947 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 594: /* opt_args_tail: ',' args_tail */ -#line 4616 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 11955 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 595: /* opt_args_tail: %empty */ -#line 4620 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, 0); - } -#line 11963 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 596: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4626 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); - } -#line 11971 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 597: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4630 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + 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 11979 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 598: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 4634 "mrbgems/mruby-compiler/core/parse.y" + case 584: /* f_block_kw: f_label */ +#line 4574 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); } -#line 11987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11988 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 4638 "mrbgems/mruby-compiler/core/parse.y" + case 585: /* f_block_kwarg: f_block_kw */ +#line 4581 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11996 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 600: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 4642 "mrbgems/mruby-compiler/core/parse.y" + case 586: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ +#line 4585 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12004 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 601: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4646 "mrbgems/mruby-compiler/core/parse.y" + case 587: /* f_kwarg: f_kw */ +#line 4591 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12011 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12012 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 602: /* f_args: f_arg opt_args_tail */ -#line 4650 "mrbgems/mruby-compiler/core/parse.y" + case 588: /* f_kwarg: f_kwarg ',' f_kw */ +#line 4595 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12019 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12020 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 603: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 4654 "mrbgems/mruby-compiler/core/parse.y" + case 591: /* f_kwrest: kwrest_mark "local variable or method" */ +#line 4605 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.id) = (yyvsp[0].id); } -#line 12027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12028 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 604: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4658 "mrbgems/mruby-compiler/core/parse.y" + case 592: /* f_kwrest: kwrest_mark */ +#line 4609 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.id) = intern_op(pow); } -#line 12035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12036 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 605: /* f_args: f_optarg opt_args_tail */ -#line 4662 "mrbgems/mruby-compiler/core/parse.y" + case 593: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ +#line 4615 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 12043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12044 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 4666 "mrbgems/mruby-compiler/core/parse.y" + case 594: /* args_tail: f_kwarg opt_f_block_arg */ +#line 4619 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 12051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12052 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 607: /* f_args: f_rest_arg opt_args_tail */ -#line 4670 "mrbgems/mruby-compiler/core/parse.y" + case 595: /* args_tail: f_kwrest opt_f_block_arg */ +#line 4623 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 12059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12060 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 608: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 4674 "mrbgems/mruby-compiler/core/parse.y" + case 596: /* args_tail: f_block_arg */ +#line 4627 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 12067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12068 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 609: /* f_args: args_tail */ -#line 4678 "mrbgems/mruby-compiler/core/parse.y" + case 597: /* opt_args_tail: ',' args_tail */ +#line 4633 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); } -#line 12075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12076 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 610: /* f_args: %empty */ -#line 4682 "mrbgems/mruby-compiler/core/parse.y" + case 598: /* opt_args_tail: %empty */ +#line 4637 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, 0); - (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + (yyval.nd) = new_args_tail(p, 0, 0, 0); } #line 12084 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 611: /* f_bad_arg: "constant" */ -#line 4689 "mrbgems/mruby-compiler/core/parse.y" + case 599: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ +#line 4643 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12092 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 600: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4647 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12100 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 601: /* f_args: f_arg ',' f_optarg opt_args_tail */ +#line 4651 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 12108 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 602: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ +#line 4655 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12116 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 603: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ +#line 4659 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12124 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 604: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4663 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12132 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 605: /* f_args: f_arg opt_args_tail */ +#line 4667 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + } +#line 12140 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 606: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ +#line 4671 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12148 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 607: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4675 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12156 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 608: /* f_args: f_optarg opt_args_tail */ +#line 4679 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 12164 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 609: /* f_args: f_optarg ',' f_arg opt_args_tail */ +#line 4683 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12172 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 610: /* f_args: f_rest_arg opt_args_tail */ +#line 4687 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12180 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 611: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ +#line 4691 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12188 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 612: /* f_args: args_tail */ +#line 4695 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 12196 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 613: /* f_args: %empty */ +#line 4699 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_f(p, 0); + (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + } +#line 12205 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 614: /* f_bad_arg: "constant" */ +#line 4706 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 12093 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12214 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: /* f_bad_arg: "instance variable" */ -#line 4694 "mrbgems/mruby-compiler/core/parse.y" + case 615: /* f_bad_arg: "instance variable" */ +#line 4711 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 12102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12223 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 613: /* f_bad_arg: "global variable" */ -#line 4699 "mrbgems/mruby-compiler/core/parse.y" + case 616: /* f_bad_arg: "global variable" */ +#line 4716 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 12111 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12232 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 614: /* f_bad_arg: "class variable" */ -#line 4704 "mrbgems/mruby-compiler/core/parse.y" + case 617: /* f_bad_arg: "class variable" */ +#line 4721 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 12120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12241 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 615: /* f_bad_arg: "numbered parameter" */ -#line 4709 "mrbgems/mruby-compiler/core/parse.y" + case 618: /* f_bad_arg: "numbered parameter" */ +#line 4726 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 12129 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12250 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 616: /* f_norm_arg: f_bad_arg */ -#line 4716 "mrbgems/mruby-compiler/core/parse.y" + case 619: /* f_norm_arg: f_bad_arg */ +#line 4733 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12137 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12258 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 617: /* f_norm_arg: "local variable or method" */ -#line 4720 "mrbgems/mruby-compiler/core/parse.y" + case 620: /* f_norm_arg: "local variable or method" */ +#line 4737 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 12146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 618: /* f_arg_item: f_norm_arg */ -#line 4727 "mrbgems/mruby-compiler/core/parse.y" + case 621: /* f_arg_item: f_norm_arg */ +#line 4744 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 12154 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12275 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 619: /* @35: %empty */ -#line 4731 "mrbgems/mruby-compiler/core/parse.y" + case 622: /* @37: %empty */ +#line 4748 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 12162 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12283 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 620: /* f_arg_item: tLPAREN @35 f_margs rparen */ -#line 4735 "mrbgems/mruby-compiler/core/parse.y" + case 623: /* f_arg_item: tLPAREN @37 f_margs rparen */ +#line 4752 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_marg(p, (yyvsp[-1].nd)); local_resume(p, (yyvsp[-2].nd)); local_add_f(p, 0); } -#line 12172 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12293 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 621: /* f_arg: f_arg_item */ -#line 4743 "mrbgems/mruby-compiler/core/parse.y" + case 624: /* f_arg: f_arg_item */ +#line 4760 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12301 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 622: /* f_arg: f_arg ',' f_arg_item */ -#line 4747 "mrbgems/mruby-compiler/core/parse.y" + case 625: /* f_arg: f_arg ',' f_arg_item */ +#line 4764 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12309 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 623: /* f_opt_asgn: "local variable or method" '=' */ -#line 4753 "mrbgems/mruby-compiler/core/parse.y" + case 626: /* f_opt_asgn: "local variable or method" '=' */ +#line 4770 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 12198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12319 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 624: /* f_opt: f_opt_asgn arg */ -#line 4761 "mrbgems/mruby-compiler/core/parse.y" + case 627: /* f_opt: f_opt_asgn arg */ +#line 4778 "mrbgems/mruby-compiler/core/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 12208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12329 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 625: /* f_block_opt: f_opt_asgn primary_value */ -#line 4769 "mrbgems/mruby-compiler/core/parse.y" + case 628: /* f_block_opt: f_opt_asgn primary_value */ +#line 4786 "mrbgems/mruby-compiler/core/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 12218 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12339 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 626: /* f_block_optarg: f_block_opt */ -#line 4777 "mrbgems/mruby-compiler/core/parse.y" + case 629: /* f_block_optarg: f_block_opt */ +#line 4794 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12347 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 627: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 4781 "mrbgems/mruby-compiler/core/parse.y" + case 630: /* f_block_optarg: f_block_optarg ',' f_block_opt */ +#line 4798 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12234 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12355 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 628: /* f_optarg: f_opt */ -#line 4787 "mrbgems/mruby-compiler/core/parse.y" + case 631: /* f_optarg: f_opt */ +#line 4804 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12242 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12363 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 629: /* f_optarg: f_optarg ',' f_opt */ -#line 4791 "mrbgems/mruby-compiler/core/parse.y" + case 632: /* f_optarg: f_optarg ',' f_opt */ +#line 4808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12250 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12371 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 632: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4801 "mrbgems/mruby-compiler/core/parse.y" + case 635: /* f_rest_arg: restarg_mark "local variable or method" */ +#line 4818 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 12259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12380 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 633: /* f_rest_arg: restarg_mark */ -#line 4806 "mrbgems/mruby-compiler/core/parse.y" + case 636: /* f_rest_arg: restarg_mark */ +#line 4823 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 12268 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12389 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 636: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4817 "mrbgems/mruby-compiler/core/parse.y" + case 639: /* f_block_arg: blkarg_mark "local variable or method" */ +#line 4834 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12397 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 637: /* f_block_arg: blkarg_mark */ -#line 4821 "mrbgems/mruby-compiler/core/parse.y" + case 640: /* f_block_arg: blkarg_mark */ +#line 4838 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 12284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12405 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 638: /* opt_f_block_arg: ',' f_block_arg */ -#line 4827 "mrbgems/mruby-compiler/core/parse.y" + case 641: /* opt_f_block_arg: ',' f_block_arg */ +#line 4844 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12413 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 639: /* opt_f_block_arg: none */ -#line 4831 "mrbgems/mruby-compiler/core/parse.y" + case 642: /* opt_f_block_arg: none */ +#line 4848 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12421 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 640: /* singleton: var_ref */ -#line 4837 "mrbgems/mruby-compiler/core/parse.y" + case 643: /* singleton: var_ref */ +#line 4854 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[0].nd)); (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 12310 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12431 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 641: /* $@36: %empty */ -#line 4842 "mrbgems/mruby-compiler/core/parse.y" + case 644: /* $@38: %empty */ +#line 4859 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 12316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12437 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 642: /* singleton: '(' $@36 expr rparen */ -#line 4843 "mrbgems/mruby-compiler/core/parse.y" + case 645: /* singleton: '(' $@38 expr rparen */ +#line 4860 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 12325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12446 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 644: /* assoc_list: assocs trailer */ -#line 4851 "mrbgems/mruby-compiler/core/parse.y" + case 647: /* assoc_list: assocs trailer */ +#line 4868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 12333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12454 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 645: /* assocs: assoc */ -#line 4857 "mrbgems/mruby-compiler/core/parse.y" + case 648: /* assocs: assoc */ +#line 4874 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12462 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 646: /* assocs: assocs comma assoc */ -#line 4861 "mrbgems/mruby-compiler/core/parse.y" + case 649: /* assocs: assocs comma assoc */ +#line 4878 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12349 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12470 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 647: /* assoc: arg "=>" arg */ -#line 4867 "mrbgems/mruby-compiler/core/parse.y" + case 650: /* assoc: arg "=>" arg */ +#line 4884 "mrbgems/mruby-compiler/core/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 12359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12480 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 648: /* assoc: "local variable or method" "label" arg */ -#line 4873 "mrbgems/mruby-compiler/core/parse.y" + case 651: /* assoc: "local variable or method" "label" arg */ +#line 4890 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 12368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12489 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 649: /* assoc: "local variable or method" "label" */ -#line 4878 "mrbgems/mruby-compiler/core/parse.y" + case 652: /* assoc: "local variable or method" "label" */ +#line 4895 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 12376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12497 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 650: /* assoc: "numbered parameter" "label" */ -#line 4882 "mrbgems/mruby-compiler/core/parse.y" + case 653: /* assoc: "numbered parameter" "label" */ +#line 4899 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[-1].num)); (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); } -#line 12385 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12506 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 651: /* assoc: "numbered parameter" "label" arg */ -#line 4887 "mrbgems/mruby-compiler/core/parse.y" + case 654: /* assoc: "numbered parameter" "label" arg */ +#line 4904 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, intern_numparam((yyvsp[-2].num))), (yyvsp[0].nd)); } -#line 12394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12515 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 652: /* assoc: string_fragment "label" arg */ -#line 4892 "mrbgems/mruby-compiler/core/parse.y" + case 655: /* assoc: string_fragment "label" arg */ +#line 4909 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -12410,75 +12531,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 12414 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12535 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 653: /* assoc: "**" arg */ -#line 4908 "mrbgems/mruby-compiler/core/parse.y" + case 656: /* assoc: "**" arg */ +#line 4925 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd)); } -#line 12423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12544 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 654: /* assoc: "**" */ -#line 4913 "mrbgems/mruby-compiler/core/parse.y" + case 657: /* assoc: "**" */ +#line 4930 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 12431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12552 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 667: /* call_op: '.' */ -#line 4939 "mrbgems/mruby-compiler/core/parse.y" + case 670: /* call_op: '.' */ +#line 4956 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 12439 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12560 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 668: /* call_op: "&." */ -#line 4943 "mrbgems/mruby-compiler/core/parse.y" + case 671: /* call_op: "&." */ +#line 4960 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 12447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12568 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 670: /* call_op2: "::" */ -#line 4950 "mrbgems/mruby-compiler/core/parse.y" + case 673: /* call_op2: "::" */ +#line 4967 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 12455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12576 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 679: /* term: ';' */ -#line 4971 "mrbgems/mruby-compiler/core/parse.y" + case 682: /* term: ';' */ +#line 4988 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 12461 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12582 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 681: /* nl: '\n' */ -#line 4976 "mrbgems/mruby-compiler/core/parse.y" + case 684: /* nl: '\n' */ +#line 4993 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 12470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12591 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 685: /* none: %empty */ -#line 4988 "mrbgems/mruby-compiler/core/parse.y" + case 688: /* none: %empty */ +#line 5005 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 12478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12599 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 12482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12603 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -12711,7 +12832,7 @@ yyreturnlab: return yyresult; } -#line 4992 "mrbgems/mruby-compiler/core/parse.y" +#line 5009 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) @@ -16617,6 +16738,16 @@ dump_node(mrb_state *mrb, node *tree, int offset) } break; + case NODE_MATCH_PAT: + printf("NODE_MATCH_PAT%s:\n", match_pat_node(tree)->raise_on_fail ? " (=>)" : " (in)"); + dump_prefix(offset+1, lineno); + printf("value:\n"); + dump_node(mrb, match_pat_node(tree)->value, offset+2); + dump_prefix(offset+1, lineno); + printf("pattern:\n"); + dump_node(mrb, match_pat_node(tree)->pattern, offset+2); + break; + default: /* Fallback: unknown node type - skip like codegen.c does */ printf("unknown node type %d (0x%x)\n", nodetype, (unsigned)nodetype); diff --git a/src/error.c b/src/error.c index 487e1afc7..fd3c885ac 100644 --- a/src/error.c +++ b/src/error.c @@ -920,6 +920,7 @@ mrb_init_exception(mrb_state *mrb) mrb_define_class_id(mrb, MRB_SYM(SyntaxError), script_error); /* 15.2.38 */ struct RClass *index_error = mrb_define_class_id(mrb, MRB_SYM(IndexError), E_STANDARD_ERROR); /* 15.2.33 */ mrb_define_class_id(mrb, MRB_SYM(KeyError), index_error); + mrb_define_class_id(mrb, MRB_SYM(NoMatchingPatternError), E_STANDARD_ERROR); /* pattern matching */ struct RClass *stack_error = mrb_define_class_id(mrb, MRB_SYM(SystemStackError), exception); mrb->stack_err = mrb_obj_ptr(mrb_exc_new_lit(mrb, stack_error, "stack level too deep"));