From 6c4d98be8b8f0b3d420b592066cf9285d160006c Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 18 Dec 2025 08:26:31 +0900 Subject: [PATCH] mruby-compiler: implement find pattern matching add support for find patterns in case/in expressions: - [*pre, elem, *post] - find elem anywhere in array - [*, elem, *] - anonymous rest (discarded) - [*pre, a, b, *post] - multiple middle elements implementation includes: - grammar rules for find patterns with p_args, p_rest in parse.y - NODE_PAT_FIND codegen with iterative search loop - pre/post variable binding via range slicing - p_const rule to prevent conflict with array literals Co-authored-by: Claude --- mrbgems/mruby-compiler/core/codegen.c | 157 + mrbgems/mruby-compiler/core/node.h | 10 + mrbgems/mruby-compiler/core/parse.y | 45 +- mrbgems/mruby-compiler/core/y.tab.c | 9222 ++++++++++++------------- 4 files changed, 4529 insertions(+), 4905 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 36d03b0c1..527e92de9 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -4538,6 +4538,163 @@ codegen_pattern(codegen_scope *s, node *pattern, int target, uint32_t *fail_pos) } break; + case NODE_PAT_FIND: + { + /* Find pattern: [*pre, elem1, elem2, ..., *post] + * Searches for elems anywhere in the array. + * + * Stack layout: + * arr_reg: deconstructed array (stable) + * idx_reg: current search index (stable) + * + * Loop bound is recomputed each iteration since OP_SEND clobbers registers. + */ + struct mrb_ast_pat_find_node *pat_find = pat_find_node(pattern); + int elems_len = 0; + node *elem; + int arr_reg = cursp(); + int idx_reg; + uint32_t loop_start, match_fail, loop_end; + + /* Count middle elements */ + for (elem = pat_find->elems; elem; elem = elem->cdr) elems_len++; + + /* Call deconstruct on target */ + gen_move(s, cursp(), target, 0); + push(); + genop_3(s, OP_SEND, arr_reg, new_sym(s, MRB_SYM_2(s->mrb, deconstruct)), 0); + + /* Check minimum length: arr.size >= elems_len */ + gen_move(s, cursp(), arr_reg, 0); + push(); + genop_3(s, OP_SEND, cursp() - 1, new_sym(s, MRB_SYM_2(s->mrb, size)), 0); + gen_int(s, cursp(), elems_len); + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, ge)), 1); + tmp = genjmp2(s, OP_JMPNOT, cursp(), *fail_pos, 1); + *fail_pos = tmp; + + /* Initialize index to 0 */ + idx_reg = cursp(); + gen_int(s, idx_reg, 0); + push(); + + /* Loop: try matching at each position */ + loop_start = s->pc; + match_fail = JMPLINK_START; + + /* Check if idx <= arr.size - elems_len (i.e., idx < arr.size - elems_len + 1) */ + /* Compute: arr.size - elems_len */ + gen_move(s, cursp(), arr_reg, 0); + push(); + genop_3(s, OP_SEND, cursp() - 1, new_sym(s, MRB_SYM_2(s->mrb, size)), 0); + gen_int(s, cursp(), elems_len); + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, sub)), 1); + /* Now cursp() has (size - elems_len), compare: idx <= (size - elems_len) */ + gen_move(s, cursp() + 1, idx_reg, 0); + push(); + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, ge)), 1); + tmp = genjmp2(s, OP_JMPNOT, cursp(), *fail_pos, 1); + *fail_pos = tmp; + + /* Try to match each middle element at idx+offset */ + int offset = 0; + for (elem = pat_find->elems; elem; elem = elem->cdr, offset++) { + /* Get arr[idx + offset] */ + gen_move(s, cursp(), arr_reg, 0); + push(); + if (offset == 0) { + gen_move(s, cursp(), idx_reg, 0); + } + else { + gen_move(s, cursp(), idx_reg, 0); + push(); + gen_int(s, cursp(), offset); + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, add)), 1); + } + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, aref)), 1); + /* Match element pattern - on fail, try next index */ + codegen_pattern(s, elem->car, cursp(), &match_fail); + } + + /* All elements matched - bind pre and post if named */ + if (pat_find->pre && pat_find->pre != (node*)-1) { + struct mrb_ast_pat_var_node *pre_var = pat_var_node(pat_find->pre); + if (pre_var->name) { + int var_idx = lv_idx(s, pre_var->name); + /* pre = arr[0...idx] (exclusive range) */ + /* Following the NODE_PAT_ARRAY pattern exactly */ + gen_move(s, cursp(), arr_reg, 0); /* arr at cursp */ + push(); + gen_int(s, cursp(), 0); /* start=0 at cursp */ + push(); + gen_move(s, cursp(), idx_reg, 0); /* end=idx at cursp */ + /* start at cursp-1, end at cursp; create exclusive range at cursp-1 */ + genop_1(s, OP_RANGE_EXC, cursp() - 1); + /* arr at cursp-2, range at cursp-1 */ + pop(); /* cursp now at range position */ + pop(); /* cursp now at arr position */ + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, aref)), 1); + if (var_idx > 0) { + gen_move(s, var_idx, cursp(), 1); + } + } + } + + if (pat_find->post && pat_find->post != (node*)-1) { + struct mrb_ast_pat_var_node *post_var = pat_var_node(pat_find->post); + if (post_var->name) { + int var_idx = lv_idx(s, post_var->name); + /* post = arr[(idx+elems_len)..-1] (inclusive range) */ + /* Following the NODE_PAT_ARRAY pattern exactly */ + gen_move(s, cursp(), arr_reg, 0); /* arr at cursp */ + push(); + /* Compute idx + elems_len for start index */ + gen_move(s, cursp(), idx_reg, 0); /* idx at cursp */ + push(); + gen_int(s, cursp(), elems_len); /* elems_len at cursp */ + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, add)), 1); + /* start index (idx+elems_len) now at cursp */ + push(); + gen_int(s, cursp(), -1); /* end=-1 at cursp */ + /* start at cursp-1, end at cursp; create inclusive range at cursp-1 */ + genop_1(s, OP_RANGE_INC, cursp() - 1); + /* arr at cursp-2, range at cursp-1 */ + pop(); /* cursp now at range position */ + pop(); /* cursp now at arr position */ + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, aref)), 1); + if (var_idx > 0) { + gen_move(s, var_idx, cursp(), 1); + } + } + } + + /* Jump to success (end of find pattern) */ + loop_end = genjmp(s, OP_JMP, JMPLINK_START); + + /* Match failed - increment index and try again */ + dispatch_linked(s, match_fail); + gen_move(s, cursp(), idx_reg, 0); + push(); + gen_int(s, cursp(), 1); + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, add)), 1); + gen_move(s, idx_reg, cursp(), 0); + genjmp(s, OP_JMP, loop_start); + + /* Success exit point */ + dispatch(s, loop_end); + + pop(); /* idx_reg */ + pop(); /* arr_reg */ + } + break; + case NODE_PAT_HASH: { struct mrb_ast_pat_hash_node *pat_hash = pat_hash_node(pattern); diff --git a/mrbgems/mruby-compiler/core/node.h b/mrbgems/mruby-compiler/core/node.h index 37707b8ab..15c1d3330 100644 --- a/mrbgems/mruby-compiler/core/node.h +++ b/mrbgems/mruby-compiler/core/node.h @@ -90,6 +90,7 @@ enum node_type { NODE_PAT_AS, /* as pattern (pattern => var) */ NODE_PAT_ALT, /* alternative pattern (pat1 | pat2) */ NODE_PAT_ARRAY, /* array pattern [a, b, *rest] */ + NODE_PAT_FIND, /* find pattern [*pre, elem, *post] */ NODE_PAT_HASH, /* hash pattern {a:, b: x} */ NODE_MATCH_PAT, /* one-line pattern matching (expr in pat / expr => pat) */ NODE_LAST @@ -334,6 +335,14 @@ struct mrb_ast_pat_array_node { struct mrb_ast_node *post; /* Post-rest patterns (cons list) */ }; +/* Find pattern node [*pre, elem, *post] - searches for elem anywhere in array */ +struct mrb_ast_pat_find_node { + struct mrb_ast_var_header header; /* 8 bytes */ + struct mrb_ast_node *pre; /* Pre rest pattern (NULL or -1 if anonymous) */ + struct mrb_ast_node *elems; /* Middle patterns to find (cons list) */ + struct mrb_ast_node *post; /* Post rest pattern (NULL or -1 if anonymous) */ +}; + /* Hash pattern node {a:, b: x} */ struct mrb_ast_pat_hash_node { struct mrb_ast_var_header header; /* 8 bytes */ @@ -459,6 +468,7 @@ struct mrb_ast_super_node { #define pat_as_node(n) ((struct mrb_ast_pat_as_node*)(n)) #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_find_node(n) ((struct mrb_ast_pat_find_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)) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index bb363b70a..383b23b54 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -674,6 +674,17 @@ new_pat_array(parser_state *p, node *pre, node *rest, node *post) return (node*)n; } +/* Create find pattern node [*pre, elems, *post] */ +static node* +new_pat_find(parser_state *p, node *pre, node *elems, node *post) +{ + struct mrb_ast_pat_find_node *n = NEW_NODE(pat_find, NODE_PAT_FIND); + n->pre = pre; + n->elems = elems; + n->post = post; + return (node*)n; +} + /* Create hash pattern node {a:, b: x, **rest} */ static node* new_pat_hash(parser_state *p, node *pairs, node *rest) @@ -2095,7 +2106,7 @@ prohibit_literals(parser_state *p, node *n) %type f_label f_kwrest /* pattern matching */ -%type in_clauses p_expr p_alt p_value p_var p_as p_array p_array_body p_array_elems p_rest p_hash p_hash_body p_hash_elems p_hash_elem p_kwrest p_args_head p_args_post +%type in_clauses p_expr p_alt p_value p_var p_as p_array p_array_body p_array_elems p_rest p_hash p_hash_body p_hash_elems p_hash_elem p_kwrest p_args_head p_args_post p_const %token tUPLUS "unary plus" %token tUMINUS "unary minus" @@ -3989,17 +4000,9 @@ p_value : p_var { $$ = new_pat_value(p, new_false(p)); } - | tCONSTANT + | p_const { - $$ = new_pat_value(p, new_const(p, $1)); - } - | primary_value tCOLON2 tCONSTANT - { - $$ = new_pat_value(p, new_colon2(p, $1, $3)); - } - | tCOLON3 tCONSTANT - { - $$ = new_pat_value(p, new_colon3(p, $2)); + $$ = new_pat_value(p, $1); } | p_array | p_hash @@ -4046,6 +4049,11 @@ p_array_body : p_array_elems /* Rest + post, no pre */ $$ = new_pat_array(p, 0, $1, $3); } + | p_rest ',' p_array_elems ',' p_rest + { + /* Find pattern: [*pre, elems, *post] */ + $$ = new_pat_find(p, $1, $3, $5); + } ; /* Non-rest array pattern elements - use p_as, not p_expr to avoid bracket-less recursion */ @@ -4071,6 +4079,21 @@ p_rest : tSTAR tIDENTIFIER } ; +/* Constant path for pattern matching: Foo, Foo::Bar, ::Foo */ +p_const : tCONSTANT + { + $$ = new_const(p, $1); + } + | p_const tCOLON2 tCONSTANT + { + $$ = new_colon2(p, $1, $3); + } + | tCOLON3 tCONSTANT + { + $$ = new_colon3(p, $2); + } + ; + /* Hash pattern: {a:, b: x, **rest} */ p_hash : tLBRACE p_hash_body '}' { diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 04a749192..4633c330b 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -736,6 +736,17 @@ new_pat_array(parser_state *p, node *pre, node *rest, node *post) return (node*)n; } +/* Create find pattern node [*pre, elems, *post] */ +static node* +new_pat_find(parser_state *p, node *pre, node *elems, node *post) +{ + struct mrb_ast_pat_find_node *n = NEW_NODE(pat_find, NODE_PAT_FIND); + n->pre = pre; + n->elems = elems; + n->post = post; + return (node*)n; +} + /* Create hash pattern node {a:, b: x, **rest} */ static node* new_pat_hash(parser_state *p, node *pairs, node *rest) @@ -2047,7 +2058,7 @@ prohibit_literals(parser_state *p, node *n) /* xxx ----------------------------- */ -#line 2051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2062 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -2218,7 +2229,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 1994 "mrbgems/mruby-compiler/core/parse.y" +#line 2005 "mrbgems/mruby-compiler/core/parse.y" node *nd; mrb_sym id; @@ -2226,7 +2237,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 2230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2241 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2524,89 +2535,90 @@ enum yysymbol_kind_t 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 */ + YYSYMBOL_p_const = 264, /* p_const */ + YYSYMBOL_p_hash = 265, /* p_hash */ + YYSYMBOL_p_hash_body = 266, /* p_hash_body */ + YYSYMBOL_p_hash_elems = 267, /* p_hash_elems */ + YYSYMBOL_p_hash_elem = 268, /* p_hash_elem */ + YYSYMBOL_p_kwrest = 269, /* p_kwrest */ + YYSYMBOL_p_var = 270, /* p_var */ + YYSYMBOL_opt_rescue = 271, /* opt_rescue */ + YYSYMBOL_exc_list = 272, /* exc_list */ + YYSYMBOL_exc_var = 273, /* exc_var */ + YYSYMBOL_opt_ensure = 274, /* opt_ensure */ + YYSYMBOL_literal = 275, /* literal */ + YYSYMBOL_string = 276, /* string */ + YYSYMBOL_string_fragment = 277, /* string_fragment */ + YYSYMBOL_string_rep = 278, /* string_rep */ + YYSYMBOL_string_interp = 279, /* string_interp */ + YYSYMBOL_280_34 = 280, /* @34 */ + YYSYMBOL_xstring = 281, /* xstring */ + YYSYMBOL_regexp = 282, /* regexp */ + YYSYMBOL_heredoc = 283, /* heredoc */ + YYSYMBOL_heredoc_bodies = 284, /* heredoc_bodies */ + YYSYMBOL_heredoc_body = 285, /* heredoc_body */ + YYSYMBOL_heredoc_string_rep = 286, /* heredoc_string_rep */ + YYSYMBOL_heredoc_string_interp = 287, /* heredoc_string_interp */ + YYSYMBOL_288_35 = 288, /* @35 */ + YYSYMBOL_words = 289, /* words */ + YYSYMBOL_symbol = 290, /* symbol */ + YYSYMBOL_basic_symbol = 291, /* basic_symbol */ + YYSYMBOL_sym = 292, /* sym */ + YYSYMBOL_symbols = 293, /* symbols */ + YYSYMBOL_numeric = 294, /* numeric */ + YYSYMBOL_variable = 295, /* variable */ + YYSYMBOL_var_lhs = 296, /* var_lhs */ + YYSYMBOL_var_ref = 297, /* var_ref */ + YYSYMBOL_backref = 298, /* backref */ + YYSYMBOL_superclass = 299, /* superclass */ + YYSYMBOL_300_36 = 300, /* $@36 */ + YYSYMBOL_f_opt_arglist_paren = 301, /* f_opt_arglist_paren */ + YYSYMBOL_f_arglist_paren = 302, /* f_arglist_paren */ + YYSYMBOL_f_arglist = 303, /* f_arglist */ + YYSYMBOL_f_label = 304, /* f_label */ + YYSYMBOL_f_kw = 305, /* f_kw */ + YYSYMBOL_f_block_kw = 306, /* f_block_kw */ + YYSYMBOL_f_block_kwarg = 307, /* f_block_kwarg */ + YYSYMBOL_f_kwarg = 308, /* f_kwarg */ + YYSYMBOL_kwrest_mark = 309, /* kwrest_mark */ + YYSYMBOL_f_kwrest = 310, /* f_kwrest */ + YYSYMBOL_args_tail = 311, /* args_tail */ + YYSYMBOL_opt_args_tail = 312, /* opt_args_tail */ + YYSYMBOL_f_args = 313, /* f_args */ + YYSYMBOL_f_bad_arg = 314, /* f_bad_arg */ + YYSYMBOL_f_norm_arg = 315, /* f_norm_arg */ + YYSYMBOL_f_arg_item = 316, /* f_arg_item */ + YYSYMBOL_317_37 = 317, /* @37 */ + YYSYMBOL_f_arg = 318, /* f_arg */ + YYSYMBOL_f_opt_asgn = 319, /* f_opt_asgn */ + YYSYMBOL_f_opt = 320, /* f_opt */ + YYSYMBOL_f_block_opt = 321, /* f_block_opt */ + YYSYMBOL_f_block_optarg = 322, /* f_block_optarg */ + YYSYMBOL_f_optarg = 323, /* f_optarg */ + YYSYMBOL_restarg_mark = 324, /* restarg_mark */ + YYSYMBOL_f_rest_arg = 325, /* f_rest_arg */ + YYSYMBOL_blkarg_mark = 326, /* blkarg_mark */ + YYSYMBOL_f_block_arg = 327, /* f_block_arg */ + YYSYMBOL_opt_f_block_arg = 328, /* opt_f_block_arg */ + YYSYMBOL_singleton = 329, /* singleton */ + YYSYMBOL_330_38 = 330, /* $@38 */ + YYSYMBOL_assoc_list = 331, /* assoc_list */ + YYSYMBOL_assocs = 332, /* assocs */ + YYSYMBOL_assoc = 333, /* assoc */ + YYSYMBOL_operation = 334, /* operation */ + YYSYMBOL_operation2 = 335, /* operation2 */ + YYSYMBOL_operation3 = 336, /* operation3 */ + YYSYMBOL_dot_or_colon = 337, /* dot_or_colon */ + YYSYMBOL_call_op = 338, /* call_op */ + YYSYMBOL_call_op2 = 339, /* call_op2 */ + YYSYMBOL_opt_terms = 340, /* opt_terms */ + YYSYMBOL_opt_nl = 341, /* opt_nl */ + YYSYMBOL_rparen = 342, /* rparen */ + YYSYMBOL_trailer = 343, /* trailer */ + YYSYMBOL_term = 344, /* term */ + YYSYMBOL_nl = 345, /* nl */ + YYSYMBOL_terms = 346, /* terms */ + YYSYMBOL_none = 347 /* none */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -2937,16 +2949,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 106 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 17015 +#define YYLAST 14031 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 198 +#define YYNNTS 199 /* YYNRULES -- Number of rules. */ -#define YYNRULES 688 +#define YYNRULES 690 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1219 +#define YYNSTATES 1207 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 377 @@ -3007,75 +3019,76 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 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 + 0, 2179, 2179, 2179, 2189, 2195, 2199, 2203, 2207, 2213, + 2215, 2214, 2228, 2254, 2260, 2264, 2268, 2272, 2278, 2278, + 2282, 2286, 2290, 2294, 2303, 2312, 2316, 2321, 2322, 2326, + 2330, 2334, 2338, 2341, 2345, 2349, 2353, 2357, 2361, 2366, + 2370, 2379, 2388, 2397, 2406, 2413, 2414, 2418, 2421, 2422, + 2426, 2430, 2434, 2438, 2438, 2444, 2444, 2450, 2453, 2463, + 2462, 2477, 2486, 2487, 2490, 2491, 2498, 2497, 2512, 2516, + 2521, 2525, 2530, 2534, 2539, 2543, 2547, 2551, 2555, 2561, + 2565, 2571, 2572, 2578, 2582, 2586, 2590, 2594, 2598, 2602, + 2606, 2610, 2614, 2620, 2621, 2627, 2631, 2637, 2641, 2647, + 2651, 2655, 2659, 2663, 2667, 2673, 2679, 2686, 2690, 2694, + 2698, 2702, 2706, 2712, 2718, 2723, 2729, 2733, 2736, 2740, + 2744, 2751, 2752, 2753, 2754, 2759, 2766, 2767, 2770, 2774, + 2774, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, + 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, + 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, + 2809, 2812, 2812, 2812, 2813, 2813, 2814, 2814, 2814, 2815, + 2815, 2815, 2815, 2816, 2816, 2816, 2817, 2817, 2817, 2818, + 2818, 2818, 2818, 2819, 2819, 2819, 2819, 2820, 2820, 2820, + 2820, 2821, 2821, 2821, 2821, 2822, 2822, 2822, 2822, 2823, + 2823, 2826, 2830, 2834, 2838, 2842, 2846, 2850, 2855, 2860, + 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, 2989, 2993, 2997, 3001, 3005, 3009, 3013, 3022, 3031, + 3040, 3049, 3055, 3056, 3060, 3064, 3070, 3074, 3081, 3085, + 3094, 3111, 3112, 3115, 3116, 3117, 3121, 3125, 3131, 3136, + 3140, 3144, 3148, 3154, 3154, 3165, 3169, 3175, 3179, 3185, + 3188, 3193, 3197, 3201, 3206, 3210, 3216, 3221, 3225, 3231, + 3232, 3236, 3240, 3241, 3242, 3243, 3244, 3249, 3248, 3260, + 3264, 3259, 3269, 3269, 3273, 3277, 3281, 3285, 3289, 3293, + 3297, 3301, 3305, 3309, 3313, 3314, 3320, 3327, 3319, 3340, + 3348, 3356, 3356, 3356, 3363, 3363, 3363, 3370, 3376, 3380, + 3389, 3398, 3408, 3410, 3407, 3419, 3417, 3435, 3440, 3433, + 3457, 3455, 3471, 3481, 3492, 3496, 3500, 3504, 3510, 3517, + 3518, 3519, 3522, 3523, 3526, 3527, 3535, 3536, 3542, 3546, + 3549, 3553, 3557, 3561, 3566, 3570, 3574, 3578, 3584, 3583, + 3593, 3597, 3601, 3605, 3611, 3616, 3621, 3625, 3629, 3633, + 3637, 3641, 3645, 3649, 3653, 3657, 3661, 3665, 3669, 3673, + 3677, 3683, 3688, 3695, 3695, 3699, 3704, 3710, 3714, 3720, + 3721, 3724, 3729, 3732, 3736, 3742, 3746, 3753, 3752, 3769, + 3774, 3778, 3783, 3790, 3794, 3798, 3802, 3806, 3810, 3814, + 3818, 3822, 3829, 3828, 3843, 3842, 3858, 3866, 3875, 3880, + 3884, 3884, 3889, 3889, 3894, 3894, 3904, 3905, 3909, 3913, + 3917, 3921, 3925, 3930, 3935, 3943, 3947, 3954, 3958, 3964, + 3965, 3971, 3972, 3978, 3979, 3983, 3987, 3991, 3995, 3999, + 4003, 4007, 4008, 4009, 4016, 4020, 4027, 4032, 4037, 4042, + 4047, 4052, 4060, 4064, 4071, 4075, 4083, 4087, 4091, 4098, + 4102, 4109, 4113, 4117, 4124, 4128, 4136, 4141, 4146, 4154, + 4158, 4163, 4170, 4176, 4183, 4186, 4190, 4191, 4194, 4198, + 4201, 4205, 4208, 4209, 4210, 4211, 4214, 4215, 4221, 4226, + 4231, 4236, 4242, 4243, 4249, 4255, 4254, 4266, 4270, 4276, + 4280, 4286, 4295, 4306, 4309, 4310, 4313, 4319, 4325, 4326, + 4329, 4336, 4335, 4350, 4354, 4362, 4366, 4378, 4385, 4392, + 4393, 4394, 4395, 4396, 4400, 4406, 4410, 4418, 4419, 4420, + 4424, 4430, 4434, 4438, 4442, 4446, 4452, 4456, 4462, 4466, + 4470, 4474, 4478, 4482, 4486, 4494, 4501, 4507, 4508, 4512, + 4516, 4515, 4532, 4533, 4536, 4542, 4546, 4552, 4553, 4557, + 4561, 4567, 4571, 4577, 4583, 4590, 4596, 4603, 4607, 4613, + 4617, 4623, 4624, 4627, 4631, 4637, 4641, 4645, 4649, 4655, + 4660, 4665, 4669, 4673, 4677, 4681, 4685, 4689, 4693, 4697, + 4701, 4705, 4709, 4713, 4717, 4722, 4728, 4733, 4738, 4743, + 4748, 4755, 4759, 4766, 4771, 4770, 4782, 4786, 4792, 4800, + 4808, 4816, 4820, 4826, 4830, 4836, 4837, 4840, 4845, 4852, + 4853, 4856, 4860, 4866, 4870, 4876, 4882, 4882, 4889, 4890, + 4896, 4900, 4906, 4912, 4917, 4921, 4926, 4931, 4947, 4952, + 4958, 4959, 4960, 4963, 4964, 4965, 4966, 4969, 4970, 4971, + 4974, 4975, 4978, 4982, 4988, 4989, 4995, 4996, 4999, 5000, + 5003, 5006, 5007, 5008, 5011, 5012, 5015, 5020, 5023, 5024, + 5028 }; #endif @@ -3139,22 +3152,23 @@ static const char *const yytname[] = "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", "@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", "$@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", "@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", "$@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 + "p_array_elems", "p_rest", "p_const", "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", "@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", "$@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", + "@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", "$@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 }; static const char * @@ -3164,12 +3178,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-969) +#define YYPACT_NINF (-945) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-689) +#define YYTABLE_NINF (-691) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -3178,128 +3192,127 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -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 + -945, 4072, 126, 9204, 11328, 11670, 7512, -945, 10974, 10974, + -945, -945, 11442, 8694, 7128, 9440, 9440, -945, -945, 9440, + 4593, 4185, -945, -945, -945, -945, -26, 8694, -945, 28, + -945, -945, -945, 7654, 3722, -945, -945, 7796, -945, -945, + -945, -945, -945, -945, -945, 65, 11092, 11092, 11092, 11092, + 125, 6387, 1224, 9912, 10266, 8976, -945, 8412, 608, 906, + 701, 1191, 1203, -945, 135, 11210, 11092, -945, 1288, -945, + 1546, -945, 242, 1685, 1685, -945, -945, 219, 186, -945, + 174, 11556, -945, 210, 5273, 181, 192, 151, 119, -945, + 359, -945, -945, -945, -945, -945, -945, -945, -945, -945, + 364, 241, -945, 381, 44, -945, -945, -945, -945, -945, + -945, 200, 200, -26, 475, 491, -945, 10974, 441, 6506, + 309, 2262, 2262, -945, 228, -945, 218, -945, -945, 44, + -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, 1, 140, + 188, 205, -945, -945, -945, -945, -945, -945, 260, 270, + 271, 288, -945, 290, -945, -945, -945, -945, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, -945, 299, + 5419, 337, 242, 1685, 1685, 80, 312, 691, 70, 349, + 230, 80, 10974, 10974, 760, 420, -945, -945, 792, 453, + 55, 63, -945, -945, -945, -945, -945, -945, -945, -945, + -945, 8553, -945, -945, 368, -945, -945, -945, -945, -945, + -945, 1288, -945, 725, -945, 471, -945, -945, 1288, 4321, + 110, 11092, 11092, 11092, 11092, -945, 3824, -945, -945, 391, + 478, 391, -945, -945, -945, 9558, -945, -945, 9440, -945, + -945, -945, -945, 7128, 7366, -945, 399, 6625, -945, 859, + 449, 13808, 13808, 506, 9322, 6387, 411, 1288, 1546, 1288, + 442, -945, 9322, 1288, 426, 1341, 1341, -945, 3824, 430, + 1341, -945, 528, 11784, 455, 944, 949, 989, 2368, -945, + -945, -945, -945, -945, 1216, -945, -945, -945, -945, -945, + -945, 854, 1303, -945, -945, 1198, -945, 1158, -945, 1311, + -945, 1315, 487, 502, -945, -945, -945, -945, 6890, 10974, + 10974, 10974, 10974, 9322, 10974, 10974, 95, -945, -945, -945, + -945, 548, 1288, -945, -945, -945, -945, -945, -945, -945, + 2557, 485, 488, 5419, 11092, -945, 466, 577, 499, -945, + 1288, -945, -945, -945, 504, 11092, -945, 505, 605, 519, + 611, -945, -945, 543, 5419, -945, -945, 10384, -945, 6387, + 9090, 524, 10384, -945, 11092, 11092, 11092, 11092, 11092, 11092, + 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, -945, 11092, + 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, 11092, + 11092, 3915, -945, 9440, -945, 12062, -945, -945, 13266, -945, + -945, -945, -945, 11210, 11210, -945, 568, -945, 242, -945, + 1005, -945, -945, -945, -945, -945, -945, 12148, 9440, 12234, + 5419, 10974, -945, -945, -945, 662, 670, 372, 583, 586, + -945, 5565, 682, 11092, 12320, 9440, 12406, 11092, 11092, 6003, + 587, 587, 90, 12492, 9440, 12578, -945, 649, -945, 6625, + 143, -945, -945, 10502, 699, -945, 11092, 11092, 13746, 13746, + 13746, 11092, -945, -945, 9676, -945, 11092, -945, 10030, 7247, + 576, 1288, 391, 391, -945, -945, 883, 581, -945, -945, + -945, 8694, 6122, 588, 12320, 12406, 11092, 1546, 1288, -945, + -945, 7009, 589, 1546, -945, -945, 10148, -945, 1288, 10266, + -945, -945, -945, 1005, 174, 11784, -945, 11784, 12664, 9440, + 12750, 2857, -945, -945, 598, -945, 1327, 6625, 854, -945, + -945, -945, -945, -945, -945, -945, 11092, 11092, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, + 1437, 1288, 1288, 599, 11210, 721, 13746, 1057, -945, -945, + -945, 57, -945, -945, 2758, -945, 13746, 2857, -945, -945, + 1068, -945, -945, 11210, 728, 52, 11092, -945, 13462, 391, + -945, 1288, 11784, 602, -945, -945, -945, 727, 651, 2664, + -945, -945, 1027, 403, 1828, 13888, 13888, 13888, 13888, 2000, + 2000, 13898, 13826, 13888, 13888, 13808, 13808, 1469, 1469, 1828, + 449, 13746, 2000, 2000, 1550, 1550, 1613, 273, 273, 449, + 449, 449, 4729, 8152, 5001, 8270, -945, 200, -945, 635, + 391, 631, -945, 653, -945, -945, 4457, -945, -945, 1880, + 52, 52, -945, 3587, -945, -945, -945, -945, -945, 1288, + 10974, 5419, 800, 486, -945, 200, 656, 200, 783, 883, + 8835, -945, 10620, 785, -945, 11092, 11092, 396, -945, 7914, + 8033, 660, 417, 457, 785, -945, -945, -945, -945, 64, + 133, 664, 118, 121, 10974, 8694, 673, 1828, 799, 13746, + 199, -945, 13746, 13746, 13746, 1128, 11092, 3824, -945, 391, + 13746, -945, -945, -945, -945, 9794, 10030, -945, -945, -945, + 677, -945, -945, 306, 1546, 1288, 1341, 524, -945, 800, + 486, 678, 821, 847, -945, 127, 2857, -945, 681, -945, + 449, 449, -945, -945, 625, 1288, 679, -945, -945, 2778, + 781, 13338, -945, 771, 548, -945, 499, -945, 1288, -945, + -945, 697, 704, 714, -945, 718, 771, 714, 789, 13400, + -945, -945, 2857, 5419, -945, -945, 13533, 10738, -945, -945, + 11784, 9322, 11210, 11092, 12836, 9440, 12922, -945, -945, -945, + 784, -945, -945, 806, 1674, 149, 813, 41, 816, -945, + 1906, 730, 58, -945, -945, 732, 790, -945, 745, -945, + -945, -945, 3231, -945, -945, 917, 11210, 11210, -945, 568, + 688, 9676, 11210, 11210, -945, 568, 119, 219, 5419, 6625, + 52, -945, 1288, 876, -945, -945, -945, -945, 13462, -945, + 801, -945, 6268, 885, -945, 10974, 887, -945, 11092, 11092, + 481, 11092, 11092, 893, 6771, 6771, 134, 587, -945, -945, + 194, -945, 10856, 5711, 13746, -945, 7247, 391, -945, -945, + -945, 919, 764, 1431, 5419, 6625, -945, -945, -945, 774, + -945, 1464, 1288, 11092, 11092, -945, -945, 2857, -945, 1068, + -945, 1068, -945, 1068, -945, -945, 11092, 11092, -945, -945, + -945, 11898, -945, 776, 499, 786, 11898, -945, 791, 793, + -945, 898, 11092, 13604, -945, -945, 13746, 4865, 5137, 795, + 490, 497, 1979, -945, -945, -945, -945, 805, 808, 811, + -945, 784, -945, 788, 814, -945, 848, -945, -945, -945, + -945, 818, 820, -945, 897, 1979, 1979, 903, 232, 1979, + 11092, 11092, -945, -945, -945, -945, -945, 11210, -945, -945, + -945, -945, -945, -945, -945, 960, 838, 6625, 5419, -945, + -945, 12012, 80, -945, -945, 6771, -945, -945, 80, -945, + 11092, -945, 963, 964, -945, 10974, 10974, 5857, 13746, 209, + -945, 10030, -945, 1606, 966, 851, 1488, 1488, 700, -945, + 13746, 13746, 714, 861, 714, 714, 13746, 13746, 891, 892, + 956, 1058, 1057, -945, -945, 2347, -945, 1058, 2857, -945, + 1068, -945, -945, 13675, 590, -945, -945, 1906, 1979, -945, + 232, -945, 1979, -945, -945, 878, -945, -945, -945, -945, + -945, 13746, 13746, -945, -945, -945, -945, 882, 1012, 973, + -945, 1101, 949, 989, 5419, -945, 5565, -945, -945, 6771, + 80, 80, 281, -945, -945, -945, -945, 888, -945, -945, + -945, -945, 901, 901, 1488, 909, -945, 1068, -945, -945, + -945, -945, -945, -945, 13008, -945, 499, 1057, -945, -945, + 910, 911, 914, -945, 922, 914, -945, 927, 928, -945, + 878, 1979, -945, -945, 1005, 13094, 9440, 13180, 670, 396, + 1056, 5857, 5857, 1828, -945, 1061, 1606, 1128, 1488, 901, + 1488, 714, 933, 934, -945, 2857, -945, 1068, -945, 1068, + -945, 1068, -945, -945, 1979, 1906, -945, 800, 486, 931, + 278, 569, -945, -945, -945, 281, 281, 418, -945, -945, + 901, -945, 914, 945, 914, 914, 950, -945, 919, 1071, + 1078, 80, 1064, 1060, -945, 1068, -945, -945, -945, 1979, + -945, -945, 5857, 10974, 10974, 914, 281, 80, 80, -945, + -945, 5857, 5857, 281, 281, -945, -945 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3308,18 +3321,18 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 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, + 321, 324, 0, 0, 676, 344, 345, 346, 347, 309, + 273, 273, 561, 560, 562, 563, 678, 0, 10, 0, + 565, 564, 566, 551, 662, 553, 552, 555, 554, 547, + 548, 508, 509, 567, 568, 559, 0, 0, 0, 0, + 0, 0, 299, 690, 690, 91, 316, 0, 0, 0, + 0, 0, 0, 523, 0, 0, 0, 3, 676, 6, + 9, 27, 32, 615, 615, 48, 63, 62, 0, 79, 0, 83, 93, 0, 0, 251, 0, 64, 314, 289, - 290, 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, + 290, 506, 291, 292, 293, 504, 503, 535, 505, 502, + 558, 0, 294, 295, 273, 5, 1, 8, 344, 345, + 309, 690, 420, 0, 116, 117, 559, 0, 0, 0, + 0, 615, 615, 119, 569, 348, 0, 558, 295, 0, 340, 171, 181, 172, 168, 197, 198, 199, 200, 179, 194, 187, 177, 176, 192, 175, 174, 170, 195, 169, 182, 186, 188, 180, 173, 189, 196, 191, 190, 183, @@ -3327,133 +3340,132 @@ static const yytype_int16 yydefact[] = 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, + 151, 154, 155, 160, 646, 58, 124, 125, 645, 0, + 0, 0, 61, 615, 615, 0, 0, 0, 558, 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, + 558, 295, 190, 183, 193, 178, 161, 162, 163, 121, + 122, 0, 126, 128, 20, 127, 526, 531, 530, 684, + 686, 676, 687, 0, 528, 0, 688, 685, 677, 660, + 559, 281, 659, 276, 0, 268, 280, 77, 272, 690, + 506, 690, 650, 78, 76, 690, 262, 310, 0, 75, + 261, 419, 74, 676, 0, 18, 0, 0, 224, 0, + 225, 212, 215, 306, 0, 0, 0, 676, 15, 676, + 81, 14, 0, 676, 0, 681, 681, 252, 0, 0, + 681, 648, 0, 0, 89, 0, 99, 106, 615, 541, + 540, 542, 543, 537, 0, 539, 538, 510, 515, 514, + 517, 0, 0, 512, 519, 0, 521, 0, 533, 0, + 545, 0, 549, 550, 52, 239, 240, 4, 677, 0, + 0, 0, 0, 0, 0, 0, 622, 618, 617, 616, + 619, 620, 0, 624, 636, 591, 592, 640, 639, 635, + 615, 0, 577, 0, 584, 589, 690, 594, 690, 614, + 0, 621, 623, 626, 600, 0, 633, 600, 638, 600, + 642, 598, 573, 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, 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, + 0, 0, 673, 690, 672, 0, 675, 674, 0, 424, + 422, 315, 507, 0, 0, 413, 68, 313, 337, 116, + 117, 118, 549, 550, 577, 570, 335, 0, 690, 0, + 0, 0, 671, 670, 59, 0, 690, 306, 0, 0, + 350, 0, 349, 0, 0, 690, 0, 0, 0, 0, + 0, 0, 306, 0, 690, 0, 332, 0, 129, 0, + 0, 527, 529, 0, 0, 689, 654, 655, 282, 658, + 275, 0, 678, 269, 0, 278, 0, 270, 0, 676, + 0, 676, 690, 690, 263, 274, 676, 0, 312, 51, + 679, 0, 0, 0, 0, 0, 0, 17, 676, 304, + 13, 677, 80, 300, 303, 307, 683, 253, 682, 683, + 255, 308, 649, 105, 97, 0, 92, 0, 0, 690, + 0, 615, 317, 404, 600, 544, 0, 0, 518, 524, + 511, 513, 520, 522, 534, 546, 0, 0, 7, 21, + 22, 23, 24, 25, 49, 50, 581, 628, 582, 580, + 0, 676, 676, 600, 0, 0, 583, 0, 596, 644, + 593, 0, 597, 578, 0, 607, 629, 0, 610, 637, + 0, 612, 641, 0, 0, 690, 281, 28, 30, 0, + 31, 676, 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, + 221, 678, 230, 232, 226, 227, 228, 216, 217, 218, + 219, 220, 663, 668, 664, 669, 418, 273, 416, 0, + 690, 663, 665, 664, 666, 417, 273, 663, 664, 273, + 690, 690, 34, 256, 202, 44, 209, 66, 69, 0, + 0, 0, 116, 117, 120, 0, 0, 690, 0, 676, + 0, 298, 690, 690, 494, 0, 0, 690, 351, 667, + 305, 0, 663, 664, 690, 353, 322, 352, 325, 667, + 305, 0, 663, 664, 0, 0, 0, 0, 0, 280, + 0, 328, 653, 656, 652, 279, 284, 283, 277, 690, + 657, 651, 260, 258, 264, 265, 267, 311, 680, 19, + 0, 26, 208, 82, 16, 676, 681, 98, 90, 102, + 104, 0, 101, 103, 678, 0, 0, 536, 0, 525, + 222, 223, 622, 620, 367, 676, 360, 576, 574, 0, + 40, 247, 342, 0, 0, 590, 690, 643, 0, 599, + 627, 600, 600, 600, 634, 600, 622, 600, 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, + 0, 0, 0, 0, 0, 690, 0, 457, 458, 459, + 492, 476, 456, 0, 0, 0, 475, 491, 0, 56, + 0, 436, 449, 451, 461, 440, 460, 462, 442, 484, + 444, 453, 0, 454, 54, 0, 0, 0, 415, 72, 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 + 690, 338, 0, 0, 421, 341, 647, 60, 495, 496, + 690, 497, 0, 690, 356, 0, 0, 354, 0, 0, + 421, 0, 0, 0, 0, 0, 421, 0, 130, 532, + 0, 327, 0, 0, 285, 271, 676, 690, 11, 301, + 254, 100, 0, 397, 0, 0, 318, 516, 368, 365, + 625, 0, 676, 0, 0, 595, 579, 0, 603, 0, + 605, 0, 611, 0, 608, 613, 0, 0, 390, 678, + 678, 586, 587, 690, 690, 375, 0, 631, 375, 375, + 373, 0, 284, 286, 86, 46, 257, 663, 664, 0, + 663, 664, 487, 478, 492, 465, 472, 0, 466, 469, + 455, 0, 480, 0, 481, 483, 0, 474, 490, 489, + 463, 437, 438, 445, 0, 0, 0, 0, 0, 0, + 0, 0, 39, 206, 38, 207, 73, 0, 36, 204, + 37, 205, 71, 411, 412, 0, 0, 0, 0, 571, + 336, 0, 0, 499, 357, 0, 12, 501, 0, 319, + 0, 320, 0, 0, 333, 0, 0, 0, 283, 690, + 259, 266, 403, 0, 0, 0, 0, 0, 363, 575, + 41, 248, 600, 600, 600, 600, 43, 250, 0, 0, + 0, 585, 0, 371, 372, 375, 383, 630, 0, 386, + 0, 388, 408, 287, 421, 486, 464, 0, 0, 479, + 0, 446, 0, 450, 452, 441, 447, 477, 485, 443, + 488, 246, 245, 35, 203, 425, 423, 0, 0, 0, + 498, 0, 107, 114, 0, 500, 0, 323, 326, 0, + 0, 0, 690, 427, 428, 426, 401, 678, 399, 402, + 406, 405, 369, 366, 0, 361, 604, 0, 601, 606, + 609, 396, 394, 306, 0, 588, 690, 0, 374, 381, + 375, 375, 375, 632, 375, 375, 473, 467, 470, 482, + 439, 0, 67, 339, 113, 0, 690, 0, 690, 690, + 0, 0, 0, 0, 429, 0, 0, 398, 0, 364, + 0, 600, 667, 305, 370, 0, 378, 0, 380, 0, + 387, 0, 384, 389, 0, 0, 448, 110, 112, 0, + 663, 664, 493, 355, 334, 690, 690, 430, 329, 400, + 362, 602, 375, 375, 375, 375, 468, 471, 108, 0, + 0, 0, 0, 0, 379, 0, 376, 382, 385, 0, + 330, 331, 0, 0, 0, 375, 690, 0, 0, 377, + 431, 0, 0, 690, 690, 433, 435 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -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 + -945, -945, -945, 575, -945, 25, -945, -333, 68, -945, + -945, 62, -323, -413, 36, -945, -945, 1382, -945, 1792, + 20, -43, -945, -945, -384, -13, 1086, -198, -4, -40, + -297, -498, -17, 9, -81, 1102, 7, -22, -945, -945, + 49, -945, 3090, -945, 231, 92, -402, -311, 27, -945, + -6, -399, -247, -188, 156, -366, 89, -945, -945, -945, + -945, -945, -945, -945, -945, -945, -945, -945, -945, -945, + -945, -945, -945, 435, -67, -461, -23, -528, -945, -945, + -945, 317, 226, -945, -604, -945, -945, -377, -945, -24, + -945, -945, -945, 286, -945, -945, -945, -84, -945, -479, + -945, 99, -945, -945, -945, -588, -945, 66, 169, -945, + 155, -945, -945, -893, -746, -945, -945, -945, 319, -860, + -761, -945, 15, -945, -945, -945, -945, -945, 71, 75, + -158, -945, -945, -945, -945, -945, -274, -945, 886, -945, + -945, 594, 5, -945, -945, 533, 2203, 2554, 1140, 2092, + -945, -945, 4, 473, 8, 465, 563, 124, -945, -945, + -945, 266, 11, 263, -259, -944, -725, -517, -945, -270, + -766, -564, -922, 116, -536, -945, -169, -945, 446, -364, + -945, -945, -945, 88, -483, 1174, -336, -945, -945, -78, + -945, 3, -25, 479, -283, 474, -249, -61, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -3465,20 +3477,20 @@ static const yytype_int16 yydefgoto[] = 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, + 303, 318, 755, 222, 874, 223, 875, 714, 1079, 681, + 679, 988, 460, 289, 471, 706, 866, 1134, 229, 765, + 1016, 1108, 1036, 919, 793, 920, 794, 892, 1087, 1088, 552, 896, 605, 396, 87, 88, 671, 447, 670, 494, - 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 + 1085, 1135, 1181, 1182, 1183, 819, 820, 1055, 821, 822, + 823, 824, 947, 948, 825, 826, 827, 953, 828, 829, + 830, 831, 693, 860, 992, 996, 89, 90, 91, 332, + 333, 557, 92, 93, 94, 558, 252, 253, 254, 489, + 95, 96, 97, 326, 98, 99, 218, 219, 102, 220, + 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 @@ -3486,712 +3498,635 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 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, + 105, 284, 265, 265, 441, 285, 265, 348, 435, 437, + 83, 718, 83, 205, 592, 282, 545, 255, 245, 280, + 708, 227, 344, 540, 507, 731, 926, 542, 107, 221, + 672, 675, 245, 784, 251, 520, 621, 451, 314, 899, + 585, 401, 267, 273, 212, 212, 274, 300, 554, 748, + 212, 834, 307, 311, 955, 206, 731, 559, 781, 553, + 83, 604, 206, 70, 325, 70, 848, 849, 949, 1089, + 439, 347, 392, 392, 962, 958, 206, 780, 393, 615, + -107, 504, 394, 508, 379, 379, 270, 270, -114, -110, + 270, -561, 959, 125, 125, 657, 470, 528, 446, 666, + 583, 125, 669, 271, 271, 728, 206, 271, 1058, 728, + 280, 582, 276, 281, 799, -113, 1113, 536, 283, 296, + 615, 615, 659, 687, 270, 270, 106, 688, 83, 880, + 394, 791, 379, 379, 335, 337, 339, 341, 657, 476, + 666, 306, 310, -109, 125, 439, -111, 686, -561, 687, + 485, 964, 576, 448, 479, 1118, 894, -557, -112, -108, + 367, 442, -556, 493, 701, 863, 287, 497, 717, 867, + 125, 269, 269, 711, 561, 269, 873, 561, 792, 561, + 293, 561, 440, 561, 965, 368, -115, 296, 275, 687, + 1058, -107, 1089, 342, 343, 246, 445, -99, 247, 248, + 951, 611, -557, 276, 281, -106, -102, 1059, -663, 305, + 470, 525, 392, 392, 687, 470, 577, 468, 469, 83, + 781, 445, 394, 1113, 379, 379, 249, 862, 250, 493, + -560, -115, -105, 781, 1005, 1006, 531, 550, 751, 780, + 895, 436, 480, 481, 538, 538, 987, 395, 325, 538, + 545, 817, 780, 731, 490, 57, 432, 440, 212, 212, + -101, 1176, 265, -103, 844, 265, 507, 846, 505, 926, + 505, -348, 926, 544, 514, -104, -100, -664, -562, 354, + 355, 554, 431, 951, 759, 844, -348, -560, 952, 1119, + 206, 300, 754, 1095, -109, -563, 83, 432, 434, 862, + 530, 1117, 934, 83, 83, 515, 1133, 397, 457, 246, + 766, 83, 247, 248, 246, 545, 398, 247, 248, 516, + 519, -348, 478, 432, 735, 736, 859, 783, -348, 379, + 787, 402, 433, 443, 817, -562, 728, 728, 57, 434, + 249, 502, 250, 784, 275, 249, 270, 250, 853, 270, + -565, -114, -563, 455, 607, 523, 527, 83, 458, 617, + -564, -566, 83, 296, 533, 434, 271, 452, 453, 569, + 570, 571, 572, 568, 419, 589, 684, 589, -551, 926, + -555, 379, 83, 613, 780, 212, 212, 212, 212, 462, + 574, 575, 467, -109, 780, 300, -109, -109, 561, 556, + 617, 617, 125, 83, 428, 429, 430, -565, 83, 1177, + 70, 618, 905, 865, 862, 573, 1004, -564, -566, 41, + 265, 797, 42, 972, -109, 782, -109, -80, 785, 978, + 980, 512, 514, 473, 269, -551, 86, -555, 86, 126, + 126, 477, 728, 217, 217, 265, 463, 228, -94, 217, + 217, 217, 618, 618, 217, 976, -556, 514, -432, -434, + 931, 982, 265, 890, 526, 694, 58, 296, 657, 83, + 666, 265, 841, 444, 514, 482, 520, 725, 486, 615, + 83, 1083, 885, 514, 664, -107, 86, 664, 83, 125, + 315, 493, 449, -113, 939, 444, 450, 689, 83, 739, + 217, -660, -114, 545, 270, 747, -99, 544, 664, 871, + 488, 505, 505, 615, 734, 985, 315, -661, 780, 615, + 615, 105, 925, -106, -114, 664, 245, 665, 731, 270, + 1084, 83, 882, 502, 664, 506, 265, 522, -109, 697, + 83, 508, 1028, 1029, 806, 1167, 270, 704, 514, 872, + 419, 665, 217, 609, 86, 270, 529, 716, 609, 1033, + 1034, 1014, 379, -79, 1063, -551, 83, 535, 665, 541, + 206, 770, 544, 1000, 664, 270, -305, 665, -111, 270, + -551, -555, 842, 543, 70, -111, 520, 782, 566, 843, + 788, -305, 729, 744, 454, 454, -555, 547, 526, 664, + 782, 867, -108, 567, 795, 578, 584, 270, 587, -572, + 270, -109, 728, -660, 705, -551, 835, 665, -111, -660, + 270, 780, -551, 929, 746, 758, -305, -113, 590, -661, + -664, -555, 780, -305, 125, -661, 125, 1022, -555, 1024, + 885, 591, 665, 1025, 520, 86, 594, 597, -105, 720, + 598, 839, 601, 883, 615, 1068, 599, 217, 217, 505, + 845, 600, 602, 847, 603, 280, 614, 677, 280, 795, + 795, 327, 328, 329, 674, 676, 762, 691, 357, 358, + 359, 360, 977, 692, -111, 538, 280, -111, -111, 472, + 83, 861, 864, 878, 763, 472, 864, 857, 698, 1011, + 852, 125, 246, 864, 695, 247, 248, 696, 674, 676, + 217, -108, 555, 217, 721, -111, 212, -111, 217, 217, + 245, 733, 86, 842, 330, 331, 738, 741, 505, 86, + 86, -94, 495, 249, 877, 250, 772, 86, 1023, 206, + 756, 769, 1144, 790, 800, 843, 1092, 1093, 315, 838, + 212, 762, -109, 357, 358, 359, 360, 742, 276, 617, + 544, 276, 983, 336, 206, 328, 329, 898, 1112, 763, + 1115, 801, 802, -101, -111, 589, 840, 838, 532, 276, + 977, 474, 534, 86, 217, 217, 217, 217, 86, 217, + 217, 687, 265, 617, 974, -103, 432, 854, 855, 617, + 617, 870, 83, 862, 514, 876, 270, 270, 86, -108, + 83, 618, 879, 1007, 881, 1159, 888, 330, 331, 891, + 897, 901, 495, 887, 1139, 903, -667, 1141, 576, 86, + -100, 475, 217, 916, 86, 315, 579, 622, 434, 907, + 491, 942, 1094, 247, 248, 618, 909, -663, 609, 795, + -559, 618, 618, 776, 593, 664, 911, 83, 83, 993, + 913, 943, 997, 935, 957, -559, 1111, 960, 217, 1114, + 1170, 83, 963, -664, 966, 1172, 270, 1174, 622, 622, + 967, 1175, 483, 83, 83, 998, 505, 968, 520, 125, + -667, 990, 83, 217, 991, 86, 217, 432, 665, 995, + -559, 212, 999, 83, 83, -667, 86, -559, 1001, 1012, + 217, -663, 270, 1042, 86, 1195, 1017, 986, 1032, 217, + 354, 355, 589, 589, 86, 1074, -663, 1049, 1035, 887, + 994, 1076, 484, 1038, 617, 1040, 1044, -664, -667, 434, + -667, 969, 1002, 1003, -663, -421, 1046, -667, 1053, 524, + 1047, 1009, -664, 1048, 707, 707, 1050, 86, 1057, -663, + 1051, -663, 1052, 1015, 432, -663, 86, 334, -663, 246, + 328, 329, 247, 248, 970, 1065, 1173, 1066, 1077, 1078, + 315, 1090, 315, 946, 217, -664, 618, -664, 732, 961, + 1091, -664, 86, 1127, -664, 737, 83, 83, 246, 475, + 1070, 247, 248, 1097, 83, 495, 434, 743, 864, -421, + 125, 1103, 495, 1131, 1132, 125, 83, 1101, 1102, 217, + 1121, 1122, 330, 331, -421, 1080, 1081, 1123, 1124, 249, + 1136, 250, 246, 777, 548, 247, 248, 777, 217, -558, + 971, 212, 212, 1138, 908, 910, 912, 315, 914, 432, + 915, 1140, 1145, 1147, -558, 1067, 1149, -421, 924, -421, + 767, 768, 1137, 1075, 1151, 250, -421, 973, 975, 1154, + 1155, 1164, 1178, 979, 981, 1082, 1168, -663, -664, -295, + 125, 864, 270, 83, 549, 83, 1190, 1185, 83, -558, + 798, 434, 1189, 1191, -295, -306, -558, 740, 226, 973, + 975, 1194, 979, 981, 1193, 589, 1163, 130, 773, 918, + -306, 1045, 1169, 265, 1192, 217, 86, 804, 1120, 786, + 1054, 357, 358, 359, 360, 514, 774, 694, 864, -295, + 1201, 1202, 432, 984, 954, 1056, -295, 361, 1060, 492, + 83, 83, 1128, 1162, 1129, -306, 208, 1130, 1104, 217, + 775, 1110, -306, 851, 1039, 1041, 1105, 833, 365, 366, + 367, 0, 363, 432, 864, 864, 0, 805, 856, 365, + 366, 367, 833, 0, 434, 104, 664, 104, 0, 0, + 0, 0, 104, 104, 0, 368, 0, 0, 104, 104, + 104, 1125, 0, 104, 472, 864, 368, 270, 458, 1165, + 1166, 83, 864, 864, 0, 434, 432, 0, 1064, 0, + 83, 83, 0, 1197, 1198, 0, 1116, 946, 832, 665, + 563, 1056, 328, 329, 889, 104, 0, 0, 86, 212, + 212, 1064, 0, 832, 0, 315, 86, 622, 930, 104, + 217, 1126, 0, 246, 900, 0, 247, 248, 434, 0, + 833, 0, 906, 0, 338, 328, 329, 921, 0, 562, + 1196, 1109, 328, 329, 1179, 1180, 340, 328, 329, 1203, + 1204, 622, 217, 0, 330, 331, 250, 622, 622, 555, + 328, 329, 0, 86, 86, 1096, 1098, 1099, 1100, 0, + 1156, 104, 0, 104, 0, 1200, 0, 86, 1106, 0, + 217, 924, 1205, 1206, 924, 0, 924, 330, 331, 86, + 86, 832, 0, 0, 330, 331, 0, 0, 86, 330, + 331, 0, 0, 946, 1116, 0, 989, 0, 0, 86, + 86, 0, 330, 331, 0, 0, 1146, 1148, 1150, -302, + 1152, 1153, -302, -302, 0, 0, 0, 833, 0, 0, + 0, 707, 0, 833, 472, 0, 1031, 0, 1116, 0, + 0, 1037, 0, 0, 0, 1010, 560, 328, 329, -302, + -302, 0, -302, 924, 564, 328, 329, 0, 565, 328, + 329, 1019, 0, 73, 104, 73, 121, 121, 0, 0, + 757, 328, 329, 0, 121, 0, 104, 104, 1184, 1186, + 1187, 1188, 0, 246, 1171, 0, 247, 248, 950, 956, + 0, 924, 622, 924, 950, 924, 0, 924, 0, 330, + 331, 1199, 86, 86, 0, 0, 1071, 330, 331, 0, + 86, 330, 331, 73, 249, 0, 250, 121, 0, 0, + 217, 217, 86, 330, 331, 0, 0, 0, 0, 104, + 0, 924, 104, 0, 0, 0, 246, 104, 104, 247, + 248, 104, 0, 121, 0, 0, 472, 0, 104, 104, + 0, 0, 472, 0, 0, 833, 104, 0, 777, 0, + 0, 930, 0, 502, 930, 0, 930, 249, 762, 250, + 357, 358, 359, 360, 0, 0, 0, 921, 833, 833, + 921, 73, 833, 921, 0, 921, 763, 0, 0, 86, + 0, 86, 0, 0, 86, 762, 0, 357, 358, 359, + 360, 0, 104, 104, 104, 104, 104, 104, 104, 104, + 0, 363, 0, 763, 0, 0, 950, 764, 0, 762, + 0, 357, 358, 359, 360, 0, 246, 104, 0, 247, + 248, 0, 0, 930, 472, 472, 0, 763, 363, 950, + 950, 217, 956, 950, 1018, 0, 86, 86, 104, 0, + 419, 104, 921, 104, 0, 0, 104, 1013, 0, 250, + 833, 833, 363, 0, 0, 833, 349, 350, 351, 352, + 353, 930, 73, 930, 0, 930, 0, 930, 426, 427, + 428, 429, 430, 0, 0, 0, 0, 104, 0, 0, + 921, 0, 921, 0, 921, 0, 921, 104, 104, 0, + 0, 0, 0, 0, 0, 0, 0, 86, 217, 217, + 0, 930, 104, 0, 104, 104, 86, 86, 416, 417, + 0, 950, 950, 0, 956, 104, 950, 0, 0, 104, + 921, 419, 0, 104, 833, 472, 0, 1086, 104, 357, + 358, 359, 360, 104, 0, 0, 833, 0, 0, 73, + 0, 472, 472, 0, 0, 763, 73, 73, 425, 426, + 427, 428, 429, 430, 73, 0, 0, 833, 833, 0, + 0, 0, 0, 0, 0, 121, 104, 0, 0, 0, + 0, 416, 417, 0, 0, 104, 0, 0, 807, 808, + 809, 0, 0, 0, 419, 950, 0, 0, 0, 0, + 0, 0, 833, 104, 0, 944, 0, 832, 0, 811, + 73, 104, 39, 40, 0, 73, 356, 812, 357, 358, + 359, 360, 426, 427, 428, 429, 430, 0, 950, 950, + 0, 0, 0, 0, 361, 73, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 813, 0, 0, 362, 0, + 0, 814, 815, 0, 816, 0, 73, 104, 0, 363, + 57, 73, 121, 950, 73, 364, 365, 366, 367, 0, + 0, 0, 0, 74, 0, 74, 122, 122, 0, 0, + 0, 818, 0, 0, 122, 0, -690, 0, 120, 0, + 0, 0, 0, 368, 0, 945, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 73, 73, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 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, 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, + 0, 0, 73, 74, 0, 0, 0, 122, 0, 0, + 0, 0, 0, 73, 104, 104, 0, 0, 0, 0, + 0, 73, 807, 808, 809, 0, 0, 0, 0, 0, + 0, 73, 0, 122, 0, 0, 0, 0, 0, 810, + -690, 0, 0, 811, 0, 0, 39, 40, 104, 0, + 0, 812, 0, -690, -690, -690, -690, -690, -690, 0, + -690, 0, 0, 0, 73, -690, -690, -690, 0, 0, + 0, 74, 0, 73, 0, 0, 0, -690, -690, 813, + -690, -690, -690, -690, -690, 814, 815, 121, 816, 121, + 817, 0, 0, 0, 57, 0, 0, 0, 0, 73, + 807, 808, 809, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 818, 0, 944, 0, 0, + 0, 811, 120, 0, 39, 40, 0, 104, 0, 812, + -690, 0, 0, 0, 0, 104, 104, 0, 0, 104, + 0, 0, 0, 0, 0, -690, 0, 0, 0, 0, + 0, 0, 0, 0, 121, -690, 0, 813, -690, -690, + 0, 0, 74, 814, 815, 0, 816, 0, 0, 0, + 104, 104, 57, 807, 808, 809, 104, 104, -690, -690, + 0, 0, 104, 104, 275, -690, -690, -690, -690, 0, + 944, 0, 0, 818, 811, 0, 104, 39, 40, 104, + 120, 0, 812, 0, 0, 0, 0, 0, 104, 104, + 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, + 0, 0, 0, 73, 0, 0, 0, 0, 104, 104, + 813, 0, 0, 0, 0, 0, 814, 815, 0, 74, + 0, 0, 0, 0, 0, 57, 74, 74, 416, 417, + 0, 0, 0, 103, 74, 103, 128, 128, 0, 0, + 0, 419, 0, 0, 231, 122, 818, 0, 0, 0, + 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, + 74, 0, 0, 103, 0, 74, 0, 317, 0, 0, + 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 104, 104, 0, 0, 74, 0, 0, 0, 104, + 0, 0, 0, 317, 0, 73, 0, 0, 0, 104, + 104, 104, 121, 73, 73, 0, 74, 0, 0, 0, + 0, 74, 122, 0, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 0, 100, 127, 127, 127, + 0, 103, 0, 0, 0, 230, 0, 0, 73, 0, + 0, 0, 0, 0, 73, 73, 0, 0, 0, 0, + 73, 73, 0, 0, 0, 74, 74, 0, 0, 0, + 0, 0, 0, 0, 73, 0, 0, 0, 104, 0, + 104, 0, 74, 104, 100, 0, 73, 73, 316, 0, + 0, 0, 0, 74, 0, 73, 0, 0, 0, 0, + 0, 74, 0, 0, 0, 0, 73, 73, 0, 0, + 0, 74, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 104, 0, 103, 121, 0, 104, 104, 0, 121, 0, + 0, 0, 0, 356, 74, 357, 358, 359, 360, 0, + 0, 0, 100, 74, 0, 0, 0, 0, 0, 0, + 0, 361, 0, 0, 0, 0, 0, 122, 0, 122, + 0, 0, 0, 0, 0, 362, 0, 0, 0, 74, + 0, 0, 0, 0, 0, 0, 363, 0, 0, 73, + 0, 0, 364, 365, 366, 367, 104, 104, 104, 73, + 73, 0, 0, 121, 0, 104, 104, 73, 0, 103, + 0, 0, 0, 0, 0, 0, 103, 103, 0, 73, + 368, 0, 0, 369, 103, 0, 0, 0, 356, 0, + 357, 358, 359, 360, 122, 317, 370, 0, 0, 0, + 0, 0, 0, 100, 0, 0, 361, 0, 0, 356, + 0, 357, 358, 359, 360, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, + 103, 363, 0, 0, 0, 103, 0, 364, 365, 366, + 367, 0, 0, 0, 0, 0, 73, 0, 73, 0, + 0, 73, 363, 0, 0, 103, 0, 0, 364, 365, + 366, 367, 0, 74, 0, 368, 0, 0, 369, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 1107, + 100, 103, 317, 0, 623, 0, 368, 100, 100, 369, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 0, 551, 73, 73, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 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, 623, 623, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 100, 103, 0, 0, 101, 100, 101, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 0, 103, 0, 0, 73, 0, 100, 0, 0, 0, + 0, 103, 0, 73, 73, 74, 0, 0, 0, 0, + 0, 0, 122, 74, 74, 0, 0, 100, 0, 0, + 0, 0, 100, 316, 0, 101, 0, 0, 356, 0, + 357, 358, 359, 360, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 361, 0, 74, 0, + 0, 0, 0, 0, 74, 74, 0, 317, 0, 317, + 74, 74, 581, 0, 0, 0, 0, 0, 0, 103, + 0, 363, 0, 0, 74, 0, 0, 364, 365, 366, + 367, 0, 0, 100, 0, 0, 74, 74, 0, 0, + 0, 0, 0, 101, 100, 74, 0, 0, 0, 0, + 0, 0, 100, 0, 0, 368, 74, 74, 369, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 317, 0, 0, 0, 803, 0, + 0, 0, 0, 122, 0, 0, 0, 0, 122, 0, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 0, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 316, 0, + 316, 0, 416, 417, 0, 0, 0, 0, 0, 0, + 100, 0, 0, 0, 101, 419, 0, 0, 0, 74, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 74, + 74, 0, 0, 122, 0, 0, 420, 74, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 0, 74, + 0, 0, 0, 0, 0, 0, -280, 0, 0, 356, + 0, 357, 358, 359, 360, 316, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 361, 0, 356, + 0, 357, 358, 359, 360, 0, 0, 0, 0, 0, + 0, 101, 0, 778, 0, 0, 0, 361, 101, 101, + 0, 0, 363, 0, 0, 0, 101, 0, 364, 365, + 366, 367, 0, 902, 0, 0, 74, 0, 74, 0, + 0, 74, 363, 0, 0, 0, 0, 0, 364, 365, + 366, 367, 0, 0, 100, 103, 368, 0, 0, 369, + 0, 0, 317, 103, 623, 0, 0, 0, 0, 0, + 0, 0, 101, 0, 0, 0, 368, 101, 356, 369, + 357, 358, 359, 360, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 74, 0, 361, 101, 623, 0, + 0, 0, 0, 0, 623, 623, 0, 0, 0, 0, + 103, 103, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 363, 0, 101, 103, 0, 101, 364, 365, 366, + 367, 0, 0, 0, 0, 0, 103, 103, 0, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 74, 368, 103, 103, 369, 0, + 0, 0, 0, 74, 74, 0, 100, 101, 101, 0, + 0, 0, 0, 316, 100, 0, 0, 0, 0, 0, + 0, 0, 0, 128, 101, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 100, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 623, + 0, 0, 0, 0, 0, 0, 101, 100, 100, 103, + 103, 0, 0, 1073, 0, 101, 100, 103, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 100, 103, + 0, 0, 0, 0, 0, 266, 266, 0, 0, 266, + 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 0, 0, 0, 0, 127, + 0, 0, 0, 0, 0, 0, 288, 290, 291, 292, + 0, 0, 0, 266, 308, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 345, 346, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 103, 0, + 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 100, 0, 0, 1072, 0, 0, 0, 100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 103, 0, 0, 0, 0, 0, + 0, -455, 0, 0, 0, 101, 0, 0, 0, 0, + 0, 0, 0, 0, -455, -455, -455, -455, -455, -455, + 0, -455, 0, 0, 0, 0, -455, 0, -455, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -455, -455, + 0, -455, -455, -455, -455, -455, 0, 100, 0, 100, + 0, 0, 100, 0, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 969, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -455, 101, 0, -455, + -455, 498, 499, 500, 345, 101, 101, -455, 0, 0, + 0, 0, 0, 0, 0, 266, 0, 0, 266, 0, + -455, 0, 0, -455, 0, 0, -455, -455, 0, -455, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 0, 0, 0, 0, 100, 101, 101, 0, 0, + 0, 0, 101, 101, 100, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 586, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, + 0, 0, 619, 0, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 0, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 0, 0, 266, 0, 0, 0, 0, 0, 0, + 0, 101, 0, 673, 673, 0, 0, 0, 0, 0, + 0, 101, 101, 0, 0, 0, 0, 0, 266, 101, 0, 0, 0, 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, 101, 0, 673, 0, 266, 0, 673, 673, 0, + 0, 0, 0, 0, 266, 0, 0, 0, 0, 0, + 0, 0, 0, 719, 0, 0, 722, 723, 0, 0, + 0, 724, 0, 0, 727, 0, 730, 0, 308, 292, 0, 0, 0, 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, 673, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 727, 0, 101, 308, + 101, 803, 0, 101, 0, 0, 0, 0, 0, 266, 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, - 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, 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, - -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, -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, - 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, - -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, 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, + 0, 0, 0, 0, 0, 0, 760, 761, 0, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 0, 0, 0, 771, 416, 417, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 101, 0, 419, 0, + 0, 0, 0, 789, 0, 0, 796, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, + 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 0, -296, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -296, -296, -296, -296, -296, + -296, 0, -296, 0, 0, 0, 101, -296, 0, -296, + -296, -296, 0, 0, 0, 101, 101, 0, 0, -296, + -296, 0, -296, -296, -296, -296, -296, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -296, + 0, 0, 858, 0, 0, 771, 789, 0, 0, 0, + 0, 0, 0, 0, -296, -296, -296, -296, -296, -296, + -296, -296, -296, -296, -296, -296, 0, 0, 0, 0, + -296, -296, -296, 0, 0, -296, 884, 0, 0, 0, + 0, -296, 0, -296, 0, 727, 308, -296, 0, 0, + 0, 0, 0, 0, 0, -296, 0, -296, 0, 0, + -296, -296, 0, 0, -296, -296, -296, -296, -296, -296, + -296, -296, -296, -296, -296, -296, 0, 0, 0, 0, + 0, -296, -296, -296, -296, 0, 0, -296, -296, -296, + -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, + 0, 0, 673, 936, 0, 266, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, + 0, 0, 416, 417, 0, 0, 0, 501, 0, 0, + 0, 0, 0, 0, 0, 419, 673, 673, 0, 0, + 0, 727, 673, 673, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 673, 673, + 0, 673, 673, 0, 0, 0, 652, 653, 0, 0, + 654, 0, 1008, 0, 0, 0, 292, 0, 0, 0, + 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, + 179, 180, 181, 1020, 1021, 182, 183, 0, 0, 0, + 0, 184, 185, 186, 187, 0, 1026, 1027, 0, 0, + 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 1043, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 201, 202, 0, 0, 0, 0, 0, 0, 203, 275, + 1061, 1062, 0, 0, 0, 0, 0, 673, 0, 0, + 0, 0, -690, 3, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 673, 14, 0, 15, 16, 17, 18, 0, 0, 0, + 0, 308, 19, 20, 21, 22, 23, 24, 25, 0, + 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, -688, 0, 0, - -688, -688, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 0, 60, 61, 62, -420, 63, -690, 0, 0, + -690, -690, 0, 0, 0, 0, 0, 0, -420, -420, + -420, -420, -420, -420, 0, -420, 64, 65, 66, 0, + -420, -420, -420, -420, 0, 0, 266, 0, -690, 0, + -690, 0, -420, -420, 0, -420, -420, -420, -420, -420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -420, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, -420, 0, + 0, 0, 0, -420, -420, -420, 0, 0, -420, 0, + 0, 0, 0, 0, -420, 0, -420, 0, 0, 0, + -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -420, 0, 0, -420, -420, 0, 0, -420, 0, -420, + -420, -420, -420, -420, -420, -420, -420, -420, -420, 0, + 0, -551, 0, -420, -420, -420, -420, -420, 0, 275, + -420, -420, -420, -420, -551, -551, -551, -551, -551, -551, + 0, -551, 0, 0, 0, 0, -551, 0, -551, -551, + 0, 0, 0, 0, 0, 0, 0, 0, -551, -551, + 0, -551, -551, -551, -551, -551, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 496, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -551, -551, -551, -551, -551, -551, -551, + -551, -551, -551, -551, -551, 0, 0, 0, 0, -551, + -551, -551, 0, -551, -551, 0, 0, 0, 0, 0, + -551, 0, -551, 0, 0, 0, -551, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -551, 0, 0, -551, + -551, 0, -551, -551, 0, -551, -551, -551, -551, -551, + -551, -551, -551, -551, -551, 0, 0, -690, 0, 0, + -551, -551, -551, -551, 0, 0, -551, -551, -551, -551, + -690, -690, -690, -690, -690, -690, 0, -690, 0, 0, + 0, 0, -690, -690, -690, -690, 0, 0, 0, 0, + 0, 0, 0, 0, -690, -690, 0, -690, -690, -690, + -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -690, + -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, + -690, 0, 0, 0, 0, -690, -690, -690, 0, 0, + -690, 0, 0, 0, 0, 0, -690, 0, -690, 0, + 0, 0, -690, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -690, 0, 0, -690, -690, 0, 0, -690, + 0, -690, -690, -690, -690, -690, -690, -690, -690, -690, + -690, 0, 0, -690, 0, -690, -690, -690, -690, -690, + 0, 275, -690, -690, -690, -690, -690, -690, -690, -690, + -690, -690, 0, -690, 0, 0, 0, 0, -690, 0, + -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, + -690, -690, 0, -690, -690, -690, -690, -690, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -690, -690, -690, -690, -690, + -690, -690, -690, -690, -690, -690, -690, 0, 0, 0, + 0, -690, -690, -690, 0, 0, -690, 0, 0, 0, + 0, 0, -690, 0, -690, 0, 0, 0, -690, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -690, 0, + 0, -690, -690, 0, 0, -690, 0, -690, -690, -690, + -690, -690, -690, -690, -690, -690, -690, 0, 0, -667, + 0, 0, -690, -690, -690, -690, 0, 275, -690, -690, + -690, -690, -667, -667, -667, 0, -667, -667, 0, -667, + 0, 0, 0, 0, -667, -667, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -667, -667, 0, -667, + -667, -667, -667, -667, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -667, -667, -667, -667, -667, -667, -667, -667, -667, + -667, -667, -667, 0, 0, 0, 0, -667, -667, -667, + 0, 836, -667, 0, 0, 0, 0, 0, 0, 0, + -667, 0, 0, 0, -667, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -667, 0, 0, -667, -667, 0, + -110, -667, 0, -667, -667, -667, -667, -667, -667, -667, + -667, -667, -667, 0, 0, -667, 0, -667, -667, -667, + 0, -102, 0, 0, -667, -667, -667, -667, -667, -667, + -667, 0, -667, -667, 0, -667, 0, 0, 0, 0, + -667, -667, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -667, -667, 0, -667, -667, -667, -667, -667, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -667, -667, -667, + -667, -667, -667, -667, -667, -667, -667, -667, -667, 0, + 0, 0, 0, -667, -667, -667, 0, 836, -667, 0, + 0, 0, 0, 0, 0, 0, -667, 0, 0, 0, + -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -667, 0, 0, -667, -667, 0, -110, -667, 0, -667, + -667, -667, -667, -667, -667, -667, -667, -667, -667, 0, + 0, -305, 0, -667, -667, -667, 0, -667, 0, 0, + -667, -667, -667, -667, -305, -305, -305, 0, -305, -305, + 0, -305, 0, 0, 0, 0, -305, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -305, -305, + 0, -305, -305, -305, -305, -305, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -305, -305, -305, -305, -305, -305, -305, + -305, -305, -305, -305, -305, 0, 0, 0, 0, -305, + -305, -305, 0, 837, -305, 0, 0, 0, 0, 0, + 0, 0, -305, 0, 0, 0, -305, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -305, 0, 0, -305, + -305, 0, -112, -305, 0, -305, -305, -305, -305, -305, + -305, -305, -305, -305, -305, 0, 0, -305, 0, 0, + -305, -305, 0, -104, 0, 0, -305, -305, -305, -305, + -305, -305, -305, 0, -305, -305, 0, -305, 0, 0, + 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -305, -305, 0, -305, -305, -305, + -305, -305, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, + -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, + -305, 0, 0, 0, 0, -305, -305, -305, 0, 837, + -305, 0, 0, 0, 0, 0, 0, 0, -305, 0, + 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -305, 0, 0, -305, -305, 0, -112, -305, + 0, -305, -305, -305, -305, -305, -305, -305, -305, -305, + -305, 0, 0, -57, 0, 0, -305, -305, 0, -305, + 0, 0, -305, -305, -305, -305, -57, -57, -57, -57, + -57, -57, 0, -57, 0, 0, 0, 0, 403, 0, + -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -57, -57, 0, -57, -57, -57, -57, -57, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 404, 405, 406, 407, 408, + 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, -690, -690, -690, 0, 0, -690, 14, 0, + 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, + 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, + 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, + 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, + 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, + 61, 62, 0, 63, -690, 0, 0, -690, -690, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -690, 294, -690, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, + -690, 0, -690, -690, 14, 0, 15, 16, 17, 18, + 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, + 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, + 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, + 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, + 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, + 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, + -690, 0, 0, -690, -690, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -690, 294, -690, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 0, 0, -690, 0, 0, -690, + 14, -690, 15, 16, 17, 18, 0, 0, 0, 0, + 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, + 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, + 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, + 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, + 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, + 0, 60, 61, 62, 0, 63, -690, 0, 0, -690, + -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -690, 294, -690, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 0, 0, -690, 0, 0, -690, 14, 0, 15, 16, + 17, 18, -690, 0, 0, 0, 0, 19, 20, 21, + 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, + 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, + 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, -690, 0, 0, -690, -690, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -690, 294, -690, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 0, 0, -690, 0, + 0, -690, 14, 0, 15, 16, 17, 18, 0, 0, + 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, + 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, + 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, + 58, 59, 0, 60, 61, 62, 0, 63, -690, 0, + 0, -690, -690, 3, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, + 0, 14, 0, 15, 16, 17, 18, 0, 0, -690, + 0, -690, 19, 20, 21, 22, 23, 24, 25, 0, + 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, + 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, -690, 0, 0, + -690, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -688, 294, - -688, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 0, 0, -688, 0, -688, -688, 14, 0, 15, + 0, -690, 0, 0, 0, 0, 0, 0, -690, 294, + -690, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, -690, -690, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, @@ -4201,42 +4136,22 @@ 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, -688, 0, 0, -688, -688, 0, 0, + 62, 0, 63, -690, 0, 0, -690, -690, 294, 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, + 17, 18, 0, 0, -690, 0, -690, 19, 20, 21, + 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, + 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, + 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 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, 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, - 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, 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, - 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, + 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, + 0, 295, 52, 0, 53, 54, 0, 55, 0, 0, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, -690, 0, 0, -690, -690, 294, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, -688, 0, 0, -688, 14, 0, 15, 16, 17, - 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, + 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, + 18, 0, -690, -690, 0, -690, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, @@ -4245,23 +4160,23 @@ 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, -688, 0, 0, -688, -688, 3, 0, 4, 5, + 63, -690, 0, 0, -690, -690, 294, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, - 0, 0, -688, 0, -688, 19, 20, 21, 22, 23, + 0, -690, -690, 0, -690, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 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, + -690, 0, 0, -690, -690, 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, + 65, 66, 0, 0, -690, 0, 0, 0, 0, 0, + 0, -690, 294, -690, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 0, 0, -690, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, @@ -4271,22 +4186,22 @@ static const yytype_int16 yytable[] = 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, + 0, 60, 61, 62, 0, 63, -690, 0, 0, -690, + -690, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, - 0, 15, 16, 17, 18, 0, 0, -688, 0, -688, + 0, 15, 16, 17, 18, 0, 0, -690, 0, -690, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, - 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, + 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, 295, 52, 0, 53, 54, 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, + 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, -688, -688, 0, -688, 19, + 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, @@ -4295,117 +4210,11 @@ static const yytype_int16 yytable[] = 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, -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, - 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, -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, -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, 1058, 24, 25, - 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 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, -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, - 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, 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, 64, 65, 66, 0, 14, 0, 15, + 16, 17, 18, 0, 0, 249, 0, 250, 19, 20, + 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, @@ -4415,9 +4224,9 @@ static const yytype_int16 yytable[] = 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 246, 0, 0, 247, 248, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 64, 264, 66, 0, 14, 0, 15, 16, - 17, 18, 0, 0, 249, 0, 250, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, + 0, 0, 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, @@ -4425,111 +4234,137 @@ static const yytype_int16 yytable[] = 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, 63, 246, 0, 0, 247, 248, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 64, 264, 66, 0, 14, 0, 15, 16, 17, + 18, 0, 0, 249, 0, 250, 19, 20, 21, 22, + 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 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, - 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, + 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, 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, 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, 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, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, + 0, 0, 0, 0, 0, 203, 204, -660, -660, -660, + -660, -660, -660, -660, -660, -660, 0, 0, 0, 0, + 0, 0, 0, -660, 0, -660, -660, -660, -660, 0, + -660, 0, 0, 0, -660, -660, -660, -660, -660, -660, + -660, 0, 0, -660, 0, 0, 0, 0, 0, 0, + 0, 0, -660, -660, -660, -660, -660, -660, -660, -660, + -660, 0, -660, -660, -660, 0, 0, -660, 0, 0, + -660, -660, 0, -660, -660, -660, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -660, -660, + 0, 0, 0, 0, 0, -660, 0, 0, -660, -660, + 0, -660, -660, 0, -660, 0, -660, -660, -660, 0, + -660, -660, -660, 0, -660, -660, -660, 0, -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -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, -660, -660, + -660, 0, -660, 0, 0, 0, 0, 0, -660, -661, + -661, -661, -661, -661, -661, -661, -661, -661, 0, 0, + 0, 0, 0, 0, 0, -661, 0, -661, -661, -661, + -661, 0, -661, 0, 0, 0, -661, -661, -661, -661, + -661, -661, -661, 0, 0, -661, 0, 0, 0, 0, + 0, 0, 0, 0, -661, -661, -661, -661, -661, -661, + -661, -661, -661, 0, -661, -661, -661, 0, 0, -661, + 0, 0, -661, -661, 0, -661, -661, -661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -664, -664, -664, 0, 0, - 0, 0, 0, 0, 0, -664, 131, 132, 133, 134, + -661, -661, 0, 0, 0, 0, 0, -661, 0, 0, + -661, -661, 0, -661, -661, 0, -661, 0, -661, -661, + -661, 0, -661, -661, -661, 0, -661, -661, -661, 0, + -661, 0, 0, 0, 0, 0, 0, -663, -663, -663, + -663, -663, -663, -663, -663, -663, 0, 0, 0, 0, + -661, -661, -661, -663, -661, -663, -663, -663, -663, 0, + -661, 0, 0, 0, -663, -663, -663, -663, -663, -663, + -663, 0, 0, -663, 0, 0, 0, 0, 0, 0, + 0, 0, -663, -663, -663, -663, -663, -663, -663, -663, + -663, 0, -663, -663, -663, 0, 0, -663, 0, 0, + -663, -663, 0, -663, -663, -663, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -663, -663, + 0, 0, 0, 0, 0, -663, 868, 0, -663, -663, + 0, -663, -663, 0, -663, 0, -663, -663, -663, 0, + -663, -663, -663, 0, -663, -663, -663, 0, -663, 0, + 0, 0, 0, 0, 0, -110, -664, -664, -664, -664, + -664, -664, -664, -664, -664, 0, 0, 0, -663, -663, + -663, 0, -664, 0, -664, -664, -664, -664, -663, 0, + 0, 0, 0, -664, -664, -664, -664, -664, -664, -664, + 0, 0, -664, 0, 0, 0, 0, 0, 0, 0, + 0, -664, -664, -664, -664, -664, -664, -664, -664, -664, + 0, -664, -664, -664, 0, 0, -664, 0, 0, -664, + -664, 0, -664, -664, -664, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -664, -664, 0, + 0, 0, 0, 0, -664, 869, 0, -664, -664, 0, + -664, -664, 0, -664, 0, -664, -664, -664, 0, -664, + -664, -664, 0, -664, -664, -664, 0, -664, 0, 0, + 0, 0, 0, 0, -112, -665, -665, -665, -665, -665, + -665, -665, -665, -665, 0, 0, 0, -664, -664, -664, + 0, -665, 0, -665, -665, -665, -665, -664, 0, 0, + 0, 0, -665, -665, -665, -665, -665, -665, -665, 0, + 0, -665, 0, 0, 0, 0, 0, 0, 0, 0, + -665, -665, -665, -665, -665, -665, -665, -665, -665, 0, + -665, -665, -665, 0, 0, -665, 0, 0, -665, -665, + 0, -665, -665, -665, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -665, -665, 0, 0, + 0, 0, 0, -665, 0, 0, -665, -665, 0, -665, + -665, 0, -665, 0, -665, -665, -665, 0, -665, -665, + -665, 0, -665, -665, -665, 0, -665, 0, 0, 0, + 0, 0, 0, -666, -666, -666, -666, -666, -666, -666, + -666, -666, 0, 0, 0, 0, -665, -665, -665, -666, + 0, -666, -666, -666, -666, 0, -665, 0, 0, 0, + -666, -666, -666, -666, -666, -666, -666, 0, 0, -666, + 0, 0, 0, 0, 0, 0, 0, 0, -666, -666, + -666, -666, -666, -666, -666, -666, -666, 0, -666, -666, + -666, 0, 0, -666, 0, 0, -666, -666, 0, -666, + -666, -666, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -666, -666, 0, 0, 0, 0, + 0, -666, 0, 0, -666, -666, 0, -666, -666, 0, + -666, 0, -666, -666, -666, 0, -666, -666, -666, 0, + -666, -666, -666, 0, -666, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -666, -666, -666, 0, 0, 0, + 0, 0, 0, 0, -666, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, + 0, 0, 155, 156, 157, 232, 233, 234, 235, 162, + 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, + 236, 237, 238, 239, 172, 319, 320, 240, 321, 0, + 0, 0, 0, 0, 0, 322, 0, 0, 0, 0, + 0, 323, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 324, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, + 0, 0, 0, 0, 0, 203, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 232, 233, 234, 235, 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, 236, 237, 238, 239, 172, 319, 320, 240, 321, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, - 0, 0, 323, 174, 175, 176, 177, 178, 179, 180, + 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, - 324, 0, 0, 0, 0, 0, 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, @@ -4537,13 +4372,13 @@ static const yytype_int16 yytable[] = 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, + 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, 487, 0, 0, 0, 0, 0, 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, @@ -4557,558 +4392,453 @@ static const yytype_int16 yytable[] = 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, + 201, 202, 0, 0, 0, 0, 0, 0, 203, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 0, 0, 0, 14, 0, 108, 109, 17, + 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, + 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, + 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, + 120, 108, 109, 17, 18, 0, 0, 0, 313, 0, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 312, 0, 0, 119, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 0, 0, 14, 120, 15, 16, 17, 18, 0, + 0, 0, 612, 0, 19, 20, 21, 22, 23, 24, + 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, + 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 64, 65, + 66, 14, 0, 15, 16, 17, 18, 0, 0, 0, + 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, + 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, + 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, + 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 64, 65, 66, 14, + 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, + 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 260, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, + 261, 0, 262, 263, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 64, 264, 66, 14, 0, 15, + 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, + 21, 22, 23, 24, 25, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 259, + 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 260, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 509, 0, 0, 0, 0, 0, 211, + 0, 0, 119, 52, 0, 53, 54, 0, 261, 0, + 262, 263, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 64, 264, 66, 14, 0, 108, 109, 17, + 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, + 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 259, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 260, 46, 47, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, + 119, 52, 0, 53, 54, 0, 726, 0, 262, 263, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, + 64, 264, 66, 14, 0, 108, 109, 17, 18, 0, + 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, + 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 259, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 260, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 886, + 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, + 0, 53, 54, 0, 726, 0, 262, 263, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 0, 0, 0, 0, 64, 264, + 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, + 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 259, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 260, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, + 54, 0, 261, 0, 262, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, + 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 64, 264, 66, 14, + 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 259, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 260, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, + 0, 0, 262, 263, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 64, 264, 66, 14, 0, 108, + 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, + 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 259, + 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 260, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, + 0, 0, 119, 52, 0, 53, 54, 0, 726, 0, + 262, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 64, 264, 66, 14, 0, 108, 109, 17, + 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, + 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 259, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 260, 46, 47, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, + 119, 52, 0, 53, 54, 0, 0, 0, 262, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, + 64, 264, 66, 14, 0, 15, 16, 17, 18, 0, + 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, + 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, + 0, 53, 54, 0, 606, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 0, 0, 0, 0, 64, 264, + 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, + 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, + 54, 0, 261, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, + 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 64, 264, 66, 14, + 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, + 606, 0, 0, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 64, 264, 66, 14, 0, 108, + 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, + 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, + 0, 0, 119, 52, 0, 53, 54, 0, 932, 0, + 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 64, 264, 66, 14, 0, 108, 109, 17, + 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, + 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, + 119, 52, 0, 53, 54, 0, 726, 0, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, + 64, 264, 66, 14, 0, 15, 16, 17, 18, 0, + 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, + 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, + 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 0, 0, 0, 0, 64, 65, + 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, + 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, + 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, + 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 64, 264, 66, 14, + 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, + 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 64, 264, 66, 14, 0, 108, + 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, + 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 114, + 34, 35, 36, 115, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 117, 0, 0, 118, + 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, + 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, + 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, + 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 0, 51, 52, 0, 53, + 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, + 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, + 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, + 399, 52, 0, 53, 54, 0, 400, 0, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, + 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 114, 34, 35, 36, 115, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 116, + 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, 1030, + 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, + 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, + 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, + 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1069, 0, 0, 119, 52, 0, 53, + 54, 0, 0, 661, 662, 0, 56, 663, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 120, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 682, + 653, 0, 0, 683, 0, 203, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 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, 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, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 702, 662, 0, + 0, 703, 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 709, 653, 0, 0, 710, 0, 203, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 712, + 662, 0, 0, 713, 0, 203, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 749, 653, 0, 0, 750, + 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 752, 662, 0, 0, 753, 0, 203, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 937, 653, 0, + 0, 938, 0, 203, 275, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 940, 662, 0, 0, 941, 0, 203, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 1142, + 653, 0, 0, 1143, 0, 203, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 1157, 653, 0, 0, 1158, + 0, 203, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 1160, 662, 0, 0, 1161, 0, 203, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 667, 662, 0, + 0, 668, 0, 203, 275, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 904, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, - 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, - 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, - 14, 120, 108, 109, 17, 18, 0, 0, 0, 313, - 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 312, 0, 0, 119, 52, 0, 53, 54, - 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 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, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, - 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 0, 0, 0, 0, 64, 65, 66, 14, 0, - 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 259, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 260, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 261, - 0, 262, 263, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 264, 66, 14, 0, 15, 16, - 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 259, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 260, 46, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 509, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 261, 0, 262, - 263, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 64, 264, 66, 14, 0, 108, 109, 17, 18, - 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, - 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 31, 32, 259, 34, 35, 36, - 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 260, 46, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 726, 0, 262, 263, 56, - 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, - 264, 66, 14, 0, 108, 109, 17, 18, 0, 0, - 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, - 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 259, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 260, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 886, 0, - 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 726, 0, 262, 263, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, - 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 0, 0, 0, 0, 64, 264, 66, - 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, - 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 259, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 260, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 261, 0, 262, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, - 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 0, 0, 0, 0, 64, 264, 66, 14, 0, - 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, - 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 259, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 260, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, - 0, 262, 263, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 264, 66, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, - 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 259, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 260, 46, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 726, 0, 262, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 64, 264, 66, 14, 0, 108, 109, 17, 18, - 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, - 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 31, 32, 259, 34, 35, 36, - 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 260, 46, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 0, 0, 262, 0, 56, - 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, - 264, 66, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, - 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 606, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, - 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 0, 0, 0, 0, 64, 264, 66, - 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, - 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 261, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, - 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 0, 0, 0, 0, 64, 264, 66, 14, 0, - 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, - 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 606, - 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 264, 66, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, - 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 932, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 64, 264, 66, 14, 0, 108, 109, 17, 18, - 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, - 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 726, 0, 0, 0, 56, - 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, - 264, 66, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, - 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, - 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 0, 0, 0, 0, 64, 65, 66, - 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, - 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, - 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 0, 0, 0, 0, 64, 264, 66, 14, 0, - 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, - 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 264, 66, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, - 22, 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, 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, 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, - 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, 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, - 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, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 682, 653, 0, 0, 683, 0, 203, 275, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 175, 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, 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, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 702, 662, 0, 0, 703, 0, 203, 275, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 201, 202, 709, 653, 0, 0, - 710, 0, 203, 275, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 712, 662, 0, 0, 713, 0, 203, 275, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, - 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 0, 201, 202, 749, 653, - 0, 0, 750, 0, 203, 275, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 201, 202, 752, 662, 0, 0, 753, 0, - 203, 275, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 937, 653, 0, 0, 938, 0, 203, 275, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 201, 202, 940, 662, 0, 0, - 941, 0, 203, 275, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 1062, 653, 0, 0, 1063, 0, 203, 275, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, - 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 0, 201, 202, 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, - 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, 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, 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, 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, @@ -5121,771 +4851,678 @@ 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, -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, -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, -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, -283, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, - 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, - 0, 0, 0, -285, 404, 405, 406, 407, 408, 409, + 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, + 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, + 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, + 0, 0, 0, 0, -280, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, + 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, + 0, 0, 0, 0, 0, -282, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, - 0, 0, 416, 417, 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, + 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, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430 + 0, 0, 0, 0, 0, 0, -283, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, + 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, + 0, 0, 0, 0, 0, 0, 0, -285, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + -691, -691, 0, 0, 0, 0, 416, 417, 404, 405, + 406, 407, 408, 409, 410, 0, 412, 413, 0, 419, + 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, + 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -691, -691, -691, -691, 408, 409, 0, 0, -691, -691, + 404, 405, 406, 407, 408, 409, 416, 417, 412, 413, + 0, 0, 0, 0, 0, 0, 416, 417, 0, 419, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430 }; static const yytype_int16 yycheck[] = { - 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, 26, 15, 16, 88, 27, 19, 68, 86, 87, + 1, 490, 3, 6, 378, 21, 313, 14, 13, 20, + 481, 12, 65, 306, 271, 508, 792, 310, 3, 9, + 443, 444, 27, 597, 14, 284, 402, 118, 55, 764, + 373, 81, 15, 16, 8, 9, 19, 51, 318, 547, + 14, 639, 53, 54, 815, 6, 539, 331, 594, 318, + 51, 394, 13, 1, 57, 3, 670, 671, 814, 1013, + 26, 68, 73, 74, 820, 34, 27, 594, 74, 402, + 25, 269, 74, 271, 73, 74, 15, 16, 25, 25, + 19, 90, 51, 4, 5, 431, 16, 295, 104, 435, + 370, 12, 438, 15, 16, 504, 57, 19, 968, 508, + 111, 370, 20, 21, 612, 25, 1038, 305, 144, 51, + 443, 444, 433, 459, 53, 54, 0, 460, 119, 717, + 122, 79, 121, 122, 59, 60, 61, 62, 474, 217, + 476, 53, 54, 25, 55, 26, 25, 458, 147, 485, + 228, 93, 57, 117, 221, 1048, 29, 92, 25, 25, + 103, 90, 92, 20, 475, 693, 138, 57, 25, 697, + 81, 15, 16, 484, 332, 19, 704, 335, 126, 337, + 55, 339, 138, 341, 126, 128, 121, 119, 144, 525, + 1050, 121, 1136, 58, 59, 115, 104, 142, 118, 119, + 51, 399, 92, 111, 112, 142, 142, 968, 144, 53, + 16, 289, 213, 214, 550, 16, 121, 213, 214, 210, + 756, 129, 214, 1145, 213, 214, 146, 18, 148, 20, + 90, 121, 142, 769, 40, 41, 297, 315, 549, 756, + 113, 90, 222, 223, 305, 306, 850, 28, 241, 310, + 547, 102, 769, 736, 251, 106, 105, 138, 222, 223, + 142, 1154, 275, 142, 666, 278, 513, 669, 269, 1035, + 271, 90, 1038, 313, 275, 142, 142, 144, 90, 37, + 38, 551, 90, 51, 558, 687, 105, 147, 139, 1050, + 241, 295, 551, 1018, 16, 90, 287, 105, 147, 18, + 297, 1047, 800, 294, 295, 278, 25, 121, 90, 115, + 580, 302, 118, 119, 115, 612, 142, 118, 119, 283, + 284, 140, 92, 105, 512, 513, 692, 597, 147, 318, + 600, 121, 140, 92, 102, 147, 735, 736, 106, 147, + 146, 142, 148, 907, 144, 146, 275, 148, 681, 278, + 90, 121, 147, 125, 397, 287, 294, 348, 140, 402, + 90, 90, 353, 295, 302, 147, 278, 58, 59, 349, + 350, 351, 352, 348, 101, 376, 457, 378, 90, 1145, + 90, 370, 373, 400, 901, 349, 350, 351, 352, 90, + 354, 355, 55, 115, 911, 399, 118, 119, 556, 324, + 443, 444, 313, 394, 131, 132, 133, 147, 399, 1155, + 348, 402, 776, 17, 18, 353, 877, 147, 147, 60, + 433, 609, 63, 836, 146, 594, 148, 121, 597, 842, + 843, 275, 433, 121, 278, 147, 1, 147, 3, 4, + 5, 92, 841, 8, 9, 458, 147, 12, 142, 14, + 15, 16, 443, 444, 19, 839, 92, 458, 40, 41, + 793, 845, 475, 746, 92, 466, 107, 399, 804, 460, + 806, 484, 660, 92, 475, 55, 725, 502, 25, 802, + 471, 1009, 729, 484, 435, 121, 51, 438, 479, 400, + 55, 20, 51, 121, 805, 92, 55, 461, 489, 521, + 65, 26, 121, 800, 433, 545, 142, 547, 459, 92, + 142, 512, 513, 836, 511, 848, 81, 26, 1035, 842, + 843, 522, 792, 142, 121, 476, 521, 435, 1011, 458, + 1009, 522, 720, 142, 485, 57, 549, 138, 121, 471, + 531, 729, 919, 920, 622, 1133, 475, 479, 549, 92, + 101, 459, 117, 397, 119, 484, 145, 489, 402, 923, + 924, 894, 551, 121, 977, 90, 557, 141, 476, 139, + 521, 584, 612, 92, 525, 504, 90, 485, 121, 508, + 105, 90, 92, 55, 522, 16, 835, 756, 101, 92, + 603, 105, 504, 531, 121, 122, 105, 142, 92, 550, + 769, 1129, 121, 101, 605, 57, 121, 536, 142, 121, + 539, 121, 1011, 138, 27, 140, 641, 525, 121, 144, + 549, 1138, 147, 792, 536, 557, 140, 121, 51, 138, + 144, 140, 1149, 147, 545, 144, 547, 907, 147, 909, + 887, 142, 550, 913, 893, 210, 142, 142, 142, 493, + 387, 657, 389, 720, 977, 988, 51, 222, 223, 660, + 666, 142, 51, 669, 121, 666, 142, 99, 669, 670, + 671, 63, 64, 65, 443, 444, 51, 15, 53, 54, + 55, 56, 92, 13, 115, 746, 687, 118, 119, 215, + 681, 692, 693, 715, 69, 221, 697, 690, 16, 887, + 680, 612, 115, 704, 121, 118, 119, 121, 477, 478, + 275, 121, 63, 278, 15, 146, 680, 148, 283, 284, + 715, 145, 287, 92, 116, 117, 145, 139, 729, 294, + 295, 142, 258, 146, 714, 148, 15, 302, 907, 690, + 142, 142, 1106, 15, 142, 92, 1016, 1017, 313, 657, + 714, 51, 121, 53, 54, 55, 56, 526, 666, 802, + 800, 669, 846, 62, 715, 64, 65, 142, 1038, 69, + 1040, 44, 121, 142, 121, 776, 141, 685, 299, 687, + 92, 90, 303, 348, 349, 350, 351, 352, 353, 354, + 355, 1127, 805, 836, 837, 142, 105, 141, 15, 842, + 843, 141, 793, 18, 805, 141, 735, 736, 373, 121, + 801, 802, 139, 880, 15, 1126, 139, 116, 117, 141, + 139, 142, 348, 735, 1094, 44, 26, 1097, 57, 394, + 142, 140, 397, 44, 399, 400, 362, 402, 147, 142, + 115, 57, 142, 118, 119, 836, 142, 26, 692, 850, + 90, 842, 843, 587, 380, 806, 142, 848, 849, 860, + 142, 55, 863, 801, 51, 105, 1035, 51, 433, 1038, + 1140, 862, 142, 26, 142, 1145, 805, 1147, 443, 444, + 90, 1151, 90, 874, 875, 865, 887, 142, 1137, 800, + 90, 15, 883, 458, 93, 460, 461, 105, 806, 14, + 140, 865, 15, 894, 895, 105, 471, 147, 15, 145, + 475, 90, 841, 15, 479, 1185, 142, 849, 142, 484, + 37, 38, 923, 924, 489, 992, 105, 139, 142, 841, + 862, 998, 140, 142, 977, 142, 141, 90, 138, 147, + 140, 93, 874, 875, 144, 26, 141, 147, 51, 90, + 142, 883, 105, 142, 480, 481, 142, 522, 55, 138, + 142, 140, 142, 895, 105, 144, 531, 61, 147, 115, + 64, 65, 118, 119, 57, 15, 1145, 139, 15, 15, + 545, 15, 547, 814, 549, 138, 977, 140, 509, 820, + 139, 144, 557, 1071, 147, 516, 987, 988, 115, 140, + 991, 118, 119, 142, 995, 531, 147, 528, 1009, 90, + 921, 55, 538, 1080, 1081, 926, 1007, 126, 126, 584, + 142, 139, 116, 117, 105, 1005, 1006, 15, 55, 146, + 142, 148, 115, 587, 90, 118, 119, 591, 603, 90, + 123, 1005, 1006, 142, 781, 782, 783, 612, 785, 105, + 787, 142, 142, 142, 105, 987, 142, 138, 792, 140, + 581, 582, 1087, 995, 142, 148, 147, 836, 837, 142, + 142, 15, 141, 842, 843, 1007, 15, 144, 144, 90, + 991, 1082, 1011, 1074, 140, 1076, 15, 142, 1079, 140, + 611, 147, 142, 15, 105, 90, 147, 522, 12, 868, + 869, 41, 871, 872, 40, 1106, 1129, 5, 51, 792, + 105, 942, 1136, 1126, 1181, 680, 681, 90, 1052, 51, + 965, 53, 54, 55, 56, 1126, 69, 1128, 1129, 140, + 1197, 1198, 105, 847, 815, 966, 147, 69, 969, 253, + 1131, 1132, 1074, 1128, 1076, 140, 6, 1079, 90, 714, + 587, 1035, 147, 679, 928, 929, 1032, 624, 101, 102, + 103, -1, 94, 105, 1165, 1166, -1, 140, 689, 101, + 102, 103, 639, -1, 147, 1, 1127, 3, -1, -1, + -1, -1, 8, 9, -1, 128, -1, -1, 14, 15, + 16, 90, -1, 19, 720, 1196, 128, 1126, 140, 1131, + 1132, 1192, 1203, 1204, -1, 147, 105, -1, 977, -1, + 1201, 1202, -1, 1193, 1194, -1, 1047, 1048, 624, 1127, + 62, 1052, 64, 65, 745, 51, -1, -1, 793, 1193, + 1194, 1000, -1, 639, -1, 800, 801, 802, 792, 65, + 805, 140, -1, 115, 765, -1, 118, 119, 147, -1, + 717, -1, 778, -1, 63, 64, 65, 792, -1, 61, + 1192, 1035, 64, 65, 1165, 1166, 63, 64, 65, 1201, + 1202, 836, 837, -1, 116, 117, 148, 842, 843, 63, + 64, 65, -1, 848, 849, 1022, 1023, 1024, 1025, -1, + 1121, 117, -1, 119, -1, 1196, -1, 862, 1032, -1, + 865, 1035, 1203, 1204, 1038, -1, 1040, 116, 117, 874, + 875, 717, -1, -1, 116, 117, -1, -1, 883, 116, + 117, -1, -1, 1154, 1155, -1, 852, -1, -1, 894, + 895, -1, 116, 117, -1, -1, 1110, 1111, 1112, 115, + 1114, 1115, 118, 119, -1, -1, -1, 814, -1, -1, + -1, 877, -1, 820, 880, -1, 921, -1, 1189, -1, + -1, 926, -1, -1, -1, 886, 63, 64, 65, 145, + 146, -1, 148, 1107, 63, 64, 65, -1, 63, 64, + 65, 902, -1, 1, 210, 3, 4, 5, -1, -1, + 63, 64, 65, -1, 12, -1, 222, 223, 1172, 1173, + 1174, 1175, -1, 115, 1141, -1, 118, 119, 814, 815, + -1, 1145, 977, 1147, 820, 1149, -1, 1151, -1, 116, + 117, 1195, 987, 988, -1, -1, 991, 116, 117, -1, + 995, 116, 117, 51, 146, -1, 148, 55, -1, -1, + 1005, 1006, 1007, 116, 117, -1, -1, -1, -1, 275, + -1, 1185, 278, -1, -1, -1, 115, 283, 284, 118, + 119, 287, -1, 81, -1, -1, 992, -1, 294, 295, + -1, -1, 998, -1, -1, 942, 302, -1, 1032, -1, + -1, 1035, -1, 142, 1038, -1, 1040, 146, 51, 148, + 53, 54, 55, 56, -1, -1, -1, 1032, 965, 966, + 1035, 119, 969, 1038, -1, 1040, 69, -1, -1, 1074, + -1, 1076, -1, -1, 1079, 51, -1, 53, 54, 55, + 56, -1, 348, 349, 350, 351, 352, 353, 354, 355, + -1, 94, -1, 69, -1, -1, 942, 100, -1, 51, + -1, 53, 54, 55, 56, -1, 115, 373, -1, 118, + 119, -1, -1, 1107, 1080, 1081, -1, 69, 94, 965, + 966, 1126, 968, 969, 100, -1, 1131, 1132, 394, -1, + 101, 397, 1107, 399, -1, -1, 402, 146, -1, 148, + 1047, 1048, 94, -1, -1, 1052, 40, 41, 42, 43, + 44, 1145, 210, 1147, -1, 1149, -1, 1151, 129, 130, + 131, 132, 133, -1, -1, -1, -1, 433, -1, -1, + 1145, -1, 1147, -1, 1149, -1, 1151, 443, 444, -1, + -1, -1, -1, -1, -1, -1, -1, 1192, 1193, 1194, + -1, 1185, 458, -1, 460, 461, 1201, 1202, 88, 89, + -1, 1047, 1048, -1, 1050, 471, 1052, -1, -1, 475, + 1185, 101, -1, 479, 1121, 1181, -1, 51, 484, 53, + 54, 55, 56, 489, -1, -1, 1133, -1, -1, 287, + -1, 1197, 1198, -1, -1, 69, 294, 295, 128, 129, + 130, 131, 132, 133, 302, -1, -1, 1154, 1155, -1, + -1, -1, -1, -1, -1, 313, 522, -1, -1, -1, + -1, 88, 89, -1, -1, 531, -1, -1, 34, 35, + 36, -1, -1, -1, 101, 1121, -1, -1, -1, -1, + -1, -1, 1189, 549, -1, 51, -1, 1133, -1, 55, + 348, 557, 58, 59, -1, 353, 51, 63, 53, 54, + 55, 56, 129, 130, 131, 132, 133, -1, 1154, 1155, + -1, -1, -1, -1, 69, 373, -1, -1, 584, -1, + -1, -1, -1, -1, -1, 91, -1, -1, 83, -1, + -1, 97, 98, -1, 100, -1, 394, 603, -1, 94, + 106, 399, 400, 1189, 402, 100, 101, 102, 103, -1, + -1, -1, -1, 1, -1, 3, 4, 5, -1, -1, + -1, 127, -1, -1, 12, -1, 121, -1, 134, -1, + -1, -1, -1, 128, -1, 141, 131, -1, -1, -1, + -1, -1, -1, -1, -1, 443, 444, -1, -1, 144, -1, -1, -1, -1, -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, 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, + -1, -1, 460, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, 471, 680, 681, -1, -1, -1, -1, + -1, 479, 34, 35, 36, -1, -1, -1, -1, -1, + -1, 489, -1, 81, -1, -1, -1, -1, -1, 51, + 0, -1, -1, 55, -1, -1, 58, 59, 714, -1, + -1, 63, -1, 13, 14, 15, 16, 17, 18, -1, + 20, -1, -1, -1, 522, 25, 26, 27, -1, -1, + -1, 119, -1, 531, -1, -1, -1, 37, 38, 91, + 40, 41, 42, 43, 44, 97, 98, 545, 100, 547, + 102, -1, -1, -1, 106, -1, -1, -1, -1, 557, + 34, 35, 36, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 127, -1, 51, -1, -1, + -1, 55, 134, -1, 58, 59, -1, 793, -1, 63, + 90, -1, -1, -1, -1, 801, 802, -1, -1, 805, + -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, 612, 115, -1, 91, 118, 119, + -1, -1, 210, 97, 98, -1, 100, -1, -1, -1, + 836, 837, 106, 34, 35, 36, 842, 843, 138, 139, + -1, -1, 848, 849, 144, 145, 146, 147, 148, -1, + 51, -1, -1, 127, 55, -1, 862, 58, 59, 865, + 134, -1, 63, -1, -1, -1, -1, -1, 874, 875, + -1, -1, -1, -1, -1, -1, -1, 883, -1, -1, + -1, -1, -1, 681, -1, -1, -1, -1, 894, 895, + 91, -1, -1, -1, -1, -1, 97, 98, -1, 287, + -1, -1, -1, -1, -1, 106, 294, 295, 88, 89, + -1, -1, -1, 1, 302, 3, 4, 5, -1, -1, + -1, 101, -1, -1, 12, 313, 127, -1, -1, -1, + -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, + 348, -1, -1, 51, -1, 353, -1, 55, -1, -1, + -1, 977, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 987, 988, -1, -1, 373, -1, -1, -1, 995, + -1, -1, -1, 81, -1, 793, -1, -1, -1, 1005, + 1006, 1007, 800, 801, 802, -1, 394, -1, -1, -1, + -1, 399, 400, -1, 402, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, + -1, 119, -1, -1, -1, 12, -1, -1, 836, -1, + -1, -1, -1, -1, 842, 843, -1, -1, -1, -1, + 848, 849, -1, -1, -1, 443, 444, -1, -1, -1, + -1, -1, -1, -1, 862, -1, -1, -1, 1074, -1, + 1076, -1, 460, 1079, 51, -1, 874, 875, 55, -1, + -1, -1, -1, 471, -1, 883, -1, -1, -1, -1, + -1, 479, -1, -1, -1, -1, 894, 895, -1, -1, + -1, 489, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1126, -1, 210, 921, -1, 1131, 1132, -1, 926, -1, + -1, -1, -1, 51, 522, 53, 54, 55, 56, -1, + -1, -1, 119, 531, -1, -1, -1, -1, -1, -1, + -1, 69, -1, -1, -1, -1, -1, 545, -1, 547, + -1, -1, -1, -1, -1, 83, -1, -1, -1, 557, + -1, -1, -1, -1, -1, -1, 94, -1, -1, 977, + -1, -1, 100, 101, 102, 103, 1192, 1193, 1194, 987, + 988, -1, -1, 991, -1, 1201, 1202, 995, -1, 287, + -1, -1, -1, -1, -1, -1, 294, 295, -1, 1007, + 128, -1, -1, 131, 302, -1, -1, -1, 51, -1, + 53, 54, 55, 56, 612, 313, 144, -1, -1, -1, + -1, -1, -1, 210, -1, -1, 69, -1, -1, 51, + -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, + 348, 94, -1, -1, -1, 353, -1, 100, 101, 102, + 103, -1, -1, -1, -1, -1, 1074, -1, 1076, -1, + -1, 1079, 94, -1, -1, 373, -1, -1, 100, 101, + 102, 103, -1, 681, -1, 128, -1, -1, 131, -1, + -1, -1, -1, -1, -1, -1, 394, -1, -1, 142, + 287, 399, 400, -1, 402, -1, 128, 294, 295, 131, + -1, -1, -1, -1, -1, 302, -1, -1, -1, -1, + -1, -1, 144, 1131, 1132, -1, 313, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 443, 444, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 348, 460, -1, -1, 1, 353, 3, -1, -1, + -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, + -1, 479, -1, -1, 1192, -1, 373, -1, -1, -1, + -1, 489, -1, 1201, 1202, 793, -1, -1, -1, -1, + -1, -1, 800, 801, 802, -1, -1, 394, -1, -1, + -1, -1, 399, 400, -1, 51, -1, -1, 51, -1, + 53, 54, 55, 56, 522, -1, -1, -1, -1, -1, + -1, -1, -1, 531, -1, -1, 69, -1, 836, -1, + -1, -1, -1, -1, 842, 843, -1, 545, -1, 547, + 848, 849, 85, -1, -1, -1, -1, -1, -1, 557, + -1, 94, -1, -1, 862, -1, -1, 100, 101, 102, + 103, -1, -1, 460, -1, -1, 874, 875, -1, -1, + -1, -1, -1, 119, 471, 883, -1, -1, -1, -1, + -1, -1, 479, -1, -1, 128, 894, 895, 131, -1, + -1, -1, 489, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 612, -1, -1, -1, 44, -1, + -1, -1, -1, 921, -1, -1, -1, -1, 926, -1, + -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, + -1, -1, -1, -1, 531, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 545, -1, + 547, -1, 88, 89, -1, -1, -1, -1, -1, -1, + 557, -1, -1, -1, 210, 101, -1, -1, -1, 977, + -1, -1, -1, 681, -1, -1, -1, -1, -1, 987, + 988, -1, -1, 991, -1, -1, 122, 995, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, 1007, + -1, -1, -1, -1, -1, -1, 142, -1, -1, 51, + -1, 53, 54, 55, 56, 612, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 69, -1, 51, + -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, + -1, 287, -1, 85, -1, -1, -1, 69, 294, 295, + -1, -1, 94, -1, -1, -1, 302, -1, 100, 101, + 102, 103, -1, 85, -1, -1, 1074, -1, 1076, -1, + -1, 1079, 94, -1, -1, -1, -1, -1, 100, 101, + 102, 103, -1, -1, 681, 793, 128, -1, -1, 131, + -1, -1, 800, 801, 802, -1, -1, -1, -1, -1, + -1, -1, 348, -1, -1, -1, 128, 353, 51, 131, + 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1131, 1132, -1, 69, 373, 836, -1, + -1, -1, -1, -1, 842, 843, -1, -1, -1, -1, + 848, 849, -1, -1, -1, -1, -1, -1, 394, -1, + -1, 94, -1, 399, 862, -1, 402, 100, 101, 102, + 103, -1, -1, -1, -1, -1, 874, 875, -1, -1, + -1, -1, -1, -1, -1, 883, -1, -1, -1, -1, + -1, -1, -1, -1, 1192, 128, 894, 895, 131, -1, + -1, -1, -1, 1201, 1202, -1, 793, 443, 444, -1, + -1, -1, -1, 800, 801, -1, -1, -1, -1, -1, + -1, -1, -1, 921, 460, -1, -1, -1, 926, -1, + -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, + -1, -1, -1, 479, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, + -1, 848, 849, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 862, -1, -1, -1, 977, + -1, -1, -1, -1, -1, -1, 522, 874, 875, 987, + 988, -1, -1, 991, -1, 531, 883, 995, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 894, 895, 1007, + -1, -1, -1, -1, -1, 15, 16, -1, -1, 19, + -1, 557, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 921, -1, -1, -1, -1, 926, + -1, -1, -1, -1, -1, -1, 46, 47, 48, 49, + -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1074, -1, 1076, -1, + -1, 1079, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 987, 988, -1, -1, 991, -1, -1, -1, 995, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1007, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1131, 1132, -1, -1, -1, -1, -1, + -1, 0, -1, -1, -1, 681, -1, -1, -1, -1, + -1, -1, -1, -1, 13, 14, 15, 16, 17, 18, + -1, 20, -1, -1, -1, -1, 25, -1, 27, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 40, 41, 42, 43, 44, -1, 1074, -1, 1076, + -1, -1, 1079, -1, 1192, -1, -1, -1, -1, -1, + -1, -1, -1, 1201, 1202, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1131, 1132, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 115, 793, -1, 118, + 119, 261, 262, 263, 264, 801, 802, 126, -1, -1, + -1, -1, -1, -1, -1, 275, -1, -1, 278, -1, + 139, -1, -1, 142, -1, -1, 145, 146, -1, 148, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 836, -1, -1, -1, -1, 1192, 842, 843, -1, -1, + -1, -1, 848, 849, 1201, 1202, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 862, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 874, 875, + -1, -1, -1, -1, -1, -1, -1, 883, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 894, 895, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 374, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 385, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 397, -1, -1, + -1, -1, 402, -1, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, -1, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, -1, 433, -1, -1, -1, -1, -1, -1, + -1, 977, -1, 443, 444, -1, -1, -1, -1, -1, + -1, 987, 988, -1, -1, -1, -1, -1, 458, 995, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1007, -1, 473, -1, 475, -1, 477, 478, -1, + -1, -1, -1, -1, 484, -1, -1, -1, -1, -1, + -1, -1, -1, 493, -1, -1, 496, 497, -1, -1, + -1, 501, -1, -1, 504, -1, 506, -1, 508, 509, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 536, -1, 1074, 539, + 1076, 44, -1, 1079, -1, -1, -1, -1, -1, 549, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 566, 567, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, 584, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, 1131, 1132, -1, 101, -1, + -1, -1, -1, 603, -1, -1, 606, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 13, 14, 15, 16, 17, + 18, -1, 20, -1, -1, -1, 1192, 25, -1, 27, + 28, 29, -1, -1, -1, 1201, 1202, -1, -1, 37, + 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, + -1, -1, 692, -1, -1, 695, 696, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 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, + 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, -1, -1, -1, -1, -1, -1, 848, 849, -1, + -1, 139, 140, 141, 142, -1, -1, 145, 146, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 797, -1, -1, + -1, -1, 802, 803, -1, 805, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, + -1, -1, -1, -1, -1, 101, 836, 837, -1, -1, + -1, 841, 842, 843, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 868, 869, + -1, 871, 872, -1, -1, -1, 51, 52, -1, -1, + 55, -1, 882, -1, -1, -1, 886, -1, -1, -1, + -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, + 75, 76, 77, 903, 904, 80, 81, -1, -1, -1, + -1, 86, 87, 88, 89, -1, 916, 917, -1, -1, + -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, + -1, -1, 932, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + 135, 136, -1, -1, -1, -1, -1, -1, 143, 144, + 970, 971, -1, -1, -1, -1, -1, 977, -1, -1, + -1, -1, 0, 1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, + 1000, 19, -1, 21, 22, 23, 24, -1, -1, -1, + -1, 1011, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, 0, 114, 115, -1, -1, + 118, 119, -1, -1, -1, -1, -1, -1, 13, 14, + 15, 16, 17, 18, -1, 20, 134, 135, 136, -1, + 25, 26, 27, 28, -1, -1, 1126, -1, 146, -1, + 148, -1, 37, 38, -1, 40, 41, 42, 43, 44, -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, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 90, -1, -1, 93, -1, + -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, + 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 115, -1, -1, 118, 119, -1, -1, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, 0, -1, 138, 139, 140, 141, 142, -1, 144, + 145, 146, 147, 148, 13, 14, 15, 16, 17, 18, + -1, 20, -1, -1, -1, -1, 25, -1, 27, 28, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -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, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, + 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, + 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, 0, -1, -1, + 139, 140, 141, 142, -1, -1, 145, 146, 147, 148, + 13, 14, 15, 16, 17, 18, -1, 20, -1, -1, + -1, -1, 25, 26, 27, 28, -1, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 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, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, 90, -1, -1, + 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, + -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, -1, 118, 119, -1, -1, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, 0, -1, 138, 139, 140, 141, 142, + -1, 144, 145, 146, 147, 148, 13, 14, 15, 16, + 17, 18, -1, 20, -1, -1, -1, -1, 25, -1, + 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, + 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 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, 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, 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, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, + -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, + 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, 0, -1, 138, 139, 140, + -1, 142, -1, -1, 145, 146, 147, 148, 13, 14, + 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, + 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 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, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 90, -1, 92, 93, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, + 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, 0, -1, 138, 139, 140, -1, 142, -1, -1, + 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, + -1, 20, -1, -1, -1, -1, 25, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, + 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, 0, -1, -1, + 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, + 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, + -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, + 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, 0, -1, -1, 139, 140, -1, 142, + -1, -1, 145, 146, 147, 148, 13, 14, 15, 16, + 17, 18, -1, 20, -1, -1, -1, -1, 25, -1, + 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 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, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, + 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, 15, -1, -1, 18, + 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, -1, 1005, -1, -1, 19, -1, 21, 22, - 23, 24, -1, -1, 1016, -1, -1, 30, 31, 32, + -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, 46, 47, 48, 49, 50, 51, 52, + -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, 1057, 69, 70, 71, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - 0, 114, 115, -1, -1, 118, 119, -1, -1, -1, - -1, -1, -1, 13, 14, 15, 16, 17, 18, -1, - 20, 134, 135, 136, -1, 25, 26, 27, 28, -1, - -1, -1, -1, 146, -1, 148, -1, 37, 38, 1141, - 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, + -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, -1, -1, -1, 99, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 0, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, 147, 148, 13, - 14, 15, 16, 17, 18, -1, 20, -1, -1, -1, - -1, 25, -1, 27, 28, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, -1, 92, 93, - -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, 0, -1, -1, 139, 140, 141, 142, -1, - -1, 145, 146, 147, 148, 13, 14, 15, 16, 17, - 18, -1, 20, -1, -1, -1, -1, 25, 26, 27, - 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, - 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, - -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, 0, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, 147, - 148, 13, 14, 15, 16, 17, 18, -1, 20, -1, - -1, -1, -1, 25, 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, - 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, - 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, - -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, 90, -1, 92, 93, -1, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 0, -1, -1, 139, 140, -1, 142, -1, -1, 145, - 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, - 20, -1, -1, -1, -1, 25, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 0, -1, -1, 139, - 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, - 14, 15, 16, 17, 18, -1, 20, -1, -1, -1, - -1, 25, -1, 27, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 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, + -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, @@ -5895,9 +5532,9 @@ static const yytype_int16 yycheck[] = 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 146, 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, 17, 18, 19, -1, 21, + 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, @@ -5907,42 +5544,22 @@ static const yytype_int16 yycheck[] = -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, + 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, -1, 134, 135, 136, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, - -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, - -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, - 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, -1, 15, -1, -1, 18, 19, - -1, 21, 22, 23, 24, 25, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -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, + -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, 15, -1, -1, 18, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + -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, @@ -5954,9 +5571,9 @@ 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, -1, 146, -1, 148, 30, 31, 32, 33, 34, + -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, 51, 52, 53, 54, + 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, @@ -5967,7 +5584,7 @@ static const yytype_int16 yycheck[] = -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, + 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, @@ -5978,11 +5595,11 @@ static const yytype_int16 yycheck[] = -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, - 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, + 119, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, + -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, @@ -5990,9 +5607,9 @@ 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, 145, 146, -1, 148, 30, + 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, @@ -6001,112 +5618,6 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, 115, -1, -1, 118, 119, 1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -1, -1, 134, 135, 136, -1, 19, -1, 21, - 22, 23, 24, -1, 145, 146, -1, 148, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 134, 135, 136, -1, -1, 139, -1, -1, - -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, - -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 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, -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, -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, 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, - -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, -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, 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, -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, @@ -6131,65 +5642,65 @@ static const yytype_int16 yycheck[] = -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, 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, -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, + 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, - -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, + 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, -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, 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, -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, 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, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, - 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, - -1, 134, 135, 136, 19, 138, 21, 22, 23, 24, - -1, 144, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, 92, -1, 94, - 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - -1, -1, -1, -1, -1, -1, 121, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, 134, - 135, 136, -1, 19, -1, 21, 22, 23, 24, 144, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, + -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, @@ -6207,31 +5718,57 @@ static const yytype_int16 yycheck[] = -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, + -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, 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, 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, -1, 134, 135, 136, -1, -1, - -1, -1, -1, -1, -1, 144, 3, 4, 5, 6, + -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, 69, 70, 71, 72, 73, 74, 75, 76, + -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, @@ -6243,13 +5780,13 @@ static const yytype_int16 yycheck[] = 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, + 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, 107, -1, -1, -1, -1, -1, -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, @@ -6263,63 +5800,94 @@ static const yytype_int16 yycheck[] = 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, -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, + 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, + 134, 21, 22, 23, 24, -1, -1, -1, 142, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, -1, -1, -1, -1, -1, -1, 143, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, + -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, + -1, -1, 142, -1, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, -1, 134, 135, + 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - 19, 134, 21, 22, 23, 24, -1, -1, -1, 142, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, - 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, + -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -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, + 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, - -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, + 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, @@ -6327,494 +5895,358 @@ static const yytype_int16 yycheck[] = 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, + -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, 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, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, - 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, - -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, + 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, 102, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, - 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, - -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, - 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, - 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, - -1, 100, -1, 102, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, - 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, - -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, + -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, - -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, -1, -1, 102, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, - 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, - 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, - -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, - 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, - -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, -1, -1, 102, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, + 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, + 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, - -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, - 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, - 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, - -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, - 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, - -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, + -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -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, -1, -1, -1, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, + 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, + 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 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, 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, -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, 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, - 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, 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, 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, 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, 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, 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, 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, 91, -1, -1, 94, 95, -1, 97, + 98, -1, -1, 51, 52, -1, 104, 55, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, 134, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 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, 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, - 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, -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, 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, 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, - -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, + 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, - -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, + 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, 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, 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, - -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, + 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, -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, 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, -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, 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, -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, 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, - -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, + 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, - -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, + 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, -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, + 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, -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, 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, -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, 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, -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, 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, - -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, + 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, - -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, + 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, 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, -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, 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, + -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, -1, -1, -1, -1, -1, -1, 143, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, @@ -6829,71 +6261,55 @@ static const yytype_int16 yycheck[] = -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, 90, -1, 92, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, 139, 140, 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, 93, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, -1, -1, 139, 140, - 141, 142, -1, -1, -1, 146, 147, 148, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, -1, -1, -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, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, - -1, -1, 146, 147, 148, 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, -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, 140, -1, -1, -1, -1, -1, -1, - 147, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, - -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, - -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -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, + 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, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, 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, + -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133 + -1, -1, -1, -1, -1, -1, 142, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 142, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 72, 73, + 74, 75, 76, 77, 78, -1, 80, 81, -1, 101, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, + 72, 73, 74, 75, 76, 77, 88, 89, 80, 81, + -1, -1, -1, -1, -1, -1, 88, 89, -1, 101, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -6908,11 +6324,11 @@ static const yytype_int16 yystos[] = 91, 94, 95, 97, 98, 100, 104, 106, 107, 108, 110, 111, 112, 114, 134, 135, 136, 152, 153, 154, 160, 161, 163, 166, 168, 170, 171, 174, 175, 177, - 178, 179, 181, 182, 191, 205, 222, 243, 244, 274, - 275, 276, 280, 281, 282, 288, 289, 290, 292, 293, - 294, 295, 296, 297, 333, 346, 0, 154, 21, 22, + 178, 179, 181, 182, 191, 205, 222, 243, 244, 275, + 276, 277, 281, 282, 283, 289, 290, 291, 293, 294, + 295, 296, 297, 298, 334, 347, 0, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 166, 168, 183, 184, 205, 222, 294, 297, 333, + 134, 166, 168, 183, 184, 205, 222, 295, 298, 334, 184, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, @@ -6920,108 +6336,107 @@ static const yytype_int16 yystos[] = 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, 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, + 133, 135, 136, 143, 144, 185, 189, 190, 297, 329, + 206, 91, 163, 166, 168, 169, 182, 222, 295, 296, + 298, 169, 212, 214, 69, 91, 175, 182, 222, 227, + 295, 298, 33, 34, 35, 36, 48, 49, 50, 51, + 55, 106, 185, 186, 187, 291, 115, 118, 119, 146, + 148, 169, 285, 286, 287, 340, 344, 345, 346, 51, 69, 100, 102, 103, 135, 174, 191, 197, 200, 203, - 276, 331, 332, 197, 197, 144, 194, 195, 198, 199, - 346, 194, 199, 144, 340, 186, 155, 138, 191, 222, + 277, 332, 333, 197, 197, 144, 194, 195, 198, 199, + 347, 194, 199, 144, 341, 186, 155, 138, 191, 222, 191, 191, 191, 55, 1, 94, 157, 158, 160, 176, - 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, + 177, 347, 207, 209, 192, 203, 332, 347, 191, 331, + 332, 347, 91, 142, 181, 222, 295, 298, 210, 53, + 54, 56, 63, 69, 107, 185, 292, 63, 64, 65, + 116, 117, 278, 279, 61, 278, 62, 278, 63, 278, + 63, 278, 58, 59, 170, 191, 191, 340, 346, 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, + 144, 301, 302, 303, 304, 305, 308, 309, 310, 311, + 313, 314, 315, 316, 318, 319, 320, 323, 324, 325, + 326, 327, 347, 301, 303, 28, 242, 121, 142, 94, 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, 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, + 133, 90, 105, 140, 147, 338, 90, 338, 339, 26, + 138, 246, 277, 92, 92, 194, 199, 246, 163, 51, + 55, 183, 58, 59, 302, 125, 299, 90, 140, 338, + 221, 330, 90, 147, 337, 156, 157, 55, 301, 301, + 16, 223, 344, 121, 90, 140, 338, 92, 92, 223, + 169, 169, 55, 90, 140, 338, 25, 107, 142, 288, + 340, 115, 287, 20, 248, 344, 57, 57, 191, 191, + 191, 93, 142, 201, 202, 347, 57, 201, 202, 85, + 196, 197, 203, 332, 347, 197, 163, 340, 342, 163, + 345, 159, 138, 157, 90, 338, 92, 160, 176, 145, + 340, 346, 342, 160, 342, 141, 202, 343, 346, 202, + 343, 139, 343, 55, 178, 179, 180, 142, 90, 140, + 338, 144, 239, 313, 318, 63, 278, 280, 284, 285, + 63, 279, 61, 62, 63, 63, 101, 101, 154, 169, + 169, 169, 169, 160, 163, 163, 57, 121, 57, 344, + 317, 85, 313, 318, 121, 156, 191, 142, 328, 347, + 51, 142, 328, 344, 142, 312, 191, 142, 312, 51, + 142, 312, 51, 121, 156, 241, 100, 170, 191, 203, 204, 176, 142, 181, 142, 161, 162, 170, 182, 191, - 193, 204, 222, 297, 165, 191, 191, 191, 191, 191, + 193, 204, 222, 298, 165, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 164, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 51, 52, 55, 189, 194, 334, 335, 196, - 203, 51, 52, 55, 189, 194, 334, 51, 55, 334, + 191, 191, 51, 52, 55, 189, 194, 335, 336, 196, + 203, 51, 52, 55, 189, 194, 335, 51, 55, 335, 247, 245, 162, 191, 193, 162, 193, 99, 173, 219, - 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, + 300, 218, 51, 55, 183, 335, 196, 335, 156, 163, + 167, 15, 13, 271, 347, 121, 121, 157, 16, 51, + 55, 196, 51, 55, 157, 27, 224, 344, 224, 51, 55, 196, 51, 55, 216, 188, 157, 25, 248, 191, - 203, 15, 191, 191, 191, 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, + 203, 15, 191, 191, 191, 341, 100, 191, 200, 332, + 191, 333, 342, 145, 340, 202, 202, 342, 145, 186, + 152, 139, 193, 342, 160, 208, 332, 178, 180, 51, + 55, 196, 51, 55, 313, 211, 142, 63, 157, 285, + 191, 191, 51, 69, 100, 228, 318, 342, 342, 142, + 174, 191, 15, 51, 69, 305, 310, 327, 85, 311, + 316, 323, 325, 318, 320, 325, 51, 318, 174, 191, + 15, 79, 126, 233, 235, 347, 191, 202, 342, 180, + 142, 44, 121, 44, 90, 140, 338, 34, 35, 36, + 51, 55, 63, 91, 97, 98, 100, 102, 127, 254, + 255, 257, 258, 259, 260, 263, 264, 265, 267, 268, + 269, 270, 290, 294, 254, 341, 92, 92, 194, 199, 141, 202, 92, 92, 195, 199, 195, 199, 233, 233, - 172, 343, 169, 156, 141, 15, 341, 185, 191, 204, - 271, 346, 18, 226, 346, 17, 225, 226, 92, 92, + 172, 344, 169, 156, 141, 15, 342, 185, 191, 204, + 272, 347, 18, 226, 347, 17, 225, 226, 92, 92, 141, 92, 92, 226, 213, 215, 141, 169, 186, 139, - 254, 15, 202, 223, 191, 201, 85, 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 + 254, 15, 202, 223, 191, 201, 85, 332, 139, 342, + 343, 141, 236, 341, 29, 113, 240, 139, 142, 315, + 342, 142, 85, 44, 44, 328, 344, 142, 312, 142, + 312, 142, 312, 142, 312, 312, 44, 44, 230, 232, + 234, 304, 306, 307, 310, 318, 319, 321, 322, 325, + 327, 156, 100, 191, 180, 160, 191, 51, 55, 196, + 51, 55, 57, 55, 51, 141, 257, 261, 262, 263, + 290, 51, 139, 266, 267, 269, 290, 51, 34, 51, + 51, 257, 263, 142, 93, 126, 142, 90, 142, 93, + 57, 123, 162, 193, 170, 193, 173, 92, 162, 193, + 162, 193, 173, 246, 242, 156, 157, 233, 220, 344, + 15, 93, 273, 347, 157, 14, 274, 347, 169, 15, + 92, 15, 157, 157, 224, 40, 41, 223, 191, 157, + 342, 202, 145, 146, 156, 157, 229, 142, 100, 342, + 191, 191, 318, 325, 318, 318, 191, 191, 236, 236, + 91, 222, 142, 328, 328, 142, 231, 222, 142, 231, + 142, 231, 15, 191, 141, 257, 141, 142, 142, 139, + 142, 142, 142, 51, 259, 256, 257, 55, 268, 269, + 257, 191, 191, 162, 193, 15, 139, 157, 156, 91, + 182, 222, 295, 298, 223, 157, 223, 15, 15, 217, + 169, 169, 157, 226, 248, 249, 51, 237, 238, 314, + 15, 139, 318, 318, 142, 315, 312, 142, 312, 312, + 312, 126, 126, 55, 90, 306, 310, 142, 230, 231, + 322, 325, 318, 321, 325, 318, 257, 263, 262, 269, + 256, 142, 139, 15, 55, 90, 140, 338, 157, 157, + 157, 223, 223, 25, 226, 250, 142, 341, 142, 318, + 142, 318, 51, 55, 328, 142, 231, 142, 231, 142, + 231, 142, 231, 231, 142, 142, 257, 51, 55, 196, + 51, 55, 271, 225, 15, 157, 157, 254, 15, 238, + 318, 312, 318, 325, 318, 318, 262, 263, 141, 250, + 250, 251, 252, 253, 231, 142, 231, 231, 231, 142, + 15, 15, 223, 40, 41, 318, 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. */ @@ -7073,29 +6488,30 @@ static const yytype_int16 yyr1[] = 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, + 259, 259, 259, 259, 260, 260, 261, 261, 261, 261, + 261, 261, 262, 262, 263, 263, 264, 264, 264, 265, + 265, 266, 266, 266, 267, 267, 268, 268, 268, 269, + 269, 269, 270, 271, 271, 272, 272, 272, 273, 273, + 274, 274, 275, 275, 275, 275, 276, 276, 277, 277, + 277, 277, 278, 278, 279, 280, 279, 279, 279, 281, + 281, 282, 282, 283, 284, 284, 285, 285, 286, 286, + 287, 288, 287, 289, 289, 290, 290, 290, 291, 292, + 292, 292, 292, 292, 292, 293, 293, 294, 294, 294, + 294, 295, 295, 295, 295, 295, 296, 296, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 298, 298, 299, + 300, 299, 301, 301, 302, 302, 302, 303, 303, 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, + 308, 309, 309, 310, 310, 311, 311, 311, 311, 312, + 312, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 314, 314, 314, 314, + 314, 315, 315, 316, 317, 316, 318, 318, 319, 320, 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 + 326, 327, 327, 328, 328, 329, 330, 329, 331, 331, + 332, 332, 333, 333, 333, 333, 333, 333, 333, 333, + 334, 334, 334, 335, 335, 335, 335, 336, 336, 336, + 337, 337, 338, 338, 339, 339, 340, 340, 341, 341, + 342, 343, 343, 343, 344, 344, 345, 345, 346, 346, + 347 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -7147,29 +6563,30 @@ static const yytype_int8 yyr2[] = 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, 2, 3, 2, 1, 3, 5, 1, + 3, 5, 1, 3, 2, 1, 1, 3, 2, 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, 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, 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 + 1, 1, 1, 1, 1, 1, 0, 1, 0, 2, + 2, 0, 1, 1, 1, 1, 1, 1, 1, 2, + 0 }; @@ -7836,7 +7253,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7257 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -8049,84 +7466,84 @@ yyreduce: switch (yyn) { case 2: /* $@1: %empty */ -#line 2168 "mrbgems/mruby-compiler/core/parse.y" +#line 2179 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 8058 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7475 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ -#line 2173 "mrbgems/mruby-compiler/core/parse.y" +#line 2184 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 8066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7483 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ -#line 2179 "mrbgems/mruby-compiler/core/parse.y" +#line 2190 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7491 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ -#line 2185 "mrbgems/mruby-compiler/core/parse.y" +#line 2196 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 8082 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7499 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ -#line 2189 "mrbgems/mruby-compiler/core/parse.y" +#line 2200 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7507 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ -#line 2193 "mrbgems/mruby-compiler/core/parse.y" +#line 2204 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 8098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7515 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ -#line 2197 "mrbgems/mruby-compiler/core/parse.y" +#line 2208 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 8106 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7523 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ -#line 2204 "mrbgems/mruby-compiler/core/parse.y" +#line 2215 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 8115 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7532 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ -#line 2209 "mrbgems/mruby-compiler/core/parse.y" +#line 2220 "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 8126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7543 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ -#line 2221 "mrbgems/mruby-compiler/core/parse.y" +#line 2232 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8147,89 +7564,89 @@ yyreduce: } } } -#line 8151 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7568 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ -#line 2244 "mrbgems/mruby-compiler/core/parse.y" +#line 2255 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8159 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7576 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ -#line 2250 "mrbgems/mruby-compiler/core/parse.y" +#line 2261 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 8167 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7584 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ -#line 2254 "mrbgems/mruby-compiler/core/parse.y" +#line 2265 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8175 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7592 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ -#line 2258 "mrbgems/mruby-compiler/core/parse.y" +#line 2269 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 8183 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7600 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ -#line 2262 "mrbgems/mruby-compiler/core/parse.y" +#line 2273 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8191 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7608 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ -#line 2267 "mrbgems/mruby-compiler/core/parse.y" +#line 2278 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7614 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ -#line 2268 "mrbgems/mruby-compiler/core/parse.y" +#line 2279 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ -#line 2272 "mrbgems/mruby-compiler/core/parse.y" +#line 2283 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 8213 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ -#line 2276 "mrbgems/mruby-compiler/core/parse.y" +#line 2287 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 8221 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ -#line 2280 "mrbgems/mruby-compiler/core/parse.y" +#line 2291 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 8229 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ -#line 2284 "mrbgems/mruby-compiler/core/parse.y" +#line 2295 "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)); @@ -8238,11 +7655,11 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8242 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7659 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ -#line 2293 "mrbgems/mruby-compiler/core/parse.y" +#line 2304 "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)); @@ -8251,117 +7668,117 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ -#line 2302 "mrbgems/mruby-compiler/core/parse.y" +#line 2313 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8263 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ -#line 2306 "mrbgems/mruby-compiler/core/parse.y" +#line 2317 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 8272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7689 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ -#line 2312 "mrbgems/mruby-compiler/core/parse.y" +#line 2323 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ -#line 2316 "mrbgems/mruby-compiler/core/parse.y" +#line 2327 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7705 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ -#line 2320 "mrbgems/mruby-compiler/core/parse.y" +#line 2331 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7713 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ -#line 2324 "mrbgems/mruby-compiler/core/parse.y" +#line 2335 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7721 "mrbgems/mruby-compiler/core/y.tab.c" break; case 33: /* command_asgn: lhs '=' command_rhs */ -#line 2331 "mrbgems/mruby-compiler/core/parse.y" +#line 2342 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8312 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7729 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: /* command_asgn: var_lhs tOP_ASGN command_rhs */ -#line 2335 "mrbgems/mruby-compiler/core/parse.y" +#line 2346 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8320 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ -#line 2339 "mrbgems/mruby-compiler/core/parse.y" +#line 2350 "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 8328 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7745 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ -#line 2343 "mrbgems/mruby-compiler/core/parse.y" +#line 2354 "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 8336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7753 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ -#line 2347 "mrbgems/mruby-compiler/core/parse.y" +#line 2358 "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 8344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7761 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ -#line 2351 "mrbgems/mruby-compiler/core/parse.y" +#line 2362 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 8353 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ -#line 2356 "mrbgems/mruby-compiler/core/parse.y" +#line 2367 "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 8361 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7778 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ -#line 2360 "mrbgems/mruby-compiler/core/parse.y" +#line 2371 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -8370,11 +7787,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8374 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7791 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2369 "mrbgems/mruby-compiler/core/parse.y" +#line 2380 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -8383,11 +7800,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8387 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7804 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ -#line 2378 "mrbgems/mruby-compiler/core/parse.y" +#line 2389 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -8396,11 +7813,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7817 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2387 "mrbgems/mruby-compiler/core/parse.y" +#line 2398 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -8409,111 +7826,111 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7830 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: /* command_asgn: backref tOP_ASGN command_rhs */ -#line 2396 "mrbgems/mruby-compiler/core/parse.y" +#line 2407 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8422 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7839 "mrbgems/mruby-compiler/core/y.tab.c" break; case 46: /* command_rhs: command_call "'rescue' modifier" stmt */ -#line 2404 "mrbgems/mruby-compiler/core/parse.y" +#line 2415 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8430 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7847 "mrbgems/mruby-compiler/core/y.tab.c" break; case 49: /* expr: expr "'and'" expr */ -#line 2412 "mrbgems/mruby-compiler/core/parse.y" +#line 2423 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7855 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: /* expr: expr "'or'" expr */ -#line 2416 "mrbgems/mruby-compiler/core/parse.y" +#line 2427 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7863 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: /* expr: "'not'" opt_nl expr */ -#line 2420 "mrbgems/mruby-compiler/core/parse.y" +#line 2431 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7871 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: /* expr: '!' command_call */ -#line 2424 "mrbgems/mruby-compiler/core/parse.y" +#line 2435 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7879 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: /* $@4: %empty */ -#line 2427 "mrbgems/mruby-compiler/core/parse.y" +#line 2438 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg++;} -#line 8468 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7885 "mrbgems/mruby-compiler/core/y.tab.c" break; case 54: /* expr: arg "=>" $@4 p_expr */ -#line 2428 "mrbgems/mruby-compiler/core/parse.y" +#line 2439 "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" +#line 7895 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: /* $@5: %empty */ -#line 2433 "mrbgems/mruby-compiler/core/parse.y" +#line 2444 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg++;} -#line 8484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7901 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: /* expr: arg "'in'" $@5 p_expr */ -#line 2434 "mrbgems/mruby-compiler/core/parse.y" +#line 2445 "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" +#line 7911 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: /* defn_head: "'def'" fname */ -#line 2443 "mrbgems/mruby-compiler/core/parse.y" +#line 2454 "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 8505 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7922 "mrbgems/mruby-compiler/core/y.tab.c" break; case 59: /* $@6: %empty */ -#line 2452 "mrbgems/mruby-compiler/core/parse.y" +#line 2463 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 8513 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 60: /* defs_head: "'def'" singleton dot_or_colon $@6 fname */ -#line 2456 "mrbgems/mruby-compiler/core/parse.y" +#line 2467 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id)); p->cmdarg_stack = 0; @@ -8522,1054 +7939,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 8526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7943 "mrbgems/mruby-compiler/core/y.tab.c" break; case 61: /* expr_value: expr */ -#line 2467 "mrbgems/mruby-compiler/core/parse.y" +#line 2478 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 8537 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7954 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: /* block_command: block_call call_op2 operation2 command_args */ -#line 2481 "mrbgems/mruby-compiler/core/parse.y" +#line 2492 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8545 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7962 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: /* $@7: %empty */ -#line 2487 "mrbgems/mruby-compiler/core/parse.y" +#line 2498 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7971 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: /* cmd_brace_block: "{" $@7 opt_block_param compstmt '}' */ -#line 2494 "mrbgems/mruby-compiler/core/parse.y" +#line 2505 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: /* command: operation command_args */ -#line 2502 "mrbgems/mruby-compiler/core/parse.y" +#line 2513 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7989 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: /* command: operation command_args cmd_brace_block */ -#line 2506 "mrbgems/mruby-compiler/core/parse.y" +#line 2517 "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 8581 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7998 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: /* command: primary_value call_op operation2 command_args */ -#line 2511 "mrbgems/mruby-compiler/core/parse.y" +#line 2522 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8589 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8006 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: /* command: primary_value call_op operation2 command_args cmd_brace_block */ -#line 2515 "mrbgems/mruby-compiler/core/parse.y" +#line 2526 "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 8598 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8015 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: /* command: primary_value "::" operation2 command_args */ -#line 2520 "mrbgems/mruby-compiler/core/parse.y" +#line 2531 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8606 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8023 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: /* command: primary_value "::" operation2 command_args cmd_brace_block */ -#line 2524 "mrbgems/mruby-compiler/core/parse.y" +#line 2535 "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 8615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8032 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: /* command: "'super'" command_args */ -#line 2529 "mrbgems/mruby-compiler/core/parse.y" +#line 2540 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8623 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8040 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: /* command: "'yield'" command_args */ -#line 2533 "mrbgems/mruby-compiler/core/parse.y" +#line 2544 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8048 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: /* command: "'return'" call_args */ -#line 2537 "mrbgems/mruby-compiler/core/parse.y" +#line 2548 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8639 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8056 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: /* command: "'break'" call_args */ -#line 2541 "mrbgems/mruby-compiler/core/parse.y" +#line 2552 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8064 "mrbgems/mruby-compiler/core/y.tab.c" break; case 78: /* command: "'next'" call_args */ -#line 2545 "mrbgems/mruby-compiler/core/parse.y" +#line 2556 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8655 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8072 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: /* mlhs: mlhs_basic */ -#line 2551 "mrbgems/mruby-compiler/core/parse.y" +#line 2562 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8663 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8080 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: /* mlhs: tLPAREN mlhs_inner rparen */ -#line 2555 "mrbgems/mruby-compiler/core/parse.y" +#line 2566 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8671 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8088 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: /* mlhs_inner: tLPAREN mlhs_inner rparen */ -#line 2562 "mrbgems/mruby-compiler/core/parse.y" +#line 2573 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8096 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: /* mlhs_basic: mlhs_list */ -#line 2568 "mrbgems/mruby-compiler/core/parse.y" +#line 2579 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8687 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8104 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: /* mlhs_basic: mlhs_list mlhs_item */ -#line 2572 "mrbgems/mruby-compiler/core/parse.y" +#line 2583 "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" +#line 8112 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" mlhs_node */ -#line 2576 "mrbgems/mruby-compiler/core/parse.y" +#line 2587 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8703 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8120 "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" +#line 2591 "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" +#line 8128 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: /* mlhs_basic: mlhs_list "*" */ -#line 2584 "mrbgems/mruby-compiler/core/parse.y" +#line 2595 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8719 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8136 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ -#line 2588 "mrbgems/mruby-compiler/core/parse.y" +#line 2599 "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" +#line 8144 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: /* mlhs_basic: "*" mlhs_node */ -#line 2592 "mrbgems/mruby-compiler/core/parse.y" +#line 2603 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8735 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8152 "mrbgems/mruby-compiler/core/y.tab.c" break; case 90: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ -#line 2596 "mrbgems/mruby-compiler/core/parse.y" +#line 2607 "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" +#line 8160 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: /* mlhs_basic: "*" */ -#line 2600 "mrbgems/mruby-compiler/core/parse.y" +#line 2611 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, new_nil(p)); } -#line 8751 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8168 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: /* mlhs_basic: "*" ',' mlhs_post */ -#line 2604 "mrbgems/mruby-compiler/core/parse.y" +#line 2615 "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" +#line 8176 "mrbgems/mruby-compiler/core/y.tab.c" break; case 94: /* mlhs_item: tLPAREN mlhs_inner rparen */ -#line 2611 "mrbgems/mruby-compiler/core/parse.y" +#line 2622 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 8767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8184 "mrbgems/mruby-compiler/core/y.tab.c" break; case 95: /* mlhs_list: mlhs_item ',' */ -#line 2617 "mrbgems/mruby-compiler/core/parse.y" +#line 2628 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 8775 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8192 "mrbgems/mruby-compiler/core/y.tab.c" break; case 96: /* mlhs_list: mlhs_list mlhs_item ',' */ -#line 2621 "mrbgems/mruby-compiler/core/parse.y" +#line 2632 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 8783 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8200 "mrbgems/mruby-compiler/core/y.tab.c" break; case 97: /* mlhs_post: mlhs_item */ -#line 2627 "mrbgems/mruby-compiler/core/parse.y" +#line 2638 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8791 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8208 "mrbgems/mruby-compiler/core/y.tab.c" break; case 98: /* mlhs_post: mlhs_list mlhs_item */ -#line 2631 "mrbgems/mruby-compiler/core/parse.y" +#line 2642 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8799 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8216 "mrbgems/mruby-compiler/core/y.tab.c" break; case 99: /* mlhs_node: variable */ -#line 2637 "mrbgems/mruby-compiler/core/parse.y" +#line 2648 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8224 "mrbgems/mruby-compiler/core/y.tab.c" break; case 100: /* mlhs_node: primary_value '[' opt_call_args ']' */ -#line 2641 "mrbgems/mruby-compiler/core/parse.y" +#line 2652 "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" +#line 8232 "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" +#line 2656 "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" +#line 8240 "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" +#line 2660 "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" +#line 8248 "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" +#line 2664 "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" +#line 8256 "mrbgems/mruby-compiler/core/y.tab.c" break; case 104: /* mlhs_node: primary_value "::" "constant" */ -#line 2657 "mrbgems/mruby-compiler/core/parse.y" +#line 2668 "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" +#line 8266 "mrbgems/mruby-compiler/core/y.tab.c" break; case 105: /* mlhs_node: tCOLON3 "constant" */ -#line 2663 "mrbgems/mruby-compiler/core/parse.y" +#line 2674 "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" +#line 8276 "mrbgems/mruby-compiler/core/y.tab.c" break; case 106: /* mlhs_node: backref */ -#line 2669 "mrbgems/mruby-compiler/core/parse.y" +#line 2680 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 107: /* lhs: variable */ -#line 2676 "mrbgems/mruby-compiler/core/parse.y" +#line 2687 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8876 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8293 "mrbgems/mruby-compiler/core/y.tab.c" break; case 108: /* lhs: primary_value '[' opt_call_args ']' */ -#line 2680 "mrbgems/mruby-compiler/core/parse.y" +#line 2691 "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" +#line 8301 "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" +#line 2695 "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" +#line 8309 "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" +#line 2699 "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" +#line 8317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 111: /* lhs: primary_value call_op "constant" */ -#line 2692 "mrbgems/mruby-compiler/core/parse.y" +#line 2703 "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" +#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: /* lhs: primary_value "::" "constant" */ -#line 2696 "mrbgems/mruby-compiler/core/parse.y" +#line 2707 "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" +#line 8335 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: /* lhs: tCOLON3 "constant" */ -#line 2702 "mrbgems/mruby-compiler/core/parse.y" +#line 2713 "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" +#line 8345 "mrbgems/mruby-compiler/core/y.tab.c" break; case 114: /* lhs: backref */ -#line 2708 "mrbgems/mruby-compiler/core/parse.y" +#line 2719 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8354 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: /* lhs: "numbered parameter" */ -#line 2713 "mrbgems/mruby-compiler/core/parse.y" +#line 2724 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8362 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: /* cname: "local variable or method" */ -#line 2719 "mrbgems/mruby-compiler/core/parse.y" +#line 2730 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8370 "mrbgems/mruby-compiler/core/y.tab.c" break; case 118: /* cpath: tCOLON3 cname */ -#line 2726 "mrbgems/mruby-compiler/core/parse.y" +#line 2737 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8378 "mrbgems/mruby-compiler/core/y.tab.c" break; case 119: /* cpath: cname */ -#line 2730 "mrbgems/mruby-compiler/core/parse.y" +#line 2741 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8386 "mrbgems/mruby-compiler/core/y.tab.c" break; case 120: /* cpath: primary_value "::" cname */ -#line 2734 "mrbgems/mruby-compiler/core/parse.y" +#line 2745 "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 8978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8395 "mrbgems/mruby-compiler/core/y.tab.c" break; case 124: /* fname: op */ -#line 2744 "mrbgems/mruby-compiler/core/parse.y" +#line 2755 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8404 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: /* fname: reswords */ -#line 2749 "mrbgems/mruby-compiler/core/parse.y" +#line 2760 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8996 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 128: /* undef_list: fsym */ -#line 2760 "mrbgems/mruby-compiler/core/parse.y" +#line 2771 "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" +#line 8421 "mrbgems/mruby-compiler/core/y.tab.c" break; case 129: /* $@8: %empty */ -#line 2763 "mrbgems/mruby-compiler/core/parse.y" +#line 2774 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 9010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8427 "mrbgems/mruby-compiler/core/y.tab.c" break; case 130: /* undef_list: undef_list ',' $@8 fsym */ -#line 2764 "mrbgems/mruby-compiler/core/parse.y" +#line 2775 "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" +#line 8435 "mrbgems/mruby-compiler/core/y.tab.c" break; case 131: /* op: '|' */ -#line 2769 "mrbgems/mruby-compiler/core/parse.y" +#line 2780 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(or); } -#line 9024 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8441 "mrbgems/mruby-compiler/core/y.tab.c" break; case 132: /* op: '^' */ -#line 2770 "mrbgems/mruby-compiler/core/parse.y" +#line 2781 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(xor); } -#line 9030 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8447 "mrbgems/mruby-compiler/core/y.tab.c" break; case 133: /* op: '&' */ -#line 2771 "mrbgems/mruby-compiler/core/parse.y" +#line 2782 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 9036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8453 "mrbgems/mruby-compiler/core/y.tab.c" break; case 134: /* op: "<=>" */ -#line 2772 "mrbgems/mruby-compiler/core/parse.y" +#line 2783 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(cmp); } -#line 9042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" break; case 135: /* op: "==" */ -#line 2773 "mrbgems/mruby-compiler/core/parse.y" +#line 2784 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eq); } -#line 9048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8465 "mrbgems/mruby-compiler/core/y.tab.c" break; case 136: /* op: "===" */ -#line 2774 "mrbgems/mruby-compiler/core/parse.y" +#line 2785 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eqq); } -#line 9054 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8471 "mrbgems/mruby-compiler/core/y.tab.c" break; case 137: /* op: "=~" */ -#line 2775 "mrbgems/mruby-compiler/core/parse.y" +#line 2786 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(match); } -#line 9060 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8477 "mrbgems/mruby-compiler/core/y.tab.c" break; case 138: /* op: "!~" */ -#line 2776 "mrbgems/mruby-compiler/core/parse.y" +#line 2787 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(nmatch); } -#line 9066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8483 "mrbgems/mruby-compiler/core/y.tab.c" break; case 139: /* op: '>' */ -#line 2777 "mrbgems/mruby-compiler/core/parse.y" +#line 2788 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(gt); } -#line 9072 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8489 "mrbgems/mruby-compiler/core/y.tab.c" break; case 140: /* op: ">=" */ -#line 2778 "mrbgems/mruby-compiler/core/parse.y" +#line 2789 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(ge); } -#line 9078 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8495 "mrbgems/mruby-compiler/core/y.tab.c" break; case 141: /* op: '<' */ -#line 2779 "mrbgems/mruby-compiler/core/parse.y" +#line 2790 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lt); } -#line 9084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8501 "mrbgems/mruby-compiler/core/y.tab.c" break; case 142: /* op: "<=" */ -#line 2780 "mrbgems/mruby-compiler/core/parse.y" +#line 2791 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(le); } -#line 9090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8507 "mrbgems/mruby-compiler/core/y.tab.c" break; case 143: /* op: "!=" */ -#line 2781 "mrbgems/mruby-compiler/core/parse.y" +#line 2792 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neq); } -#line 9096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8513 "mrbgems/mruby-compiler/core/y.tab.c" break; case 144: /* op: "<<" */ -#line 2782 "mrbgems/mruby-compiler/core/parse.y" +#line 2793 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lshift); } -#line 9102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8519 "mrbgems/mruby-compiler/core/y.tab.c" break; case 145: /* op: ">>" */ -#line 2783 "mrbgems/mruby-compiler/core/parse.y" +#line 2794 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(rshift); } -#line 9108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8525 "mrbgems/mruby-compiler/core/y.tab.c" break; case 146: /* op: '+' */ -#line 2784 "mrbgems/mruby-compiler/core/parse.y" +#line 2795 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(add); } -#line 9114 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8531 "mrbgems/mruby-compiler/core/y.tab.c" break; case 147: /* op: '-' */ -#line 2785 "mrbgems/mruby-compiler/core/parse.y" +#line 2796 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(sub); } -#line 9120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8537 "mrbgems/mruby-compiler/core/y.tab.c" break; case 148: /* op: '*' */ -#line 2786 "mrbgems/mruby-compiler/core/parse.y" +#line 2797 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 9126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8543 "mrbgems/mruby-compiler/core/y.tab.c" break; case 149: /* op: "*" */ -#line 2787 "mrbgems/mruby-compiler/core/parse.y" +#line 2798 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 9132 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8549 "mrbgems/mruby-compiler/core/y.tab.c" break; case 150: /* op: '/' */ -#line 2788 "mrbgems/mruby-compiler/core/parse.y" +#line 2799 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(div); } -#line 9138 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8555 "mrbgems/mruby-compiler/core/y.tab.c" break; case 151: /* op: '%' */ -#line 2789 "mrbgems/mruby-compiler/core/parse.y" +#line 2800 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mod); } -#line 9144 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8561 "mrbgems/mruby-compiler/core/y.tab.c" break; case 152: /* op: tPOW */ -#line 2790 "mrbgems/mruby-compiler/core/parse.y" +#line 2801 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 9150 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8567 "mrbgems/mruby-compiler/core/y.tab.c" break; case 153: /* op: "**" */ -#line 2791 "mrbgems/mruby-compiler/core/parse.y" +#line 2802 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 9156 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8573 "mrbgems/mruby-compiler/core/y.tab.c" break; case 154: /* op: '!' */ -#line 2792 "mrbgems/mruby-compiler/core/parse.y" +#line 2803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(not); } -#line 9162 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 155: /* op: '~' */ -#line 2793 "mrbgems/mruby-compiler/core/parse.y" +#line 2804 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neg); } -#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8585 "mrbgems/mruby-compiler/core/y.tab.c" break; case 156: /* op: "unary plus" */ -#line 2794 "mrbgems/mruby-compiler/core/parse.y" +#line 2805 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(plus); } -#line 9174 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8591 "mrbgems/mruby-compiler/core/y.tab.c" break; case 157: /* op: "unary minus" */ -#line 2795 "mrbgems/mruby-compiler/core/parse.y" +#line 2806 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(minus); } -#line 9180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8597 "mrbgems/mruby-compiler/core/y.tab.c" break; case 158: /* op: tAREF */ -#line 2796 "mrbgems/mruby-compiler/core/parse.y" +#line 2807 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aref); } -#line 9186 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8603 "mrbgems/mruby-compiler/core/y.tab.c" break; case 159: /* op: tASET */ -#line 2797 "mrbgems/mruby-compiler/core/parse.y" +#line 2808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aset); } -#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8609 "mrbgems/mruby-compiler/core/y.tab.c" break; case 160: /* op: '`' */ -#line 2798 "mrbgems/mruby-compiler/core/parse.y" +#line 2809 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(tick); } -#line 9198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8615 "mrbgems/mruby-compiler/core/y.tab.c" break; case 201: /* arg: lhs '=' arg_rhs */ -#line 2816 "mrbgems/mruby-compiler/core/parse.y" +#line 2827 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8623 "mrbgems/mruby-compiler/core/y.tab.c" break; case 202: /* arg: var_lhs tOP_ASGN arg_rhs */ -#line 2820 "mrbgems/mruby-compiler/core/parse.y" +#line 2831 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 9214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ -#line 2824 "mrbgems/mruby-compiler/core/parse.y" +#line 2835 "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 9222 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8639 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ -#line 2828 "mrbgems/mruby-compiler/core/parse.y" +#line 2839 "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 9230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8647 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ -#line 2832 "mrbgems/mruby-compiler/core/parse.y" +#line 2843 "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 9238 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8655 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ -#line 2836 "mrbgems/mruby-compiler/core/parse.y" +#line 2847 "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 9246 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ -#line 2840 "mrbgems/mruby-compiler/core/parse.y" +#line 2851 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ -#line 2845 "mrbgems/mruby-compiler/core/parse.y" +#line 2856 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: /* arg: backref tOP_ASGN arg_rhs */ -#line 2850 "mrbgems/mruby-compiler/core/parse.y" +#line 2861 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 9273 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8690 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: /* arg: arg ".." arg */ -#line 2855 "mrbgems/mruby-compiler/core/parse.y" +#line 2866 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9281 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8698 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: /* arg: arg ".." */ -#line 2859 "mrbgems/mruby-compiler/core/parse.y" +#line 2870 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9289 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8706 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: /* arg: tBDOT2 arg */ -#line 2863 "mrbgems/mruby-compiler/core/parse.y" +#line 2874 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 9297 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8714 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: /* arg: arg "..." arg */ -#line 2867 "mrbgems/mruby-compiler/core/parse.y" +#line 2878 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9305 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8722 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: /* arg: arg "..." */ -#line 2871 "mrbgems/mruby-compiler/core/parse.y" +#line 2882 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8730 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: /* arg: tBDOT3 arg */ -#line 2875 "mrbgems/mruby-compiler/core/parse.y" +#line 2886 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 9321 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8738 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: /* arg: arg '+' arg */ -#line 2879 "mrbgems/mruby-compiler/core/parse.y" +#line 2890 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 9329 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8746 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: /* arg: arg '-' arg */ -#line 2883 "mrbgems/mruby-compiler/core/parse.y" +#line 2894 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 9337 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: /* arg: arg '*' arg */ -#line 2887 "mrbgems/mruby-compiler/core/parse.y" +#line 2898 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 9345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8762 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: /* arg: arg '/' arg */ -#line 2891 "mrbgems/mruby-compiler/core/parse.y" +#line 2902 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 9353 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8770 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: /* arg: arg '%' arg */ -#line 2895 "mrbgems/mruby-compiler/core/parse.y" +#line 2906 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 9361 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8778 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: /* arg: arg tPOW arg */ -#line 2899 "mrbgems/mruby-compiler/core/parse.y" +#line 2910 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 9369 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8786 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ -#line 2903 "mrbgems/mruby-compiler/core/parse.y" +#line 2914 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9377 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8794 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: /* arg: tUMINUS_NUM "float literal" tPOW arg */ -#line 2907 "mrbgems/mruby-compiler/core/parse.y" +#line 2918 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9385 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8802 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: /* arg: "unary plus" arg */ -#line 2911 "mrbgems/mruby-compiler/core/parse.y" +#line 2922 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 9393 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8810 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: /* arg: "unary minus" arg */ -#line 2915 "mrbgems/mruby-compiler/core/parse.y" +#line 2926 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9401 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8818 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: /* arg: arg '|' arg */ -#line 2919 "mrbgems/mruby-compiler/core/parse.y" +#line 2930 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 9409 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8826 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: /* arg: arg '^' arg */ -#line 2923 "mrbgems/mruby-compiler/core/parse.y" +#line 2934 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 9417 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8834 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: /* arg: arg '&' arg */ -#line 2927 "mrbgems/mruby-compiler/core/parse.y" +#line 2938 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 9425 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8842 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: /* arg: arg "<=>" arg */ -#line 2931 "mrbgems/mruby-compiler/core/parse.y" +#line 2942 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 9433 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8850 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: /* arg: arg '>' arg */ -#line 2935 "mrbgems/mruby-compiler/core/parse.y" +#line 2946 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 9441 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8858 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: /* arg: arg ">=" arg */ -#line 2939 "mrbgems/mruby-compiler/core/parse.y" +#line 2950 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 9449 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8866 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: /* arg: arg '<' arg */ -#line 2943 "mrbgems/mruby-compiler/core/parse.y" +#line 2954 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 9457 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8874 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: /* arg: arg "<=" arg */ -#line 2947 "mrbgems/mruby-compiler/core/parse.y" +#line 2958 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8882 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: /* arg: arg "==" arg */ -#line 2951 "mrbgems/mruby-compiler/core/parse.y" +#line 2962 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8890 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: /* arg: arg "===" arg */ -#line 2955 "mrbgems/mruby-compiler/core/parse.y" +#line 2966 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 9481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8898 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: /* arg: arg "!=" arg */ -#line 2959 "mrbgems/mruby-compiler/core/parse.y" +#line 2970 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 9489 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8906 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: /* arg: arg "=~" arg */ -#line 2963 "mrbgems/mruby-compiler/core/parse.y" +#line 2974 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 9497 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8914 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: /* arg: arg "!~" arg */ -#line 2967 "mrbgems/mruby-compiler/core/parse.y" +#line 2978 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 9505 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8922 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: /* arg: '!' arg */ -#line 2971 "mrbgems/mruby-compiler/core/parse.y" +#line 2982 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 9513 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8930 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: /* arg: '~' arg */ -#line 2975 "mrbgems/mruby-compiler/core/parse.y" +#line 2986 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 9521 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8938 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: /* arg: arg "<<" arg */ -#line 2979 "mrbgems/mruby-compiler/core/parse.y" +#line 2990 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 9529 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8946 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: /* arg: arg ">>" arg */ -#line 2983 "mrbgems/mruby-compiler/core/parse.y" +#line 2994 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8954 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: /* arg: arg "&&" arg */ -#line 2987 "mrbgems/mruby-compiler/core/parse.y" +#line 2998 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9545 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8962 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: /* arg: arg "||" arg */ -#line 2991 "mrbgems/mruby-compiler/core/parse.y" +#line 3002 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9553 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8970 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: /* arg: arg '?' arg opt_nl ':' arg */ -#line 2995 "mrbgems/mruby-compiler/core/parse.y" +#line 3006 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8978 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: /* arg: arg '?' arg opt_nl "label" arg */ -#line 2999 "mrbgems/mruby-compiler/core/parse.y" +#line 3010 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9569 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8986 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: /* arg: defn_head f_opt_arglist_paren '=' arg */ -#line 3003 "mrbgems/mruby-compiler/core/parse.y" +#line 3014 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -9578,11 +8995,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9582 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 3012 "mrbgems/mruby-compiler/core/parse.y" +#line 3023 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -9591,11 +9008,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9012 "mrbgems/mruby-compiler/core/y.tab.c" break; case 249: /* arg: defs_head f_opt_arglist_paren '=' arg */ -#line 3021 "mrbgems/mruby-compiler/core/parse.y" +#line 3032 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -9604,11 +9021,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9608 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 3030 "mrbgems/mruby-compiler/core/parse.y" +#line 3041 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -9617,68 +9034,68 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9621 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9038 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: /* arg: primary */ -#line 3039 "mrbgems/mruby-compiler/core/parse.y" +#line 3050 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9629 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9046 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: /* aref_args: args trailer */ -#line 3046 "mrbgems/mruby-compiler/core/parse.y" +#line 3057 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9637 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9054 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: /* aref_args: args comma assocs trailer */ -#line 3050 "mrbgems/mruby-compiler/core/parse.y" +#line 3061 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9645 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9062 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: /* aref_args: assocs trailer */ -#line 3054 "mrbgems/mruby-compiler/core/parse.y" +#line 3065 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9653 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9070 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: /* arg_rhs: arg */ -#line 3060 "mrbgems/mruby-compiler/core/parse.y" +#line 3071 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9661 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9078 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: /* arg_rhs: arg "'rescue' modifier" arg */ -#line 3064 "mrbgems/mruby-compiler/core/parse.y" +#line 3075 "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 9670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9087 "mrbgems/mruby-compiler/core/y.tab.c" break; case 258: /* paren_args: '(' opt_call_args ')' */ -#line 3071 "mrbgems/mruby-compiler/core/parse.y" +#line 3082 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9678 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9095 "mrbgems/mruby-compiler/core/y.tab.c" break; case 259: /* paren_args: '(' args comma tBDOT3 rparen */ -#line 3075 "mrbgems/mruby-compiler/core/parse.y" +#line 3086 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9687,11 +9104,11 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9691 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9108 "mrbgems/mruby-compiler/core/y.tab.c" break; case 260: /* paren_args: '(' tBDOT3 rparen */ -#line 3084 "mrbgems/mruby-compiler/core/parse.y" +#line 3095 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9706,390 +9123,390 @@ yyreduce: (yyval.nd) = 0; } } -#line 9710 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9127 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: /* opt_call_args: args comma */ -#line 3107 "mrbgems/mruby-compiler/core/parse.y" +#line 3118 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9718 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9135 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: /* opt_call_args: args comma assocs comma */ -#line 3111 "mrbgems/mruby-compiler/core/parse.y" +#line 3122 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9726 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9143 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: /* opt_call_args: assocs comma */ -#line 3115 "mrbgems/mruby-compiler/core/parse.y" +#line 3126 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9734 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9151 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: /* call_args: command */ -#line 3121 "mrbgems/mruby-compiler/core/parse.y" +#line 3132 "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 9743 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: /* call_args: args opt_block_arg */ -#line 3126 "mrbgems/mruby-compiler/core/parse.y" +#line 3137 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9751 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" break; case 270: /* call_args: assocs opt_block_arg */ -#line 3130 "mrbgems/mruby-compiler/core/parse.y" +#line 3141 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9759 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9176 "mrbgems/mruby-compiler/core/y.tab.c" break; case 271: /* call_args: args comma assocs opt_block_arg */ -#line 3134 "mrbgems/mruby-compiler/core/parse.y" +#line 3145 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9184 "mrbgems/mruby-compiler/core/y.tab.c" break; case 272: /* call_args: block_arg */ -#line 3138 "mrbgems/mruby-compiler/core/parse.y" +#line 3149 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9775 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" break; case 273: /* @9: %empty */ -#line 3143 "mrbgems/mruby-compiler/core/parse.y" +#line 3154 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 9784 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9201 "mrbgems/mruby-compiler/core/y.tab.c" break; case 274: /* command_args: @9 call_args */ -#line 3148 "mrbgems/mruby-compiler/core/parse.y" +#line 3159 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 9793 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9210 "mrbgems/mruby-compiler/core/y.tab.c" break; case 275: /* block_arg: "&" arg */ -#line 3155 "mrbgems/mruby-compiler/core/parse.y" +#line 3166 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9801 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9218 "mrbgems/mruby-compiler/core/y.tab.c" break; case 276: /* block_arg: "&" */ -#line 3159 "mrbgems/mruby-compiler/core/parse.y" +#line 3170 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, 0); } -#line 9809 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9226 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: /* opt_block_arg: comma block_arg */ -#line 3165 "mrbgems/mruby-compiler/core/parse.y" +#line 3176 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9234 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: /* opt_block_arg: none */ -#line 3169 "mrbgems/mruby-compiler/core/parse.y" +#line 3180 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 9825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9242 "mrbgems/mruby-compiler/core/y.tab.c" break; case 280: /* args: arg */ -#line 3178 "mrbgems/mruby-compiler/core/parse.y" +#line 3189 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9251 "mrbgems/mruby-compiler/core/y.tab.c" break; case 281: /* args: "*" */ -#line 3183 "mrbgems/mruby-compiler/core/parse.y" +#line 3194 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9842 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9259 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: /* args: "*" arg */ -#line 3187 "mrbgems/mruby-compiler/core/parse.y" +#line 3198 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9850 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 283: /* args: args comma arg */ -#line 3191 "mrbgems/mruby-compiler/core/parse.y" +#line 3202 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9859 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9276 "mrbgems/mruby-compiler/core/y.tab.c" break; case 284: /* args: args comma "*" */ -#line 3196 "mrbgems/mruby-compiler/core/parse.y" +#line 3207 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9867 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9284 "mrbgems/mruby-compiler/core/y.tab.c" break; case 285: /* args: args comma "*" arg */ -#line 3200 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); - } -#line 9875 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - 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" +#line 9292 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 286: /* mrhs: args comma arg */ +#line 3217 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9301 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 287: /* mrhs: args comma "*" arg */ +#line 3222 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + } +#line 9309 "mrbgems/mruby-compiler/core/y.tab.c" break; case 288: /* mrhs: "*" arg */ -#line 3215 "mrbgems/mruby-compiler/core/parse.y" +#line 3226 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 290: /* primary: string */ -#line 3222 "mrbgems/mruby-compiler/core/parse.y" +#line 3233 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_str(p, (yyvsp[0].nd)); } -#line 9908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 291: /* primary: xstring */ -#line 3226 "mrbgems/mruby-compiler/core/parse.y" +#line 3237 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); } -#line 9916 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 296: /* primary: "method" */ -#line 3234 "mrbgems/mruby-compiler/core/parse.y" +#line 3245 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 9924 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9341 "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" +#line 9350 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 298: /* primary: "'begin'" @10 bodystmt "'end'" */ +#line 3255 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmdarg_stack = (yyvsp[-2].stack); + (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); + } +#line 9359 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 299: /* @11: %empty */ +#line 3260 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9368 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: /* $@12: %empty */ -#line 3253 "mrbgems/mruby-compiler/core/parse.y" +#line 3264 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9374 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: /* primary: "(" @11 stmt $@12 rparen */ -#line 3254 "mrbgems/mruby-compiler/core/parse.y" +#line 3265 "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" +#line 9383 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: /* $@13: %empty */ -#line 3258 "mrbgems/mruby-compiler/core/parse.y" +#line 3269 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9972 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9389 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: /* primary: "(" $@13 rparen */ -#line 3259 "mrbgems/mruby-compiler/core/parse.y" +#line 3270 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 9980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9397 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: /* primary: tLPAREN compstmt ')' */ -#line 3263 "mrbgems/mruby-compiler/core/parse.y" +#line 3274 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9405 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: /* primary: primary_value "::" "constant" */ -#line 3267 "mrbgems/mruby-compiler/core/parse.y" +#line 3278 "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" +#line 9413 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: /* primary: tCOLON3 "constant" */ -#line 3271 "mrbgems/mruby-compiler/core/parse.y" +#line 3282 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 10004 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9421 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: /* primary: "[" aref_args ']' */ -#line 3275 "mrbgems/mruby-compiler/core/parse.y" +#line 3286 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 10012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9429 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: /* primary: tLBRACE assoc_list '}' */ -#line 3279 "mrbgems/mruby-compiler/core/parse.y" +#line 3290 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 10020 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9437 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: /* primary: "'return'" */ -#line 3283 "mrbgems/mruby-compiler/core/parse.y" +#line 3294 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 10028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9445 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: /* primary: "'yield'" opt_paren_args */ -#line 3287 "mrbgems/mruby-compiler/core/parse.y" +#line 3298 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 10036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9453 "mrbgems/mruby-compiler/core/y.tab.c" break; case 311: /* primary: "'not'" '(' expr rparen */ -#line 3291 "mrbgems/mruby-compiler/core/parse.y" +#line 3302 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 10044 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9461 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: /* primary: "'not'" '(' rparen */ -#line 3295 "mrbgems/mruby-compiler/core/parse.y" +#line 3306 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 10052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9469 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: /* primary: operation brace_block */ -#line 3299 "mrbgems/mruby-compiler/core/parse.y" +#line 3310 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 10060 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9477 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: /* primary: method_call brace_block */ -#line 3304 "mrbgems/mruby-compiler/core/parse.y" +#line 3315 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9486 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: /* @14: %empty */ -#line 3309 "mrbgems/mruby-compiler/core/parse.y" +#line 3320 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 10080 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9497 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: /* @15: %empty */ -#line 3316 "mrbgems/mruby-compiler/core/parse.y" +#line 3327 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 10089 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9506 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: /* primary: "->" @14 f_larglist @15 lambda_body */ -#line 3321 "mrbgems/mruby-compiler/core/parse.y" +#line 3332 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -10098,176 +9515,176 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 10102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9519 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ -#line 3333 "mrbgems/mruby-compiler/core/parse.y" +#line 3344 "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 10111 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9528 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ -#line 3341 "mrbgems/mruby-compiler/core/parse.y" +#line 3352 "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 10120 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: /* $@16: %empty */ -#line 3345 "mrbgems/mruby-compiler/core/parse.y" +#line 3356 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9543 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: /* $@17: %empty */ -#line 3345 "mrbgems/mruby-compiler/core/parse.y" +#line 3356 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10132 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9549 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: /* primary: "'while'" $@16 expr_value do $@17 compstmt "'end'" */ -#line 3348 "mrbgems/mruby-compiler/core/parse.y" +#line 3359 "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 10141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9558 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: /* $@18: %empty */ -#line 3352 "mrbgems/mruby-compiler/core/parse.y" +#line 3363 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9564 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: /* $@19: %empty */ -#line 3352 "mrbgems/mruby-compiler/core/parse.y" +#line 3363 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10153 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: /* primary: "'until'" $@18 expr_value do $@19 compstmt "'end'" */ -#line 3355 "mrbgems/mruby-compiler/core/parse.y" +#line 3366 "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 10162 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ -#line 3362 "mrbgems/mruby-compiler/core/parse.y" +#line 3373 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 10170 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: /* primary: "'case'" opt_terms case_body "'end'" */ -#line 3366 "mrbgems/mruby-compiler/core/parse.y" +#line 3377 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 10178 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ -#line 3374 "mrbgems/mruby-compiler/core/parse.y" +#line 3385 "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 10187 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3383 "mrbgems/mruby-compiler/core/parse.y" +#line 3394 "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 10196 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3392 "mrbgems/mruby-compiler/core/parse.y" +#line 3403 "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 10205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: /* $@20: %empty */ -#line 3397 "mrbgems/mruby-compiler/core/parse.y" +#line 3408 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10211 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9628 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: /* $@21: %empty */ -#line 3399 "mrbgems/mruby-compiler/core/parse.y" +#line 3410 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10217 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9634 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: /* primary: "'for'" for_var "'in'" $@20 expr_value do $@21 compstmt "'end'" */ -#line 3402 "mrbgems/mruby-compiler/core/parse.y" +#line 3413 "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 10226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9643 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: /* @22: %empty */ -#line 3408 "mrbgems/mruby-compiler/core/parse.y" +#line 3419 "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 10237 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: /* primary: "'class'" cpath superclass @22 bodystmt "'end'" */ -#line 3416 "mrbgems/mruby-compiler/core/parse.y" +#line 3427 "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 10248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9665 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: /* @23: %empty */ -#line 3424 "mrbgems/mruby-compiler/core/parse.y" +#line 3435 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 10257 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9674 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: /* @24: %empty */ -#line 3429 "mrbgems/mruby-compiler/core/parse.y" +#line 3440 "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 10267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9684 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: /* primary: "'class'" "<<" expr @23 term @24 bodystmt "'end'" */ -#line 3436 "mrbgems/mruby-compiler/core/parse.y" +#line 3447 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -10276,44 +9693,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 10280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: /* @25: %empty */ -#line 3446 "mrbgems/mruby-compiler/core/parse.y" +#line 3457 "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 10291 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: /* primary: "'module'" cpath @25 bodystmt "'end'" */ -#line 3454 "mrbgems/mruby-compiler/core/parse.y" +#line 3465 "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 10302 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9719 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: /* primary: defn_head f_arglist bodystmt "'end'" */ -#line 3464 "mrbgems/mruby-compiler/core/parse.y" +#line 3475 "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 10313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9730 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: /* primary: defs_head f_arglist bodystmt "'end'" */ -#line 3474 "mrbgems/mruby-compiler/core/parse.y" +#line 3485 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -10321,610 +9738,610 @@ yyreduce: p->in_def--; p->in_single--; } -#line 10325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9742 "mrbgems/mruby-compiler/core/y.tab.c" break; case 344: /* primary: "'break'" */ -#line 3482 "mrbgems/mruby-compiler/core/parse.y" +#line 3493 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 10333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9750 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: /* primary: "'next'" */ -#line 3486 "mrbgems/mruby-compiler/core/parse.y" +#line 3497 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 10341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9758 "mrbgems/mruby-compiler/core/y.tab.c" break; case 346: /* primary: "'redo'" */ -#line 3490 "mrbgems/mruby-compiler/core/parse.y" +#line 3501 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 10349 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9766 "mrbgems/mruby-compiler/core/y.tab.c" break; case 347: /* primary: "'retry'" */ -#line 3494 "mrbgems/mruby-compiler/core/parse.y" +#line 3505 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 10357 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9774 "mrbgems/mruby-compiler/core/y.tab.c" break; case 348: /* primary_value: primary */ -#line 3500 "mrbgems/mruby-compiler/core/parse.y" +#line 3511 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 10366 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9783 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ -#line 3519 "mrbgems/mruby-compiler/core/parse.y" +#line 3530 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10374 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9791 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: /* opt_else: "'else'" compstmt */ -#line 3526 "mrbgems/mruby-compiler/core/parse.y" +#line 3537 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10382 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9799 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: /* for_var: lhs */ -#line 3532 "mrbgems/mruby-compiler/core/parse.y" +#line 3543 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 10390 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9807 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: /* f_margs: f_arg */ -#line 3539 "mrbgems/mruby-compiler/core/parse.y" +#line 3550 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 10398 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9815 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" f_norm_arg */ -#line 3543 "mrbgems/mruby-compiler/core/parse.y" +#line 3554 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 10406 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9823 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ -#line 3547 "mrbgems/mruby-compiler/core/parse.y" +#line 3558 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10414 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9831 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: /* f_margs: f_arg ',' "*" */ -#line 3551 "mrbgems/mruby-compiler/core/parse.y" +#line 3562 "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 10423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: /* f_margs: f_arg ',' "*" ',' f_arg */ -#line 3556 "mrbgems/mruby-compiler/core/parse.y" +#line 3567 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 10431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: /* f_margs: "*" f_norm_arg */ -#line 3560 "mrbgems/mruby-compiler/core/parse.y" +#line 3571 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 10439 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: /* f_margs: "*" f_norm_arg ',' f_arg */ -#line 3564 "mrbgems/mruby-compiler/core/parse.y" +#line 3575 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: /* f_margs: "*" */ -#line 3568 "mrbgems/mruby-compiler/core/parse.y" +#line 3579 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 10456 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9873 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: /* $@26: %empty */ -#line 3573 "mrbgems/mruby-compiler/core/parse.y" +#line 3584 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); } -#line 10464 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9881 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: /* f_margs: "*" ',' $@26 f_arg */ -#line 3577 "mrbgems/mruby-compiler/core/parse.y" +#line 3588 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 10472 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9889 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ -#line 3583 "mrbgems/mruby-compiler/core/parse.y" +#line 3594 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10480 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9897 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: /* block_args_tail: f_block_kwarg opt_f_block_arg */ -#line 3587 "mrbgems/mruby-compiler/core/parse.y" +#line 3598 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 10488 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9905 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: /* block_args_tail: f_kwrest opt_f_block_arg */ -#line 3591 "mrbgems/mruby-compiler/core/parse.y" +#line 3602 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10496 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9913 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: /* block_args_tail: f_block_arg */ -#line 3595 "mrbgems/mruby-compiler/core/parse.y" +#line 3606 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 10504 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9921 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: /* opt_block_args_tail: ',' block_args_tail */ -#line 3601 "mrbgems/mruby-compiler/core/parse.y" +#line 3612 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10512 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9929 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: /* opt_block_args_tail: %empty */ -#line 3605 "mrbgems/mruby-compiler/core/parse.y" +#line 3616 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 10520 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9937 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3611 "mrbgems/mruby-compiler/core/parse.y" +#line 3622 "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 10528 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9945 "mrbgems/mruby-compiler/core/y.tab.c" break; 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" +#line 3626 "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 10536 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9953 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ -#line 3619 "mrbgems/mruby-compiler/core/parse.y" +#line 3630 "mrbgems/mruby-compiler/core/parse.y" { (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" +#line 9961 "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" +#line 3634 "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" +#line 9969 "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" +#line 3638 "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" +#line 9977 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: /* block_param: f_arg ',' opt_block_args_tail */ -#line 3631 "mrbgems/mruby-compiler/core/parse.y" +#line 3642 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10568 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9985 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3635 "mrbgems/mruby-compiler/core/parse.y" +#line 3646 "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 10576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: /* block_param: f_arg opt_block_args_tail */ -#line 3639 "mrbgems/mruby-compiler/core/parse.y" +#line 3650 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10584 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10001 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3643 "mrbgems/mruby-compiler/core/parse.y" +#line 3654 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10592 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10009 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3647 "mrbgems/mruby-compiler/core/parse.y" +#line 3658 "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 10600 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10017 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: /* block_param: f_block_optarg opt_block_args_tail */ -#line 3651 "mrbgems/mruby-compiler/core/parse.y" +#line 3662 "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" +#line 10025 "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" +#line 3666 "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" +#line 10033 "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" +#line 3670 "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" +#line 10041 "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" +#line 3674 "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" +#line 10049 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: /* block_param: block_args_tail */ -#line 3667 "mrbgems/mruby-compiler/core/parse.y" +#line 3678 "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" +#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: /* opt_block_param: none */ -#line 3673 "mrbgems/mruby-compiler/core/parse.y" +#line 3684 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p); (yyval.nd) = 0; } -#line 10649 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10066 "mrbgems/mruby-compiler/core/y.tab.c" break; case 392: /* opt_block_param: block_param_def */ -#line 3678 "mrbgems/mruby-compiler/core/parse.y" +#line 3689 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10658 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10075 "mrbgems/mruby-compiler/core/y.tab.c" break; case 393: /* $@27: %empty */ -#line 3684 "mrbgems/mruby-compiler/core/parse.y" +#line 3695 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p);} -#line 10664 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10081 "mrbgems/mruby-compiler/core/y.tab.c" break; case 394: /* block_param_def: '|' $@27 opt_bv_decl '|' */ -#line 3685 "mrbgems/mruby-compiler/core/parse.y" +#line 3696 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10089 "mrbgems/mruby-compiler/core/y.tab.c" break; case 395: /* block_param_def: "||" */ -#line 3689 "mrbgems/mruby-compiler/core/parse.y" +#line 3700 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p); (yyval.nd) = 0; } -#line 10681 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10098 "mrbgems/mruby-compiler/core/y.tab.c" break; case 396: /* block_param_def: '|' block_param opt_bv_decl '|' */ -#line 3694 "mrbgems/mruby-compiler/core/parse.y" +#line 3705 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 10689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10106 "mrbgems/mruby-compiler/core/y.tab.c" break; case 397: /* opt_bv_decl: opt_nl */ -#line 3700 "mrbgems/mruby-compiler/core/parse.y" +#line 3711 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10114 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ -#line 3704 "mrbgems/mruby-compiler/core/parse.y" +#line 3715 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10122 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: /* bvar: "local variable or method" */ -#line 3714 "mrbgems/mruby-compiler/core/parse.y" +#line 3725 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 10714 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10131 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: /* f_larglist: '(' f_args opt_bv_decl ')' */ -#line 3722 "mrbgems/mruby-compiler/core/parse.y" +#line 3733 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 10722 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10139 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: /* f_larglist: f_args */ -#line 3726 "mrbgems/mruby-compiler/core/parse.y" +#line 3737 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10730 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10147 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: /* lambda_body: tLAMBEG compstmt '}' */ -#line 3732 "mrbgems/mruby-compiler/core/parse.y" +#line 3743 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10738 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10155 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ -#line 3736 "mrbgems/mruby-compiler/core/parse.y" +#line 3747 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10163 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: /* @28: %empty */ -#line 3742 "mrbgems/mruby-compiler/core/parse.y" +#line 3753 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10756 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10173 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: /* do_block: "'do' for block" @28 opt_block_param bodystmt "'end'" */ -#line 3750 "mrbgems/mruby-compiler/core/parse.y" +#line 3761 "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 10767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10184 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: /* block_call: command do_block */ -#line 3759 "mrbgems/mruby-compiler/core/parse.y" +#line 3770 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10776 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10193 "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" +#line 3775 "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" +#line 10201 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ -#line 3768 "mrbgems/mruby-compiler/core/parse.y" +#line 3779 "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" +#line 10210 "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" +#line 3784 "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" +#line 10219 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: /* method_call: operation paren_args */ -#line 3780 "mrbgems/mruby-compiler/core/parse.y" +#line 3791 "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" +#line 10227 "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" +#line 3795 "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" +#line 10235 "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" +#line 3799 "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" +#line 10243 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: /* method_call: primary_value "::" operation3 */ -#line 3792 "mrbgems/mruby-compiler/core/parse.y" +#line 3803 "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" +#line 10251 "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" +#line 3807 "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" +#line 10259 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: /* method_call: primary_value "::" paren_args */ -#line 3800 "mrbgems/mruby-compiler/core/parse.y" +#line 3811 "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" +#line 10267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: /* method_call: "'super'" paren_args */ -#line 3804 "mrbgems/mruby-compiler/core/parse.y" +#line 3815 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10275 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: /* method_call: "'super'" */ -#line 3808 "mrbgems/mruby-compiler/core/parse.y" +#line 3819 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_zsuper(p); } -#line 10866 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10283 "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" +#line 3823 "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" +#line 10291 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: /* @29: %empty */ -#line 3818 "mrbgems/mruby-compiler/core/parse.y" +#line 3829 "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" +#line 10301 "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" +#line 3836 "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 10895 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10312 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: /* @30: %empty */ -#line 3832 "mrbgems/mruby-compiler/core/parse.y" +#line 3843 "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" +#line 10322 "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" +#line 3850 "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" +#line 10333 "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" +#line 3861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10924 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10341 "mrbgems/mruby-compiler/core/y.tab.c" break; case 427: /* cases: opt_else */ -#line 3856 "mrbgems/mruby-compiler/core/parse.y" +#line 3867 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -10933,614 +10350,631 @@ yyreduce: (yyval.nd) = 0; } } -#line 10937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10354 "mrbgems/mruby-compiler/core/y.tab.c" break; case 429: /* in_clauses: opt_else */ -#line 3870 "mrbgems/mruby-compiler/core/parse.y" +#line 3881 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10362 "mrbgems/mruby-compiler/core/y.tab.c" break; case 430: /* $@31: %empty */ -#line 3873 "mrbgems/mruby-compiler/core/parse.y" +#line 3884 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10951 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10368 "mrbgems/mruby-compiler/core/y.tab.c" break; case 431: /* in_clauses: "'in'" p_expr $@31 then compstmt in_clauses */ -#line 3874 "mrbgems/mruby-compiler/core/parse.y" +#line 3885 "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 10960 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10377 "mrbgems/mruby-compiler/core/y.tab.c" break; case 432: /* $@32: %empty */ -#line 3878 "mrbgems/mruby-compiler/core/parse.y" +#line 3889 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10966 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10383 "mrbgems/mruby-compiler/core/y.tab.c" break; case 433: /* in_clauses: "'in'" p_expr $@32 "'if' modifier" expr_value then compstmt in_clauses */ -#line 3879 "mrbgems/mruby-compiler/core/parse.y" +#line 3890 "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 10975 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10392 "mrbgems/mruby-compiler/core/y.tab.c" break; case 434: /* $@33: %empty */ -#line 3883 "mrbgems/mruby-compiler/core/parse.y" +#line 3894 "mrbgems/mruby-compiler/core/parse.y" {p->in_kwarg--;} -#line 10981 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10398 "mrbgems/mruby-compiler/core/y.tab.c" break; case 435: /* in_clauses: "'in'" p_expr $@33 "'unless' modifier" expr_value then compstmt in_clauses */ -#line 3884 "mrbgems/mruby-compiler/core/parse.y" +#line 3895 "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 10990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10407 "mrbgems/mruby-compiler/core/y.tab.c" break; case 437: /* p_expr: p_args_head p_as */ -#line 3895 "mrbgems/mruby-compiler/core/parse.y" +#line 3906 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); } -#line 10998 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10415 "mrbgems/mruby-compiler/core/y.tab.c" break; case 438: /* p_expr: p_args_head p_rest */ -#line 3899 "mrbgems/mruby-compiler/core/parse.y" +#line 3910 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); } -#line 11006 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10423 "mrbgems/mruby-compiler/core/y.tab.c" break; case 439: /* p_expr: p_args_head p_rest ',' p_args_post */ -#line 3903 "mrbgems/mruby-compiler/core/parse.y" +#line 3914 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11014 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10431 "mrbgems/mruby-compiler/core/y.tab.c" break; case 440: /* p_expr: p_rest */ -#line 3907 "mrbgems/mruby-compiler/core/parse.y" +#line 3918 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 11022 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10439 "mrbgems/mruby-compiler/core/y.tab.c" break; case 441: /* p_expr: p_rest ',' p_args_post */ -#line 3911 "mrbgems/mruby-compiler/core/parse.y" +#line 3922 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11030 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10447 "mrbgems/mruby-compiler/core/y.tab.c" break; case 442: /* p_expr: p_hash_elems */ -#line 3915 "mrbgems/mruby-compiler/core/parse.y" +#line 3926 "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 11039 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10456 "mrbgems/mruby-compiler/core/y.tab.c" break; case 443: /* p_expr: p_hash_elems ',' p_kwrest */ -#line 3920 "mrbgems/mruby-compiler/core/parse.y" +#line 3931 "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 11048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10465 "mrbgems/mruby-compiler/core/y.tab.c" break; case 444: /* p_expr: p_kwrest */ -#line 3925 "mrbgems/mruby-compiler/core/parse.y" +#line 3936 "mrbgems/mruby-compiler/core/parse.y" { /* Brace-less kwrest only: in **rest */ (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 11057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10474 "mrbgems/mruby-compiler/core/y.tab.c" break; case 445: /* p_args_head: p_as ',' */ -#line 3933 "mrbgems/mruby-compiler/core/parse.y" +#line 3944 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 11065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10482 "mrbgems/mruby-compiler/core/y.tab.c" break; case 446: /* p_args_head: p_args_head p_as ',' */ -#line 3937 "mrbgems/mruby-compiler/core/parse.y" +#line 3948 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 11073 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10490 "mrbgems/mruby-compiler/core/y.tab.c" break; case 447: /* p_args_post: p_as */ -#line 3944 "mrbgems/mruby-compiler/core/parse.y" +#line 3955 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11081 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10498 "mrbgems/mruby-compiler/core/y.tab.c" break; case 448: /* p_args_post: p_args_post ',' p_as */ -#line 3948 "mrbgems/mruby-compiler/core/parse.y" +#line 3959 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11089 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10506 "mrbgems/mruby-compiler/core/y.tab.c" break; case 450: /* p_as: p_alt "=>" "local variable or method" */ -#line 3955 "mrbgems/mruby-compiler/core/parse.y" +#line 3966 "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" +#line 10514 "mrbgems/mruby-compiler/core/y.tab.c" break; case 452: /* p_alt: p_alt '|' p_value */ -#line 3962 "mrbgems/mruby-compiler/core/parse.y" +#line 3973 "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" +#line 10522 "mrbgems/mruby-compiler/core/y.tab.c" break; case 454: /* p_value: numeric */ -#line 3969 "mrbgems/mruby-compiler/core/parse.y" +#line 3980 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 11113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10530 "mrbgems/mruby-compiler/core/y.tab.c" break; case 455: /* p_value: symbol */ -#line 3973 "mrbgems/mruby-compiler/core/parse.y" +#line 3984 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 11121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10538 "mrbgems/mruby-compiler/core/y.tab.c" break; case 456: /* p_value: tSTRING */ -#line 3977 "mrbgems/mruby-compiler/core/parse.y" +#line 3988 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 11129 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10546 "mrbgems/mruby-compiler/core/y.tab.c" break; case 457: /* p_value: "'nil'" */ -#line 3981 "mrbgems/mruby-compiler/core/parse.y" +#line 3992 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, new_nil(p)); } -#line 11137 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10554 "mrbgems/mruby-compiler/core/y.tab.c" break; case 458: /* p_value: "'true'" */ -#line 3985 "mrbgems/mruby-compiler/core/parse.y" +#line 3996 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, new_true(p)); } -#line 11145 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10562 "mrbgems/mruby-compiler/core/y.tab.c" break; case 459: /* p_value: "'false'" */ -#line 3989 "mrbgems/mruby-compiler/core/parse.y" +#line 4000 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, new_false(p)); } -#line 11153 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10570 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: /* p_value: "constant" */ -#line 3993 "mrbgems/mruby-compiler/core/parse.y" + case 460: /* p_value: p_const */ +#line 4004 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 11161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10578 "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" + case 463: /* p_value: '^' "local variable or method" */ +#line 4010 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); } -#line 11185 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10586 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 466: /* p_array: "[" p_array_body ']' */ -#line 4014 "mrbgems/mruby-compiler/core/parse.y" + case 464: /* p_array: "[" p_array_body ']' */ +#line 4017 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11193 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10594 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 467: /* p_array: "[" ']' */ -#line 4018 "mrbgems/mruby-compiler/core/parse.y" + case 465: /* p_array: "[" ']' */ +#line 4021 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, 0, 0, 0); } -#line 11201 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10602 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 468: /* p_array_body: p_array_elems */ -#line 4025 "mrbgems/mruby-compiler/core/parse.y" + case 466: /* p_array_body: p_array_elems */ +#line 4028 "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" +#line 10611 "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" + case 467: /* p_array_body: p_array_elems ',' p_rest */ +#line 4033 "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 11219 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10620 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 470: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ -#line 4035 "mrbgems/mruby-compiler/core/parse.y" + case 468: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ +#line 4038 "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 11228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10629 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 471: /* p_array_body: p_rest */ -#line 4040 "mrbgems/mruby-compiler/core/parse.y" + case 469: /* p_array_body: p_rest */ +#line 4043 "mrbgems/mruby-compiler/core/parse.y" { /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 11237 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10638 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 472: /* p_array_body: p_rest ',' p_array_elems */ -#line 4045 "mrbgems/mruby-compiler/core/parse.y" + case 470: /* p_array_body: p_rest ',' p_array_elems */ +#line 4048 "mrbgems/mruby-compiler/core/parse.y" { /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11246 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10647 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 473: /* p_array_elems: p_as */ + case 471: /* p_array_body: p_rest ',' p_array_elems ',' p_rest */ #line 4053 "mrbgems/mruby-compiler/core/parse.y" + { + /* Find pattern: [*pre, elems, *post] */ + (yyval.nd) = new_pat_find(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10656 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 472: /* p_array_elems: p_as */ +#line 4061 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11254 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10664 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 474: /* p_array_elems: p_array_elems ',' p_as */ -#line 4057 "mrbgems/mruby-compiler/core/parse.y" + case 473: /* p_array_elems: p_array_elems ',' p_as */ +#line 4065 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11262 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10672 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 475: /* p_rest: "*" "local variable or method" */ -#line 4064 "mrbgems/mruby-compiler/core/parse.y" + case 474: /* p_rest: "*" "local variable or method" */ +#line 4072 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11270 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10680 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 476: /* p_rest: "*" */ -#line 4068 "mrbgems/mruby-compiler/core/parse.y" + case 475: /* p_rest: "*" */ +#line 4076 "mrbgems/mruby-compiler/core/parse.y" { /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 11279 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10689 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 477: /* p_hash: tLBRACE p_hash_body '}' */ -#line 4076 "mrbgems/mruby-compiler/core/parse.y" + case 476: /* p_const: "constant" */ +#line 4084 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_const(p, (yyvsp[0].id)); + } +#line 10697 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 477: /* p_const: p_const "::" "constant" */ +#line 4088 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); + } +#line 10705 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 478: /* p_const: tCOLON3 "constant" */ +#line 4092 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_colon3(p, (yyvsp[0].id)); + } +#line 10713 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 479: /* p_hash: tLBRACE p_hash_body '}' */ +#line 4099 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11287 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10721 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 478: /* p_hash: tLBRACE '}' */ -#line 4080 "mrbgems/mruby-compiler/core/parse.y" + case 480: /* p_hash: tLBRACE '}' */ +#line 4103 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 11295 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10729 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 479: /* p_hash_body: p_hash_elems */ -#line 4087 "mrbgems/mruby-compiler/core/parse.y" + case 481: /* p_hash_body: p_hash_elems */ +#line 4110 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 11303 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10737 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 480: /* p_hash_body: p_hash_elems ',' p_kwrest */ -#line 4091 "mrbgems/mruby-compiler/core/parse.y" + case 482: /* p_hash_body: p_hash_elems ',' p_kwrest */ +#line 4114 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11311 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10745 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 481: /* p_hash_body: p_kwrest */ -#line 4095 "mrbgems/mruby-compiler/core/parse.y" + case 483: /* p_hash_body: p_kwrest */ +#line 4118 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 11319 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10753 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 482: /* p_hash_elems: p_hash_elem */ -#line 4102 "mrbgems/mruby-compiler/core/parse.y" + case 484: /* p_hash_elems: p_hash_elem */ +#line 4125 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11327 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10761 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 483: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ -#line 4106 "mrbgems/mruby-compiler/core/parse.y" + case 485: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ +#line 4129 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11335 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10769 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 484: /* p_hash_elem: "local variable or method" "label" p_as */ -#line 4114 "mrbgems/mruby-compiler/core/parse.y" + case 486: /* p_hash_elem: "local variable or method" "label" p_as */ +#line 4137 "mrbgems/mruby-compiler/core/parse.y" { /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 11344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10778 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 485: /* p_hash_elem: "local variable or method" "label" */ -#line 4119 "mrbgems/mruby-compiler/core/parse.y" + case 487: /* p_hash_elem: "local variable or method" "label" */ +#line 4142 "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 11353 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10787 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 486: /* p_hash_elem: symbol "=>" p_as */ -#line 4124 "mrbgems/mruby-compiler/core/parse.y" + case 488: /* p_hash_elem: symbol "=>" p_as */ +#line 4147 "mrbgems/mruby-compiler/core/parse.y" { /* {:"key" => pattern} or {:key => pattern} */ (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11362 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10796 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 487: /* p_kwrest: "**" "local variable or method" */ -#line 4132 "mrbgems/mruby-compiler/core/parse.y" + case 489: /* p_kwrest: "**" "local variable or method" */ +#line 4155 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11370 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10804 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 488: /* p_kwrest: "**" "'nil'" */ -#line 4136 "mrbgems/mruby-compiler/core/parse.y" + case 490: /* p_kwrest: "**" "'nil'" */ +#line 4159 "mrbgems/mruby-compiler/core/parse.y" { /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 11379 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10813 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 489: /* p_kwrest: "**" */ -#line 4141 "mrbgems/mruby-compiler/core/parse.y" + case 491: /* p_kwrest: "**" */ +#line 4164 "mrbgems/mruby-compiler/core/parse.y" { /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 11388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10822 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 490: /* p_var: "local variable or method" */ -#line 4148 "mrbgems/mruby-compiler/core/parse.y" + case 492: /* p_var: "local variable or method" */ +#line 4171 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11396 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10830 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 491: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ -#line 4156 "mrbgems/mruby-compiler/core/parse.y" + case 493: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ +#line 4179 "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 11405 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10839 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 493: /* exc_list: arg */ -#line 4164 "mrbgems/mruby-compiler/core/parse.y" + case 495: /* exc_list: arg */ +#line 4187 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10847 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 496: /* exc_var: "=>" lhs */ -#line 4172 "mrbgems/mruby-compiler/core/parse.y" + case 498: /* exc_var: "=>" lhs */ +#line 4195 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11421 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10855 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 498: /* opt_ensure: "'ensure'" compstmt */ -#line 4179 "mrbgems/mruby-compiler/core/parse.y" + case 500: /* opt_ensure: "'ensure'" compstmt */ +#line 4202 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11429 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10863 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 505: /* string: string string_fragment */ -#line 4193 "mrbgems/mruby-compiler/core/parse.y" + case 507: /* string: string string_fragment */ +#line 4216 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11437 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10871 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: /* string_fragment: "character literal" */ -#line 4199 "mrbgems/mruby-compiler/core/parse.y" + case 508: /* string_fragment: "character literal" */ +#line 4222 "mrbgems/mruby-compiler/core/parse.y" { /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10880 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 507: /* string_fragment: tSTRING */ -#line 4204 "mrbgems/mruby-compiler/core/parse.y" + case 509: /* string_fragment: tSTRING */ +#line 4227 "mrbgems/mruby-compiler/core/parse.y" { /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10889 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 508: /* string_fragment: "string literal" tSTRING */ -#line 4209 "mrbgems/mruby-compiler/core/parse.y" + case 510: /* string_fragment: "string literal" tSTRING */ +#line 4232 "mrbgems/mruby-compiler/core/parse.y" { /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11464 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10898 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 509: /* string_fragment: "string literal" string_rep tSTRING */ -#line 4214 "mrbgems/mruby-compiler/core/parse.y" + case 511: /* string_fragment: "string literal" string_rep tSTRING */ +#line 4237 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11472 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10906 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: /* string_rep: string_rep string_interp */ -#line 4221 "mrbgems/mruby-compiler/core/parse.y" + case 513: /* string_rep: string_rep string_interp */ +#line 4244 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11480 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10914 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 512: /* string_interp: tSTRING_MID */ -#line 4227 "mrbgems/mruby-compiler/core/parse.y" + case 514: /* string_interp: tSTRING_MID */ +#line 4250 "mrbgems/mruby-compiler/core/parse.y" { /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11489 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10923 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 513: /* @34: %empty */ -#line 4232 "mrbgems/mruby-compiler/core/parse.y" + case 515: /* @34: %empty */ +#line 4255 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11497 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10931 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 514: /* string_interp: tSTRING_PART @34 compstmt '}' */ -#line 4237 "mrbgems/mruby-compiler/core/parse.y" + case 516: /* string_interp: tSTRING_PART @34 compstmt '}' */ +#line 4260 "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 11508 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10942 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 515: /* string_interp: tLITERAL_DELIM */ -#line 4244 "mrbgems/mruby-compiler/core/parse.y" + case 517: /* string_interp: tLITERAL_DELIM */ +#line 4267 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11516 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10950 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 516: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 4248 "mrbgems/mruby-compiler/core/parse.y" + case 518: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ +#line 4271 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11524 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10958 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: /* xstring: tXSTRING_BEG tXSTRING */ -#line 4254 "mrbgems/mruby-compiler/core/parse.y" + case 519: /* xstring: tXSTRING_BEG tXSTRING */ +#line 4277 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 11532 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10966 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 518: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 4258 "mrbgems/mruby-compiler/core/parse.y" + case 520: /* xstring: tXSTRING_BEG string_rep tXSTRING */ +#line 4281 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11540 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10974 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 519: /* regexp: tREGEXP_BEG tREGEXP */ -#line 4264 "mrbgems/mruby-compiler/core/parse.y" + case 521: /* regexp: tREGEXP_BEG tREGEXP */ +#line 4287 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11549,11 +10983,11 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 11553 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10987 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 520: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 4273 "mrbgems/mruby-compiler/core/parse.y" + case 522: /* regexp: tREGEXP_BEG string_rep tREGEXP */ +#line 4296 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11562,47 +10996,47 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 11566 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11000 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 524: /* heredoc_body: tHEREDOC_END */ -#line 4291 "mrbgems/mruby-compiler/core/parse.y" + case 526: /* heredoc_body: tHEREDOC_END */ +#line 4314 "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 11576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11010 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 525: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 4297 "mrbgems/mruby-compiler/core/parse.y" + case 527: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ +#line 4320 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 11584 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11018 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 528: /* heredoc_string_interp: tHD_STRING_MID */ -#line 4307 "mrbgems/mruby-compiler/core/parse.y" + case 530: /* heredoc_string_interp: tHD_STRING_MID */ +#line 4330 "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 11594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11028 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 529: /* @35: %empty */ -#line 4313 "mrbgems/mruby-compiler/core/parse.y" + case 531: /* @35: %empty */ +#line 4336 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11602 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11036 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 530: /* heredoc_string_interp: tHD_STRING_PART @35 compstmt '}' */ -#line 4318 "mrbgems/mruby-compiler/core/parse.y" + case 532: /* heredoc_string_interp: tHD_STRING_PART @35 compstmt '}' */ +#line 4341 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); @@ -11610,37 +11044,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 11614 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 531: /* words: tWORDS_BEG tSTRING */ -#line 4328 "mrbgems/mruby-compiler/core/parse.y" + case 533: /* words: tWORDS_BEG tSTRING */ +#line 4351 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11056 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 532: /* words: tWORDS_BEG string_rep tSTRING */ -#line 4332 "mrbgems/mruby-compiler/core/parse.y" + case 534: /* words: tWORDS_BEG string_rep tSTRING */ +#line 4355 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11632 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11066 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 533: /* symbol: basic_symbol */ -#line 4340 "mrbgems/mruby-compiler/core/parse.y" + case 535: /* symbol: basic_symbol */ +#line 4363 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11640 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11074 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 534: /* symbol: "symbol" "string literal" string_rep tSTRING */ -#line 4344 "mrbgems/mruby-compiler/core/parse.y" + case 536: /* symbol: "symbol" "string literal" string_rep tSTRING */ +#line 4367 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -11652,183 +11086,183 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11656 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11090 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 535: /* symbol: "symbol" "numbered parameter" */ -#line 4356 "mrbgems/mruby-compiler/core/parse.y" + case 537: /* symbol: "symbol" "numbered parameter" */ +#line 4379 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11665 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11099 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 536: /* basic_symbol: "symbol" sym */ -#line 4363 "mrbgems/mruby-compiler/core/parse.y" + case 538: /* basic_symbol: "symbol" sym */ +#line 4386 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11674 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11108 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 541: /* sym: tSTRING */ -#line 4374 "mrbgems/mruby-compiler/core/parse.y" + case 543: /* sym: tSTRING */ +#line 4397 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11682 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11116 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 542: /* sym: "string literal" tSTRING */ -#line 4378 "mrbgems/mruby-compiler/core/parse.y" + case 544: /* sym: "string literal" tSTRING */ +#line 4401 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11690 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11124 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 543: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 4384 "mrbgems/mruby-compiler/core/parse.y" + case 545: /* symbols: tSYMBOLS_BEG tSTRING */ +#line 4407 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11698 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11132 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 544: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 4388 "mrbgems/mruby-compiler/core/parse.y" + case 546: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ +#line 4411 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11142 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 547: /* numeric: tUMINUS_NUM "integer literal" */ -#line 4398 "mrbgems/mruby-compiler/core/parse.y" + case 549: /* numeric: tUMINUS_NUM "integer literal" */ +#line 4421 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11150 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 548: /* numeric: tUMINUS_NUM "float literal" */ -#line 4402 "mrbgems/mruby-compiler/core/parse.y" + case 550: /* numeric: tUMINUS_NUM "float literal" */ +#line 4425 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11158 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 549: /* variable: "local variable or method" */ -#line 4408 "mrbgems/mruby-compiler/core/parse.y" + case 551: /* variable: "local variable or method" */ +#line 4431 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11166 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 550: /* variable: "instance variable" */ -#line 4412 "mrbgems/mruby-compiler/core/parse.y" + case 552: /* variable: "instance variable" */ +#line 4435 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11174 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 551: /* variable: "global variable" */ -#line 4416 "mrbgems/mruby-compiler/core/parse.y" + case 553: /* variable: "global variable" */ +#line 4439 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11182 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 552: /* variable: "class variable" */ -#line 4420 "mrbgems/mruby-compiler/core/parse.y" + case 554: /* variable: "class variable" */ +#line 4443 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11756 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11190 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 553: /* variable: "constant" */ -#line 4424 "mrbgems/mruby-compiler/core/parse.y" + case 555: /* variable: "constant" */ +#line 4447 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11764 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11198 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 554: /* var_lhs: variable */ -#line 4430 "mrbgems/mruby-compiler/core/parse.y" + case 556: /* var_lhs: variable */ +#line 4453 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 11772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11206 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 555: /* var_lhs: "numbered parameter" */ -#line 4434 "mrbgems/mruby-compiler/core/parse.y" + case 557: /* var_lhs: "numbered parameter" */ +#line 4457 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11214 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 556: /* var_ref: variable */ -#line 4440 "mrbgems/mruby-compiler/core/parse.y" + case 558: /* var_ref: variable */ +#line 4463 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11788 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11222 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 557: /* var_ref: "numbered parameter" */ -#line 4444 "mrbgems/mruby-compiler/core/parse.y" + case 559: /* var_ref: "numbered parameter" */ +#line 4467 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11796 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11230 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 558: /* var_ref: "'nil'" */ -#line 4448 "mrbgems/mruby-compiler/core/parse.y" + case 560: /* var_ref: "'nil'" */ +#line 4471 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 11804 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11238 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 559: /* var_ref: "'self'" */ -#line 4452 "mrbgems/mruby-compiler/core/parse.y" + case 561: /* var_ref: "'self'" */ +#line 4475 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 11812 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11246 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 560: /* var_ref: "'true'" */ -#line 4456 "mrbgems/mruby-compiler/core/parse.y" + case 562: /* var_ref: "'true'" */ +#line 4479 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 11820 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11254 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 561: /* var_ref: "'false'" */ -#line 4460 "mrbgems/mruby-compiler/core/parse.y" + case 563: /* var_ref: "'false'" */ +#line 4483 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 11828 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11262 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 562: /* var_ref: "'__FILE__'" */ -#line 4464 "mrbgems/mruby-compiler/core/parse.y" + case 564: /* var_ref: "'__FILE__'" */ +#line 4487 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -11836,686 +11270,686 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11274 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 563: /* var_ref: "'__LINE__'" */ -#line 4472 "mrbgems/mruby-compiler/core/parse.y" + case 565: /* var_ref: "'__LINE__'" */ +#line 4495 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11851 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11285 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 564: /* var_ref: "'__ENCODING__'" */ -#line 4479 "mrbgems/mruby-compiler/core/parse.y" + case 566: /* var_ref: "'__ENCODING__'" */ +#line 4502 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 11859 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11293 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 567: /* superclass: %empty */ -#line 4489 "mrbgems/mruby-compiler/core/parse.y" + case 569: /* superclass: %empty */ +#line 4512 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 11867 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11301 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 568: /* $@36: %empty */ -#line 4493 "mrbgems/mruby-compiler/core/parse.y" + case 570: /* $@36: %empty */ +#line 4516 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11876 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11310 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 569: /* superclass: '<' $@36 expr_value term */ -#line 4498 "mrbgems/mruby-compiler/core/parse.y" + case 571: /* superclass: '<' $@36 expr_value term */ +#line 4521 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11318 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 572: /* f_arglist_paren: '(' f_args rparen */ -#line 4514 "mrbgems/mruby-compiler/core/parse.y" + case 574: /* f_arglist_paren: '(' f_args rparen */ +#line 4537 "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" +#line 11328 "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" + case 575: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ +#line 4543 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11902 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11336 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 574: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 4524 "mrbgems/mruby-compiler/core/parse.y" + case 576: /* f_arglist_paren: '(' tBDOT3 rparen */ +#line 4547 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 11910 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11344 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 576: /* f_arglist: f_args term */ -#line 4531 "mrbgems/mruby-compiler/core/parse.y" + case 578: /* f_arglist: f_args term */ +#line 4554 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11918 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11352 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 577: /* f_arglist: f_arg ',' tBDOT3 term */ -#line 4535 "mrbgems/mruby-compiler/core/parse.y" + case 579: /* f_arglist: f_arg ',' tBDOT3 term */ +#line 4558 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11926 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11360 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 578: /* f_arglist: "..." term */ -#line 4539 "mrbgems/mruby-compiler/core/parse.y" + case 580: /* f_arglist: "..." term */ +#line 4562 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_dots(p, 0); } -#line 11934 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11368 "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 */ + case 581: /* f_label: "local variable or method" "label" */ #line 4568 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + } +#line 11376 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 582: /* f_label: "numbered parameter" "label" */ +#line 4572 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + } +#line 11384 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 583: /* f_kw: f_label arg */ +#line 4578 "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 11979 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11394 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 584: /* f_block_kw: f_label */ -#line 4574 "mrbgems/mruby-compiler/core/parse.y" + case 584: /* f_kw: f_label */ +#line 4584 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 11988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11403 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 585: /* f_block_kwarg: f_block_kw */ -#line 4581 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 11996 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 586: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ -#line 4585 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 12004 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 587: /* f_kwarg: f_kw */ + case 585: /* f_block_kw: f_label primary_value */ #line 4591 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((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 12012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11413 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 588: /* f_kwarg: f_kwarg ',' f_kw */ -#line 4595 "mrbgems/mruby-compiler/core/parse.y" + case 586: /* f_block_kw: f_label */ +#line 4597 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); + } +#line 11422 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 587: /* f_block_kwarg: f_block_kw */ +#line 4604 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 11430 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 588: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ +#line 4608 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12020 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11438 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 591: /* f_kwrest: kwrest_mark "local variable or method" */ -#line 4605 "mrbgems/mruby-compiler/core/parse.y" + case 589: /* f_kwarg: f_kw */ +#line 4614 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 11446 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 590: /* f_kwarg: f_kwarg ',' f_kw */ +#line 4618 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 11454 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 593: /* f_kwrest: kwrest_mark "local variable or method" */ +#line 4628 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11462 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 592: /* f_kwrest: kwrest_mark */ -#line 4609 "mrbgems/mruby-compiler/core/parse.y" + case 594: /* f_kwrest: kwrest_mark */ +#line 4632 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 12036 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11470 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 593: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 4615 "mrbgems/mruby-compiler/core/parse.y" + case 595: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ +#line 4638 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 12044 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11478 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 594: /* args_tail: f_kwarg opt_f_block_arg */ -#line 4619 "mrbgems/mruby-compiler/core/parse.y" + case 596: /* args_tail: f_kwarg opt_f_block_arg */ +#line 4642 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 12052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11486 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 595: /* args_tail: f_kwrest opt_f_block_arg */ -#line 4623 "mrbgems/mruby-compiler/core/parse.y" + case 597: /* args_tail: f_kwrest opt_f_block_arg */ +#line 4646 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 12060 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11494 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 596: /* args_tail: f_block_arg */ -#line 4627 "mrbgems/mruby-compiler/core/parse.y" + case 598: /* args_tail: f_block_arg */ +#line 4650 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 12068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11502 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 597: /* opt_args_tail: ',' args_tail */ -#line 4633 "mrbgems/mruby-compiler/core/parse.y" + case 599: /* opt_args_tail: ',' args_tail */ +#line 4656 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 12076 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11510 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 598: /* opt_args_tail: %empty */ -#line 4637 "mrbgems/mruby-compiler/core/parse.y" + case 600: /* opt_args_tail: %empty */ +#line 4660 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 12084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11518 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4643 "mrbgems/mruby-compiler/core/parse.y" + case 601: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ +#line 4666 "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" +#line 11526 "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" + case 602: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4670 "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" +#line 11534 "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" + case 603: /* f_args: f_arg ',' f_optarg opt_args_tail */ +#line 4674 "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" +#line 11542 "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" + case 604: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ +#line 4678 "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" +#line 11550 "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" + case 605: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ +#line 4682 "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" +#line 11558 "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" + case 606: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4686 "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" +#line 11566 "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" + case 607: /* f_args: f_arg opt_args_tail */ +#line 4690 "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" +#line 11574 "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" + case 608: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ +#line 4694 "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" +#line 11582 "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" + case 609: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4698 "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" +#line 11590 "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" + case 610: /* f_args: f_optarg opt_args_tail */ +#line 4702 "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" +#line 11598 "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" + case 611: /* f_args: f_optarg ',' f_arg opt_args_tail */ +#line 4706 "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" +#line 11606 "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" + case 612: /* f_args: f_rest_arg opt_args_tail */ +#line 4710 "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" +#line 11614 "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" + case 613: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ +#line 4714 "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" +#line 11622 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: /* f_args: args_tail */ -#line 4695 "mrbgems/mruby-compiler/core/parse.y" + case 614: /* f_args: args_tail */ +#line 4718 "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" +#line 11630 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 613: /* f_args: %empty */ -#line 4699 "mrbgems/mruby-compiler/core/parse.y" + case 615: /* f_args: %empty */ +#line 4722 "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" +#line 11639 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 614: /* f_bad_arg: "constant" */ -#line 4706 "mrbgems/mruby-compiler/core/parse.y" + case 616: /* f_bad_arg: "constant" */ +#line 4729 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 12214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11648 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 615: /* f_bad_arg: "instance variable" */ -#line 4711 "mrbgems/mruby-compiler/core/parse.y" + case 617: /* f_bad_arg: "instance variable" */ +#line 4734 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 12223 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11657 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 616: /* f_bad_arg: "global variable" */ -#line 4716 "mrbgems/mruby-compiler/core/parse.y" + case 618: /* f_bad_arg: "global variable" */ +#line 4739 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 12232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11666 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 617: /* f_bad_arg: "class variable" */ -#line 4721 "mrbgems/mruby-compiler/core/parse.y" + case 619: /* f_bad_arg: "class variable" */ +#line 4744 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 12241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11675 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 618: /* f_bad_arg: "numbered parameter" */ -#line 4726 "mrbgems/mruby-compiler/core/parse.y" + case 620: /* f_bad_arg: "numbered parameter" */ +#line 4749 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 12250 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11684 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 619: /* f_norm_arg: f_bad_arg */ -#line 4733 "mrbgems/mruby-compiler/core/parse.y" + case 621: /* f_norm_arg: f_bad_arg */ +#line 4756 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12258 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11692 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 620: /* f_norm_arg: "local variable or method" */ -#line 4737 "mrbgems/mruby-compiler/core/parse.y" + case 622: /* f_norm_arg: "local variable or method" */ +#line 4760 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 12267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11701 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 621: /* f_arg_item: f_norm_arg */ -#line 4744 "mrbgems/mruby-compiler/core/parse.y" + case 623: /* f_arg_item: f_norm_arg */ +#line 4767 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 12275 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11709 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 622: /* @37: %empty */ -#line 4748 "mrbgems/mruby-compiler/core/parse.y" + case 624: /* @37: %empty */ +#line 4771 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 12283 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11717 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 623: /* f_arg_item: tLPAREN @37 f_margs rparen */ -#line 4752 "mrbgems/mruby-compiler/core/parse.y" + case 625: /* f_arg_item: tLPAREN @37 f_margs rparen */ +#line 4775 "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 12293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11727 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 624: /* f_arg: f_arg_item */ -#line 4760 "mrbgems/mruby-compiler/core/parse.y" + case 626: /* f_arg: f_arg_item */ +#line 4783 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11735 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 625: /* f_arg: f_arg ',' f_arg_item */ -#line 4764 "mrbgems/mruby-compiler/core/parse.y" + case 627: /* f_arg: f_arg ',' f_arg_item */ +#line 4787 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11743 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 626: /* f_opt_asgn: "local variable or method" '=' */ -#line 4770 "mrbgems/mruby-compiler/core/parse.y" + case 628: /* f_opt_asgn: "local variable or method" '=' */ +#line 4793 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 12319 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11753 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 627: /* f_opt: f_opt_asgn arg */ -#line 4778 "mrbgems/mruby-compiler/core/parse.y" + case 629: /* f_opt: f_opt_asgn arg */ +#line 4801 "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 12329 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11763 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 628: /* f_block_opt: f_opt_asgn primary_value */ -#line 4786 "mrbgems/mruby-compiler/core/parse.y" + case 630: /* f_block_opt: f_opt_asgn primary_value */ +#line 4809 "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 12339 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11773 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 629: /* f_block_optarg: f_block_opt */ -#line 4794 "mrbgems/mruby-compiler/core/parse.y" + case 631: /* f_block_optarg: f_block_opt */ +#line 4817 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12347 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11781 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 630: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 4798 "mrbgems/mruby-compiler/core/parse.y" + case 632: /* f_block_optarg: f_block_optarg ',' f_block_opt */ +#line 4821 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12355 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11789 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 631: /* f_optarg: f_opt */ -#line 4804 "mrbgems/mruby-compiler/core/parse.y" + case 633: /* f_optarg: f_opt */ +#line 4827 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12363 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11797 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 632: /* f_optarg: f_optarg ',' f_opt */ -#line 4808 "mrbgems/mruby-compiler/core/parse.y" + case 634: /* f_optarg: f_optarg ',' f_opt */ +#line 4831 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12371 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11805 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 635: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4818 "mrbgems/mruby-compiler/core/parse.y" + case 637: /* f_rest_arg: restarg_mark "local variable or method" */ +#line 4841 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 12380 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11814 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 636: /* f_rest_arg: restarg_mark */ -#line 4823 "mrbgems/mruby-compiler/core/parse.y" + case 638: /* f_rest_arg: restarg_mark */ +#line 4846 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 12389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11823 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 639: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4834 "mrbgems/mruby-compiler/core/parse.y" + case 641: /* f_block_arg: blkarg_mark "local variable or method" */ +#line 4857 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12397 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11831 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 640: /* f_block_arg: blkarg_mark */ -#line 4838 "mrbgems/mruby-compiler/core/parse.y" + case 642: /* f_block_arg: blkarg_mark */ +#line 4861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 12405 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11839 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 641: /* opt_f_block_arg: ',' f_block_arg */ -#line 4844 "mrbgems/mruby-compiler/core/parse.y" + case 643: /* opt_f_block_arg: ',' f_block_arg */ +#line 4867 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11847 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 642: /* opt_f_block_arg: none */ -#line 4848 "mrbgems/mruby-compiler/core/parse.y" + case 644: /* opt_f_block_arg: none */ +#line 4871 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12421 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11855 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 643: /* singleton: var_ref */ -#line 4854 "mrbgems/mruby-compiler/core/parse.y" + case 645: /* singleton: var_ref */ +#line 4877 "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 12431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11865 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 644: /* $@38: %empty */ -#line 4859 "mrbgems/mruby-compiler/core/parse.y" + case 646: /* $@38: %empty */ +#line 4882 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 12437 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11871 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 645: /* singleton: '(' $@38 expr rparen */ -#line 4860 "mrbgems/mruby-compiler/core/parse.y" + case 647: /* singleton: '(' $@38 expr rparen */ +#line 4883 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 12446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11880 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 647: /* assoc_list: assocs trailer */ -#line 4868 "mrbgems/mruby-compiler/core/parse.y" + case 649: /* assoc_list: assocs trailer */ +#line 4891 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 12454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11888 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 648: /* assocs: assoc */ -#line 4874 "mrbgems/mruby-compiler/core/parse.y" + case 650: /* assocs: assoc */ +#line 4897 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11896 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 649: /* assocs: assocs comma assoc */ -#line 4878 "mrbgems/mruby-compiler/core/parse.y" + case 651: /* assocs: assocs comma assoc */ +#line 4901 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11904 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 650: /* assoc: arg "=>" arg */ -#line 4884 "mrbgems/mruby-compiler/core/parse.y" + case 652: /* assoc: arg "=>" arg */ +#line 4907 "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 12480 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11914 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 651: /* assoc: "local variable or method" "label" arg */ -#line 4890 "mrbgems/mruby-compiler/core/parse.y" + case 653: /* assoc: "local variable or method" "label" arg */ +#line 4913 "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 12489 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11923 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 652: /* assoc: "local variable or method" "label" */ -#line 4895 "mrbgems/mruby-compiler/core/parse.y" + case 654: /* assoc: "local variable or method" "label" */ +#line 4918 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 12497 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11931 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 653: /* assoc: "numbered parameter" "label" */ -#line 4899 "mrbgems/mruby-compiler/core/parse.y" + case 655: /* assoc: "numbered parameter" "label" */ +#line 4922 "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 12506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11940 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 654: /* assoc: "numbered parameter" "label" arg */ -#line 4904 "mrbgems/mruby-compiler/core/parse.y" + case 656: /* assoc: "numbered parameter" "label" arg */ +#line 4927 "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 12515 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11949 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 655: /* assoc: string_fragment "label" arg */ -#line 4909 "mrbgems/mruby-compiler/core/parse.y" + case 657: /* assoc: string_fragment "label" arg */ +#line 4932 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -12531,75 +11965,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 12535 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11969 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 656: /* assoc: "**" arg */ -#line 4925 "mrbgems/mruby-compiler/core/parse.y" + case 658: /* assoc: "**" arg */ +#line 4948 "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 12544 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11978 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 657: /* assoc: "**" */ -#line 4930 "mrbgems/mruby-compiler/core/parse.y" + case 659: /* assoc: "**" */ +#line 4953 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 12552 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11986 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 670: /* call_op: '.' */ -#line 4956 "mrbgems/mruby-compiler/core/parse.y" + case 672: /* call_op: '.' */ +#line 4979 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 12560 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11994 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 671: /* call_op: "&." */ -#line 4960 "mrbgems/mruby-compiler/core/parse.y" + case 673: /* call_op: "&." */ +#line 4983 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 12568 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12002 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 673: /* call_op2: "::" */ -#line 4967 "mrbgems/mruby-compiler/core/parse.y" + case 675: /* call_op2: "::" */ +#line 4990 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 12576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12010 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 682: /* term: ';' */ -#line 4988 "mrbgems/mruby-compiler/core/parse.y" + case 684: /* term: ';' */ +#line 5011 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 12582 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12016 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 684: /* nl: '\n' */ -#line 4993 "mrbgems/mruby-compiler/core/parse.y" + case 686: /* nl: '\n' */ +#line 5016 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 12591 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12025 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 688: /* none: %empty */ -#line 5005 "mrbgems/mruby-compiler/core/parse.y" + case 690: /* none: %empty */ +#line 5028 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 12599 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12033 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 12603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12037 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -12832,7 +12266,7 @@ yyreturnlab: return yyresult; } -#line 5009 "mrbgems/mruby-compiler/core/parse.y" +#line 5032 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval)))