diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index c7e02e4d3..09a797663 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -4514,6 +4514,99 @@ codegen_pattern(codegen_scope *s, node *pattern, int target, uint32_t *fail_pos) } break; + case NODE_PAT_HASH: + { + struct mrb_ast_pat_hash_node *pat_hash = pat_hash_node(pattern); + int hash_reg = cursp(); + node *pair; + int num_keys = 0; + + /* Count keys */ + for (pair = pat_hash->pairs; pair; pair = pair->cdr) num_keys++; + + /* Build array of keys to pass to deconstruct_keys */ + /* Generate: target.deconstruct_keys([key1, key2, ...]) */ + gen_move(s, cursp(), target, 0); + push(); + if (pat_hash->rest == (node*)-1) { + /* **nil: pass nil to deconstruct_keys (exact match) */ + genop_1(s, OP_LOADNIL, cursp()); + push(); + } + else if (num_keys > 0) { + /* Build array of expected keys */ + int i = 0; + for (pair = pat_hash->pairs; pair; pair = pair->cdr, i++) { + node *key = pair->car->car; + if (get_node_type(key) == NODE_SYM) { + genop_2(s, OP_LOADSYM, cursp(), new_sym(s, sym_node(key)->symbol)); + } + else { + /* String or other key - codegen it */ + codegen(s, key, VAL); + } + push(); + } + genop_2(s, OP_ARRAY, cursp() - num_keys, num_keys); + /* Adjust stack: we pushed num_keys items, now just need 1 for array */ + for (i = 1; i < num_keys; i++) pop(); + } + else { + /* Empty hash pattern or ** only: pass empty array */ + genop_2(s, OP_ARRAY, cursp(), 0); + push(); + } + genop_3(s, OP_SEND, hash_reg, new_sym(s, MRB_SYM_2(s->mrb, deconstruct_keys)), 1); + pop(); /* Pop argument */ + /* hash_reg now contains the deconstructed hash */ + + /* Match each key-pattern pair */ + for (pair = pat_hash->pairs; pair; pair = pair->cdr) { + node *key = pair->car->car; + node *pat = pair->car->cdr; + + /* Generate: hash[key] */ + gen_move(s, cursp(), hash_reg, 0); + push(); + if (get_node_type(key) == NODE_SYM) { + genop_2(s, OP_LOADSYM, cursp(), new_sym(s, sym_node(key)->symbol)); + } + else { + codegen(s, key, VAL); + } + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, aref)), 1); + + /* Match pattern against value */ + codegen_pattern(s, pat, cursp(), fail_pos); + } + + /* Handle rest pattern */ + if (pat_hash->rest == (node*)-1) { + /* **nil: verify no extra keys (already handled by deconstruct_keys returning nil for unknown keys) */ + /* The exact match behavior depends on deconstruct_keys implementation */ + } + else if (pat_hash->rest && pat_hash->rest != (node*)-2) { + /* **var: capture remaining keys into a variable */ + /* This requires computing: hash.reject {|k,v| [key1, key2, ...].include?(k) } */ + /* For now, this is a more complex operation - we'll implement basic support */ + struct mrb_ast_pat_var_node *rest_var = pat_var_node(pat_hash->rest); + if (rest_var->name) { + int var_idx = lv_idx(s, rest_var->name); + /* Simplified: just copy the hash for now */ + /* Full implementation would filter out matched keys */ + gen_move(s, cursp(), hash_reg, 0); + if (var_idx > 0) { + gen_move(s, var_idx, cursp(), 1); + } + } + } + /* ** (anonymous rest) - nothing to capture */ + + pop(); /* Pop hash_reg */ + } + break; + default: raise_error(s, "unsupported pattern type"); break; diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index bd884076c..2e5d971f7 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -664,6 +664,16 @@ new_pat_array(parser_state *p, node *pre, node *rest, node *post) return (node*)n; } +/* Create hash pattern node {a:, b: x, **rest} */ +static node* +new_pat_hash(parser_state *p, node *pairs, node *rest) +{ + struct mrb_ast_pat_hash_node *n = NEW_NODE(pat_hash, NODE_PAT_HASH); + n->pairs = pairs; + n->rest = rest; + return (node*)n; +} + /* Create in-clause node for case/in */ static node* new_in(parser_state *p, node *pattern, node *guard, node *body, mrb_bool guard_is_unless) @@ -2064,7 +2074,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 +%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 %token tUPLUS "unary plus" %token tUMINUS "unary minus" @@ -3905,6 +3915,7 @@ p_value : p_var $$ = new_pat_value(p, new_colon3(p, $2)); } | p_array + | p_hash ; /* Array pattern: [a, b, *rest, c] */ @@ -3969,6 +3980,78 @@ p_rest : tSTAR tIDENTIFIER } ; +/* Hash pattern: {a:, b: x, **rest} */ +p_hash : tLBRACE p_hash_body '}' + { + $$ = $2; + } + | tLBRACE '}' + { + $$ = new_pat_hash(p, 0, 0); + } + ; + +/* Hash pattern body - pairs and optional kwrest */ +p_hash_body : p_hash_elems + { + $$ = new_pat_hash(p, $1, 0); + } + | p_hash_elems ',' p_kwrest + { + $$ = new_pat_hash(p, $1, $3); + } + | p_kwrest + { + $$ = new_pat_hash(p, 0, $1); + } + ; + +/* Hash pattern element list */ +p_hash_elems : p_hash_elem + { + $$ = list1($1); + } + | p_hash_elems ',' p_hash_elem + { + $$ = push($1, $3); + } + ; + +/* Hash pattern element: key: pattern or key: (shorthand) */ +p_hash_elem : tIDENTIFIER tLABEL_TAG p_expr + { + /* {key: pattern} */ + $$ = cons(new_sym(p, $1), $3); + } + | tIDENTIFIER tLABEL_TAG + { + /* {key:} shorthand - binds to variable with same name */ + $$ = cons(new_sym(p, $1), new_pat_var(p, $1)); + } + | symbol tASSOC p_expr + { + /* {:"key" => pattern} or {:key => pattern} */ + $$ = cons($1, $3); + } + ; + +/* Keyword rest pattern: **var, **nil, or ** */ +p_kwrest : tDSTAR tIDENTIFIER + { + $$ = new_pat_var(p, $2); + } + | tDSTAR keyword_nil + { + /* **nil - exact match, no extra keys allowed */ + $$ = (node*)-1; + } + | tDSTAR + { + /* ** - anonymous rest, discards extra keys */ + $$ = (node*)-2; + } + ; + p_var : tIDENTIFIER { $$ = new_pat_var(p, $1); diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 8eaeda695..c64af9af1 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -726,6 +726,16 @@ new_pat_array(parser_state *p, node *pre, node *rest, node *post) return (node*)n; } +/* Create hash pattern node {a:, b: x, **rest} */ +static node* +new_pat_hash(parser_state *p, node *pairs, node *rest) +{ + struct mrb_ast_pat_hash_node *n = NEW_NODE(pat_hash, NODE_PAT_HASH); + n->pairs = pairs; + n->rest = rest; + return (node*)n; +} + /* Create in-clause node for case/in */ static node* new_in(parser_state *p, node *pattern, node *guard, node *body, mrb_bool guard_is_unless) @@ -2016,7 +2026,7 @@ prohibit_literals(parser_state *p, node *n) /* xxx ----------------------------- */ -#line 2020 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2030 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -2187,7 +2197,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 1963 "mrbgems/mruby-compiler/core/parse.y" +#line 1973 "mrbgems/mruby-compiler/core/parse.y" node *nd; mrb_sym id; @@ -2195,7 +2205,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 2199 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2209 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2486,84 +2496,89 @@ enum yysymbol_kind_t YYSYMBOL_p_array_body = 254, /* p_array_body */ YYSYMBOL_p_array_elems = 255, /* p_array_elems */ YYSYMBOL_p_rest = 256, /* p_rest */ - YYSYMBOL_p_var = 257, /* p_var */ - YYSYMBOL_opt_rescue = 258, /* opt_rescue */ - YYSYMBOL_exc_list = 259, /* exc_list */ - YYSYMBOL_exc_var = 260, /* exc_var */ - YYSYMBOL_opt_ensure = 261, /* opt_ensure */ - YYSYMBOL_literal = 262, /* literal */ - YYSYMBOL_string = 263, /* string */ - YYSYMBOL_string_fragment = 264, /* string_fragment */ - YYSYMBOL_string_rep = 265, /* string_rep */ - YYSYMBOL_string_interp = 266, /* string_interp */ - YYSYMBOL_267_29 = 267, /* @29 */ - YYSYMBOL_xstring = 268, /* xstring */ - YYSYMBOL_regexp = 269, /* regexp */ - YYSYMBOL_heredoc = 270, /* heredoc */ - YYSYMBOL_heredoc_bodies = 271, /* heredoc_bodies */ - YYSYMBOL_heredoc_body = 272, /* heredoc_body */ - YYSYMBOL_heredoc_string_rep = 273, /* heredoc_string_rep */ - YYSYMBOL_heredoc_string_interp = 274, /* heredoc_string_interp */ - YYSYMBOL_275_30 = 275, /* @30 */ - YYSYMBOL_words = 276, /* words */ - YYSYMBOL_symbol = 277, /* symbol */ - YYSYMBOL_basic_symbol = 278, /* basic_symbol */ - YYSYMBOL_sym = 279, /* sym */ - YYSYMBOL_symbols = 280, /* symbols */ - YYSYMBOL_numeric = 281, /* numeric */ - YYSYMBOL_variable = 282, /* variable */ - YYSYMBOL_var_lhs = 283, /* var_lhs */ - YYSYMBOL_var_ref = 284, /* var_ref */ - YYSYMBOL_backref = 285, /* backref */ - YYSYMBOL_superclass = 286, /* superclass */ - YYSYMBOL_287_31 = 287, /* $@31 */ - YYSYMBOL_f_opt_arglist_paren = 288, /* f_opt_arglist_paren */ - YYSYMBOL_f_arglist_paren = 289, /* f_arglist_paren */ - YYSYMBOL_f_arglist = 290, /* f_arglist */ - YYSYMBOL_f_label = 291, /* f_label */ - YYSYMBOL_f_kw = 292, /* f_kw */ - YYSYMBOL_f_block_kw = 293, /* f_block_kw */ - YYSYMBOL_f_block_kwarg = 294, /* f_block_kwarg */ - YYSYMBOL_f_kwarg = 295, /* f_kwarg */ - YYSYMBOL_kwrest_mark = 296, /* kwrest_mark */ - YYSYMBOL_f_kwrest = 297, /* f_kwrest */ - YYSYMBOL_args_tail = 298, /* args_tail */ - YYSYMBOL_opt_args_tail = 299, /* opt_args_tail */ - YYSYMBOL_f_args = 300, /* f_args */ - YYSYMBOL_f_bad_arg = 301, /* f_bad_arg */ - YYSYMBOL_f_norm_arg = 302, /* f_norm_arg */ - YYSYMBOL_f_arg_item = 303, /* f_arg_item */ - YYSYMBOL_304_32 = 304, /* @32 */ - YYSYMBOL_f_arg = 305, /* f_arg */ - YYSYMBOL_f_opt_asgn = 306, /* f_opt_asgn */ - YYSYMBOL_f_opt = 307, /* f_opt */ - YYSYMBOL_f_block_opt = 308, /* f_block_opt */ - YYSYMBOL_f_block_optarg = 309, /* f_block_optarg */ - YYSYMBOL_f_optarg = 310, /* f_optarg */ - YYSYMBOL_restarg_mark = 311, /* restarg_mark */ - YYSYMBOL_f_rest_arg = 312, /* f_rest_arg */ - YYSYMBOL_blkarg_mark = 313, /* blkarg_mark */ - YYSYMBOL_f_block_arg = 314, /* f_block_arg */ - YYSYMBOL_opt_f_block_arg = 315, /* opt_f_block_arg */ - YYSYMBOL_singleton = 316, /* singleton */ - YYSYMBOL_317_33 = 317, /* $@33 */ - YYSYMBOL_assoc_list = 318, /* assoc_list */ - YYSYMBOL_assocs = 319, /* assocs */ - YYSYMBOL_assoc = 320, /* assoc */ - YYSYMBOL_operation = 321, /* operation */ - YYSYMBOL_operation2 = 322, /* operation2 */ - YYSYMBOL_operation3 = 323, /* operation3 */ - YYSYMBOL_dot_or_colon = 324, /* dot_or_colon */ - YYSYMBOL_call_op = 325, /* call_op */ - YYSYMBOL_call_op2 = 326, /* call_op2 */ - YYSYMBOL_opt_terms = 327, /* opt_terms */ - YYSYMBOL_opt_nl = 328, /* opt_nl */ - YYSYMBOL_rparen = 329, /* rparen */ - YYSYMBOL_trailer = 330, /* trailer */ - YYSYMBOL_term = 331, /* term */ - YYSYMBOL_nl = 332, /* nl */ - YYSYMBOL_terms = 333, /* terms */ - YYSYMBOL_none = 334 /* none */ + YYSYMBOL_p_hash = 257, /* p_hash */ + YYSYMBOL_p_hash_body = 258, /* p_hash_body */ + YYSYMBOL_p_hash_elems = 259, /* p_hash_elems */ + YYSYMBOL_p_hash_elem = 260, /* p_hash_elem */ + YYSYMBOL_p_kwrest = 261, /* p_kwrest */ + YYSYMBOL_p_var = 262, /* p_var */ + YYSYMBOL_opt_rescue = 263, /* opt_rescue */ + YYSYMBOL_exc_list = 264, /* exc_list */ + YYSYMBOL_exc_var = 265, /* exc_var */ + YYSYMBOL_opt_ensure = 266, /* opt_ensure */ + YYSYMBOL_literal = 267, /* literal */ + YYSYMBOL_string = 268, /* string */ + YYSYMBOL_string_fragment = 269, /* string_fragment */ + YYSYMBOL_string_rep = 270, /* string_rep */ + YYSYMBOL_string_interp = 271, /* string_interp */ + YYSYMBOL_272_29 = 272, /* @29 */ + YYSYMBOL_xstring = 273, /* xstring */ + YYSYMBOL_regexp = 274, /* regexp */ + YYSYMBOL_heredoc = 275, /* heredoc */ + YYSYMBOL_heredoc_bodies = 276, /* heredoc_bodies */ + YYSYMBOL_heredoc_body = 277, /* heredoc_body */ + YYSYMBOL_heredoc_string_rep = 278, /* heredoc_string_rep */ + YYSYMBOL_heredoc_string_interp = 279, /* heredoc_string_interp */ + YYSYMBOL_280_30 = 280, /* @30 */ + YYSYMBOL_words = 281, /* words */ + YYSYMBOL_symbol = 282, /* symbol */ + YYSYMBOL_basic_symbol = 283, /* basic_symbol */ + YYSYMBOL_sym = 284, /* sym */ + YYSYMBOL_symbols = 285, /* symbols */ + YYSYMBOL_numeric = 286, /* numeric */ + YYSYMBOL_variable = 287, /* variable */ + YYSYMBOL_var_lhs = 288, /* var_lhs */ + YYSYMBOL_var_ref = 289, /* var_ref */ + YYSYMBOL_backref = 290, /* backref */ + YYSYMBOL_superclass = 291, /* superclass */ + YYSYMBOL_292_31 = 292, /* $@31 */ + YYSYMBOL_f_opt_arglist_paren = 293, /* f_opt_arglist_paren */ + YYSYMBOL_f_arglist_paren = 294, /* f_arglist_paren */ + YYSYMBOL_f_arglist = 295, /* f_arglist */ + YYSYMBOL_f_label = 296, /* f_label */ + YYSYMBOL_f_kw = 297, /* f_kw */ + YYSYMBOL_f_block_kw = 298, /* f_block_kw */ + YYSYMBOL_f_block_kwarg = 299, /* f_block_kwarg */ + YYSYMBOL_f_kwarg = 300, /* f_kwarg */ + YYSYMBOL_kwrest_mark = 301, /* kwrest_mark */ + YYSYMBOL_f_kwrest = 302, /* f_kwrest */ + YYSYMBOL_args_tail = 303, /* args_tail */ + YYSYMBOL_opt_args_tail = 304, /* opt_args_tail */ + YYSYMBOL_f_args = 305, /* f_args */ + YYSYMBOL_f_bad_arg = 306, /* f_bad_arg */ + YYSYMBOL_f_norm_arg = 307, /* f_norm_arg */ + YYSYMBOL_f_arg_item = 308, /* f_arg_item */ + YYSYMBOL_309_32 = 309, /* @32 */ + YYSYMBOL_f_arg = 310, /* f_arg */ + YYSYMBOL_f_opt_asgn = 311, /* f_opt_asgn */ + YYSYMBOL_f_opt = 312, /* f_opt */ + YYSYMBOL_f_block_opt = 313, /* f_block_opt */ + YYSYMBOL_f_block_optarg = 314, /* f_block_optarg */ + YYSYMBOL_f_optarg = 315, /* f_optarg */ + YYSYMBOL_restarg_mark = 316, /* restarg_mark */ + YYSYMBOL_f_rest_arg = 317, /* f_rest_arg */ + YYSYMBOL_blkarg_mark = 318, /* blkarg_mark */ + YYSYMBOL_f_block_arg = 319, /* f_block_arg */ + YYSYMBOL_opt_f_block_arg = 320, /* opt_f_block_arg */ + YYSYMBOL_singleton = 321, /* singleton */ + YYSYMBOL_322_33 = 322, /* $@33 */ + YYSYMBOL_assoc_list = 323, /* assoc_list */ + YYSYMBOL_assocs = 324, /* assocs */ + YYSYMBOL_assoc = 325, /* assoc */ + YYSYMBOL_operation = 326, /* operation */ + YYSYMBOL_operation2 = 327, /* operation2 */ + YYSYMBOL_operation3 = 328, /* operation3 */ + YYSYMBOL_dot_or_colon = 329, /* dot_or_colon */ + YYSYMBOL_call_op = 330, /* call_op */ + YYSYMBOL_call_op2 = 331, /* call_op2 */ + YYSYMBOL_opt_terms = 332, /* opt_terms */ + YYSYMBOL_opt_nl = 333, /* opt_nl */ + YYSYMBOL_rparen = 334, /* rparen */ + YYSYMBOL_trailer = 335, /* trailer */ + YYSYMBOL_term = 336, /* term */ + YYSYMBOL_nl = 337, /* nl */ + YYSYMBOL_terms = 338, /* terms */ + YYSYMBOL_none = 339 /* none */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -2894,16 +2909,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 106 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 15578 +#define YYLAST 16001 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 186 +#define YYNNTS 191 /* YYNRULES -- Number of rules. */ -#define YYNRULES 655 +#define YYNRULES 669 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1166 +#define YYNSTATES 1192 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 377 @@ -2964,72 +2979,73 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 2137, 2137, 2137, 2147, 2153, 2157, 2161, 2165, 2171, - 2173, 2172, 2186, 2212, 2218, 2222, 2226, 2230, 2236, 2236, - 2240, 2244, 2248, 2252, 2261, 2270, 2274, 2279, 2280, 2284, - 2288, 2292, 2296, 2302, 2305, 2309, 2313, 2317, 2321, 2325, - 2330, 2334, 2343, 2352, 2361, 2370, 2377, 2378, 2382, 2385, - 2386, 2390, 2394, 2398, 2402, 2405, 2415, 2414, 2429, 2438, - 2439, 2442, 2443, 2450, 2449, 2464, 2468, 2473, 2477, 2482, - 2486, 2491, 2495, 2499, 2503, 2507, 2513, 2517, 2523, 2524, - 2530, 2534, 2538, 2542, 2546, 2550, 2554, 2558, 2562, 2566, - 2572, 2573, 2579, 2583, 2589, 2593, 2599, 2603, 2607, 2611, - 2615, 2619, 2625, 2631, 2638, 2642, 2646, 2650, 2654, 2658, - 2664, 2670, 2675, 2681, 2685, 2688, 2692, 2696, 2703, 2704, - 2705, 2706, 2711, 2718, 2719, 2722, 2726, 2726, 2732, 2733, - 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, + 0, 2147, 2147, 2147, 2157, 2163, 2167, 2171, 2175, 2181, + 2183, 2182, 2196, 2222, 2228, 2232, 2236, 2240, 2246, 2246, + 2250, 2254, 2258, 2262, 2271, 2280, 2284, 2289, 2290, 2294, + 2298, 2302, 2306, 2312, 2315, 2319, 2323, 2327, 2331, 2335, + 2340, 2344, 2353, 2362, 2371, 2380, 2387, 2388, 2392, 2395, + 2396, 2400, 2404, 2408, 2412, 2415, 2425, 2424, 2439, 2448, + 2449, 2452, 2453, 2460, 2459, 2474, 2478, 2483, 2487, 2492, + 2496, 2501, 2505, 2509, 2513, 2517, 2523, 2527, 2533, 2534, + 2540, 2544, 2548, 2552, 2556, 2560, 2564, 2568, 2572, 2576, + 2582, 2583, 2589, 2593, 2599, 2603, 2609, 2613, 2617, 2621, + 2625, 2629, 2635, 2641, 2648, 2652, 2656, 2660, 2664, 2668, + 2674, 2680, 2685, 2691, 2695, 2698, 2702, 2706, 2713, 2714, + 2715, 2716, 2721, 2728, 2729, 2732, 2736, 2736, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, - 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2764, 2764, - 2764, 2765, 2765, 2766, 2766, 2766, 2767, 2767, 2767, 2767, - 2768, 2768, 2768, 2769, 2769, 2769, 2770, 2770, 2770, 2770, - 2771, 2771, 2771, 2771, 2772, 2772, 2772, 2772, 2773, 2773, - 2773, 2773, 2774, 2774, 2774, 2774, 2775, 2775, 2778, 2782, - 2786, 2790, 2794, 2798, 2802, 2807, 2812, 2817, 2821, 2825, - 2829, 2833, 2837, 2841, 2845, 2849, 2853, 2857, 2861, 2865, - 2869, 2873, 2877, 2881, 2885, 2889, 2893, 2897, 2901, 2905, - 2909, 2913, 2917, 2921, 2925, 2929, 2933, 2937, 2941, 2945, - 2949, 2953, 2957, 2961, 2965, 2974, 2983, 2992, 3001, 3007, - 3008, 3012, 3016, 3022, 3026, 3033, 3037, 3046, 3063, 3064, - 3067, 3068, 3069, 3073, 3077, 3083, 3088, 3092, 3096, 3100, - 3106, 3106, 3117, 3121, 3127, 3131, 3137, 3140, 3145, 3149, - 3153, 3158, 3162, 3168, 3173, 3177, 3183, 3184, 3188, 3192, - 3193, 3194, 3195, 3196, 3201, 3200, 3212, 3216, 3211, 3221, - 3221, 3225, 3229, 3233, 3237, 3241, 3245, 3249, 3253, 3257, - 3261, 3265, 3266, 3272, 3279, 3271, 3292, 3300, 3308, 3308, - 3308, 3315, 3315, 3315, 3322, 3328, 3332, 3341, 3350, 3360, - 3362, 3359, 3371, 3369, 3387, 3392, 3385, 3409, 3407, 3423, - 3433, 3444, 3448, 3452, 3456, 3462, 3469, 3470, 3471, 3474, - 3475, 3478, 3479, 3487, 3488, 3494, 3498, 3501, 3505, 3509, - 3513, 3518, 3522, 3526, 3530, 3536, 3535, 3545, 3549, 3553, - 3557, 3563, 3568, 3573, 3577, 3581, 3585, 3589, 3593, 3597, - 3601, 3605, 3609, 3613, 3617, 3621, 3625, 3629, 3635, 3640, - 3647, 3647, 3651, 3656, 3662, 3666, 3672, 3673, 3676, 3681, - 3684, 3688, 3694, 3698, 3705, 3704, 3721, 3726, 3730, 3735, - 3742, 3746, 3750, 3754, 3758, 3762, 3766, 3770, 3774, 3781, - 3780, 3795, 3794, 3810, 3818, 3827, 3831, 3835, 3840, 3845, - 3853, 3856, 3857, 3863, 3864, 3870, 3871, 3875, 3879, 3883, - 3887, 3891, 3895, 3899, 3903, 3907, 3911, 3915, 3922, 3927, - 3932, 3937, 3942, 3950, 3954, 3961, 3965, 3972, 3978, 3985, - 3988, 3992, 3993, 3996, 4000, 4003, 4007, 4010, 4011, 4012, - 4013, 4016, 4017, 4023, 4028, 4033, 4038, 4044, 4045, 4051, - 4057, 4056, 4068, 4072, 4078, 4082, 4088, 4097, 4108, 4111, - 4112, 4115, 4121, 4127, 4128, 4131, 4138, 4137, 4152, 4156, - 4164, 4168, 4180, 4187, 4194, 4195, 4196, 4197, 4198, 4202, - 4208, 4212, 4220, 4221, 4222, 4226, 4232, 4236, 4240, 4244, - 4248, 4254, 4258, 4264, 4268, 4272, 4276, 4280, 4284, 4288, - 4296, 4303, 4309, 4310, 4314, 4318, 4317, 4334, 4335, 4338, - 4344, 4348, 4354, 4355, 4359, 4363, 4369, 4373, 4379, 4385, - 4392, 4398, 4405, 4409, 4415, 4419, 4425, 4426, 4429, 4433, - 4439, 4443, 4447, 4451, 4457, 4462, 4467, 4471, 4475, 4479, - 4483, 4487, 4491, 4495, 4499, 4503, 4507, 4511, 4515, 4519, - 4524, 4530, 4535, 4540, 4545, 4550, 4557, 4561, 4568, 4573, - 4572, 4584, 4588, 4594, 4602, 4610, 4618, 4622, 4628, 4632, - 4638, 4639, 4642, 4647, 4654, 4655, 4658, 4662, 4668, 4672, - 4678, 4684, 4684, 4691, 4692, 4698, 4702, 4708, 4714, 4719, - 4723, 4728, 4733, 4749, 4754, 4760, 4761, 4762, 4765, 4766, - 4767, 4768, 4771, 4772, 4773, 4776, 4777, 4780, 4784, 4790, - 4791, 4797, 4798, 4801, 4802, 4805, 4808, 4809, 4810, 4813, - 4814, 4817, 4822, 4825, 4826, 4830 + 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, + 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2774, 2774, + 2774, 2775, 2775, 2776, 2776, 2776, 2777, 2777, 2777, 2777, + 2778, 2778, 2778, 2779, 2779, 2779, 2780, 2780, 2780, 2780, + 2781, 2781, 2781, 2781, 2782, 2782, 2782, 2782, 2783, 2783, + 2783, 2783, 2784, 2784, 2784, 2784, 2785, 2785, 2788, 2792, + 2796, 2800, 2804, 2808, 2812, 2817, 2822, 2827, 2831, 2835, + 2839, 2843, 2847, 2851, 2855, 2859, 2863, 2867, 2871, 2875, + 2879, 2883, 2887, 2891, 2895, 2899, 2903, 2907, 2911, 2915, + 2919, 2923, 2927, 2931, 2935, 2939, 2943, 2947, 2951, 2955, + 2959, 2963, 2967, 2971, 2975, 2984, 2993, 3002, 3011, 3017, + 3018, 3022, 3026, 3032, 3036, 3043, 3047, 3056, 3073, 3074, + 3077, 3078, 3079, 3083, 3087, 3093, 3098, 3102, 3106, 3110, + 3116, 3116, 3127, 3131, 3137, 3141, 3147, 3150, 3155, 3159, + 3163, 3168, 3172, 3178, 3183, 3187, 3193, 3194, 3198, 3202, + 3203, 3204, 3205, 3206, 3211, 3210, 3222, 3226, 3221, 3231, + 3231, 3235, 3239, 3243, 3247, 3251, 3255, 3259, 3263, 3267, + 3271, 3275, 3276, 3282, 3289, 3281, 3302, 3310, 3318, 3318, + 3318, 3325, 3325, 3325, 3332, 3338, 3342, 3351, 3360, 3370, + 3372, 3369, 3381, 3379, 3397, 3402, 3395, 3419, 3417, 3433, + 3443, 3454, 3458, 3462, 3466, 3472, 3479, 3480, 3481, 3484, + 3485, 3488, 3489, 3497, 3498, 3504, 3508, 3511, 3515, 3519, + 3523, 3528, 3532, 3536, 3540, 3546, 3545, 3555, 3559, 3563, + 3567, 3573, 3578, 3583, 3587, 3591, 3595, 3599, 3603, 3607, + 3611, 3615, 3619, 3623, 3627, 3631, 3635, 3639, 3645, 3650, + 3657, 3657, 3661, 3666, 3672, 3676, 3682, 3683, 3686, 3691, + 3694, 3698, 3704, 3708, 3715, 3714, 3731, 3736, 3740, 3745, + 3752, 3756, 3760, 3764, 3768, 3772, 3776, 3780, 3784, 3791, + 3790, 3805, 3804, 3820, 3828, 3837, 3841, 3845, 3850, 3855, + 3863, 3866, 3867, 3873, 3874, 3880, 3881, 3885, 3889, 3893, + 3897, 3901, 3905, 3909, 3913, 3917, 3918, 3922, 3926, 3933, + 3938, 3943, 3948, 3953, 3961, 3965, 3972, 3976, 3984, 3988, + 3995, 3999, 4003, 4010, 4014, 4021, 4026, 4031, 4039, 4043, + 4048, 4055, 4061, 4068, 4071, 4075, 4076, 4079, 4083, 4086, + 4090, 4093, 4094, 4095, 4096, 4099, 4100, 4106, 4111, 4116, + 4121, 4127, 4128, 4134, 4140, 4139, 4151, 4155, 4161, 4165, + 4171, 4180, 4191, 4194, 4195, 4198, 4204, 4210, 4211, 4214, + 4221, 4220, 4235, 4239, 4247, 4251, 4263, 4270, 4277, 4278, + 4279, 4280, 4281, 4285, 4291, 4295, 4303, 4304, 4305, 4309, + 4315, 4319, 4323, 4327, 4331, 4337, 4341, 4347, 4351, 4355, + 4359, 4363, 4367, 4371, 4379, 4386, 4392, 4393, 4397, 4401, + 4400, 4417, 4418, 4421, 4427, 4431, 4437, 4438, 4442, 4446, + 4452, 4456, 4462, 4468, 4475, 4481, 4488, 4492, 4498, 4502, + 4508, 4509, 4512, 4516, 4522, 4526, 4530, 4534, 4540, 4545, + 4550, 4554, 4558, 4562, 4566, 4570, 4574, 4578, 4582, 4586, + 4590, 4594, 4598, 4602, 4607, 4613, 4618, 4623, 4628, 4633, + 4640, 4644, 4651, 4656, 4655, 4667, 4671, 4677, 4685, 4693, + 4701, 4705, 4711, 4715, 4721, 4722, 4725, 4730, 4737, 4738, + 4741, 4745, 4751, 4755, 4761, 4767, 4767, 4774, 4775, 4781, + 4785, 4791, 4797, 4802, 4806, 4811, 4816, 4832, 4837, 4843, + 4844, 4845, 4848, 4849, 4850, 4851, 4854, 4855, 4856, 4859, + 4860, 4863, 4867, 4873, 4874, 4880, 4881, 4884, 4885, 4888, + 4891, 4892, 4893, 4896, 4897, 4900, 4905, 4908, 4909, 4913 }; #endif @@ -3092,7 +3108,8 @@ static const char *const yytname[] = "bvar", "f_larglist", "lambda_body", "@26", "do_block", "block_call", "method_call", "@27", "brace_block", "@28", "case_body", "cases", "in_clauses", "p_expr", "p_as", "p_alt", "p_value", "p_array", - "p_array_body", "p_array_elems", "p_rest", "p_var", "opt_rescue", + "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", "@29", "xstring", "regexp", "heredoc", "heredoc_bodies", "heredoc_body", @@ -3117,12 +3134,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-948) +#define YYPACT_NINF (-984) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-656) +#define YYTABLE_NINF (-670) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -3131,123 +3148,126 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -948, 4572, 126, 9723, 12338, 12794, 8024, -948, 11493, 11493, - -948, -948, 12452, 9206, 7640, 9959, 9959, -948, -948, 9959, - 5093, 4685, -948, -948, -948, -948, 28, 9206, -948, -79, - -948, -948, -948, 8166, 4218, -948, -948, 8308, -948, -948, - -948, -948, -948, -948, -948, 199, 11611, 11611, 11611, 11611, - 74, 6753, 1310, 10431, 10785, 3167, -948, 8924, 1285, 1191, - 535, 1303, 1329, -948, 620, 11729, 11611, -948, 1325, -948, - 1146, -948, 655, 1381, 1381, -948, -948, 156, 99, -948, - 95, 12566, -948, 161, 15259, 167, 203, 83, 70, -948, - 259, -948, -948, -948, -948, -948, -948, -948, -948, -948, - 246, 115, -948, 376, 42, -948, -948, -948, -948, -948, - -948, 144, 144, 28, 101, 569, -948, 11493, 270, 6872, - 660, 1441, 1441, -948, 174, -948, 287, -948, -948, 42, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, 48, 88, - 127, 150, -948, -948, -948, -948, -948, -948, 153, 157, - 176, 228, -948, 247, -948, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, 251, - 5785, 257, 655, 1381, 1381, 908, 221, 15383, 311, 276, - 263, 294, 908, 11493, 11493, 385, 328, -948, -948, 405, - 324, 32, 68, -948, -948, -948, -948, -948, -948, -948, - -948, -948, 9065, -948, -948, 254, -948, -948, -948, -948, - -948, -948, 1325, -948, 789, -948, 382, -948, -948, 1325, - 4821, 112, 11611, 11611, 11611, 11611, -948, 15321, -948, -948, - 269, 348, 269, -948, -948, -948, 10077, -948, -948, 9959, - -948, -948, -948, -948, 7640, 7878, -948, 282, 6991, -948, - 434, 321, 15445, 15445, 399, 9841, 6753, 283, 1325, 1146, - 1325, 322, -948, 9841, 1325, 313, 1213, 1213, -948, 15321, - 325, 1213, -948, 427, 12908, 350, 674, 679, 793, 1884, - -948, -948, -948, -948, -948, 1384, -948, -948, -948, -948, - -948, -948, 823, 1389, -948, -948, 1217, -948, 619, -948, - 1397, -948, 1473, 395, 402, -948, -948, -948, -948, 7256, - 11493, 11493, 11493, 11493, 9841, 11493, 11493, 71, -948, -948, - -948, -948, 450, 1325, -948, -948, -948, -948, -948, -948, - -948, 2072, 388, 414, 5785, 11611, -948, 389, 492, 408, - -948, 1325, -948, -948, -948, 412, 11611, -948, 438, 505, - 442, 541, -948, -948, 465, 5785, -948, -948, 10903, -948, - 6753, 9488, 452, 10903, 11611, 11611, 11611, 11611, 11611, 11611, - 11611, 11611, 11611, 11611, 11611, 11611, 11611, 11611, 552, 11611, - 11611, 11611, 11611, 11611, 11611, 11611, 11611, 11611, 11611, 11611, - 11611, 2565, -948, 9959, -948, 4416, -948, -948, 14749, -948, - -948, -948, -948, 11729, 11729, -948, 519, -948, 655, -948, - 860, -948, -948, -948, -948, -948, -948, 13459, 9959, 13545, - 5785, 11493, -948, -948, -948, 606, 612, 352, 508, 525, - -948, 5931, 632, 11611, 13631, 9959, 13717, 11611, 11611, 6369, - 81, 81, 84, 13803, 9959, 13889, -948, 590, -948, 6991, - 281, -948, -948, 11021, 658, -948, 11611, 11611, 15383, 15383, - 15383, 11611, -948, -948, 10195, -948, 11611, -948, 10549, 7759, - 517, 1325, 269, 269, -948, -948, 1020, 543, -948, -948, - -948, 9206, 6488, 558, 13631, 13717, 11611, 1146, 1325, -948, - -948, 7375, 559, 1146, -948, -948, 10667, -948, 1325, 10785, - -948, -948, -948, 860, 95, 12908, -948, 12908, 13975, 9959, - 14061, 1642, -948, -948, 563, -948, 1529, 6991, 823, -948, - -948, -948, -948, -948, -948, -948, 11611, 11611, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - 1769, 1325, 1325, 580, 11729, 696, 15383, 979, -948, -948, - -948, 53, -948, -948, 2357, -948, 15383, 1642, -948, -948, - 1476, -948, -948, 11729, 718, 33, 11611, -948, 14975, 269, - -948, 1325, 12908, 599, -948, -948, -948, 700, 625, 1543, - -948, -948, 884, 430, 2647, 2647, 2647, 2647, 1843, 1843, - 4075, 3712, 2647, 2647, 15445, 15445, 1048, 1048, -948, 321, - 15383, 1843, 1843, 1860, 1860, 1674, 384, 384, 321, 321, - 321, 5229, 8664, 5501, 8782, -948, 144, -948, 608, 269, - 467, -948, 646, -948, -948, 4957, -948, -948, 1771, 33, - 33, -948, 2175, -948, -948, -948, -948, -948, 1325, 11493, - 5785, 727, 500, -948, 144, 615, 144, 743, 1020, 9347, - -948, 11139, 760, -948, 11611, 11611, 707, -948, 8426, 8545, - 639, 481, 485, 760, -948, -948, -948, -948, 100, 114, - 641, 111, 119, 11493, 9206, 651, 13022, 770, 15383, 198, - -948, 15383, 15383, 15383, 46, 11611, 15321, -948, 269, 15383, - -948, -948, -948, -948, 10313, 10549, -948, -948, -948, 654, - -948, -948, 194, 1146, 1325, 1213, 452, -948, 727, 500, - 657, 1029, 1159, -948, 105, 1642, -948, 661, -948, 321, - 321, -948, -948, 706, 1325, 659, -948, -948, 2368, 763, - 2975, -948, 768, 450, -948, 408, -948, 1325, -948, -948, - 685, 687, 692, -948, 693, 768, 692, 792, 3438, -948, - -948, 1642, 5785, -948, -948, 15046, 11257, -948, -948, 12908, - 9841, 11729, 11611, 14147, 9959, 14233, 839, 11729, 11729, -948, - 519, 647, 10195, 11729, 11729, -948, 519, 70, 156, 5785, - 6991, 33, -948, 1325, 830, -948, -948, -948, -948, 14975, - -948, 754, -948, 6634, 837, -948, 11493, 838, -948, 11611, - 11611, 490, 11611, 11611, 841, 7137, 7137, 123, 81, -948, - -948, 3606, 11952, 12032, 101, 11778, 11872, 797, 9602, 961, - 731, -948, 59, -948, -948, -948, 12112, 12192, -948, 11375, - 6077, 15383, -948, 7759, 269, -948, -948, -948, 309, 715, - 1488, 5785, 6991, -948, -948, -948, 719, -948, 1788, 1325, - 11611, 11611, -948, -948, 1642, -948, 1476, -948, 1476, -948, - 1476, -948, -948, 11611, 11611, -948, -948, -948, 13136, -948, - 724, 408, 726, 13136, -948, 728, 733, -948, 861, 11611, - 15117, -948, -948, 15383, 5365, 5637, 739, 545, 565, 11611, - 11611, -948, -948, -948, -948, -948, 11729, -948, -948, -948, - -948, -948, -948, -948, 866, 745, 6991, 5785, -948, -948, - 13250, 908, -948, -948, 7137, -948, -948, 908, -948, 11611, - -948, 867, 880, -948, 860, 13298, 847, 7494, -948, 1051, - -948, 762, 769, 771, 14319, 11493, 11493, 6223, 864, 13022, - 15383, 234, -948, 10549, -948, 1042, 897, 778, 1653, 1653, - 755, -948, 15383, 15383, 692, 784, 692, 692, 15383, 15383, - 794, 801, 896, 1060, 979, -948, -948, 2017, -948, 1060, - 1642, -948, 1476, -948, -948, 15188, 579, 15383, 15383, -948, - -948, -948, -948, 816, 944, 906, -948, 1070, 679, 793, - 5785, -948, 5931, -948, -948, 7137, 14898, 13375, 14405, -948, - 12680, 13022, 820, 500, 908, 908, 152, -948, -948, -948, - -948, -948, -948, 824, -948, -948, -948, -948, 827, 827, - 1653, 833, -948, 1476, -948, -948, -948, -948, -948, -948, - 14491, -948, 408, 979, -948, -948, 840, 844, 848, -948, - 850, 848, -948, -948, 860, 14577, 9959, 14663, 612, 707, - 957, 14821, 928, -948, 853, 856, 6223, 6223, 13022, -948, - 966, 1042, 46, 1653, 827, 1653, 692, 857, -948, 1642, - -948, 1476, -948, 1476, -948, 1476, -948, -948, 727, 500, - 865, 931, 954, -948, -948, -948, -948, 13022, 13022, 152, - 152, 994, -948, -948, 827, -948, 848, 863, 848, 848, - 309, 856, 996, 997, 11493, 11493, 6223, -948, 1476, -948, - -948, -948, -948, -948, 908, 908, 152, 848, 6223, 6223, - -948, -948, 152, 152, -948, -948 + -984, 4661, 137, 9967, 12756, 13212, 8405, -984, 11737, 11737, + -984, -984, 12870, 9445, 8021, 10203, 10203, -984, -984, 10203, + 5182, 4774, -984, -984, -984, -984, -68, 9445, -984, 23, + -984, -984, -984, 3462, 4152, -984, -984, 8547, -984, -984, + -984, -984, -984, -984, -984, 76, 11855, 11855, 11855, 11855, + 119, 6842, 630, 10675, 11029, 1791, -984, 9163, 273, 1052, + 1061, 463, 1258, -984, 183, 11973, 11855, -984, 1520, -984, + 981, -984, 477, 1589, 1589, -984, -984, 149, 124, -984, + 105, 12984, -984, 129, 15592, 321, 648, 172, 63, -984, + 237, -984, -984, -984, -984, -984, -984, -984, -984, -984, + 280, 118, -984, 307, 146, -984, -984, -984, -984, -984, + -984, 164, 164, -68, 91, 497, -984, 11737, 104, 6961, + 481, 1947, 1947, -984, 186, -984, 827, -984, -984, 146, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, 68, 99, + 154, 168, -984, -984, -984, -984, -984, -984, 170, 215, + 216, 224, -984, 233, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, 253, + 5874, 275, 477, 1589, 1589, 75, 220, 15716, 886, 135, + 257, 140, 75, 11737, 11737, 972, 301, -984, -984, 974, + 339, 29, 74, -984, -984, -984, -984, -984, -984, -984, + -984, -984, 9304, -984, -984, 240, -984, -984, -984, -984, + -984, -984, 1520, -984, 744, -984, 390, -984, -984, 1520, + 4910, 122, 11855, 11855, 11855, 11855, -984, 15654, -984, -984, + 255, 362, 255, -984, -984, -984, 10321, -984, -984, 10203, + -984, -984, -984, -984, 8021, 8259, -984, 286, 7080, -984, + 1057, 347, 15778, 15778, 482, 10085, 6842, 282, 1520, 981, + 1520, 337, -984, 10085, 1520, 319, 1244, 1244, -984, 15654, + 325, 1244, -984, 411, 13326, 333, 1161, 1192, 1205, 2259, + -984, -984, -984, -984, -984, 1452, -984, -984, -984, -984, + -984, -984, 841, 1530, -984, -984, 1448, -984, 1190, -984, + 1537, -984, 1540, 407, 417, -984, -984, -984, -984, 7345, + 11737, 11737, 11737, 11737, 10085, 11737, 11737, 57, -984, -984, + -984, -984, 434, 1520, -984, -984, -984, -984, -984, -984, + -984, 2078, 373, 408, 5874, 11855, -984, 378, 500, 424, + -984, 1520, -984, -984, -984, 428, 11855, -984, 430, 502, + 451, 545, -984, -984, 485, 5874, -984, -984, 11147, -984, + 6842, 4303, 465, 11147, 11855, 11855, 11855, 11855, 11855, 11855, + 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, 558, 11855, + 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, + 11855, 1453, -984, 10203, -984, 3273, -984, -984, 15000, -984, + -984, -984, -984, 11973, 11973, -984, 530, -984, 477, -984, + 1330, -984, -984, -984, -984, -984, -984, 3753, 10203, 3887, + 5874, 11737, -984, -984, -984, 616, 620, 291, 518, 524, + -984, 6020, 631, 11855, 4479, 10203, 13968, 11855, 11855, 6458, + 34, 34, 110, 14054, 10203, 14140, -984, 585, -984, 7080, + 166, -984, -984, 11265, 638, -984, 11855, 11855, 15716, 15716, + 15716, 11855, -984, -984, 10439, -984, 11855, -984, 10793, 8140, + 515, 1520, 255, 255, -984, -984, 287, 516, -984, -984, + -984, 9445, 6577, 527, 4479, 13968, 11855, 981, 1520, -984, + -984, 7464, 528, 981, -984, -984, 10911, -984, 1520, 11029, + -984, -984, -984, 1330, 105, 13326, -984, 13326, 14226, 10203, + 14312, 1675, -984, -984, 535, -984, 1546, 7080, 841, -984, + -984, -984, -984, -984, -984, -984, 11855, 11855, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + 1567, 1520, 1520, 537, 11973, 657, 15716, 554, -984, -984, + -984, 18, -984, -984, 2190, -984, 15716, 1675, -984, -984, + 2373, -984, -984, 11973, 678, 16, 11855, -984, 2446, 255, + -984, 1520, 13326, 562, -984, -984, -984, 656, 588, 2557, + -984, -984, 1333, 315, 15858, 15858, 15858, 15858, 1780, 1780, + 15868, 15796, 15858, 15858, 15778, 15778, 1633, 1633, -984, 347, + 15716, 1780, 1780, 1703, 1703, 1786, 227, 227, 347, 347, + 347, 5318, 8903, 5590, 9021, -984, 164, -984, 578, 255, + 602, -984, 650, -984, -984, 5046, -984, -984, 2236, 16, + 16, -984, 2876, -984, -984, -984, -984, -984, 1520, 11737, + 5874, 808, 573, -984, 164, 587, 164, 699, 287, 9586, + -984, 11383, 708, -984, 11855, 11855, 559, -984, 8665, 8784, + 589, 326, 377, 708, -984, -984, -984, -984, 109, 126, + 592, 132, 139, 11737, 9445, 596, 13440, 721, 15716, 466, + -984, 15716, 15716, 15716, 805, 11855, 15654, -984, 255, 15716, + -984, -984, -984, -984, 10557, 10793, -984, -984, -984, 601, + -984, -984, 292, 981, 1520, 1244, 465, -984, 808, 573, + 609, 911, 952, -984, 127, 1675, -984, 613, -984, 347, + 347, -984, -984, 942, 1520, 614, -984, -984, 2316, 716, + 3096, -984, 709, 434, -984, 424, -984, 1520, -984, -984, + 623, 625, 628, -984, 635, 709, 628, 737, 4346, -984, + -984, 1675, 5874, -984, -984, 15379, 11501, -984, -984, 13326, + 10085, 11973, 11855, 14398, 10203, 14484, 1009, 11973, 11973, -984, + 530, 651, 10439, 11973, 11973, -984, 530, 63, 149, 5874, + 7080, 16, -984, 1520, 769, -984, -984, -984, -984, 2446, + -984, 697, -984, 6723, 780, -984, 11737, 784, -984, 11855, + 11855, 389, 11855, 11855, 792, 7226, 7226, 162, 34, -984, + -984, 12290, 12370, 12450, 12022, 12116, 12210, 755, 9727, 9848, + 1335, 888, -984, 69, -984, -984, -984, -984, 12530, 12610, + -984, 11619, 6166, 15716, -984, 8140, 255, -984, -984, -984, + 617, 669, 1744, 5874, 7080, -984, -984, -984, 674, -984, + 1653, 1520, 11855, 11855, -984, -984, 1675, -984, 2373, -984, + 2373, -984, 2373, -984, -984, 11855, 11855, -984, -984, -984, + 13554, -984, 679, 424, 683, 13554, -984, 693, 701, -984, + 824, 11855, 15450, -984, -984, 15716, 5454, 5726, 700, 438, + 469, 11855, 11855, -984, -984, -984, -984, -984, 11973, -984, + -984, -984, -984, -984, -984, -984, 829, 707, 7080, 5874, + -984, -984, 13668, 75, -984, -984, 7226, -984, -984, 75, + -984, 11855, -984, 839, 840, -984, 1330, 13716, 801, 7583, + -984, 1341, -984, 720, 723, 730, 61, 7729, -984, 739, + 738, -984, -984, 15303, 14570, 11737, 11737, 6312, 828, 13440, + 15716, 202, -984, 10793, -984, 1017, 870, 756, 1643, 1643, + 1129, -984, 15716, 15716, 628, 757, 628, 628, 15716, 15716, + 774, 779, 860, 1343, 554, -984, -984, 1225, -984, 1343, + 1675, -984, 2373, -984, -984, 15521, 473, 15716, 15716, -984, + -984, -984, -984, 782, 915, 871, -984, 1359, 1192, 1205, + 5874, -984, 6020, -984, -984, 7226, 15149, 13793, 14656, -984, + 13098, 13440, 7875, 15226, 13870, -984, 399, 13440, 789, 573, + 75, 75, 184, -984, -984, -984, -984, -984, -984, 797, + -984, -984, -984, -984, 800, 800, 1643, 815, -984, 2373, + -984, -984, -984, -984, -984, -984, 14742, -984, 424, 554, + -984, -984, 821, 823, 842, -984, 847, 842, -984, -984, + 1330, 14828, 10203, 14914, 620, 559, 951, 15072, 919, -984, + 850, 852, -984, 914, 374, -984, -984, 889, -984, 6312, + 6312, 13440, -984, 990, 1017, 805, 1643, 800, 1643, 628, + 868, -984, 1675, -984, 2373, -984, 2373, -984, 2373, -984, + -984, 808, 573, 876, 643, 694, -984, -984, -984, -984, + 13440, 13440, 13440, -984, -984, 184, 184, 900, -984, -984, + 800, -984, 842, 893, 842, 842, 617, 852, 1013, 1015, + 11737, 11737, 6312, -984, 2373, -984, -984, -984, -984, -984, + 75, 75, 184, 842, 6312, 6312, -984, -984, 184, 184, + -984, -984 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3256,18 +3276,18 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 2, 0, 0, 0, 0, 0, 0, 294, 0, 0, - 318, 321, 0, 0, 641, 341, 342, 343, 344, 306, - 270, 270, 526, 525, 527, 528, 643, 0, 10, 0, - 530, 529, 531, 516, 627, 518, 517, 520, 519, 512, - 513, 473, 474, 532, 533, 524, 0, 0, 0, 0, - 0, 0, 296, 655, 655, 88, 313, 0, 0, 0, - 0, 0, 0, 488, 0, 0, 0, 3, 641, 6, - 9, 27, 33, 580, 580, 49, 60, 59, 0, 76, + 318, 321, 0, 0, 655, 341, 342, 343, 344, 306, + 270, 270, 540, 539, 541, 542, 657, 0, 10, 0, + 544, 543, 545, 530, 641, 532, 531, 534, 533, 526, + 527, 487, 488, 546, 547, 538, 0, 0, 0, 0, + 0, 0, 296, 669, 669, 88, 313, 0, 0, 0, + 0, 0, 0, 502, 0, 0, 0, 3, 655, 6, + 9, 27, 33, 594, 594, 49, 60, 59, 0, 76, 0, 80, 90, 0, 54, 248, 0, 61, 311, 286, - 287, 471, 288, 289, 290, 469, 468, 500, 470, 467, - 523, 0, 291, 292, 270, 5, 1, 8, 341, 342, - 306, 655, 417, 0, 113, 114, 524, 0, 0, 0, - 0, 580, 580, 116, 534, 345, 0, 523, 292, 0, + 287, 485, 288, 289, 290, 483, 482, 514, 484, 481, + 537, 0, 291, 292, 270, 5, 1, 8, 341, 342, + 306, 669, 417, 0, 113, 114, 538, 0, 0, 0, + 0, 594, 594, 116, 548, 345, 0, 537, 292, 0, 337, 168, 178, 169, 165, 194, 195, 196, 197, 176, 191, 184, 174, 173, 189, 172, 171, 167, 192, 166, 179, 183, 185, 177, 170, 186, 193, 188, 187, 180, @@ -3275,127 +3295,131 @@ static const yytype_int16 yydefact[] = 160, 118, 120, 119, 153, 154, 131, 132, 133, 140, 137, 139, 134, 135, 155, 156, 141, 142, 146, 149, 150, 136, 138, 128, 129, 130, 143, 144, 145, 147, - 148, 151, 152, 157, 611, 55, 121, 122, 610, 0, - 0, 0, 58, 580, 580, 0, 0, 54, 0, 523, + 148, 151, 152, 157, 625, 55, 121, 122, 624, 0, + 0, 0, 58, 594, 594, 0, 0, 54, 0, 537, 0, 292, 0, 0, 0, 112, 0, 356, 355, 0, - 0, 523, 292, 187, 180, 190, 175, 158, 159, 160, - 118, 119, 0, 123, 125, 20, 124, 491, 496, 495, - 649, 651, 641, 652, 0, 493, 0, 653, 650, 642, - 625, 524, 278, 624, 273, 0, 265, 277, 74, 269, - 655, 471, 655, 615, 75, 73, 655, 259, 307, 0, - 72, 258, 416, 71, 641, 0, 18, 0, 0, 221, - 0, 222, 209, 212, 303, 0, 0, 0, 641, 15, - 641, 78, 14, 0, 641, 0, 646, 646, 249, 0, - 0, 646, 613, 0, 0, 86, 0, 96, 103, 580, - 506, 505, 507, 508, 502, 0, 504, 503, 475, 480, - 479, 482, 0, 0, 477, 484, 0, 486, 0, 498, - 0, 510, 0, 514, 515, 53, 236, 237, 4, 642, - 0, 0, 0, 0, 0, 0, 0, 587, 583, 582, - 581, 584, 585, 0, 589, 601, 556, 557, 605, 604, - 600, 580, 0, 542, 0, 549, 554, 655, 559, 655, - 579, 0, 586, 588, 591, 565, 0, 598, 565, 603, - 565, 607, 563, 538, 0, 0, 404, 406, 0, 92, + 0, 537, 292, 187, 180, 190, 175, 158, 159, 160, + 118, 119, 0, 123, 125, 20, 124, 505, 510, 509, + 663, 665, 655, 666, 0, 507, 0, 667, 664, 656, + 639, 538, 278, 638, 273, 0, 265, 277, 74, 269, + 669, 485, 669, 629, 75, 73, 669, 259, 307, 0, + 72, 258, 416, 71, 655, 0, 18, 0, 0, 221, + 0, 222, 209, 212, 303, 0, 0, 0, 655, 15, + 655, 78, 14, 0, 655, 0, 660, 660, 249, 0, + 0, 660, 627, 0, 0, 86, 0, 96, 103, 594, + 520, 519, 521, 522, 516, 0, 518, 517, 489, 494, + 493, 496, 0, 0, 491, 498, 0, 500, 0, 512, + 0, 524, 0, 528, 529, 53, 236, 237, 4, 656, + 0, 0, 0, 0, 0, 0, 0, 601, 597, 596, + 595, 598, 599, 0, 603, 615, 570, 571, 619, 618, + 614, 594, 0, 556, 0, 563, 568, 669, 573, 669, + 593, 0, 600, 602, 605, 579, 0, 612, 579, 617, + 579, 621, 577, 552, 0, 0, 404, 406, 0, 92, 0, 84, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 638, 655, 637, 0, 640, 639, 0, 421, - 419, 312, 472, 0, 0, 410, 65, 310, 334, 113, - 114, 115, 514, 515, 542, 535, 332, 0, 655, 0, - 0, 0, 636, 635, 56, 0, 655, 303, 0, 0, - 347, 0, 346, 0, 0, 655, 0, 0, 0, 0, - 0, 0, 303, 0, 655, 0, 329, 0, 126, 0, - 0, 492, 494, 0, 0, 654, 619, 620, 279, 623, - 272, 0, 643, 266, 0, 275, 0, 267, 0, 641, - 0, 641, 655, 655, 260, 271, 641, 0, 309, 52, - 644, 0, 0, 0, 0, 0, 0, 17, 641, 301, - 13, 642, 77, 297, 300, 304, 648, 250, 647, 648, - 252, 305, 614, 102, 94, 0, 89, 0, 0, 655, - 0, 580, 314, 401, 565, 509, 0, 0, 483, 489, - 476, 478, 485, 487, 499, 511, 0, 0, 7, 21, - 22, 23, 24, 25, 50, 51, 546, 593, 547, 545, - 0, 641, 641, 565, 0, 0, 548, 0, 561, 609, - 558, 0, 562, 543, 0, 572, 594, 0, 575, 602, - 0, 577, 606, 0, 0, 655, 278, 28, 30, 0, - 31, 641, 0, 82, 93, 48, 34, 46, 0, 253, + 0, 0, 652, 669, 651, 0, 654, 653, 0, 421, + 419, 312, 486, 0, 0, 410, 65, 310, 334, 113, + 114, 115, 528, 529, 556, 549, 332, 0, 669, 0, + 0, 0, 650, 649, 56, 0, 669, 303, 0, 0, + 347, 0, 346, 0, 0, 669, 0, 0, 0, 0, + 0, 0, 303, 0, 669, 0, 329, 0, 126, 0, + 0, 506, 508, 0, 0, 668, 633, 634, 279, 637, + 272, 0, 657, 266, 0, 275, 0, 267, 0, 655, + 0, 655, 669, 669, 260, 271, 655, 0, 309, 52, + 658, 0, 0, 0, 0, 0, 0, 17, 655, 301, + 13, 656, 77, 297, 300, 304, 662, 250, 661, 662, + 252, 305, 628, 102, 94, 0, 89, 0, 0, 669, + 0, 594, 314, 401, 579, 523, 0, 0, 497, 503, + 490, 492, 499, 501, 513, 525, 0, 0, 7, 21, + 22, 23, 24, 25, 50, 51, 560, 607, 561, 559, + 0, 655, 655, 579, 0, 0, 562, 0, 575, 623, + 572, 0, 576, 557, 0, 586, 608, 0, 589, 616, + 0, 591, 620, 0, 0, 669, 278, 28, 30, 0, + 31, 655, 0, 82, 93, 48, 34, 46, 0, 253, 198, 29, 0, 292, 226, 231, 232, 233, 228, 230, 240, 241, 234, 235, 207, 210, 238, 239, 32, 218, - 643, 227, 229, 223, 224, 225, 213, 214, 215, 216, - 217, 628, 633, 629, 634, 415, 270, 413, 0, 655, - 628, 630, 629, 631, 414, 270, 628, 629, 270, 655, - 655, 35, 253, 199, 45, 206, 63, 66, 0, 0, - 0, 113, 114, 117, 0, 0, 655, 0, 641, 0, - 295, 655, 655, 459, 0, 0, 655, 348, 632, 302, - 0, 628, 629, 655, 350, 319, 349, 322, 632, 302, - 0, 628, 629, 0, 0, 0, 0, 0, 277, 0, - 325, 618, 621, 617, 276, 281, 280, 274, 655, 622, - 616, 257, 255, 261, 262, 264, 308, 645, 19, 0, - 26, 205, 79, 16, 641, 646, 95, 87, 99, 101, - 0, 98, 100, 643, 0, 0, 501, 0, 490, 219, - 220, 587, 585, 364, 641, 357, 541, 539, 0, 41, - 244, 339, 0, 0, 555, 655, 608, 0, 564, 592, - 565, 565, 565, 599, 565, 587, 565, 43, 246, 340, + 657, 227, 229, 223, 224, 225, 213, 214, 215, 216, + 217, 642, 647, 643, 648, 415, 270, 413, 0, 669, + 642, 644, 643, 645, 414, 270, 642, 643, 270, 669, + 669, 35, 253, 199, 45, 206, 63, 66, 0, 0, + 0, 113, 114, 117, 0, 0, 669, 0, 655, 0, + 295, 669, 669, 473, 0, 0, 669, 348, 646, 302, + 0, 642, 643, 669, 350, 319, 349, 322, 646, 302, + 0, 642, 643, 0, 0, 0, 0, 0, 277, 0, + 325, 632, 635, 631, 276, 281, 280, 274, 669, 636, + 630, 257, 255, 261, 262, 264, 308, 659, 19, 0, + 26, 205, 79, 16, 655, 660, 95, 87, 99, 101, + 0, 98, 100, 657, 0, 0, 515, 0, 504, 219, + 220, 601, 599, 364, 655, 357, 555, 553, 0, 41, + 244, 339, 0, 0, 569, 669, 622, 0, 578, 606, + 579, 579, 579, 613, 579, 601, 579, 43, 246, 340, 392, 390, 0, 389, 388, 285, 0, 91, 85, 0, - 0, 0, 0, 0, 655, 0, 0, 0, 0, 412, + 0, 0, 0, 0, 669, 0, 0, 0, 0, 412, 69, 418, 262, 0, 0, 411, 67, 407, 62, 0, - 0, 655, 335, 0, 0, 418, 338, 612, 57, 460, - 461, 655, 462, 0, 655, 353, 0, 0, 351, 0, + 0, 669, 335, 0, 0, 418, 338, 626, 57, 474, + 475, 669, 476, 0, 669, 353, 0, 0, 351, 0, 0, 418, 0, 0, 0, 0, 0, 418, 0, 127, - 497, 0, 0, 0, 457, 0, 0, 0, 0, 0, - 0, 430, 431, 433, 445, 435, 0, 0, 324, 0, - 0, 282, 268, 641, 655, 11, 298, 251, 97, 0, - 394, 0, 0, 315, 481, 365, 362, 590, 0, 641, - 0, 0, 560, 544, 0, 568, 0, 570, 0, 576, - 0, 573, 578, 0, 0, 387, 643, 643, 551, 552, - 655, 655, 372, 0, 596, 372, 372, 370, 0, 281, - 283, 83, 47, 254, 628, 629, 0, 628, 629, 0, - 0, 40, 203, 39, 204, 70, 0, 37, 201, 38, - 202, 68, 408, 409, 0, 0, 0, 0, 536, 333, - 0, 0, 464, 354, 0, 12, 466, 0, 316, 0, - 317, 0, 0, 330, 444, 0, 0, 0, 447, 0, - 453, 0, 448, 451, 0, 0, 0, 0, 0, 0, - 280, 655, 256, 263, 400, 0, 0, 0, 0, 0, - 360, 540, 42, 245, 565, 565, 565, 565, 44, 247, - 0, 0, 0, 550, 0, 368, 369, 372, 380, 595, + 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 430, 431, 433, 445, 446, 435, 0, 0, + 324, 0, 0, 282, 268, 655, 669, 11, 298, 251, + 97, 0, 394, 0, 0, 315, 495, 365, 362, 604, + 0, 655, 0, 0, 574, 558, 0, 582, 0, 584, + 0, 590, 0, 587, 592, 0, 0, 387, 657, 657, + 565, 566, 669, 669, 372, 0, 610, 372, 372, 370, + 0, 281, 283, 83, 47, 254, 642, 643, 0, 642, + 643, 0, 0, 40, 203, 39, 204, 70, 0, 37, + 201, 38, 202, 68, 408, 409, 0, 0, 0, 0, + 550, 333, 0, 0, 478, 354, 0, 12, 480, 0, + 316, 0, 317, 0, 0, 330, 444, 0, 0, 0, + 448, 0, 454, 0, 449, 452, 530, 0, 459, 0, + 460, 463, 462, 0, 0, 0, 0, 0, 0, 0, + 280, 669, 256, 263, 400, 0, 0, 0, 0, 0, + 360, 554, 42, 245, 579, 579, 579, 579, 44, 247, + 0, 0, 0, 564, 0, 368, 369, 372, 380, 609, 0, 383, 0, 385, 405, 284, 418, 243, 242, 36, - 200, 422, 420, 0, 0, 0, 463, 0, 104, 111, - 0, 465, 0, 320, 323, 0, 0, 0, 0, 446, - 0, 0, 632, 443, 0, 0, 655, 432, 434, 424, - 425, 423, 398, 643, 396, 399, 403, 402, 366, 363, - 0, 358, 569, 0, 566, 571, 574, 393, 391, 303, - 0, 553, 655, 0, 371, 378, 372, 372, 372, 597, - 372, 372, 64, 336, 110, 0, 655, 0, 655, 655, - 0, 0, 456, 454, 449, 452, 0, 0, 0, 426, - 0, 0, 395, 0, 361, 0, 565, 302, 367, 0, - 375, 0, 377, 0, 384, 0, 381, 386, 107, 109, - 0, 628, 629, 458, 352, 331, 455, 0, 0, 655, - 655, 0, 326, 397, 359, 567, 372, 372, 372, 372, - 105, 450, 0, 0, 0, 0, 0, 376, 0, 373, - 379, 382, 327, 328, 0, 0, 655, 372, 0, 0, - 427, 374, 655, 655, 428, 429 + 200, 422, 420, 0, 0, 0, 477, 0, 104, 111, + 0, 479, 0, 320, 323, 0, 0, 0, 0, 447, + 0, 0, 0, 0, 0, 458, 0, 0, 646, 443, + 0, 0, 669, 432, 434, 424, 425, 423, 398, 657, + 396, 399, 403, 402, 366, 363, 0, 358, 583, 0, + 580, 585, 588, 393, 391, 303, 0, 567, 669, 0, + 371, 378, 372, 372, 372, 611, 372, 372, 64, 336, + 110, 0, 669, 0, 669, 669, 0, 0, 457, 455, + 450, 453, 465, 0, 470, 464, 461, 0, 467, 0, + 0, 0, 426, 0, 0, 395, 0, 361, 0, 579, + 302, 367, 0, 375, 0, 377, 0, 384, 0, 381, + 386, 107, 109, 0, 642, 643, 472, 352, 331, 456, + 0, 0, 466, 469, 468, 669, 669, 0, 326, 397, + 359, 581, 372, 372, 372, 372, 105, 451, 0, 0, + 0, 0, 0, 376, 0, 373, 379, 382, 327, 328, + 0, 0, 669, 372, 0, 0, 427, 374, 669, 669, + 428, 429 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -948, -948, -948, 496, -948, 15, -948, -232, 171, -948, - -948, 31, -194, -313, 1, 1288, -948, 1559, 8, 195, - -948, -948, -650, -12, 1007, -179, -16, -76, -285, -496, - -53, 2555, -85, 1016, 21, -15, -948, -948, 17, -948, - 3591, -948, 411, 64, 87, -378, 139, -948, 7, -405, - -258, -83, 5, -296, 65, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - -948, 86, -206, -455, -64, -636, -948, -948, -948, 238, - 410, -948, -605, -948, -948, -130, -948, -63, -948, -948, - -948, 224, -948, -948, -948, -77, -948, -477, -948, -739, - -667, -948, -948, 73, -948, -948, -908, 3, -948, -41, - -948, -948, -948, -948, -948, 279, 62, -193, -948, -948, - -948, -948, -948, -271, -948, 805, -948, -948, -236, 12, - -948, -948, -182, 2515, 2950, 1054, 1995, -948, -948, -31, - 691, -3, 273, 480, 66, -948, -948, -948, 229, 582, - -154, -283, -903, -717, -479, -948, 363, -705, -566, -947, - 61, -553, -948, -444, -948, 406, -342, -948, -948, -948, - 60, -404, 920, -393, -948, -948, -39, -948, -6, -25, - -103, -257, 877, -279, -28, -1 + -984, -984, -984, 521, -984, 38, -984, -167, 531, -984, + -984, 32, -328, -393, -5, 1148, -984, 1670, 2, -28, + -984, -984, -710, 13, 1028, -200, -33, -75, -290, -492, + -13, 2807, -61, 1042, 7, -15, -984, -984, 17, -984, + 3652, -984, 393, 19, 161, -373, 50, -984, 15, -395, + -225, 370, 6, -360, 261, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, 89, -212, -455, -55, -625, -984, -984, -984, 262, + -296, -984, -588, -984, -984, -317, -984, -59, -984, -984, + -984, 245, -984, -984, -984, -83, -984, -475, -984, -46, + -533, -984, -984, 78, -984, -984, -983, 30, -984, -984, + -984, 25, 26, -984, -7, -984, -984, -984, -984, -984, + 279, 66, -195, -984, -984, -984, -984, -984, -262, -984, + 848, -984, -984, 248, 4, -984, -984, 43, 2592, 2863, + 1099, 1934, -984, -984, -29, 479, 10, 425, 543, 94, + -984, -984, -984, 320, 181, -154, -242, -932, -717, -580, + -984, 294, -753, -570, -884, 116, -538, -984, -434, -984, + 327, -377, -984, -984, -984, 150, -459, 935, -352, -984, + -984, -79, -984, 20, -25, 295, -249, 208, -265, -20, + -1 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -3407,19 +3431,20 @@ static const yytype_int16 yydefgoto[] = 82, 216, 123, 124, 243, 244, 245, 714, 654, 207, 84, 305, 620, 655, 278, 510, 511, 279, 280, 269, 503, 539, 659, 610, 85, 210, 303, 744, 304, 319, - 754, 223, 845, 224, 846, 713, 1035, 680, 678, 947, - 460, 290, 471, 705, 837, 1099, 230, 764, 988, 1074, - 1008, 906, 792, 907, 793, 879, 1053, 1054, 552, 883, - 605, 397, 87, 88, 670, 447, 669, 494, 1051, 1100, - 970, 861, 862, 863, 864, 971, 972, 973, 865, 692, - 831, 951, 955, 89, 90, 91, 333, 334, 557, 92, - 93, 94, 558, 253, 254, 255, 489, 95, 96, 97, - 327, 98, 99, 219, 220, 102, 221, 456, 679, 372, - 373, 374, 375, 376, 909, 910, 377, 378, 379, 778, - 595, 381, 382, 383, 384, 580, 385, 386, 387, 914, - 915, 388, 389, 390, 391, 392, 588, 209, 461, 310, - 513, 273, 129, 684, 657, 464, 459, 438, 517, 880, - 518, 537, 257, 258, 259, 302 + 754, 223, 845, 224, 846, 713, 1045, 680, 678, 949, + 460, 290, 471, 705, 837, 1122, 230, 764, 998, 1090, + 1018, 908, 792, 909, 793, 881, 1069, 1070, 552, 885, + 605, 397, 87, 88, 670, 447, 669, 494, 1067, 1123, + 972, 862, 863, 864, 865, 973, 974, 975, 866, 979, + 980, 981, 982, 867, 692, 831, 953, 957, 89, 90, + 91, 333, 334, 557, 92, 93, 94, 558, 253, 254, + 255, 489, 95, 96, 97, 327, 98, 99, 219, 220, + 102, 221, 456, 679, 372, 373, 374, 375, 376, 911, + 912, 377, 378, 379, 778, 595, 381, 382, 383, 384, + 580, 385, 386, 387, 916, 917, 388, 389, 390, 391, + 392, 588, 209, 461, 310, 513, 273, 129, 684, 657, + 464, 459, 438, 517, 882, 518, 537, 257, 258, 259, + 302 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -3427,672 +3452,596 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 105, 285, 315, 266, 266, 402, 520, 266, 256, 212, - 212, 441, 286, 717, 507, 212, 479, 222, 107, 281, - 270, 270, 252, 206, 270, 246, 707, 205, 283, 545, - 206, 783, 70, 451, 70, 301, 553, 592, 656, 246, - 349, 780, 665, 394, 206, 668, 886, 435, 437, 860, - 540, 747, 308, 312, 542, 658, 834, -104, 306, 288, - 838, 559, 348, 1079, 819, 820, 686, 844, 439, 125, - 125, 395, 393, 393, 206, 272, 272, 125, 326, 272, - 685, 656, 1055, 665, 277, 282, 913, 86, 582, 86, - 126, 126, 686, -111, 218, 218, 439, 700, 229, 727, - 218, 218, 218, 727, 730, 218, 710, 621, 704, -110, - 281, 446, 790, 307, 311, 779, 798, 528, 448, 395, - 125, 336, 338, 340, 342, -107, 106, -625, 576, 294, - 671, 674, 686, 1095, 881, 730, -106, 86, -526, -109, - 561, 316, 585, 561, -108, 561, 125, 561, -105, 561, - 781, 218, 978, 784, 268, 274, 368, 686, 275, 791, - 935, 247, 1079, 604, 248, 249, 941, 316, 445, 497, - 833, 750, 284, 436, -96, 277, 282, 1098, -525, 476, - 440, 369, 468, 469, 396, 979, 276, 504, 432, 508, - 485, -516, 577, 445, 251, -526, 247, 532, 1055, 248, - 249, 534, 780, 218, -522, 86, -516, 443, 440, 615, - -103, 395, 393, 393, 470, 780, 946, -527, 882, 1141, - 398, 611, 297, 536, 212, 212, -102, 250, 687, 251, - 434, 480, 481, -112, 598, -525, 601, 399, 544, -625, - -528, -516, -99, -530, -628, -625, 490, -529, -516, 615, - 615, 525, 833, -98, 493, 507, -101, -345, -629, 206, - 345, -100, 545, 326, 266, -97, -531, 266, 753, 505, - 531, 505, -345, 1061, -527, 514, 779, 550, 538, 538, - 301, 512, 403, 538, 270, 516, 519, 758, 276, 779, - 297, -522, 530, 431, 271, 271, 86, -528, 271, 455, - -530, 493, 913, 921, -529, 913, 716, -345, 432, 218, - 218, 781, 467, 247, -345, -77, 248, 249, -516, 41, - -112, 449, 42, -531, 781, 450, 527, 545, 783, 727, - 727, 730, 271, 271, 533, -418, -91, -520, -521, 272, - 502, 462, 473, 433, 250, 1049, 251, 916, 613, 486, - 434, 212, 212, 212, 212, 477, 574, 575, 569, 570, - 571, 572, 218, 561, 568, 218, 58, -104, -521, 442, - 218, 218, 683, 1093, 86, -516, 589, 457, 589, 125, - 70, 86, 86, 482, 301, 573, 478, 556, -96, 86, - 1142, 1143, 432, 963, -520, 830, 488, -104, 463, -418, - 316, 474, 493, 609, 913, 506, 731, 727, 609, 779, - 656, 502, 665, 736, -418, -111, 432, 1160, 515, 779, - 522, 266, 419, 1164, 1165, 742, 926, 458, 529, 734, - 735, 1131, 514, 892, 434, 86, 218, 218, 218, 218, - 86, 218, 218, -76, 526, 520, 266, -418, 824, -418, - 995, 475, 663, 838, 535, 663, -418, 514, 434, 523, - 86, 1093, 688, 266, 541, 693, 125, 297, 444, 746, - 872, 544, 266, -110, 514, -524, 663, 724, 766, 767, - 866, 86, 543, 514, 218, 419, 86, 316, 877, 622, - -524, 526, 547, 663, 931, 483, 566, -111, 719, 664, - 937, 939, 663, 567, 1050, 733, 738, 578, 797, 584, - 432, 505, 505, 870, 545, 428, 429, 430, -103, 218, - -110, 105, 444, 664, 524, -524, 796, 520, 779, 622, - 622, 587, -524, 246, 867, -537, 544, 266, 206, 432, - 664, -102, 663, 590, 218, 484, 86, 218, 514, 664, - 591, -111, 434, 70, 594, 271, 599, 86, 271, 813, - 918, 218, 743, 1077, 728, 86, 1080, 663, 1005, 1006, - 218, 297, 769, 842, 475, 86, 812, 843, 727, 730, - 597, 434, 959, 805, 600, 827, 603, 944, -106, 664, - -302, 787, 602, 607, 614, -626, 745, 337, 617, 329, - 330, 520, -106, 638, 794, -302, -108, 615, 86, -98, - 125, -105, 125, 615, 664, 806, 872, 86, 676, 615, - 615, 690, 866, 1019, 779, 691, 895, 897, 899, 694, - 901, 316, 902, 316, 779, 218, 869, 813, 617, 617, - -302, 876, 696, 86, -629, 508, 695, -302, 697, 986, - 703, 331, 332, 555, 977, 380, 380, 814, 505, -520, - 715, 887, 732, 810, 281, 1137, -106, 281, 794, 794, - 218, 936, 816, 720, -520, 818, 867, 125, 343, 344, - 212, 563, 554, 329, 330, 281, -108, 823, 737, 218, - 832, 835, 355, 356, 686, 835, 609, 740, 316, 849, - -105, -91, 835, 380, 380, 755, 206, -626, 1120, -520, - 828, 771, 271, -626, 212, 1024, -520, 538, 452, 453, - 809, 848, 768, 544, 836, 833, 246, 505, 757, 277, - 1108, 206, 277, 789, 583, 331, 332, 271, 814, 936, - 942, 799, 615, 866, 800, 1030, 801, 470, 809, 811, - 277, 1032, 815, -632, 271, 817, 825, 761, 826, 358, - 359, 360, 361, 271, 548, 218, 86, -108, -105, -523, - 982, 975, 976, 815, 589, 762, 1000, 1001, 833, 432, - 841, 125, 847, 271, -523, 868, 991, 271, -100, -97, - 850, 983, 266, 875, 874, 380, 380, 867, 878, 218, - 884, 888, 859, 514, 866, 866, 761, 890, 358, 359, - 360, 361, 454, 454, 549, 271, 775, -632, 271, -523, - 794, 434, 663, 520, 762, 576, -523, 894, 271, 896, - 952, 922, -632, 956, 898, 900, 903, 212, 1096, 1097, - 1062, 1064, 1065, 1066, 957, 949, 247, 950, 885, 248, - 249, 954, 964, 958, 673, 675, 960, 308, 867, 867, - 984, 989, 866, 306, 125, -632, 1004, -632, 1007, 664, - 1010, -628, 874, 505, -632, 1012, 1014, 250, 86, 251, - 1016, 1021, 1033, -292, 1022, 316, 86, 622, 673, 675, - 218, 866, 866, 622, 218, 1034, 929, 1060, -292, 622, - 622, 380, 1036, 1039, 491, 86, 86, 248, 249, 589, - 589, 1040, 1056, 1041, 554, 1047, 867, 1057, 307, 86, - 1067, 104, 218, 104, 470, 1146, 1063, 1068, 104, 104, - 525, 86, 86, -292, 104, 104, 104, 741, 247, 104, - -292, 248, 249, 765, 969, 867, 867, -106, 1158, 1159, - -303, 1069, 1135, 380, 247, 1082, 86, 248, 249, 1083, - 782, 1084, 930, 786, -628, -303, 1101, 86, 86, 1103, - -108, 104, 1125, 125, 803, 1105, 212, 212, 125, 1126, - 835, 1132, 1109, 1044, 1045, 104, 1111, 251, 1087, 432, - 1113, 945, 1115, 776, 1003, 1127, 617, 776, 1128, 1009, - -303, -629, 617, 933, 953, 1148, 1140, -303, 617, 617, - 470, 1152, 1153, 271, 271, 125, 961, 962, 739, 227, - 911, 130, 622, 247, 804, 1124, 248, 249, 1102, 905, - 772, 434, 86, 86, 1144, 1145, 1027, 104, 1133, 104, - 86, 981, 943, 1094, 125, 835, -106, 1123, 773, -106, - -106, 974, 1048, 987, 250, -628, 251, 355, 356, 492, - 208, 218, 218, 86, 908, 859, 432, 774, 1076, -108, - 1071, 589, -108, -108, 266, 0, 0, -106, 0, -106, - 366, 367, 368, 271, 0, 514, 0, 693, 835, 0, - 0, 271, 472, 1052, 0, 358, 359, 360, 361, 472, - -108, 458, -108, 0, 663, 125, 125, 369, 434, 247, - 0, 762, 248, 249, 0, 0, 86, 1023, 86, -628, - 0, 86, 0, 0, 0, 1031, 859, 859, 835, 835, - 104, 617, 0, 380, -628, 247, 495, 271, 248, 249, - 250, 1038, 251, 104, 104, 212, 212, 0, 1046, 419, - 1070, 664, 1154, 1155, 912, 835, 432, 0, 0, 0, - 1085, 835, 835, 125, 0, 432, 250, -628, 251, -628, - 0, 0, 218, -628, 0, 432, -628, 426, 427, 428, - 429, 430, 86, 86, 859, -629, 350, 351, 352, 353, - 354, 475, 125, 125, 0, 0, 104, 917, 434, 104, - 458, 1088, 0, 1089, 104, 104, 1090, 434, 104, 0, - 1086, 0, 0, 859, 859, 104, 104, 434, 932, 934, - 0, 0, 0, 104, 938, 940, 495, 0, 0, 0, - 218, 218, 86, 1072, 0, 0, 911, 0, 0, 911, - 579, 911, 0, 0, 86, 86, 0, 0, 0, -629, - 932, 934, 335, 938, 940, 329, 330, 994, 593, 996, - 0, 0, 271, 997, -629, 0, 0, 1129, 1130, 104, - 104, 104, 104, 104, 104, 104, 104, 908, 562, 0, - 908, 329, 330, 908, 0, 908, 0, 0, 0, 73, - 0, 73, 121, 121, 104, 0, 0, -629, 0, -629, - 121, 0, 911, -629, 0, 0, -629, 331, 332, 0, - 0, 0, 0, 0, 0, 104, 0, 1156, 104, 0, - 104, 0, 0, 104, 0, 1011, 1013, 0, 247, 1162, - 1163, 248, 249, 331, 332, 0, 0, 0, 911, 73, - 911, 0, 911, 121, 911, 0, 908, 1020, 328, 329, - 330, 1058, 1059, 104, 0, 502, 0, 706, 706, 250, - 0, 251, 0, 104, 104, 271, 339, 329, 330, 121, - 1020, 0, 0, 1078, 0, 1081, 0, 911, 104, 0, - 104, 104, 908, 0, 908, 0, 908, 0, 908, 0, - 0, 104, 341, 329, 330, 104, 0, 0, 0, 104, - 0, 331, 332, 0, 104, 0, 0, 73, 495, 104, - 776, 0, 0, 917, 0, 495, 917, 1075, 917, 331, - 332, 908, 0, 1104, 0, -299, 1106, 0, -299, -299, - 0, 0, 357, 0, 358, 359, 360, 361, 0, 0, - 247, 0, 104, 248, 249, 331, 332, 555, 329, 330, - 362, 104, 560, 329, 330, -299, -299, 0, -299, 0, - 564, 329, 330, 0, 363, 0, 0, 0, 1134, 104, - 0, 250, 1136, 251, 1138, 364, 0, 104, 1139, 917, - 0, 365, 366, 367, 368, 0, 1110, 1112, 1114, 0, - 1116, 1117, 357, 0, 358, 359, 360, 361, 73, 0, - 331, 332, -655, 0, 104, 331, 332, 0, 0, 369, - 362, 1157, 370, 331, 332, 917, 0, 917, 0, 917, - 0, 917, 0, 104, 363, 371, 0, 785, 0, 358, - 359, 360, 361, 0, 0, 364, 565, 329, 330, 0, - 0, 365, 366, 367, 368, 362, 1147, 1149, 1150, 1151, - 0, 0, 0, 0, 917, 822, 0, 0, 0, 0, - 74, 0, 74, 122, 122, 0, 0, 1161, 0, 369, - 364, 122, 370, 0, 0, 0, 73, 366, 367, 368, - 0, 0, 0, 73, 73, 371, 0, 802, 0, 331, - 332, 73, 756, 329, 330, 0, 472, 0, 0, 104, - 104, 0, 121, 247, 369, 0, 248, 249, 0, 0, - 74, 0, 0, 0, 122, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, - 0, 416, 417, 104, 985, 0, 251, 73, 0, 0, - 122, 0, 73, 0, 419, 331, 332, 0, 0, 0, - 0, 0, 0, 0, 893, 0, 0, 0, 0, 0, - 0, 0, 73, 0, 0, 420, 0, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 0, 74, 0, - 0, 0, 0, 73, 0, -277, 0, 0, 73, 121, - 0, 73, 0, 357, 0, 358, 359, 360, 361, 0, - 948, 0, 0, 0, 761, 0, 358, 359, 360, 361, - 0, 362, 104, 0, 0, 0, 0, 0, 0, 0, - 104, 104, 762, 0, 104, 706, 0, 104, 104, 0, - 0, 73, 73, 104, 104, 0, 364, 472, 0, 104, - 104, 0, 365, 366, 367, 368, 0, 364, 73, 0, - 0, 0, 0, 104, 0, 0, 104, 0, 0, 73, - 0, 0, 416, 417, 0, 104, 104, 73, 0, 74, - 369, -655, 0, 370, 0, 419, 0, 73, 0, 0, - 0, 0, 0, 0, -655, -655, -655, -655, -655, -655, - 104, -655, 0, 0, 0, 0, -655, -655, -655, 0, - 0, 104, 104, 426, 427, 428, 429, 430, -655, -655, - 73, -655, -655, -655, -655, -655, 0, 0, 0, 73, - 761, 0, 358, 359, 360, 361, 0, 0, 472, 0, - 0, 0, 0, 121, 472, 121, 0, 0, 762, 761, - 0, 358, 359, 360, 361, 73, 0, 74, 0, 0, - 0, 0, 0, 0, 74, 74, 104, 762, 0, 0, - 0, -655, 74, 364, 0, 0, 104, 104, 0, 763, - 0, 0, 0, 122, 104, 0, -655, 0, 0, 0, - 0, 0, 364, 0, 0, 0, -655, 0, 990, -655, - -655, 0, 0, 0, 0, 104, 104, 104, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 74, -655, - -655, 0, 0, 74, 0, 276, -655, -655, -655, -655, - 0, 472, 472, 0, 0, 0, 0, 0, 0, 0, - 0, 416, 417, 74, 0, 357, 0, 358, 359, 360, - 361, 0, 0, 0, 419, 0, 0, 0, 416, 417, - 104, 0, 104, 362, 74, 104, 0, 0, 0, 74, - 122, 419, 74, 0, 0, 0, 0, 0, 73, 423, - 424, 425, 426, 427, 428, 429, 430, 0, 364, 0, - 0, 0, 0, 0, 365, 366, 367, 368, 425, 426, - 427, 428, 429, 430, 0, 0, 103, 0, 103, 128, - 128, 0, 74, 74, 121, 0, 104, 232, 472, 0, - 0, 0, 369, 0, 0, 370, 104, 104, 0, 74, - 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, - 74, 472, 472, 0, 0, 0, 0, 0, 74, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 74, 0, - 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 104, 104, 104, 0, 357, 0, - 358, 359, 360, 361, 0, 0, 318, 0, 104, 104, - 73, 74, 0, 0, 0, 0, 362, 121, 73, 73, - 74, 0, 0, 0, 0, 73, 0, 0, 0, 0, - 0, 73, 73, 0, 122, 0, 122, 73, 73, 0, - 0, 364, 0, 0, 103, 0, 74, 365, 366, 367, - 368, 73, 0, 357, 0, 358, 359, 360, 361, 0, - 0, 0, 0, 73, 73, 0, 0, 0, 0, 0, - 0, 362, 0, 0, 0, 369, 0, 0, 370, 0, - 0, 0, 0, 0, 0, 0, 0, 581, 73, 1073, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 73, - 73, 122, 365, 366, 367, 368, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, - 369, 121, 0, 370, 0, 103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 802, - 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 73, 73, 0, 0, 121, 74, - 0, 0, 73, 0, 0, 0, 0, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, - 0, 0, 0, 416, 417, 73, 0, 121, 0, 0, - 0, 0, 0, 0, 0, 122, 419, 0, 0, 0, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, - 103, 103, 0, 0, 0, 0, 0, 420, 103, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 318, - 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, - 73, 0, 0, 73, 0, 0, 0, 0, 121, 121, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 103, 0, 0, 0, 0, 103, - 0, 74, 0, 0, 0, 0, 0, 0, 122, 74, - 74, 0, 0, 0, 0, 0, 74, 0, 0, 103, - 0, 0, 74, 74, 0, 0, 0, 0, 74, 74, - 0, 0, 0, 0, 73, 73, 121, 0, 0, 0, - 103, 0, 74, 0, 0, 103, 318, 0, 623, 0, - 0, 0, 0, 0, 74, 74, 0, 0, 357, 0, - 358, 359, 360, 361, 0, 121, 121, 0, 0, 357, - 0, 358, 359, 360, 361, 0, 362, 0, 0, 74, - 0, 0, 0, 0, 73, 0, 0, 362, 623, 623, - 74, 74, 777, 0, 0, 0, 73, 73, 0, 0, - 0, 364, 0, 889, 0, 103, 0, 365, 366, 367, - 368, 0, 364, 0, 0, 0, 103, 122, 365, 366, - 367, 368, 122, 0, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 103, 369, 0, 0, 370, 0, - 0, 0, 0, 0, 0, 74, 369, 0, 0, 370, - 0, 0, 0, 0, 0, 74, 74, 0, 0, 122, - 0, 0, 0, 74, 0, 0, 100, 103, 100, 127, - 127, 127, 0, 0, 0, 0, 103, 231, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 122, 0, - 318, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 103, 0, 0, 0, 83, 0, 83, 0, - 0, 0, 0, 0, 0, 0, 100, 228, 0, 0, - 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 105, 285, 592, 212, 212, 441, 402, 435, 437, 212, + 479, 222, 286, 205, 779, 717, 252, 246, 301, 281, + 520, 270, 270, 206, 545, 270, 707, 783, 266, 266, + 206, 246, 266, 70, 256, 70, 283, 345, 915, 277, + 282, 107, 315, 621, 206, 394, 888, 507, 349, 730, + 671, 674, 308, 312, -104, 747, 780, 451, 540, 306, + 658, 704, 542, 1071, 326, 268, 274, 834, 1111, 275, + 559, 838, 393, 393, 206, 615, 284, 553, 844, 656, + 730, 819, 820, 665, 395, 685, 668, -639, 348, 439, + 86, 470, 86, 126, 126, 790, 528, 218, 218, -111, + 937, 229, 700, 218, 218, 218, 943, 686, 218, 727, + 281, 710, 448, 727, 576, 615, 615, -639, 1052, 446, + 798, 368, 656, 445, 665, 336, 338, 340, 342, 582, + 277, 282, 395, 686, -107, -110, 1095, 106, 561, 476, + 86, 561, 791, 561, 316, 561, 369, 561, 445, 247, + 485, -109, 248, 249, 218, 449, 883, -106, -540, 450, + 781, 288, 988, 784, -108, 272, 272, 1167, -536, 272, + 316, -96, 439, 686, 294, 779, 750, 396, 577, 497, + 250, -530, 251, 861, 468, 469, 493, -105, 779, -539, + 247, 716, 1071, 248, 249, 989, -530, -112, 686, -639, + 611, 440, 833, 307, 311, -639, 218, 585, 86, 1121, + 443, 525, 393, 393, -536, -540, -103, 780, 212, 212, + 833, 250, 493, 251, 395, 480, 481, -535, 604, -639, + 780, -530, 478, 948, 598, -639, 601, 550, -530, 544, + 884, 343, 344, -112, -541, 398, -539, 399, 1095, 326, + 403, -99, -102, -642, 380, 380, -104, 545, -542, 206, + -544, -111, 436, 301, 915, 125, 125, 915, -101, 505, + -643, 505, 490, 125, -98, 514, 730, 432, 531, 516, + 519, -100, 512, 1077, 440, 270, 538, 538, 507, 266, + 276, 538, 266, 687, 271, 271, 758, 41, 271, 86, + 42, -541, 380, 380, -97, -543, -545, 923, 276, 753, + 779, 455, 218, 218, -530, -542, 125, -544, 530, 434, + 779, 781, 545, -534, 355, 356, 783, 527, 419, 515, + 467, 830, 271, 271, 781, 533, 328, 329, 330, 727, + 727, 473, 125, 462, 58, 212, 212, 212, 212, 477, + 574, 575, 569, 570, 571, 572, 482, 918, 428, 429, + 430, 561, -543, -545, 486, 218, 1065, 301, 218, 442, + 607, -530, -535, 218, 218, 617, 589, 86, 589, 915, + -534, 70, 488, 526, 86, 86, 573, 568, 613, 331, + 332, 556, 86, 965, 380, 380, 683, 502, 894, 444, + 463, -104, 247, 316, 609, 248, 249, 444, 1153, 609, + 493, -345, -110, -77, 933, 617, 617, 727, 842, 506, + 939, 941, -96, 472, 522, 1154, -345, 529, -111, 272, + 472, 928, 514, 250, -91, 251, -111, 779, 86, 218, + 218, 218, 218, 86, 218, 218, 266, -106, 419, -103, + 1113, 656, 663, 665, 664, 663, 688, 514, -76, 520, + 535, -345, 1005, 86, 541, 693, 543, 495, -345, 843, + 746, 266, 544, 615, 514, 547, 663, 724, 664, 615, + 838, 961, 470, 514, 86, 615, 615, 218, 266, 86, + 316, 578, 622, 663, 584, 664, 879, 266, -108, 719, + 380, 1114, 663, 874, 664, 57, 738, 872, 566, 545, + -105, 505, 505, 824, 355, 356, 1066, 1109, 567, 1112, + 587, 105, 218, -640, 1118, 246, 339, 329, 330, -551, + 813, 733, 622, 622, 730, 1015, 1016, 544, 206, 452, + 453, 520, 663, 805, 664, 1029, 779, 218, 514, 86, + 218, 590, 380, 599, 70, 271, 779, 495, 271, -106, + 86, 814, 266, 743, 218, 938, 591, 663, 86, 664, + 594, 579, 597, 218, 526, 125, 836, 833, 86, 331, + 332, 247, 297, 1093, 248, 249, 1096, -534, 1157, 593, + -108, 1010, 1011, 600, -105, 532, 602, 769, 727, 534, + 454, 454, -534, -110, 794, 772, 603, 614, 502, 638, + 615, 86, 250, 554, 251, 806, 787, 520, 1109, 1112, + 86, 1021, 1023, 773, -102, 920, 897, 899, 901, 676, + 903, 690, 904, 691, 316, -640, 316, -534, 218, 694, + 504, -640, 508, -418, -534, 695, 86, 697, 555, 987, + 297, 874, 946, 720, 728, 366, 367, 368, 505, -106, + 732, 737, 125, -302, 281, 583, 740, 281, 794, 794, + -91, 810, 771, 218, 212, 809, 536, 755, -302, 768, + 816, 823, 369, 818, 277, 281, 745, 277, 706, 706, + 832, 835, 218, 789, 813, 835, 828, 609, 1163, 849, + 800, 316, 835, 809, 799, 277, 206, -418, 212, 801, + -108, 1131, 271, -302, 826, 848, 996, -643, 246, 811, + -302, 1091, -418, -106, 544, 538, 833, 505, 825, 1143, + 841, 206, 380, 847, 944, 850, 870, 271, 431, 495, + 877, 1040, 814, 938, -98, -299, 495, 1042, -299, -299, + 880, 686, 886, 432, 271, -418, 890, -418, -106, 869, + 892, -106, -106, 271, -418, 896, 576, 898, 218, 86, + 900, -108, -105, 617, 589, -299, -299, 902, -299, 617, + 935, 905, 1034, 271, 951, 617, 617, 271, 433, -106, + 952, -106, -100, -97, 956, 434, 1133, 1135, 1137, 960, + 1139, 1140, 218, 514, 731, 860, 125, 962, 125, -108, + 966, 736, -108, -108, 994, 271, 999, 266, 271, 523, + 794, 1014, 663, 742, 664, 1017, 815, 297, 271, 817, + 954, 212, 924, 958, -646, 1020, 673, 675, 959, 1024, + -108, 1026, -108, 1022, 1031, 554, 1032, 815, 1119, 1120, + 1078, 1080, 1081, 1082, 1043, 1044, 1046, 308, 312, 491, + 520, 1049, 248, 249, 306, 1050, 1173, 1175, 1176, 1177, + 673, 675, 1051, 125, 765, 505, 766, 767, 1055, 1063, + 1056, 86, 734, 735, 876, 1072, 822, 1187, 316, 86, + 622, 782, 525, 218, 786, 1073, 622, 218, -646, 1079, + 1083, 869, 622, 622, 470, 1084, 797, 775, 86, 86, + 617, 589, 589, -646, 776, 1085, 470, 457, 776, 741, + 247, 1098, 86, 248, 249, 218, 1100, 472, 985, 986, + 1099, 297, 432, -642, 86, 86, 104, -642, 104, 1124, + 1170, 1171, 1126, 104, 104, 1172, -646, 971, -646, 104, + 104, 104, -642, 251, 104, -646, 247, 1128, 1103, 248, + 249, 86, 876, 1132, 868, 1134, 1148, 458, 1184, 1185, + 1149, 1152, 86, 86, 434, 1161, 474, 125, -643, 796, + 212, 212, 1057, 827, 1136, 895, 104, 1060, 1061, 1138, + 835, 432, 1150, 761, 1151, 358, 359, 360, 361, 1013, + 104, -642, 696, 247, 1019, 1158, 248, 249, 307, 311, + 703, 762, -643, 271, 271, 247, -642, 1166, 248, 249, + 715, 350, 351, 352, 353, 354, 475, 622, 1178, 812, + 1179, 950, 869, 434, 250, 1174, 251, 86, 86, 878, + 227, 1037, -643, 739, 1125, 86, 250, 130, 251, -642, + 1147, -642, 104, 907, 104, -642, 706, -643, -642, 889, + 125, 835, -538, 945, 483, 1159, 931, 1064, 1068, 472, + 358, 359, 360, 361, 218, 218, 86, -538, 860, 432, + 1110, 1115, 1116, 271, 887, 914, 762, 589, 757, 871, + -643, 271, -643, 869, 869, 869, -643, 1146, 508, -643, + 869, 514, 492, 693, 835, 208, 868, 983, 1087, 1168, + 1169, 913, -538, 335, 484, 266, 329, 330, 919, -538, + 663, 434, 664, 337, 247, 329, 330, 248, 249, 86, + 774, 86, 932, 1092, 86, 0, 1186, 271, 271, 860, + 860, 971, 1190, 1191, 0, 104, 860, 524, 0, 73, + 0, 73, 121, 121, 835, 835, 0, 251, 104, 104, + 121, 472, 432, 0, 869, 212, 212, 472, 331, 332, + 992, 125, 1180, 1181, 0, 0, 125, 331, 332, 0, + 761, 835, 358, 359, 360, 361, 1001, 835, 835, 0, + 1004, 218, 1006, 869, 869, 869, 1007, 475, 762, 73, + 934, 936, 0, 121, 434, 0, 940, 942, 86, 86, + 860, 104, 0, 125, 104, 0, 910, 0, 0, 104, + 104, 0, 0, 104, 0, 0, 0, 0, 0, 121, + 104, 104, 934, 936, 0, 940, 942, 868, 104, 860, + 860, 860, 0, 0, 0, 0, 993, 0, 0, 0, + 125, 548, 563, 0, 329, 330, 0, 0, 0, 218, + 218, 86, 0, 0, 0, 0, 432, 73, 472, 472, + 0, 1076, 271, 86, 86, 0, 357, 0, 358, 359, + 360, 361, -537, 0, 104, 104, 104, 104, 104, 104, + 104, 104, 1074, 1075, 362, -292, 0, -537, 868, 868, + 868, 549, 0, 0, 1117, 868, 331, 332, 434, 104, + -292, 125, 125, 0, 1094, 0, 1097, 0, 125, 364, + 0, 341, 329, 330, 0, 365, 366, 367, 368, 0, + 104, 1030, -537, 104, 1088, 104, 0, 913, 104, -537, + 913, 776, 913, 0, 919, -292, 0, 919, 0, 919, + 0, 947, -292, 369, 1030, 0, 370, 0, 73, 247, + 0, 0, 248, 249, 955, 472, 0, 1089, 104, 868, + 1127, 0, 0, 1129, 331, 332, 963, 964, 104, 104, + 0, 271, 125, 0, 0, 0, 502, 0, 472, 472, + 250, 0, 251, 104, 0, 104, 104, 0, 868, 868, + 868, 0, 0, 991, 0, 0, 104, 0, 0, 913, + 104, 125, 125, 125, 104, 997, 919, 0, 0, 104, + -303, 0, 1160, 803, 104, 984, 1162, 0, 1164, 0, + 0, 1048, 1165, 1086, 0, -303, 73, 0, 432, 910, + 432, 0, 910, 73, 73, 910, 432, 910, 432, 1101, + 0, 73, 913, 0, 913, 0, 913, 104, 913, 919, + 0, 919, 121, 919, 432, 919, 104, 0, 1183, 0, + -303, 0, 0, 804, 0, 458, 0, -303, 0, 1033, + 434, 475, 434, 458, 104, 0, 0, 1041, 434, 0, + 434, 0, 104, 0, 913, 0, 0, 73, 0, 1102, + 0, 919, 73, 0, 651, 652, 434, 0, 653, 562, + 0, 0, 329, 330, 910, 555, 329, 330, 1062, 104, + 0, 0, 73, 174, 175, 176, 177, 178, 179, 180, + 181, 0, 0, 182, 183, 0, 0, 0, 104, 184, + 185, 186, 187, 73, 0, 0, 0, 0, 73, 121, + 0, 73, 0, 188, 189, 190, 0, 910, 0, 910, + 0, 910, 0, 910, 331, 332, 0, 0, 331, 332, + 0, 1104, 0, 1105, 0, 0, 1106, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 0, 73, 73, 560, 329, 330, 203, 276, 0, 910, + 564, 329, 330, 565, 329, 330, 0, 0, 73, 756, + 329, 330, 0, 0, 104, 104, 0, 0, 761, 73, + 358, 359, 360, 361, 0, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 0, 247, 762, 73, 248, 249, + 357, 0, 358, 359, 360, 361, 331, 332, 104, 0, + 1155, 1156, 0, 331, 332, 0, 331, 332, 362, 0, + 0, 364, 331, 332, 0, 0, 250, 763, 251, 0, + 73, 74, 363, 74, 122, 122, 0, 0, 0, 73, + 0, 0, 122, 364, 0, 0, 0, 0, 0, 365, + 366, 367, 368, 121, 761, 121, 358, 359, 360, 361, + 0, 0, 0, 1182, 761, 73, 358, 359, 360, 361, + -669, 0, 762, 0, 0, 1188, 1189, 369, 0, 0, + 370, 74, 762, 0, 0, 122, 357, 104, 358, 359, + 360, 361, 0, 371, 419, 104, 104, 364, 0, 104, + 0, 0, 104, 104, 362, 0, 0, 364, 104, 104, + 0, 122, 0, 1000, 104, 104, 0, 0, 0, 0, + 121, 0, 426, 427, 428, 429, 430, 0, 104, 364, + 0, 104, 0, 0, 0, 365, 366, 367, 368, 0, + 104, 104, 0, 0, 0, 0, 0, 0, 0, 74, + 0, 416, 417, 0, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 369, 419, 0, 370, 104, 0, 0, + 14, 0, 108, 109, 17, 18, 0, 0, 104, 104, + 0, 110, 111, 112, 22, 23, 24, 25, 73, 0, + 113, 425, 426, 427, 428, 429, 430, 0, 0, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, + 40, 41, 0, 0, 42, 0, 0, 43, 44, 247, + 116, 0, 248, 249, 121, 0, 0, 0, 416, 417, + 0, 0, 0, 104, 416, 417, 0, 0, 0, 0, + 74, 419, 313, 104, 104, 119, 52, 419, 53, 54, + 995, 104, 251, 0, 0, 56, 0, 57, 58, 59, + 0, 60, 61, 62, 0, 63, 423, 424, 425, 426, + 427, 428, 429, 430, 0, 426, 427, 428, 429, 430, + 104, 104, 104, 0, 0, 120, 0, 0, 0, 0, + 0, 0, 0, 314, 0, 103, 0, 103, 128, 128, + 73, 0, 0, 0, 0, 0, 232, 121, 73, 73, + 0, 0, 0, 0, 0, 73, 0, 0, 74, 0, + 0, 73, 73, 0, 0, 74, 74, 73, 73, 0, + 0, 0, 0, 74, 0, 104, 0, 104, 0, 0, + 104, 73, 0, 0, 122, 103, 0, 0, 0, 318, + 0, 0, 0, 73, 73, 0, 0, 0, 357, 0, + 358, 359, 360, 361, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 318, 362, 0, 0, 74, + 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, + 363, 73, 73, 0, 0, 0, 0, 104, 0, 0, + 0, 364, 0, 0, 74, 0, 0, 365, 366, 367, + 368, 0, 0, 103, 104, 104, 0, 0, 121, 0, + 0, 0, 0, 121, 0, 74, 0, 0, 0, 0, + 74, 122, 0, 74, 0, 369, 0, 0, 370, 0, + 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, + 0, 371, 0, 0, 0, 0, 73, 73, 0, 0, + 121, 0, 0, 0, 73, 104, 104, 104, 0, 0, + 0, 0, 0, 74, 74, 0, 0, 0, 0, 104, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 74, 358, 359, 360, 361, 73, 0, 121, 0, 0, + 0, 74, 0, 0, 103, 0, 0, 362, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, - 0, 74, 0, 0, 74, 0, 317, 0, 0, 122, - 122, 0, 0, 0, 0, 0, 83, 318, 0, 0, - 0, 0, 0, 0, 0, 0, 651, 652, 0, 0, - 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 74, 74, 122, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 83, 103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 122, 122, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 0, 0, 0, 74, 0, 0, 203, 276, - 0, 128, 0, 0, 0, 0, 0, 74, 74, -656, - -656, -656, -656, 408, 409, 100, 0, -656, -656, 0, - 0, 0, 0, 0, 0, 416, 417, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, + 0, 0, 0, 581, 0, 0, 0, 0, 0, 0, + 0, 0, 364, 0, 0, 0, 0, 0, 365, 366, + 367, 368, 0, 0, 0, 0, 0, 0, 73, 0, + 73, 0, 74, 73, 0, 0, 0, 0, 121, 121, + 0, 74, 0, 0, 0, 121, 369, 0, 0, 370, + 0, 0, 0, 0, 0, 122, 0, 122, 0, 0, + 0, 0, 103, 0, 0, 0, 0, 74, 0, 103, + 103, 0, 0, 0, 0, 0, -669, 103, 0, 0, + 0, 357, 0, 358, 359, 360, 361, 0, 318, -669, + -669, -669, -669, -669, -669, 0, -669, 0, 0, 362, + 0, -669, -669, -669, 0, 0, 0, 73, 73, 121, + 0, 0, 0, -669, -669, 777, -669, -669, -669, -669, + -669, 0, 122, 103, 364, 0, 0, 0, 103, 0, + 365, 366, 367, 368, 0, 0, 0, 0, 121, 121, + 121, 0, 0, 0, 0, 0, 0, 0, 103, 0, + 357, 0, 358, 359, 360, 361, 0, 0, 369, 0, + 73, 370, 0, 0, 0, 0, -669, 0, 362, 103, + 0, 0, 73, 73, 103, 318, 0, 623, 0, 0, + 0, -669, 0, 0, 0, 0, 0, 0, 0, 0, + 74, -669, 0, 364, -669, -669, 0, 0, 0, 365, + 366, 367, 368, 0, 0, 0, 0, 357, 0, 358, + 359, 360, 361, 0, -669, -669, 0, 623, 623, 0, + 276, -669, -669, -669, -669, 362, 122, 369, 0, 0, + 370, 0, 0, 0, 103, 0, 0, 0, 0, 0, + 0, 891, 0, 551, 0, 103, 0, 0, 0, 0, + 364, 0, 0, 103, 0, 0, 365, 366, 367, 368, + 0, 0, 0, 103, 785, 0, 358, 359, 360, 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 0, 362, 0, 369, 0, 0, 370, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 0, 74, 0, 0, 103, 0, 364, 0, 122, + 74, 74, 0, 0, 366, 367, 368, 74, 0, 318, + 0, 318, 0, 74, 74, 0, 0, 0, 0, 74, + 74, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 369, 0, 74, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 74, 74, 0, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 74, 0, 0, 0, 318, 419, 0, 0, + 0, 0, 0, 74, 74, 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, + 122, 0, 0, 0, 0, 122, 0, 0, -277, 0, + 0, 0, 0, 100, 0, 100, 127, 127, 127, 0, + 0, 802, 0, 0, 231, 0, 0, 0, 74, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 74, 74, + 0, 0, 122, 0, 0, 0, 74, 0, 0, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 0, 0, 100, 0, 416, 417, 317, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 74, 419, 122, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 0, 0, 0, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 318, 103, 623, 0, 0, 0, - 0, 0, 623, 100, 0, 0, 0, 0, 623, 623, - 100, 100, 0, 0, 103, 103, 0, 0, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 103, 317, + 430, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 103, 103, 0, 83, 0, 0, 0, 0, 0, 0, - 83, 83, 0, 0, 0, 0, 0, 0, 83, 0, - 0, 0, 0, 0, 100, 103, 0, 0, 0, 100, - 0, 0, 0, 0, 0, 0, 103, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 83, 0, 0, 0, 128, 83, - 100, 0, 0, 0, 0, 100, 317, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 0, 623, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 103, 0, 0, 1029, 0, 0, 0, 103, - 83, 101, 0, 101, 0, 83, 0, 0, 618, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 103, 0, 128, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, - 0, 0, 0, 0, 100, 0, 0, 0, 618, 618, - 0, 101, 0, 0, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 891, - 0, 0, 0, 0, 0, 103, 83, 103, 0, 0, - 103, 0, 0, 0, 83, 128, 128, 100, 0, 0, - 0, 0, 0, 0, 83, 0, 100, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, - 317, 0, 317, 416, 417, 0, 0, 0, 0, 101, - 0, 0, 100, 0, 0, 0, 419, 83, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 103, 103, 128, 0, 0, 0, 420, 0, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 128, 128, 0, 0, 0, 317, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 74, 100, 74, 0, 0, 74, 0, 0, 0, 0, + 122, 122, 0, 0, 0, 0, 103, 122, 0, 0, + 0, 0, 0, 318, 103, 623, 0, 0, 0, 0, + 0, 623, 0, 0, 0, 0, 0, 623, 623, 0, 0, 0, 0, 103, 103, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 100, 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, 127, 0, 43, 44, 83, 116, 0, 101, 0, - 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, - 0, 0, 0, 101, 0, 0, 0, 0, 313, 0, - 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 0, 120, 0, 0, 101, 0, 0, 100, 0, 314, - 0, 0, 0, 0, 317, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 103, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 74, 122, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 0, 0, 0, 103, 0, 83, 0, + 83, 0, 0, 0, 0, 0, 0, 103, 103, 228, + 122, 122, 122, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 74, 0, 128, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 74, 74, 0, 0, 83, 0, + 0, 0, 0, 0, 101, 0, 101, 0, 0, 0, + 0, 0, 623, 0, 0, 0, 0, 0, 0, 0, + 100, 0, 103, 103, 0, 0, 1039, 100, 100, 0, + 103, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 0, 83, 100, 0, - 101, 0, 0, 101, 0, 83, 618, 0, 0, 0, - 100, 100, 618, 0, 0, 0, 0, 0, 618, 618, - 0, 0, 0, 0, 83, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, 0, 0, 83, 0, - 0, 0, 0, 101, 101, 0, 100, 100, 0, 0, - 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 0, 127, 0, 83, 0, 0, 127, 101, - 0, 0, 0, 0, 0, 0, 83, 83, 0, 101, + 802, 103, 0, 128, 0, 0, 83, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 100, 0, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 0, 0, 416, 417, 100, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 103, 419, 0, 103, + 0, 0, 101, 0, 128, 128, 0, 100, 0, 0, + 0, 128, 100, 317, 0, 0, 0, 0, 420, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 100, 0, 0, 1028, 0, 0, 0, 100, - 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 904, 0, 0, 0, 0, 0, 0, 0, - 0, 618, 100, 0, 127, 0, 0, 0, 0, 0, - 0, 83, 83, 0, 0, 1026, 0, 101, 0, 83, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 0, 419, - 0, 0, 0, 0, 0, 100, 0, 100, 0, 0, - 100, 0, 0, 0, 0, 127, 127, 0, 0, 0, - 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 83, 0, 0, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 217, 0, 0, 0, 0, 217, 267, 267, 0, 0, - 267, 100, 100, 127, 0, 0, 0, 0, 0, 0, - 0, 0, -439, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 289, 291, 292, - 293, 0, 127, 127, 267, 309, -439, -439, 0, 0, - 0, 83, 83, 0, 0, 0, 346, 347, 0, 0, - 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 100, 0, 0, 0, -525, -525, - -525, -525, -525, -525, -525, -525, -525, -525, -525, -525, - 0, 0, 0, 0, -525, -525, -525, 0, 0, -439, - 0, 83, 0, 0, 0, 0, 0, -525, 217, 0, - 0, -525, 0, 83, 83, 0, 0, 0, 0, 0, - 0, -439, 0, 0, -439, -439, 0, 0, -525, 0, - -525, -525, -439, -525, -525, -525, -525, -525, -525, -525, - 0, 0, 101, 0, 0, 0, -525, -439, -439, 0, - 101, 101, -439, -525, -439, 0, 0, 101, 0, 0, - 0, 0, 0, 101, 101, 0, 0, 0, 0, 101, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 404, 405, 406, 407, 408, 409, - 410, 0, 412, 413, 0, 101, 101, 0, 0, 0, - 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 419, 217, 217, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 101, 0, 0, 0, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, - 0, 0, 0, 498, 499, 500, 346, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, - 267, 0, 0, 0, 0, 217, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, - 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 103, 103, 128, 0, 0, 0, 0, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 128, 128, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 0, 83, 83, 0, 0, 103, 0, 0, 0, + 83, 0, 0, 0, 100, 0, 0, 0, 103, 103, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 317, 0, 317, + 893, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 0, 101, 0, 0, 0, 0, 83, 0, 101, 101, + 0, 83, 0, 0, 0, 0, 101, 0, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 83, 0, 0, 416, 417, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, + 0, 0, 83, 0, 317, 0, 0, 83, 0, 0, + 618, 0, 101, 0, 0, 0, 0, 101, 420, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 217, 217, 217, 217, 0, 217, 217, 0, 0, + 618, 618, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 101, 0, 0, 101, 83, 0, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 83, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 101, 101, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, - 101, 0, 101, 0, 0, 101, 0, 0, 0, 608, - 0, 0, 0, 0, 619, 624, 625, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, - 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, - 649, 650, 0, 0, 267, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 672, 672, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 101, 0, 267, - 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 672, 0, 267, 0, 672, 672, - 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, - 0, 0, 0, 0, 718, 0, 0, 721, 722, 0, - 0, 0, 723, 0, 0, 726, 101, 729, 0, 309, - 293, 0, 0, 0, 0, 0, 0, 0, 101, 101, - 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, - 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 267, 0, 0, 0, 0, 0, 0, 404, 405, 406, - 407, 408, 409, 0, 0, 412, 413, 759, 760, 0, - 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 770, 419, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 788, 0, 0, 795, 0, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -293, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -293, -293, -293, -293, -293, -293, 0, -293, 0, - 0, 0, 0, -293, 0, -293, -293, -293, 0, 0, - 0, 0, 0, 0, 0, -293, -293, 0, -293, -293, - -293, -293, -293, 0, 0, 0, 0, 0, 0, 0, - 217, 0, 0, 0, 0, -293, 0, 0, 0, 0, - 0, 0, 829, 0, 0, 770, 788, 0, 0, 0, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, 0, 0, 217, 0, -293, -293, -293, 0, - 0, -293, 0, 0, 0, 0, 871, -293, 0, -293, - 0, 0, 0, -293, 0, 726, 309, 0, 0, 0, - 0, -293, 0, -293, 0, 0, -293, -293, 0, 0, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, 0, 0, 0, 0, 0, -293, -293, -293, - -293, 0, 0, -293, -293, -293, -293, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 920, 0, 0, - 0, 0, 672, 923, 0, 267, 0, 0, 672, 672, - 0, 0, 0, 726, 672, 672, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 672, 672, 0, 672, 672, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 980, 0, 0, 0, 293, 0, 0, 660, 661, 0, - 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 992, 993, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 998, 999, 182, 183, 0, 0, - 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, - 1015, 0, 0, 0, 0, 0, 188, 189, 190, 0, - 1017, 1018, 0, 0, 0, 0, 0, 672, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 672, 201, 202, 0, 0, 0, 0, 0, 498, 203, - 276, 0, 0, 0, 0, 0, 217, 217, 0, 0, - 0, 0, -655, 3, 309, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 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, 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, 267, 57, 58, - 59, 0, 60, 61, 62, -417, 63, -655, 0, 0, - -655, -655, 0, 0, 0, 0, 0, 0, -417, -417, - -417, -417, -417, -417, 0, -417, 64, 65, 66, 0, - -417, -417, -417, -417, 0, 0, 0, 0, -655, 0, - -655, 0, -417, -417, 0, -417, -417, -417, -417, -417, - 0, 0, 0, 0, 0, 217, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -417, -417, -417, - -417, -417, -417, -417, -417, -417, -417, -417, -417, 0, - 0, 0, 0, -417, -417, -417, 0, 0, -417, 0, - 0, 0, 0, 0, -417, 0, -417, 0, 0, 0, - -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -417, 0, 0, -417, -417, 0, 0, -417, 0, -417, - -417, -417, -417, -417, -417, -417, -417, -417, -417, 0, - 0, -516, 0, -417, -417, -417, -417, -417, 0, 276, - -417, -417, -417, -417, -516, -516, -516, -516, -516, -516, - 0, -516, 0, 0, 0, 0, -516, 0, -516, -516, - 0, 0, 0, 0, 0, 0, 0, 0, -516, -516, - 0, -516, -516, -516, -516, -516, 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, -516, -516, -516, -516, -516, -516, -516, - -516, -516, -516, -516, -516, 0, 0, 0, 0, -516, - -516, -516, 0, -516, -516, 0, 0, 0, 0, 0, - -516, 0, -516, 0, 0, 0, -516, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -516, 0, 0, -516, - -516, 0, -516, -516, 0, -516, -516, -516, -516, -516, - -516, -516, -516, -516, -516, 0, 0, -655, 0, 0, - -516, -516, -516, -516, 0, 0, -516, -516, -516, -516, - -655, -655, -655, -655, -655, -655, 0, -655, 0, 0, - 0, 0, -655, -655, -655, -655, 0, 0, 0, 0, - 0, 0, 0, 0, -655, -655, 0, -655, -655, -655, - -655, -655, 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, -655, - -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, - -655, 0, 0, 0, 0, -655, -655, -655, 0, 0, - -655, 0, 0, 0, 0, 0, -655, 0, -655, 0, - 0, 0, -655, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -655, 0, 0, -655, -655, 0, 0, -655, - 0, -655, -655, -655, -655, -655, -655, -655, -655, -655, - -655, 0, 0, -655, 0, -655, -655, -655, -655, -655, - 0, 276, -655, -655, -655, -655, -655, -655, -655, -655, - -655, -655, 0, -655, 0, 0, 0, 0, -655, 0, - -655, -655, 0, 0, 0, 0, 0, 0, 0, 0, - -655, -655, 0, -655, -655, -655, -655, -655, 0, 0, + 0, 0, 0, 101, 660, 661, 0, 0, 662, 83, + 0, 0, 0, 0, 101, 0, 0, 0, 83, 0, + 0, 0, 101, 174, 175, 176, 177, 178, 179, 180, + 181, 0, 101, 182, 183, 0, 0, 0, 0, 184, + 185, 186, 187, 0, 83, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 101, 0, 0, 0, 0, + 0, 317, 100, 0, 101, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 0, 100, 100, 0, 0, 0, 203, 276, 0, 0, + 101, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -655, -655, -655, -655, -655, - -655, -655, -655, -655, -655, -655, -655, 0, 0, 0, - 0, -655, -655, -655, 0, 0, -655, 0, 0, 0, - 0, 0, -655, 0, -655, 0, 0, 0, -655, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -655, 0, - 0, -655, -655, 0, 0, -655, 0, -655, -655, -655, - -655, -655, -655, -655, -655, -655, -655, 0, 0, -632, - 0, 0, -655, -655, -655, -655, 0, 276, -655, -655, - -655, -655, -632, -632, -632, 0, -632, -632, 0, -632, - 0, 0, 0, 0, -632, -632, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -632, -632, 0, -632, - -632, -632, -632, -632, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, -639, -639, -639, -639, -639, + -639, -639, -639, -639, 0, 100, 100, 0, 0, 0, + 0, -639, 0, -639, -639, -639, -639, 83, -639, 0, + 0, 0, -639, -639, -639, -639, -639, -639, -639, 0, + 0, -639, 127, 0, 0, 0, 0, 127, 0, 0, + -639, -639, -639, -639, -639, -639, -639, -639, -639, 0, + -639, -639, -639, 0, 0, -639, 0, 0, -639, -639, + 0, -639, -639, -639, 0, 0, 0, 0, 0, 0, + 100, 100, 0, 101, 1038, 0, -639, -639, 100, 0, + 0, 0, 0, -639, 0, 0, -639, -639, 0, -639, + -639, 0, -639, 0, -639, -639, -639, 0, -639, -639, + -639, 0, -639, -639, -639, 0, -639, 0, 0, 100, + 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -639, -639, -639, 83, + -639, 0, 0, 0, 0, 0, -639, 83, 618, 0, + 0, 0, 0, 0, 618, 0, 0, 0, 0, 0, + 618, 618, 0, 0, 0, 0, 83, 83, 0, 0, + 0, 0, 100, 0, 100, 0, 0, 100, 0, 0, + 83, 0, 127, 127, 0, 0, 0, 0, 0, 127, + 0, 0, 83, 83, 0, 101, 0, 0, 0, 0, + 217, 217, 0, 101, 101, 0, 217, 267, 267, 0, + 101, 267, 0, 0, 0, 0, 101, 101, 0, 83, + 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, + 83, 83, 0, 0, 0, 0, 101, 0, 289, 291, + 292, 293, 0, 0, 0, 267, 309, 0, 101, 101, + 0, 100, 100, 127, 0, 0, 0, 346, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, + 0, 0, 127, 127, 127, 618, 101, 101, 0, 0, + 0, 0, 0, 0, 0, 83, 83, 0, 0, 1036, + 0, 0, 0, 83, 100, 0, 0, 0, 0, 217, + 0, 0, 0, 0, 0, 0, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -632, -632, -632, -632, -632, -632, -632, -632, -632, - -632, -632, -632, 0, 0, 0, 0, -632, -632, -632, - 0, 807, -632, 0, 0, 0, 0, 0, 0, 0, - -632, 0, 0, 0, -632, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -632, 0, 0, -632, -632, 0, - -107, -632, 0, -632, -632, -632, -632, -632, -632, -632, - -632, -632, -632, 0, 0, -632, 0, -632, -632, -632, - 0, -99, 0, 0, -632, -632, -632, -632, -632, -632, - -632, 0, -632, -632, 0, -632, 0, 0, 0, 0, - -632, -632, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -632, -632, 0, -632, -632, -632, -632, -632, + 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, + 0, 101, 0, 0, 681, 652, 0, 0, 682, 0, + 0, 101, 101, 0, 0, 0, 0, 0, 0, 101, + 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, 83, 0, 83, + 101, 0, 83, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 217, 217, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 0, 0, 0, 0, 0, 0, 203, 276, 0, 0, + 0, 0, 0, 101, 0, 101, 0, 0, 101, 0, + 0, 0, 0, 0, 498, 499, 500, 346, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 83, 267, 0, + 0, 267, 0, 0, 0, 0, 217, 217, 666, 661, + 0, 0, 667, 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, 83, + 0, 0, 101, 101, 0, 0, 0, 188, 189, 190, + 0, 83, 83, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 217, 217, 217, 217, 0, 217, 217, 0, + 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 0, 0, 0, 586, 0, 0, + 203, 276, 0, 0, 0, 101, 0, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, + 608, 0, 0, 0, 0, 619, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 0, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 0, 0, 267, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 672, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -632, -632, -632, - -632, -632, -632, -632, -632, -632, -632, -632, -632, 0, - 0, 0, 0, -632, -632, -632, 0, 807, -632, 0, - 0, 0, 0, 0, 0, 0, -632, 0, 0, 0, - -632, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -632, 0, 0, -632, -632, 0, -107, -632, 0, -632, - -632, -632, -632, -632, -632, -632, -632, -632, -632, 0, - 0, -302, 0, -632, -632, -632, 0, -632, 0, 0, - -632, -632, -632, -632, -302, -302, -302, 0, -302, -302, - 0, -302, 0, 0, 0, 0, -302, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, - 0, -302, -302, -302, -302, -302, 0, 0, 0, 0, + 267, 0, 0, 217, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 672, 0, 267, 0, 672, + 672, 0, 0, 0, 0, 0, 267, 0, 0, 0, + 0, 0, 0, 0, 0, 718, 0, 0, 721, 722, + 0, 0, -293, 723, 0, 0, 726, 0, 729, 0, + 309, 293, 0, 0, 0, -293, -293, -293, -293, -293, + -293, 0, -293, 0, 0, 0, 0, -293, 672, -293, + -293, -293, 0, 0, 0, 0, 0, 0, 726, -293, + -293, 309, -293, -293, -293, -293, -293, 0, 0, 0, + 0, 267, 0, 0, 0, 0, 0, 0, 0, -293, + 0, 0, 0, 0, 0, 0, 0, 0, 759, 760, + 0, 0, 0, 0, -293, -293, -293, -293, -293, -293, + -293, -293, -293, -293, -293, -293, 770, 0, 0, 0, + -293, -293, -293, 0, 0, -293, 0, 0, 0, 0, + 0, -293, 0, -293, 0, 788, 0, -293, 795, 0, + 0, 0, 0, 0, 0, -293, 0, -293, 0, 0, + -293, -293, 0, 0, -293, -293, -293, -293, -293, -293, + -293, -293, -293, -293, -293, -293, 0, 0, 0, 0, + 0, -293, -293, -293, -293, 0, 0, -293, -293, -293, + -293, 0, 0, 0, 0, 0, 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, 217, 0, 110, 111, 112, 22, 23, 24, 25, + 0, 0, 113, 829, 0, 0, 770, 788, 0, 0, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 0, 39, 40, 41, 0, 217, 42, 0, 0, 43, + 44, 0, 116, 0, 0, 0, 0, 873, 0, 0, + 0, 0, 0, 0, 0, 0, 726, 309, 0, 0, + 906, 0, 0, 0, 313, 0, 0, 119, 52, 0, + 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, + 58, 59, 0, 60, 61, 62, 0, 63, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 0, 0, 416, 417, 0, 120, 0, 0, + 0, 0, 0, 0, 0, 612, 0, 419, 922, 0, + 0, 0, 0, 672, 925, 0, 267, 0, 0, 672, + 672, 0, 0, 0, 726, 672, 672, 0, 420, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 0, 672, 672, 0, 672, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 267, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 990, 0, 0, 0, 293, 0, 0, + 698, 652, 0, 0, 699, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1002, 1003, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 1008, 1009, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 1025, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 1027, 1028, 0, 0, 0, 0, 0, + 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 672, 201, 202, 0, 0, 0, 0, + 0, 498, 203, 276, 0, 0, 0, 0, 0, 499, + 0, 0, 0, 0, 0, 0, 0, 217, 217, 0, + 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, 0, 0, 0, 0, -302, - -302, -302, 0, 808, -302, 0, 0, 0, 0, 0, - 0, 0, -302, 0, 0, 0, -302, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -302, 0, 0, -302, - -302, 0, -109, -302, 0, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, 0, 0, -302, 0, 0, - -302, -302, 0, -101, 0, 0, -302, -302, -302, -302, - -302, -302, -302, 0, -302, -302, 0, -302, 0, 0, - 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -302, -302, 0, -302, -302, -302, - -302, -302, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, 0, 0, 0, 0, -302, -302, -302, 0, 808, - -302, 0, 0, 0, 0, 0, 0, 0, -302, 0, - 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -302, 0, 0, -302, -302, 0, -109, -302, - 0, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, 0, 0, 0, 0, 0, -302, -302, 0, -302, - 0, 0, -302, -302, -302, -302, 295, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, -655, -655, - -655, 0, 0, -655, 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, - -655, 0, 0, -655, -655, 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, -655, 295, -655, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, -655, 0, -655, -655, + 0, -669, 3, 0, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 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, 27, 0, 29, 30, + 26, 0, 0, 0, 721, 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, 0, 50, 0, 267, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, -655, 0, 0, -655, - -655, 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, -655, 295, -655, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, -655, 0, 0, -655, 14, -655, 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, 60, 61, 62, -417, 63, -669, 0, 0, -669, + -669, 0, 0, 0, 0, 0, 0, -417, -417, -417, + -417, -417, -417, 0, -417, 64, 65, 66, 0, -417, + -417, -417, -417, 0, 0, 0, 0, -669, 0, -669, + 0, -417, -417, 0, -417, -417, -417, -417, -417, 0, + 0, 0, 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, -655, 0, 0, -655, -655, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -417, -417, -417, -417, + -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, + 0, 0, -417, -417, -417, 0, 0, -417, 0, 0, + 0, 0, 0, -417, 0, -417, 0, 0, 0, -417, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, + 0, 0, -417, -417, 0, 0, -417, 0, -417, -417, + -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, + -530, 0, -417, -417, -417, -417, -417, 0, 276, -417, + -417, -417, -417, -530, -530, -530, -530, -530, -530, 0, + -530, 0, 0, 0, 0, -530, 0, -530, -530, 0, + 0, 0, 0, 0, 0, 0, 0, -530, -530, 0, + -530, -530, -530, -530, -530, 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, 64, 65, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -655, 295, -655, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, -655, 0, - 0, -655, 14, 0, 15, 16, 17, 18, -655, 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, -655, 0, - 0, -655, -655, 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, -655, - 295, -655, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, -655, 0, 0, -655, 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, -655, 0, 0, -655, -655, 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, -655, 0, -655, 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, -530, -530, -530, -530, -530, -530, -530, -530, + -530, -530, -530, -530, 0, 0, 0, 0, -530, -530, + -530, 0, -530, -530, 0, 0, 0, 0, 0, -530, + 0, -530, 0, 0, 0, -530, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -530, 0, 0, -530, -530, + 0, -530, -530, 0, -530, -530, -530, -530, -530, -530, + -530, -530, -530, -530, 0, 0, -669, 0, 0, -530, + -530, -530, -530, 0, 0, -530, -530, -530, -530, -669, + -669, -669, -669, -669, -669, 0, -669, 0, 0, 0, + 0, -669, -669, -669, -669, 0, 0, 0, 0, 0, + 0, 0, 0, -669, -669, 0, -669, -669, -669, -669, + -669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, -655, 0, 0, -655, -655, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -669, -669, + -669, -669, -669, -669, -669, -669, -669, -669, -669, -669, + 0, 0, 0, 0, -669, -669, -669, 0, 0, -669, + 0, 0, 0, 0, 0, -669, 0, -669, 0, 0, + 0, -669, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -669, 0, 0, -669, -669, 0, 0, -669, 0, + -669, -669, -669, -669, -669, -669, -669, -669, -669, -669, + 0, 0, -669, 0, -669, -669, -669, -669, -669, 0, + 276, -669, -669, -669, -669, -669, -669, -669, -669, -669, + -669, 0, -669, 0, 0, 0, 0, -669, 0, -669, + -669, 0, 0, 0, 0, 0, 0, 0, 0, -669, + -669, 0, -669, -669, -669, -669, -669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 64, 65, 66, 0, 0, -655, 0, 0, - 0, 0, 0, 0, -655, 295, -655, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 0, -655, -655, - 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -669, -669, -669, -669, -669, -669, + -669, -669, -669, -669, -669, -669, 0, 0, 0, 0, + -669, -669, -669, 0, 0, -669, 0, 0, 0, 0, + 0, -669, 0, -669, 0, 0, 0, -669, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -669, 0, 0, + -669, -669, 0, 0, -669, 0, -669, -669, -669, -669, + -669, -669, -669, -669, -669, -669, 0, 0, -646, 0, + 0, -669, -669, -669, -669, 0, 276, -669, -669, -669, + -669, -646, -646, -646, 0, -646, -646, 0, -646, 0, + 0, 0, 0, -646, -646, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -646, -646, 0, -646, -646, + -646, -646, -646, 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, + -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, + -646, -646, 0, 0, 0, 0, -646, -646, -646, 0, + 807, -646, 0, 0, 0, 0, 0, 0, 0, -646, + 0, 0, 0, -646, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -646, 0, 0, -646, -646, 0, -107, + -646, 0, -646, -646, -646, -646, -646, -646, -646, -646, + -646, -646, 0, 0, -646, 0, -646, -646, -646, 0, + -99, 0, 0, -646, -646, -646, -646, -646, -646, -646, + 0, -646, -646, 0, -646, 0, 0, 0, 0, -646, + -646, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -646, -646, 0, -646, -646, -646, -646, -646, 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, -646, -646, -646, -646, + -646, -646, -646, -646, -646, -646, -646, -646, 0, 0, + 0, 0, -646, -646, -646, 0, 807, -646, 0, 0, + 0, 0, 0, 0, 0, -646, 0, 0, 0, -646, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -646, + 0, 0, -646, -646, 0, -107, -646, 0, -646, -646, + -646, -646, -646, -646, -646, -646, -646, -646, 0, 0, + -302, 0, -646, -646, -646, 0, -646, 0, 0, -646, + -646, -646, -646, -302, -302, -302, 0, -302, -302, 0, + -302, 0, 0, 0, 0, -302, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -302, -302, 0, + -302, -302, -302, -302, -302, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -302, -302, -302, -302, -302, -302, -302, -302, + -302, -302, -302, -302, 0, 0, 0, 0, -302, -302, + -302, 0, 808, -302, 0, 0, 0, 0, 0, 0, + 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -302, 0, 0, -302, -302, + 0, -109, -302, 0, -302, -302, -302, -302, -302, -302, + -302, -302, -302, -302, 0, 0, -302, 0, 0, -302, + -302, 0, -101, 0, 0, -302, -302, -302, -302, -302, + -302, -302, 0, -302, -302, 0, -302, 0, 0, 0, + 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -302, -302, 0, -302, -302, -302, -302, + -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, + -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, + 0, 0, 0, 0, -302, -302, -302, 0, 808, -302, + 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, + 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -302, 0, 0, -302, -302, 0, -109, -302, 0, + -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, + 0, 0, 0, 0, 0, -302, -302, 0, -302, 0, + 0, -302, -302, -302, -302, 295, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, -669, -669, -669, + 0, 0, -669, 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, @@ -4101,23 +4050,43 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, -655, - 0, 0, -655, -655, 295, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, - 66, 0, 14, 0, 15, 16, 17, 18, 0, 0, - -655, 0, -655, 19, 20, 21, 22, 23, 24, 25, - 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, 0, 0, 50, 0, 0, 296, 52, 0, - 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, -655, 0, - 0, -655, -655, 295, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, - 0, 14, 0, 15, 16, 17, 18, 0, -655, -655, - 0, -655, 19, 20, 21, 22, 23, 24, 25, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -669, + 0, 0, -669, -669, 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, + -669, 295, -669, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, -669, 0, -669, -669, 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, -669, 0, 0, -669, -669, + 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, -669, 295, -669, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, -669, 0, 0, -669, 14, -669, 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, -669, 0, 0, -669, -669, 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, -669, 295, -669, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, -669, 0, 0, + -669, 14, 0, 15, 16, 17, 18, -669, 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, @@ -4125,11 +4094,64 @@ static const yytype_int16 yytable[] = 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, -655, 0, 0, - -655, -655, 295, 0, 4, 5, 6, 7, 8, 9, + 59, 0, 60, 61, 62, 0, 63, -669, 0, 0, + -669, -669, 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, -669, 295, + -669, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, -669, 0, 0, -669, 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, -669, 0, 0, -669, -669, 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, -669, 0, -669, 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, -669, 0, 0, -669, -669, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 65, 66, 0, 0, -669, 0, 0, 0, + 0, 0, 0, -669, 295, -669, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 0, -669, -669, 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, -669, 0, + 0, -669, -669, 295, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, + 0, 14, 0, 15, 16, 17, 18, 0, 0, -669, + 0, -669, 19, 20, 21, 22, 23, 24, 25, 0, + 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 50, 0, 0, 296, 52, 0, 53, + 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, -669, 0, 0, + -669, -669, 295, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, - 14, 0, 15, 16, 17, 18, 0, -655, -655, 0, - -655, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 14, 0, 15, 16, 17, 18, 0, -669, -669, 0, + -669, 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, @@ -4137,39 +4159,39 @@ 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, -655, 0, 0, -655, - -655, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, - -655, 0, 0, 0, 0, 0, 0, -655, 295, -655, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, -655, 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, 60, 61, 62, 0, 63, -669, 0, 0, -669, + -669, 295, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, + 0, 15, 16, 17, 18, 0, -669, -669, 0, -669, + 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, -669, 0, 0, -669, -669, 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, -655, 0, 0, -655, -655, 0, 0, 4, + 0, 0, 0, 0, 64, 65, 66, 0, 0, -669, + 0, 0, 0, 0, 0, 0, -669, 295, -669, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, - 18, 0, 0, -655, 0, -655, 19, 20, 21, 22, + 0, -669, 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, 28, 29, 30, 31, 32, 33, 34, 35, + 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 247, 0, 0, 248, 249, 0, 0, 4, 5, + 63, -669, 0, 0, -669, -669, 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, 250, 0, 251, 19, 20, 21, 22, 23, + 0, 0, -669, 0, -669, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, - 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, @@ -4177,24 +4199,77 @@ static const yytype_int16 yytable[] = 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 247, 0, 0, 248, 249, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, 0, 64, - 65, 66, 0, 14, 0, 108, 109, 17, 18, 0, - 0, 250, 0, 251, 110, 111, 112, 22, 23, 24, - 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 1037, 34, 35, 36, 37, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, + 65, 66, 0, 14, 0, 15, 16, 17, 18, 0, + 0, 250, 0, 251, 19, 20, 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, 211, 0, 0, 119, 52, - 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, -278, - 0, 0, -278, -278, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 265, - 66, 0, 0, 0, 0, -278, -278, 0, 0, 0, - -278, 0, -278, 4, 5, 6, 7, 8, 9, 10, - 11, 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, 50, 0, 0, 51, 52, + 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 247, + 0, 0, 248, 249, 0, 0, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 0, 0, 0, 64, 65, + 66, 0, 14, 0, 108, 109, 17, 18, 0, 0, + 250, 0, 251, 110, 111, 112, 22, 23, 24, 25, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 1047, 34, 35, 36, 37, 38, + 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, + 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, + 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, + 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, + 58, 59, 0, 60, 61, 62, 0, 63, -278, 0, + 0, -278, -278, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 265, 66, + 0, 0, 0, 0, -278, -278, 0, 0, 0, -278, + 0, -278, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 0, 0, 0, 0, 0, 0, 0, 14, 0, + 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, + 111, 112, 22, 1053, 24, 25, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 1054, 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, -638, 0, 0, -638, -638, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 265, 66, 0, 0, -470, 0, + 0, -638, 0, 0, 0, -638, 0, -638, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, + 0, 0, 0, 0, 14, 0, 108, 109, 17, 18, + 0, 0, 0, 0, 0, 110, 111, 112, 22, 851, + 852, 853, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 854, 34, 35, 36, + 855, 38, 0, 39, 40, 41, 0, 0, 856, 0, + 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 968, 0, 0, 119, + 52, 0, 858, 859, 0, 0, 0, 0, 0, 56, + 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, + -633, 0, 0, -633, -633, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 265, 66, 0, 0, -466, 0, 0, -466, 0, 0, + 0, -633, 0, -633, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, + 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, + 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, + 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, + 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, + 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, + 0, 60, 61, 62, 0, 63, 247, 0, 0, 248, + 249, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 64, 65, 66, 0, 14, + 0, 108, 109, 17, 18, 0, 0, 250, 0, 251, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, @@ -4204,9 +4279,9 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 247, 0, 0, 248, 249, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 0, 0, 0, 64, 65, 66, 0, 14, 0, - 108, 109, 17, 18, 0, 0, 250, 0, 251, 110, - 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, + 12, 0, 0, 0, 64, 265, 66, 0, 14, 0, + 15, 16, 17, 18, 0, 0, 250, 0, 251, 19, + 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, @@ -4215,122 +4290,110 @@ static const yytype_int16 yytable[] = 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 247, 0, 0, 248, 249, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 64, 265, 66, 0, 14, 0, 15, - 16, 17, 18, 0, 0, 250, 0, 251, 19, 20, - 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 247, 0, 0, 248, 249, 0, 0, + 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 251, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 0, 0, 0, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 0, 0, 0, 0, 0, + 165, 166, 167, 168, 169, 170, 171, 172, 35, 36, + 173, 38, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 116, 174, 175, 176, 177, 178, + 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, + 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 251, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 0, 0, 0, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 0, 0, 0, 0, 0, 165, - 166, 167, 168, 169, 170, 171, 172, 35, 36, 173, - 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 116, 174, 175, 176, 177, 178, 179, - 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, - 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 201, 202, 0, 0, 0, 0, 0, 0, 203, 204, + -640, -640, -640, -640, -640, -640, -640, -640, -640, 0, + 0, 0, 0, 0, 0, 0, -640, 0, -640, -640, + -640, -640, 0, -640, 0, 0, 0, -640, -640, -640, + -640, -640, -640, -640, 0, 0, -640, 0, 0, 0, + 0, 0, 0, 0, 0, -640, -640, -640, -640, -640, + -640, -640, -640, -640, 0, -640, -640, -640, 0, 0, + -640, 0, 0, -640, -640, 0, -640, -640, -640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 0, 0, 0, 0, 0, 0, 203, 204, -625, - -625, -625, -625, -625, -625, -625, -625, -625, 0, 0, - 0, 0, 0, 0, 0, -625, 0, -625, -625, -625, - -625, 0, -625, 0, 0, 0, -625, -625, -625, -625, - -625, -625, -625, 0, 0, -625, 0, 0, 0, 0, - 0, 0, 0, 0, -625, -625, -625, -625, -625, -625, - -625, -625, -625, 0, -625, -625, -625, 0, 0, -625, - 0, 0, -625, -625, 0, -625, -625, -625, 0, 0, + 0, -640, -640, 0, 0, 0, 0, 0, -640, 0, + 0, -640, -640, 0, -640, -640, 0, -640, 0, -640, + -640, -640, 0, -640, -640, -640, 0, -640, -640, -640, + 0, -640, 0, 0, 0, 0, 0, 0, -642, -642, + -642, -642, -642, -642, -642, -642, -642, 0, 0, 0, + 0, -640, -640, -640, -642, -640, -642, -642, -642, -642, + 0, -640, 0, 0, 0, -642, -642, -642, -642, -642, + -642, -642, 0, 0, -642, 0, 0, 0, 0, 0, + 0, 0, 0, -642, -642, -642, -642, -642, -642, -642, + -642, -642, 0, -642, -642, -642, 0, 0, -642, 0, + 0, -642, -642, 0, -642, -642, -642, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -642, + -642, 0, 0, 0, 0, 0, -642, 839, 0, -642, + -642, 0, -642, -642, 0, -642, 0, -642, -642, -642, + 0, -642, -642, -642, 0, -642, -642, -642, 0, -642, + 0, 0, 0, 0, 0, 0, -107, -643, -643, -643, + -643, -643, -643, -643, -643, -643, 0, 0, 0, -642, + -642, -642, 0, -643, 0, -643, -643, -643, -643, -642, + 0, 0, 0, 0, -643, -643, -643, -643, -643, -643, + -643, 0, 0, -643, 0, 0, 0, 0, 0, 0, + 0, 0, -643, -643, -643, -643, -643, -643, -643, -643, + -643, 0, -643, -643, -643, 0, 0, -643, 0, 0, + -643, -643, 0, -643, -643, -643, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -643, -643, + 0, 0, 0, 0, 0, -643, 840, 0, -643, -643, + 0, -643, -643, 0, -643, 0, -643, -643, -643, 0, + -643, -643, -643, 0, -643, -643, -643, 0, -643, 0, + 0, 0, 0, 0, 0, -109, -644, -644, -644, -644, + -644, -644, -644, -644, -644, 0, 0, 0, -643, -643, + -643, 0, -644, 0, -644, -644, -644, -644, -643, 0, + 0, 0, 0, -644, -644, -644, -644, -644, -644, -644, + 0, 0, -644, 0, 0, 0, 0, 0, 0, 0, + 0, -644, -644, -644, -644, -644, -644, -644, -644, -644, + 0, -644, -644, -644, 0, 0, -644, 0, 0, -644, + -644, 0, -644, -644, -644, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -644, -644, 0, + 0, 0, 0, 0, -644, 0, 0, -644, -644, 0, + -644, -644, 0, -644, 0, -644, -644, -644, 0, -644, + -644, -644, 0, -644, -644, -644, 0, -644, 0, 0, + 0, 0, 0, 0, -645, -645, -645, -645, -645, -645, + -645, -645, -645, 0, 0, 0, 0, -644, -644, -644, + -645, 0, -645, -645, -645, -645, 0, -644, 0, 0, + 0, -645, -645, -645, -645, -645, -645, -645, 0, 0, + -645, 0, 0, 0, 0, 0, 0, 0, 0, -645, + -645, -645, -645, -645, -645, -645, -645, -645, 0, -645, + -645, -645, 0, 0, -645, 0, 0, -645, -645, 0, + -645, -645, -645, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -645, -645, 0, 0, 0, + 0, 0, -645, 0, 0, -645, -645, 0, -645, -645, + 0, -645, 0, -645, -645, -645, 0, -645, -645, -645, + 0, -645, -645, -645, 0, -645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -625, -625, 0, 0, 0, 0, 0, -625, 0, 0, - -625, -625, 0, -625, -625, 0, -625, 0, -625, -625, - -625, 0, -625, -625, -625, 0, -625, -625, -625, 0, - -625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -625, -625, -625, 0, -625, 0, 0, 0, 0, 0, - -625, -626, -626, -626, -626, -626, -626, -626, -626, -626, - 0, 0, 0, 0, 0, 0, 0, -626, 0, -626, - -626, -626, -626, 0, -626, 0, 0, 0, -626, -626, - -626, -626, -626, -626, -626, 0, 0, -626, 0, 0, - 0, 0, 0, 0, 0, 0, -626, -626, -626, -626, - -626, -626, -626, -626, -626, 0, -626, -626, -626, 0, - 0, -626, 0, 0, -626, -626, 0, -626, -626, -626, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -626, -626, 0, 0, 0, 0, 0, -626, - 0, 0, -626, -626, 0, -626, -626, 0, -626, 0, - -626, -626, -626, 0, -626, -626, -626, 0, -626, -626, - -626, 0, -626, 0, 0, 0, 0, 0, 0, -628, - -628, -628, -628, -628, -628, -628, -628, -628, 0, 0, - 0, 0, -626, -626, -626, -628, -626, -628, -628, -628, - -628, 0, -626, 0, 0, 0, -628, -628, -628, -628, - -628, -628, -628, 0, 0, -628, 0, 0, 0, 0, - 0, 0, 0, 0, -628, -628, -628, -628, -628, -628, - -628, -628, -628, 0, -628, -628, -628, 0, 0, -628, - 0, 0, -628, -628, 0, -628, -628, -628, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -628, -628, 0, 0, 0, 0, 0, -628, 839, 0, - -628, -628, 0, -628, -628, 0, -628, 0, -628, -628, - -628, 0, -628, -628, -628, 0, -628, -628, -628, 0, - -628, 0, 0, 0, 0, 0, 0, -107, -629, -629, - -629, -629, -629, -629, -629, -629, -629, 0, 0, 0, - -628, -628, -628, 0, -629, 0, -629, -629, -629, -629, - -628, 0, 0, 0, 0, -629, -629, -629, -629, -629, - -629, -629, 0, 0, -629, 0, 0, 0, 0, 0, - 0, 0, 0, -629, -629, -629, -629, -629, -629, -629, - -629, -629, 0, -629, -629, -629, 0, 0, -629, 0, - 0, -629, -629, 0, -629, -629, -629, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -629, - -629, 0, 0, 0, 0, 0, -629, 840, 0, -629, - -629, 0, -629, -629, 0, -629, 0, -629, -629, -629, - 0, -629, -629, -629, 0, -629, -629, -629, 0, -629, - 0, 0, 0, 0, 0, 0, -109, -630, -630, -630, - -630, -630, -630, -630, -630, -630, 0, 0, 0, -629, - -629, -629, 0, -630, 0, -630, -630, -630, -630, -629, - 0, 0, 0, 0, -630, -630, -630, -630, -630, -630, - -630, 0, 0, -630, 0, 0, 0, 0, 0, 0, - 0, 0, -630, -630, -630, -630, -630, -630, -630, -630, - -630, 0, -630, -630, -630, 0, 0, -630, 0, 0, - -630, -630, 0, -630, -630, -630, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -630, -630, - 0, 0, 0, 0, 0, -630, 0, 0, -630, -630, - 0, -630, -630, 0, -630, 0, -630, -630, -630, 0, - -630, -630, -630, 0, -630, -630, -630, 0, -630, 0, - 0, 0, 0, 0, 0, -631, -631, -631, -631, -631, - -631, -631, -631, -631, 0, 0, 0, 0, -630, -630, - -630, -631, 0, -631, -631, -631, -631, 0, -630, 0, - 0, 0, -631, -631, -631, -631, -631, -631, -631, 0, - 0, -631, 0, 0, 0, 0, 0, 0, 0, 0, - -631, -631, -631, -631, -631, -631, -631, -631, -631, 0, - -631, -631, -631, 0, 0, -631, 0, 0, -631, -631, - 0, -631, -631, -631, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -631, -631, 0, 0, - 0, 0, 0, -631, 0, 0, -631, -631, 0, -631, - -631, 0, -631, 0, -631, -631, -631, 0, -631, -631, - -631, 0, -631, -631, -631, 0, -631, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -631, -631, -631, 0, - 0, 0, 0, 0, 0, 0, -631, 131, 132, 133, + 0, 0, 0, 0, 0, -645, -645, -645, 0, 0, + 0, 0, 0, 0, 0, -645, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 0, 0, 0, 155, 156, 157, 233, 234, 235, 236, + 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, + 167, 237, 238, 239, 240, 172, 320, 321, 241, 322, + 0, 0, 0, 0, 0, 0, 323, 0, 0, 0, + 0, 0, 324, 174, 175, 176, 177, 178, 179, 180, + 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, + 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 0, 0, 0, 0, 0, 0, 203, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 233, 234, 235, 236, 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, 237, 238, 239, 240, 172, 320, 321, 241, 322, 0, 0, 0, 0, 0, 0, 323, 0, 0, - 0, 0, 0, 324, 174, 175, 176, 177, 178, 179, + 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, 325, 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, @@ -4338,13 +4401,13 @@ static const yytype_int16 yytable[] = 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 233, 234, 235, 236, 162, 163, 164, 0, 0, 0, 0, 0, - 165, 166, 167, 237, 238, 239, 240, 172, 320, 321, - 241, 322, 0, 0, 0, 0, 0, 0, 323, 0, + 165, 166, 167, 237, 238, 239, 240, 172, 0, 0, + 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, + 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, 131, @@ -4358,93 +4421,103 @@ static const yytype_int16 yytable[] = 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, - 233, 234, 235, 236, 162, 163, 164, 0, 0, 0, - 0, 0, 165, 166, 167, 237, 238, 239, 240, 172, - 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, + 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, + 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, + 22, 851, 852, 853, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 967, 34, + 35, 36, 855, 38, 0, 39, 40, 41, 0, 0, + 856, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, - 203, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 0, 0, 0, 14, 0, 108, + 0, 48, 49, 0, 0, 0, 0, 0, 968, 0, + 0, 119, 52, 0, 858, 859, 0, 969, 0, 263, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 64, 265, 66, 0, 0, 0, 14, 970, 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, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 976, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, + 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, + 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, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, - 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, - 612, 0, 110, 111, 112, 22, 851, 852, 853, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 965, 34, 35, 36, 855, 38, 0, - 39, 40, 41, 0, 0, 856, 0, 0, 43, 44, - 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 966, 0, 0, 119, 52, 0, 858, - 54, 0, 967, 0, 263, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, + 977, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 0, 0, 0, 0, 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 0, 0, 64, 265, 66, 0, 14, 978, 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, 13, 64, 265, 66, 0, - 0, 0, 14, 968, 15, 16, 17, 18, 0, 0, + 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, 26, 0, 0, 0, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, + 44, 0, 261, 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, + 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, + 53, 54, 0, 262, 0, 263, 264, 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, + 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, - 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 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, + 261, 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, 262, 0, 263, 264, 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, + 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, + 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, + 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 262, + 211, 0, 0, 119, 52, 0, 53, 54, 0, 725, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 265, 66, 14, 0, 15, 16, - 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, + 0, 0, 0, 64, 265, 66, 14, 0, 108, 109, + 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 509, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 262, 0, 263, + 0, 48, 875, 0, 0, 0, 0, 0, 211, 0, + 0, 119, 52, 0, 53, 54, 0, 725, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, @@ -4456,7 +4529,7 @@ static const yytype_int16 yytable[] = 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 725, 0, 263, 264, 56, + 52, 0, 53, 54, 0, 262, 0, 263, 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, @@ -4466,9 +4539,9 @@ static const yytype_int16 yytable[] = 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 873, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 725, 0, 263, 264, 56, 0, 57, + 53, 54, 0, 0, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, @@ -4480,7 +4553,7 @@ static const yytype_int16 yytable[] = 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 262, 0, 263, 0, 56, 0, 57, 58, 59, + 0, 725, 0, 263, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, @@ -4492,35 +4565,35 @@ static const yytype_int16 yytable[] = 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, - 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, + 0, 263, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 265, 66, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, + 0, 0, 0, 64, 265, 66, 14, 0, 15, 16, + 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 260, 34, + 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, 261, 46, 47, 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, 725, 0, 263, + 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, 265, 66, 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 31, 32, 260, 34, 35, 36, + 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, + 0, 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, 263, 0, 56, + 52, 0, 53, 54, 0, 262, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, - 265, 66, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, + 265, 66, 14, 0, 108, 109, 17, 18, 0, 0, + 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, @@ -4539,7 +4612,7 @@ static const yytype_int16 yytable[] = 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 262, 0, 0, 0, 56, 0, 57, 58, 59, + 0, 921, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, @@ -4550,23 +4623,23 @@ static const yytype_int16 yytable[] = 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, + 211, 0, 0, 119, 52, 0, 53, 54, 0, 725, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 265, 66, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, - 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 64, 265, 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, 919, 0, 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, 265, 66, 14, 0, 108, 109, 17, 18, + 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, @@ -4574,171 +4647,142 @@ static const yytype_int16 yytable[] = 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 725, 0, 0, 0, 56, + 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, 265, 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, 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, 39, 40, 41, 0, 0, 42, 0, -471, 43, + 44, 0, 45, 46, 47, 0, 0, 0, -639, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, + 0, 0, -471, -471, 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, 265, 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, -442, 43, 44, 0, 45, 46, - 47, 0, 0, 0, -626, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, -442, -442, - 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, - -520, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, -520, 0, 64, 265, 66, -520, -520, -520, 0, - -520, -442, 0, 0, 0, 0, 0, 0, 0, -520, - 0, 0, 0, -520, 0, 0, 0, 0, -438, 0, - 0, 0, 0, -442, 0, 0, -442, -442, 0, -520, - -520, 0, -520, -520, -442, -520, -520, -520, -520, -520, - -520, -520, -438, -438, 0, 0, -626, 0, -520, -442, - -442, 0, -626, 0, -442, -520, -442, 0, 0, -474, - 0, 0, -474, 0, 0, -474, 0, 0, 0, 0, - 0, 0, 0, 0, -474, -474, -474, -474, -474, -474, - -474, -474, -474, -474, -474, -474, 0, 0, 0, 0, - -474, -474, -474, 0, 0, -438, 0, 0, -440, 0, - 0, 0, 0, -474, 0, 0, 0, -474, 0, -474, - 0, 0, 0, 0, 0, 0, 0, -438, 0, 0, - -438, -438, -440, -440, -474, 0, -474, -474, -438, -474, - -474, -474, -474, -474, -474, -474, 0, 0, 0, 0, - 0, 0, -474, -438, -438, 0, 0, 0, -438, -474, - -438, 0, 0, 0, -527, -527, -527, -527, -527, -527, - -527, -527, -527, -527, -527, -527, 0, 0, 0, 0, - -527, -527, -527, 0, 0, -440, 0, 0, -441, 0, - 0, 0, 0, -527, 0, 0, 0, -527, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -440, 0, 0, - -440, -440, -441, -441, -527, 0, -527, -527, -440, -527, - -527, -527, -527, -527, -527, -527, 0, 0, 0, 0, - 0, 0, -527, -440, -440, 0, 0, 0, -440, -527, - -440, 0, 0, 0, -528, -528, -528, -528, -528, -528, - -528, -528, -528, -528, -528, -528, 0, 0, 0, 0, - -528, -528, -528, 0, 0, -441, 0, 0, -437, 0, - 0, 0, 0, -528, 0, 0, 0, -528, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, - -441, -441, -437, -437, -528, 0, -528, -528, -441, -528, - -528, -528, -528, -528, -528, -528, 0, 0, 0, 0, - 0, 0, -528, -441, -441, 0, 0, 0, -441, -528, - -441, 0, 0, 0, -468, -468, -468, -468, -468, -468, - -468, -468, -468, -468, -468, -468, 0, 0, 0, 0, - -468, -468, -468, 0, 0, -437, 0, 0, -436, 0, - 0, 0, 0, -468, 0, 0, 0, -468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -437, 0, 0, - -437, -437, -436, -436, -468, 0, -468, -468, -437, -468, - -468, -468, -468, -468, -468, -468, 0, 0, 0, 0, - 0, 0, -468, -437, -437, 0, 0, 0, -437, -468, - -437, 0, 0, 0, -467, -467, -467, -467, -467, -467, - -467, -467, -467, -467, -467, -467, 0, 0, 0, 0, - -467, -467, -467, 0, 0, -436, 0, 0, 0, 0, - 0, 0, 0, -467, 0, 0, 0, -467, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -436, 0, 0, - -436, -436, 0, 0, -467, 0, -467, -467, -436, -467, - -467, -467, -467, -467, -467, -467, 0, 0, 0, 0, - 0, 0, -467, -436, -436, 0, 0, 0, -436, -467, - -436, 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, 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, -530, -530, -530, -530, -530, -530, + -530, -530, -530, -530, -530, -530, 0, 64, 265, 66, + -530, -530, -530, 0, -530, -471, 0, 0, 0, 0, + 0, 0, 0, -530, 0, 0, 0, -530, 0, 0, + 0, 0, -442, 0, 0, 0, 0, -471, 0, 0, + -471, -471, -640, -530, -530, 0, -530, -530, -471, -530, + -530, -530, -530, -530, -530, -530, -442, -442, 0, 0, + -639, -471, -530, -471, -471, 0, -639, 0, -471, -530, + -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -534, -534, + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + 0, 0, 0, 0, -534, -534, -534, 0, -534, -442, + 0, 0, 0, 0, 0, 0, 0, -534, 0, 0, + 0, -534, 0, 0, 0, 0, -438, 0, 0, 0, + 0, -442, 0, 0, -442, -442, 0, -534, -534, 0, + -534, -534, -442, -534, -534, -534, -534, -534, -534, -534, + -438, -438, 0, 0, -640, -442, -534, -442, -442, 0, + -640, 0, -442, -534, -442, 0, 0, -488, 0, 0, + -488, 0, 0, -488, 0, 0, 0, 0, 0, 0, + 0, 0, -488, -488, -488, -488, -488, -488, -488, -488, + -488, -488, -488, -488, 0, 0, 0, 0, -488, -488, + -488, 0, 0, -438, 0, 0, -439, 0, 0, 0, + 0, -488, 0, 0, 0, -488, 0, -488, 0, 0, + 0, 0, 0, 0, 0, -438, 0, 0, -438, -438, + -439, -439, -488, 0, -488, -488, -438, -488, -488, -488, + -488, -488, -488, -488, 0, 0, 0, 0, 0, -438, + -488, -438, -438, 0, 0, 0, -438, -488, -438, 0, + 0, 0, -539, -539, -539, -539, -539, -539, -539, -539, + -539, -539, -539, -539, 0, 0, 0, 0, -539, -539, + -539, 0, 0, -439, 0, 0, -440, 0, 0, 0, + 0, -539, 0, 0, 0, -539, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -439, 0, 0, -439, -439, + -440, -440, -539, 0, -539, -539, -439, -539, -539, -539, + -539, -539, -539, -539, 0, 0, 0, 0, 0, -439, + -539, -439, -439, 0, 0, 0, -439, -539, -439, 0, + 0, 0, -541, -541, -541, -541, -541, -541, -541, -541, + -541, -541, -541, -541, 0, 0, 0, 0, -541, -541, + -541, 0, 0, -440, 0, 0, -441, 0, 0, 0, + 0, -541, 0, 0, 0, -541, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -440, 0, 0, -440, -440, + -441, -441, -541, 0, -541, -541, -440, -541, -541, -541, + -541, -541, -541, -541, 0, 0, 0, 0, 0, -440, + -541, -440, -440, 0, 0, 0, -440, -541, -440, 0, + 0, 0, -542, -542, -542, -542, -542, -542, -542, -542, + -542, -542, -542, -542, 0, 0, 0, 0, -542, -542, + -542, 0, 0, -441, 0, 0, -437, 0, 0, 0, + 0, -542, 0, 0, 0, -542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -441, 0, 0, -441, -441, + -437, -437, -542, 0, -542, -542, -441, -542, -542, -542, + -542, -542, -542, -542, 0, 0, 0, 0, 0, -441, + -542, -441, -441, 0, 0, 0, -441, -542, -441, 0, + 0, 0, -482, -482, -482, -482, -482, -482, -482, -482, + -482, -482, -482, -482, 0, 0, 0, 0, -482, -482, + -482, 0, 0, -437, 0, 0, -436, 0, 0, 0, + 0, -482, 0, 0, 0, -482, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -437, 0, 0, -437, -437, + -436, -436, -482, 0, -482, -482, -437, -482, -482, -482, + -482, -482, -482, -482, 0, 0, 0, 0, 0, -437, + -482, -437, -437, 0, 0, 0, -437, -482, -437, 0, + 0, 0, -481, -481, -481, -481, -481, -481, -481, -481, + -481, -481, -481, -481, 0, 0, 0, 0, -481, -481, + -481, 0, 0, -436, 0, 0, 0, 0, 0, 0, + 0, -481, 0, 0, 0, -481, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -436, 0, 0, -436, -436, + 0, 0, -481, 0, -481, -481, -436, -481, -481, -481, + -481, -481, -481, -481, 0, 0, 0, 0, 0, -436, + -481, -436, -436, 0, 0, 0, -436, -481, -436, 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, 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, 117, 0, 0, 118, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, + 0, 0, 0, 0, 117, 0, 0, 118, 0, 0, + 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, + 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 225, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 0, 51, 52, 0, 53, 54, 0, + 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, + 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, + 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, + 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 313, 0, 0, 400, 52, + 0, 53, 54, 0, 401, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, + 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, + 112, 22, 851, 852, 853, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 854, + 34, 35, 36, 855, 38, 0, 39, 40, 41, 0, + 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, + 0, 0, 119, 52, 0, 858, 859, 0, 1108, 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, + 30, 31, 32, 114, 34, 35, 36, 115, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 0, 51, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, - 400, 52, 0, 53, 54, 0, 401, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, - 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, - 110, 111, 112, 22, 851, 852, 853, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 854, 34, 35, 36, 855, 38, 0, 39, 40, - 41, 0, 0, 856, 0, 0, 43, 44, 0, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 857, 0, 0, 119, 52, 0, 858, 54, 0, - 1092, 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, 313, - 0, 0, 400, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, - 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, - 0, 0, 110, 111, 112, 22, 851, 852, 853, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 854, 34, 35, 36, 855, 38, 0, - 39, 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 857, 0, 0, 119, 52, 0, 858, + 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, @@ -4749,912 +4793,860 @@ static const yytype_int16 yytable[] = 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, 1002, 0, 0, - 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, + 400, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, - 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 110, 111, 112, 22, 851, 852, 853, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 225, - 0, 0, 0, 0, -625, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1025, 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, - -516, -516, -516, -516, -516, -516, -516, -516, -516, -516, - -516, -516, 0, 0, 120, 0, -516, -516, -516, 0, - -516, -457, 0, 0, 0, 0, 0, 0, 0, -516, - 0, -625, 0, -516, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -516, 0, 0, -516, -516, 0, -516, - -516, 0, -516, -516, -457, -516, -516, -516, -516, -516, - -516, -516, 0, 0, 0, 0, -625, 0, -516, -457, - -457, 0, -625, 0, -516, -516, -516, -516, -516, -516, - -516, -516, -516, -516, -516, -516, -516, -516, -516, 0, - 0, 0, 0, -516, -516, -516, 0, -516, 0, 0, - 0, 0, 0, 0, 0, 0, -516, 0, 0, 0, - -516, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -516, 0, 0, -516, -516, 0, -516, -516, 0, -516, - -516, -516, -516, -516, -516, -516, -516, -516, -516, 0, - 681, 652, 0, -625, 682, -516, -455, -455, 0, -625, - 0, -516, -516, -516, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 201, 202, 666, 661, 0, 0, - 667, 0, 203, 276, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 698, 652, 0, 0, 699, 0, 203, 276, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, - 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 0, 201, 202, 701, 661, - 0, 0, 702, 0, 203, 276, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 32, 854, 34, 35, 36, 855, 38, 0, 39, 40, + 41, 0, 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 201, 202, 708, 652, 0, 0, 709, 0, - 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 857, 0, 0, 119, 52, 0, 858, 859, 0, + 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 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, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 711, 661, 0, 0, 712, 0, 203, 276, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1012, 0, 0, 119, 52, + 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, + 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, + 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 225, 0, 0, + 0, 0, -639, 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, 496, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 0, 0, 0, -530, -530, + -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, + 0, 0, 120, 0, -530, -530, -530, 0, -530, -471, + 0, 0, 0, 0, 0, 0, 0, -530, 0, -639, + 0, -530, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -530, 0, 0, -530, -530, 0, -530, -530, 0, + -530, -530, -471, -530, -530, -530, -530, -530, -530, -530, + 0, 0, 0, 0, -639, 0, -530, -471, -471, 0, + -639, 0, -530, -530, -530, -530, -530, -530, -530, -530, + -530, -530, -530, -530, -530, -530, -530, 0, 0, 0, + 0, -530, -530, -530, 0, -530, 0, 0, 0, 0, + 0, 0, 0, 0, -530, 0, -639, 0, -530, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -530, 0, + 0, -530, -530, 0, -530, -530, 0, -530, -530, -530, + -530, -530, -530, -530, -530, -530, -530, 0, 0, 0, + 0, -639, 0, -530, -456, -456, 0, -639, 0, -530, + -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, + -530, -530, -530, -530, 0, 0, 0, 0, -530, -530, + -530, 0, -530, 0, 0, 0, 0, 0, 0, 0, + 0, -530, 0, 0, 0, -530, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -530, 0, 0, -530, -530, + 0, -530, -530, 0, -530, -530, -530, -530, -530, -530, + -530, -530, -530, -530, 0, 0, 0, 0, -639, -468, + -530, 0, -530, 0, -639, 0, -530, -530, -530, 701, + 661, 0, 0, 702, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 201, 202, 748, 652, 0, 0, - 749, 0, 203, 276, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 708, 652, 0, 0, 709, + 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 751, 661, 0, 0, 752, 0, 203, 276, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 711, 661, 0, 0, 712, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 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, - 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 0, 201, 202, 924, 652, - 0, 0, 925, 0, 203, 276, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 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, 748, 652, 0, + 0, 749, 0, 203, 276, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 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, 927, 661, 0, 0, 928, 0, - 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 751, 661, 0, 0, 752, 0, 203, + 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 1042, 652, 0, 0, 1043, 0, 203, 276, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 926, + 652, 0, 0, 927, 0, 203, 276, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 201, 202, 698, 652, 0, 0, - 1091, 0, 203, 276, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 929, 661, 0, 0, 930, + 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 1042, 652, 0, 0, 1107, 0, 203, 276, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 1058, 652, 0, 0, 1059, 0, 203, 276, 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, + 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, - 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 0, 201, 202, 1118, 652, - 0, 0, 1119, 0, 203, 276, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 698, 652, 0, + 0, 1107, 0, 203, 276, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 201, 202, 1121, 661, 0, 0, 1122, 0, - 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 1058, 652, 0, 0, 1130, 0, 203, + 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 666, 661, 0, 0, 667, 0, 203, 276, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 1141, + 652, 0, 0, 1142, 0, 203, 276, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, - 0, 0, 203, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, 0, 0, 0, 0, -302, - -302, -302, 0, 840, -302, 0, 0, 0, 0, 0, - 0, 0, -302, 0, 0, 0, -302, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -302, 0, 0, -302, - -302, 0, -109, -302, 0, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, 0, 0, 0, 0, 0, - 0, -302, -302, -302, 0, -629, 0, -302, -302, -302, - -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, 0, 0, 0, 0, -303, -303, -303, 0, - 526, -303, 0, 0, 0, 0, 0, 0, 0, -303, - 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -303, 0, 0, -303, -303, 0, -110, - -303, 0, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, 0, 0, 0, 0, 0, 0, -303, -303, - -303, 0, 0, 0, -303, -303, -303, 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, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 1144, 661, 0, 0, 1145, + 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, - 0, 0, 0, 0, 0, 0, 0, -277, 404, 405, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 666, 661, 0, 0, 667, 0, 203, 276, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 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, -302, -302, -302, -302, -302, -302, + -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, + -302, -302, -302, 0, 840, -302, 0, 0, 0, 0, + 0, 0, 0, -302, 0, 0, 0, -302, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, + -302, -302, 0, -109, -302, 0, -302, -302, -302, -302, + -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, + 0, -302, -302, -302, -302, 0, -643, 0, -302, -302, + -302, -303, -303, -303, -303, -303, -303, -303, -303, -303, + -303, -303, -303, 0, 0, 0, 0, -303, -303, -303, + 0, 526, -303, 0, 0, 0, 0, 0, 0, 0, + -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -303, 0, 0, -303, -303, 0, + -110, -303, 0, -303, -303, -303, -303, -303, -303, -303, + -303, -303, -303, 0, 0, 0, 0, 0, -303, -303, + -303, -303, 0, 0, 0, -303, -303, -303, -539, -539, + -539, -539, -539, -539, -539, -539, -539, -539, -539, -539, + 0, 0, 0, 0, -539, -539, -539, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -539, 0, 0, + 0, -539, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -539, 0, 0, -539, -539, 0, 0, -539, 0, + -539, -539, -539, -539, -539, -539, -539, -539, -539, -539, + 0, 0, 0, 0, 0, -469, -539, 0, -539, 0, + 0, 0, -539, -539, -539, -482, -482, -482, -482, -482, + -482, -482, -482, -482, -482, -482, -482, 0, 0, 0, + 0, -482, -482, -482, 0, 0, 1057, 0, 0, 0, + 0, 0, 0, 0, -482, 0, 0, 0, -482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -482, 0, -482, -482, -482, + -482, -482, -482, -482, -482, -482, -482, 0, 0, 0, + 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, + -482, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 0, 0, 0, 0, 0, 0, 0, + 0, -279, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, + 0, 0, -280, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, + 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, + 0, 0, 0, -282, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, + 416, 417, 0, 0, 0, 418, 0, 0, 0, 0, + 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, + 0, 0, 416, 417, 0, 0, 0, 501, 0, 0, + 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 0, -279, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, - 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 0, 0, 0, 0, 0, 0, 0, 0, -280, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, + -670, -670, 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, + -670, -670, -670, -670, 408, 409, 0, 0, -670, -670, + 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, 0, 0, 0, 0, 0, 0, 0, 0, - 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, - -282, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, - 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, - 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, - 417, 0, 0, 0, 501, 0, 0, 0, 0, 0, - 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, - 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, -656, -656, 0, - 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430 + 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, 26, 55, 15, 16, 81, 285, 19, 14, 8, - 9, 88, 27, 490, 272, 14, 222, 9, 3, 20, - 15, 16, 14, 6, 19, 13, 481, 6, 21, 314, - 13, 597, 1, 118, 3, 51, 319, 379, 431, 27, - 68, 594, 435, 74, 27, 438, 763, 86, 87, 716, - 307, 547, 53, 54, 311, 433, 692, 25, 53, 138, - 696, 332, 68, 1010, 669, 670, 459, 703, 26, 4, - 5, 74, 73, 74, 57, 15, 16, 12, 57, 19, - 458, 474, 985, 476, 20, 21, 791, 1, 371, 3, - 4, 5, 485, 25, 8, 9, 26, 475, 12, 504, - 14, 15, 16, 508, 508, 19, 484, 403, 27, 25, - 111, 104, 79, 53, 54, 594, 612, 296, 117, 122, - 55, 59, 60, 61, 62, 25, 0, 26, 57, 55, - 443, 444, 525, 1041, 29, 539, 25, 51, 90, 25, - 333, 55, 374, 336, 25, 338, 81, 340, 25, 342, - 594, 65, 93, 597, 15, 16, 103, 550, 19, 126, - 810, 115, 1109, 395, 118, 119, 816, 81, 104, 57, - 18, 549, 144, 90, 142, 111, 112, 25, 90, 218, - 138, 128, 213, 214, 28, 126, 144, 270, 105, 272, - 229, 90, 121, 129, 148, 147, 115, 300, 1101, 118, - 119, 304, 755, 117, 92, 119, 105, 92, 138, 403, - 142, 214, 213, 214, 16, 768, 821, 90, 113, 1127, - 121, 400, 51, 306, 223, 224, 142, 146, 460, 148, - 147, 223, 224, 121, 388, 147, 390, 142, 314, 138, - 90, 140, 142, 90, 144, 144, 252, 90, 147, 443, - 444, 290, 18, 142, 20, 513, 142, 90, 144, 242, - 65, 142, 547, 242, 276, 142, 90, 279, 551, 270, - 298, 272, 105, 990, 147, 276, 755, 316, 306, 307, - 296, 276, 121, 311, 279, 284, 285, 558, 144, 768, - 119, 92, 298, 90, 15, 16, 210, 147, 19, 125, - 147, 20, 1007, 799, 147, 1010, 25, 140, 105, 223, - 224, 755, 55, 115, 147, 121, 118, 119, 90, 60, - 121, 51, 63, 147, 768, 55, 295, 612, 894, 734, - 735, 735, 53, 54, 303, 26, 142, 90, 92, 279, - 142, 90, 121, 140, 146, 981, 148, 791, 401, 25, - 147, 350, 351, 352, 353, 92, 355, 356, 350, 351, - 352, 353, 276, 556, 349, 279, 107, 121, 92, 90, - 284, 285, 457, 1040, 288, 147, 377, 90, 379, 314, - 349, 295, 296, 55, 400, 354, 92, 325, 142, 303, - 1129, 1130, 105, 848, 147, 691, 142, 121, 147, 90, - 314, 90, 20, 398, 1109, 57, 509, 812, 403, 888, - 803, 142, 805, 516, 105, 121, 105, 1156, 279, 898, - 138, 433, 101, 1162, 1163, 528, 804, 140, 145, 512, - 513, 1098, 433, 775, 147, 349, 350, 351, 352, 353, - 354, 355, 356, 121, 92, 724, 458, 138, 680, 140, - 894, 140, 435, 1089, 141, 438, 147, 458, 147, 288, - 374, 1128, 461, 475, 139, 466, 401, 296, 92, 545, - 728, 547, 484, 121, 475, 90, 459, 502, 581, 582, - 716, 395, 55, 484, 398, 101, 400, 401, 745, 403, - 105, 92, 142, 476, 807, 90, 101, 121, 493, 435, - 813, 814, 485, 101, 981, 511, 521, 57, 611, 121, - 105, 512, 513, 719, 799, 131, 132, 133, 142, 433, - 121, 522, 92, 459, 90, 140, 609, 806, 1007, 443, - 444, 142, 147, 521, 716, 121, 612, 549, 521, 105, - 476, 142, 525, 51, 458, 140, 460, 461, 549, 485, - 142, 121, 147, 522, 142, 276, 51, 471, 279, 92, - 792, 475, 531, 1007, 504, 479, 1010, 550, 910, 911, - 484, 400, 584, 92, 140, 489, 659, 92, 983, 983, - 142, 147, 92, 622, 142, 688, 121, 819, 121, 525, - 90, 603, 51, 398, 142, 26, 536, 62, 403, 64, - 65, 880, 121, 51, 605, 105, 121, 801, 522, 142, - 545, 121, 547, 807, 550, 640, 874, 531, 99, 813, - 814, 15, 858, 936, 1103, 13, 780, 781, 782, 121, - 784, 545, 786, 547, 1113, 549, 719, 92, 443, 444, - 140, 744, 471, 557, 144, 728, 121, 147, 16, 881, - 479, 116, 117, 63, 860, 73, 74, 92, 659, 90, - 489, 764, 145, 656, 665, 1109, 121, 668, 669, 670, - 584, 92, 665, 15, 105, 668, 858, 612, 58, 59, - 679, 62, 319, 64, 65, 686, 121, 679, 145, 603, - 691, 692, 37, 38, 1087, 696, 691, 139, 612, 714, - 121, 142, 703, 121, 122, 142, 689, 138, 1086, 140, - 689, 15, 433, 144, 713, 947, 147, 745, 58, 59, - 656, 713, 142, 799, 17, 18, 714, 728, 557, 665, - 1072, 714, 668, 15, 371, 116, 117, 458, 92, 92, - 817, 142, 936, 979, 44, 951, 121, 16, 684, 141, - 686, 957, 665, 26, 475, 668, 141, 51, 15, 53, - 54, 55, 56, 484, 90, 679, 680, 121, 121, 90, - 873, 40, 41, 686, 775, 69, 906, 907, 18, 105, - 141, 716, 141, 504, 105, 15, 889, 508, 142, 142, - 139, 874, 804, 139, 734, 213, 214, 979, 141, 713, - 139, 142, 716, 804, 1040, 1041, 51, 44, 53, 54, - 55, 56, 121, 122, 140, 536, 587, 90, 539, 140, - 821, 147, 805, 1102, 69, 57, 147, 142, 549, 142, - 831, 800, 105, 834, 142, 142, 44, 836, 1044, 1045, - 994, 995, 996, 997, 836, 15, 115, 93, 142, 118, - 119, 14, 55, 15, 443, 444, 15, 858, 1040, 1041, - 145, 142, 1098, 858, 799, 138, 142, 140, 142, 805, - 142, 144, 812, 874, 147, 142, 15, 146, 792, 148, - 141, 15, 15, 90, 139, 799, 800, 801, 477, 478, - 804, 1127, 1128, 807, 808, 15, 57, 142, 105, 813, - 814, 319, 55, 141, 115, 819, 820, 118, 119, 910, - 911, 142, 15, 142, 551, 51, 1098, 139, 858, 833, - 126, 1, 836, 3, 16, 1131, 142, 126, 8, 9, - 969, 845, 846, 140, 14, 15, 16, 526, 115, 19, - 147, 118, 119, 580, 858, 1127, 1128, 16, 1154, 1155, - 90, 55, 1106, 371, 115, 139, 870, 118, 119, 15, - 597, 55, 123, 600, 144, 105, 142, 881, 882, 142, - 16, 51, 15, 908, 90, 142, 975, 976, 913, 51, - 981, 15, 142, 975, 976, 65, 142, 148, 1027, 105, - 142, 820, 142, 587, 908, 142, 801, 591, 142, 913, - 140, 144, 807, 808, 833, 142, 141, 147, 813, 814, - 16, 15, 15, 734, 735, 950, 845, 846, 522, 12, - 791, 5, 936, 115, 140, 1089, 118, 119, 1053, 791, - 51, 147, 946, 947, 40, 41, 950, 117, 1101, 119, - 954, 870, 818, 1040, 979, 1046, 115, 1088, 69, 118, - 119, 90, 979, 882, 146, 26, 148, 37, 38, 254, - 6, 975, 976, 977, 791, 979, 105, 587, 1007, 115, - 1004, 1072, 118, 119, 1086, -1, -1, 146, -1, 148, - 101, 102, 103, 804, -1, 1086, -1, 1088, 1089, -1, - -1, 812, 215, 51, -1, 53, 54, 55, 56, 222, - 146, 140, 148, -1, 1087, 1040, 1041, 128, 147, 115, - -1, 69, 118, 119, -1, -1, 1030, 946, 1032, 90, - -1, 1035, -1, -1, -1, 954, 1040, 1041, 1129, 1130, - 210, 936, -1, 551, 105, 115, 259, 858, 118, 119, - 146, 90, 148, 223, 224, 1144, 1145, -1, 977, 101, - 90, 1087, 1144, 1145, 791, 1156, 105, -1, -1, -1, - 90, 1162, 1163, 1098, -1, 105, 146, 138, 148, 140, - -1, -1, 1086, 144, -1, 105, 147, 129, 130, 131, - 132, 133, 1096, 1097, 1098, 26, 40, 41, 42, 43, - 44, 140, 1127, 1128, -1, -1, 276, 791, 147, 279, - 140, 1030, -1, 1032, 284, 285, 1035, 147, 288, -1, - 140, -1, -1, 1127, 1128, 295, 296, 147, 807, 808, - -1, -1, -1, 303, 813, 814, 349, -1, -1, -1, - 1144, 1145, 1146, 1004, -1, -1, 1007, -1, -1, 1010, - 363, 1012, -1, -1, 1158, 1159, -1, -1, -1, 90, - 839, 840, 61, 842, 843, 64, 65, 894, 381, 896, - -1, -1, 983, 900, 105, -1, -1, 1096, 1097, 349, - 350, 351, 352, 353, 354, 355, 356, 1004, 61, -1, - 1007, 64, 65, 1010, -1, 1012, -1, -1, -1, 1, - -1, 3, 4, 5, 374, -1, -1, 138, -1, 140, - 12, -1, 1073, 144, -1, -1, 147, 116, 117, -1, - -1, -1, -1, -1, -1, 395, -1, 1146, 398, -1, - 400, -1, -1, 403, -1, 915, 916, -1, 115, 1158, - 1159, 118, 119, 116, 117, -1, -1, -1, 1109, 51, - 1111, -1, 1113, 55, 1115, -1, 1073, 936, 63, 64, - 65, 988, 989, 433, -1, 142, -1, 480, 481, 146, - -1, 148, -1, 443, 444, 1086, 63, 64, 65, 81, - 959, -1, -1, 1010, -1, 1012, -1, 1148, 458, -1, - 460, 461, 1109, -1, 1111, -1, 1113, -1, 1115, -1, - -1, 471, 63, 64, 65, 475, -1, -1, -1, 479, - -1, 116, 117, -1, 484, -1, -1, 119, 531, 489, - 1004, -1, -1, 1007, -1, 538, 1010, 1007, 1012, 116, - 117, 1148, -1, 1060, -1, 115, 1063, -1, 118, 119, - -1, -1, 51, -1, 53, 54, 55, 56, -1, -1, - 115, -1, 522, 118, 119, 116, 117, 63, 64, 65, - 69, 531, 63, 64, 65, 145, 146, -1, 148, -1, - 63, 64, 65, -1, 83, -1, -1, -1, 1105, 549, - -1, 146, 1109, 148, 1111, 94, -1, 557, 1115, 1073, - -1, 100, 101, 102, 103, -1, 1076, 1077, 1078, -1, - 1080, 1081, 51, -1, 53, 54, 55, 56, 210, -1, - 116, 117, 121, -1, 584, 116, 117, -1, -1, 128, - 69, 1148, 131, 116, 117, 1109, -1, 1111, -1, 1113, - -1, 1115, -1, 603, 83, 144, -1, 51, -1, 53, - 54, 55, 56, -1, -1, 94, 63, 64, 65, -1, - -1, 100, 101, 102, 103, 69, 1136, 1137, 1138, 1139, - -1, -1, -1, -1, 1148, 678, -1, -1, -1, -1, - 1, -1, 3, 4, 5, -1, -1, 1157, -1, 128, - 94, 12, 131, -1, -1, -1, 288, 101, 102, 103, - -1, -1, -1, 295, 296, 144, -1, 44, -1, 116, - 117, 303, 63, 64, 65, -1, 719, -1, -1, 679, - 680, -1, 314, 115, 128, -1, 118, 119, -1, -1, - 51, -1, -1, -1, 55, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, - -1, 88, 89, 713, 146, -1, 148, 349, -1, -1, - 81, -1, 354, -1, 101, 116, 117, -1, -1, -1, - -1, -1, -1, -1, 777, -1, -1, -1, -1, -1, - -1, -1, 374, -1, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 119, -1, - -1, -1, -1, 395, -1, 142, -1, -1, 400, 401, - -1, 403, -1, 51, -1, 53, 54, 55, 56, -1, - 823, -1, -1, -1, 51, -1, 53, 54, 55, 56, - -1, 69, 792, -1, -1, -1, -1, -1, -1, -1, - 800, 801, 69, -1, 804, 848, -1, 807, 808, -1, - -1, 443, 444, 813, 814, -1, 94, 860, -1, 819, - 820, -1, 100, 101, 102, 103, -1, 94, 460, -1, - -1, -1, -1, 833, -1, -1, 836, -1, -1, 471, - -1, -1, 88, 89, -1, 845, 846, 479, -1, 210, - 128, 0, -1, 131, -1, 101, -1, 489, -1, -1, - -1, -1, -1, -1, 13, 14, 15, 16, 17, 18, - 870, 20, -1, -1, -1, -1, 25, 26, 27, -1, - -1, 881, 882, 129, 130, 131, 132, 133, 37, 38, - 522, 40, 41, 42, 43, 44, -1, -1, -1, 531, - 51, -1, 53, 54, 55, 56, -1, -1, 951, -1, - -1, -1, -1, 545, 957, 547, -1, -1, 69, 51, - -1, 53, 54, 55, 56, 557, -1, 288, -1, -1, - -1, -1, -1, -1, 295, 296, 936, 69, -1, -1, - -1, 90, 303, 94, -1, -1, 946, 947, -1, 100, - -1, -1, -1, 314, 954, -1, 105, -1, -1, -1, - -1, -1, 94, -1, -1, -1, 115, -1, 100, 118, - 119, -1, -1, -1, -1, 975, 976, 977, -1, -1, - 612, -1, -1, -1, -1, -1, -1, -1, 349, 138, - 139, -1, -1, 354, -1, 144, 145, 146, 147, 148, - -1, 1044, 1045, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, 374, -1, 51, -1, 53, 54, 55, - 56, -1, -1, -1, 101, -1, -1, -1, 88, 89, - 1030, -1, 1032, 69, 395, 1035, -1, -1, -1, 400, - 401, 101, 403, -1, -1, -1, -1, -1, 680, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 94, -1, - -1, -1, -1, -1, 100, 101, 102, 103, 128, 129, - 130, 131, 132, 133, -1, -1, 1, -1, 3, 4, - 5, -1, 443, 444, 716, -1, 1086, 12, 1131, -1, - -1, -1, 128, -1, -1, 131, 1096, 1097, -1, 460, - -1, -1, -1, -1, -1, -1, -1, -1, 144, -1, - 471, 1154, 1155, -1, -1, -1, -1, -1, 479, -1, - -1, -1, -1, -1, -1, -1, 51, -1, 489, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1144, 1145, 1146, -1, 51, -1, - 53, 54, 55, 56, -1, -1, 81, -1, 1158, 1159, - 792, 522, -1, -1, -1, -1, 69, 799, 800, 801, - 531, -1, -1, -1, -1, 807, -1, -1, -1, -1, - -1, 813, 814, -1, 545, -1, 547, 819, 820, -1, - -1, 94, -1, -1, 119, -1, 557, 100, 101, 102, - 103, 833, -1, 51, -1, 53, 54, 55, 56, -1, - -1, -1, -1, 845, 846, -1, -1, -1, -1, -1, - -1, 69, -1, -1, -1, 128, -1, -1, 131, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 870, 142, - -1, -1, -1, -1, -1, -1, 94, -1, -1, 881, - 882, 612, 100, 101, 102, 103, -1, -1, -1, -1, + 1, 26, 379, 8, 9, 88, 81, 86, 87, 14, + 222, 9, 27, 6, 594, 490, 14, 13, 51, 20, + 285, 15, 16, 6, 314, 19, 481, 597, 15, 16, + 13, 27, 19, 1, 14, 3, 21, 65, 791, 20, + 21, 3, 55, 403, 27, 74, 763, 272, 68, 508, + 443, 444, 53, 54, 25, 547, 594, 118, 307, 53, + 433, 27, 311, 995, 57, 15, 16, 692, 1051, 19, + 332, 696, 73, 74, 57, 403, 144, 319, 703, 431, + 539, 669, 670, 435, 74, 458, 438, 26, 68, 26, + 1, 16, 3, 4, 5, 79, 296, 8, 9, 25, + 810, 12, 475, 14, 15, 16, 816, 459, 19, 504, + 111, 484, 117, 508, 57, 443, 444, 26, 57, 104, + 612, 103, 474, 104, 476, 59, 60, 61, 62, 371, + 111, 112, 122, 485, 25, 25, 1020, 0, 333, 218, + 51, 336, 126, 338, 55, 340, 128, 342, 129, 115, + 229, 25, 118, 119, 65, 51, 29, 25, 90, 55, + 594, 138, 93, 597, 25, 15, 16, 1150, 92, 19, + 81, 142, 26, 525, 55, 755, 549, 28, 121, 57, + 146, 90, 148, 716, 213, 214, 20, 25, 768, 90, + 115, 25, 1124, 118, 119, 126, 105, 121, 550, 138, + 400, 138, 18, 53, 54, 144, 117, 374, 119, 25, + 92, 290, 213, 214, 92, 147, 142, 755, 223, 224, + 18, 146, 20, 148, 214, 223, 224, 92, 395, 138, + 768, 140, 92, 821, 388, 144, 390, 316, 147, 314, + 113, 58, 59, 121, 90, 121, 147, 142, 1132, 242, + 121, 142, 142, 144, 73, 74, 121, 547, 90, 242, + 90, 121, 90, 296, 1017, 4, 5, 1020, 142, 270, + 144, 272, 252, 12, 142, 276, 735, 105, 298, 284, + 285, 142, 276, 1000, 138, 279, 306, 307, 513, 276, + 144, 311, 279, 460, 15, 16, 558, 60, 19, 210, + 63, 147, 121, 122, 142, 90, 90, 799, 144, 551, + 890, 125, 223, 224, 90, 147, 55, 147, 298, 147, + 900, 755, 612, 90, 37, 38, 896, 295, 101, 279, + 55, 691, 53, 54, 768, 303, 63, 64, 65, 734, + 735, 121, 81, 90, 107, 350, 351, 352, 353, 92, + 355, 356, 350, 351, 352, 353, 55, 791, 131, 132, + 133, 556, 147, 147, 25, 276, 991, 400, 279, 90, + 398, 147, 92, 284, 285, 403, 377, 288, 379, 1132, + 147, 349, 142, 92, 295, 296, 354, 349, 401, 116, + 117, 325, 303, 848, 213, 214, 457, 142, 775, 92, + 147, 121, 115, 314, 398, 118, 119, 92, 34, 403, + 20, 90, 121, 121, 807, 443, 444, 812, 92, 57, + 813, 814, 142, 215, 138, 51, 105, 145, 121, 279, + 222, 804, 433, 146, 142, 148, 121, 1017, 349, 350, + 351, 352, 353, 354, 355, 356, 433, 121, 101, 142, + 51, 803, 435, 805, 435, 438, 461, 458, 121, 724, + 141, 140, 896, 374, 139, 466, 55, 259, 147, 92, + 545, 458, 547, 801, 475, 142, 459, 502, 459, 807, + 1105, 92, 16, 484, 395, 813, 814, 398, 475, 400, + 401, 57, 403, 476, 121, 476, 745, 484, 121, 493, + 319, 102, 485, 728, 485, 106, 521, 719, 101, 799, + 121, 512, 513, 680, 37, 38, 991, 1050, 101, 1052, + 142, 522, 433, 26, 1057, 521, 63, 64, 65, 121, + 92, 511, 443, 444, 993, 912, 913, 612, 521, 58, + 59, 806, 525, 622, 525, 938, 1126, 458, 549, 460, + 461, 51, 371, 51, 522, 276, 1136, 349, 279, 121, + 471, 92, 549, 531, 475, 92, 142, 550, 479, 550, + 142, 363, 142, 484, 92, 314, 17, 18, 489, 116, + 117, 115, 51, 1017, 118, 119, 1020, 90, 1121, 381, + 121, 908, 909, 142, 121, 300, 51, 584, 993, 304, + 121, 122, 105, 121, 605, 51, 121, 142, 142, 51, + 938, 522, 146, 319, 148, 640, 603, 882, 1151, 1152, + 531, 917, 918, 69, 142, 792, 780, 781, 782, 99, + 784, 15, 786, 13, 545, 138, 547, 140, 549, 121, + 270, 144, 272, 26, 147, 121, 557, 16, 63, 861, + 119, 876, 819, 15, 504, 101, 102, 103, 659, 16, + 145, 145, 401, 90, 665, 371, 139, 668, 669, 670, + 142, 656, 15, 584, 679, 656, 306, 142, 105, 142, + 665, 679, 128, 668, 665, 686, 536, 668, 480, 481, + 691, 692, 603, 15, 92, 696, 689, 691, 1132, 714, + 44, 612, 703, 684, 142, 686, 689, 90, 713, 121, + 16, 1088, 433, 140, 15, 713, 883, 144, 714, 141, + 147, 1017, 105, 121, 799, 745, 18, 728, 141, 1102, + 141, 714, 551, 141, 817, 139, 15, 458, 90, 531, + 139, 953, 92, 92, 142, 115, 538, 959, 118, 119, + 141, 1103, 139, 105, 475, 138, 142, 140, 115, 716, + 44, 118, 119, 484, 147, 142, 57, 142, 679, 680, + 142, 121, 121, 801, 775, 145, 146, 142, 148, 807, + 808, 44, 949, 504, 15, 813, 814, 508, 140, 146, + 93, 148, 142, 142, 14, 147, 1092, 1093, 1094, 15, + 1096, 1097, 713, 804, 509, 716, 545, 15, 547, 115, + 55, 516, 118, 119, 145, 536, 142, 804, 539, 288, + 821, 142, 805, 528, 805, 142, 665, 296, 549, 668, + 831, 836, 800, 834, 26, 142, 443, 444, 836, 15, + 146, 141, 148, 142, 15, 551, 139, 686, 1060, 1061, + 1004, 1005, 1006, 1007, 15, 15, 55, 858, 859, 115, + 1125, 141, 118, 119, 858, 142, 1162, 1163, 1164, 1165, + 477, 478, 142, 612, 580, 876, 581, 582, 139, 51, + 142, 792, 512, 513, 734, 15, 678, 1183, 799, 800, + 801, 597, 971, 804, 600, 139, 807, 808, 90, 142, + 126, 858, 813, 814, 16, 126, 611, 587, 819, 820, + 938, 912, 913, 105, 587, 55, 16, 90, 591, 526, + 115, 139, 833, 118, 119, 836, 55, 719, 40, 41, + 15, 400, 105, 144, 845, 846, 1, 26, 3, 142, + 40, 41, 142, 8, 9, 1157, 138, 858, 140, 14, + 15, 16, 144, 148, 19, 147, 115, 142, 1037, 118, + 119, 872, 812, 142, 716, 142, 15, 140, 1180, 1181, + 51, 57, 883, 884, 147, 1129, 90, 716, 26, 609, + 985, 986, 93, 688, 142, 777, 51, 985, 986, 142, + 991, 105, 142, 51, 142, 53, 54, 55, 56, 910, + 65, 90, 471, 115, 915, 15, 118, 119, 858, 859, + 479, 69, 144, 734, 735, 115, 105, 141, 118, 119, + 489, 40, 41, 42, 43, 44, 140, 938, 15, 659, + 15, 823, 989, 147, 146, 142, 148, 948, 949, 744, + 12, 952, 90, 522, 1069, 956, 146, 5, 148, 138, + 1105, 140, 117, 791, 119, 144, 848, 105, 147, 764, + 799, 1062, 90, 818, 90, 1124, 57, 989, 51, 861, + 53, 54, 55, 56, 985, 986, 987, 105, 989, 105, + 1050, 1056, 1056, 804, 142, 791, 69, 1088, 557, 719, + 138, 812, 140, 1050, 1051, 1052, 144, 1104, 728, 147, + 1057, 1102, 254, 1104, 1105, 6, 858, 859, 1014, 1155, + 1156, 791, 140, 61, 140, 1102, 64, 65, 791, 147, + 1103, 147, 1103, 62, 115, 64, 65, 118, 119, 1040, + 587, 1042, 123, 1017, 1045, -1, 1182, 858, 859, 1050, + 1051, 1052, 1188, 1189, -1, 210, 1057, 90, -1, 1, + -1, 3, 4, 5, 1155, 1156, -1, 148, 223, 224, + 12, 953, 105, -1, 1121, 1170, 1171, 959, 116, 117, + 875, 910, 1170, 1171, -1, -1, 915, 116, 117, -1, + 51, 1182, 53, 54, 55, 56, 891, 1188, 1189, -1, + 896, 1102, 898, 1150, 1151, 1152, 902, 140, 69, 51, + 807, 808, -1, 55, 147, -1, 813, 814, 1119, 1120, + 1121, 276, -1, 952, 279, -1, 791, -1, -1, 284, + 285, -1, -1, 288, -1, -1, -1, -1, -1, 81, + 295, 296, 839, 840, -1, 842, 843, 989, 303, 1150, + 1151, 1152, -1, -1, -1, -1, 876, -1, -1, -1, + 989, 90, 62, -1, 64, 65, -1, -1, -1, 1170, + 1171, 1172, -1, -1, -1, -1, 105, 119, 1060, 1061, + -1, 142, 993, 1184, 1185, -1, 51, -1, 53, 54, + 55, 56, 90, -1, 349, 350, 351, 352, 353, 354, + 355, 356, 998, 999, 69, 90, -1, 105, 1050, 1051, + 1052, 140, -1, -1, 1056, 1057, 116, 117, 147, 374, + 105, 1050, 1051, -1, 1020, -1, 1022, -1, 1057, 94, + -1, 63, 64, 65, -1, 100, 101, 102, 103, -1, + 395, 938, 140, 398, 1014, 400, -1, 1017, 403, 147, + 1020, 1014, 1022, -1, 1017, 140, -1, 1020, -1, 1022, + -1, 820, 147, 128, 961, -1, 131, -1, 210, 115, + -1, -1, 118, 119, 833, 1157, -1, 142, 433, 1121, + 1076, -1, -1, 1079, 116, 117, 845, 846, 443, 444, + -1, 1102, 1121, -1, -1, -1, 142, -1, 1180, 1181, + 146, -1, 148, 458, -1, 460, 461, -1, 1150, 1151, + 1152, -1, -1, 872, -1, -1, 471, -1, -1, 1089, + 475, 1150, 1151, 1152, 479, 884, 1089, -1, -1, 484, + 90, -1, 1128, 90, 489, 90, 1132, -1, 1134, -1, + -1, 90, 1138, 90, -1, 105, 288, -1, 105, 1014, + 105, -1, 1017, 295, 296, 1020, 105, 1022, 105, 90, + -1, 303, 1132, -1, 1134, -1, 1136, 522, 1138, 1132, + -1, 1134, 314, 1136, 105, 1138, 531, -1, 1174, -1, + 140, -1, -1, 140, -1, 140, -1, 147, -1, 948, + 147, 140, 147, 140, 549, -1, -1, 956, 147, -1, + 147, -1, 557, -1, 1174, -1, -1, 349, -1, 140, + -1, 1174, 354, -1, 51, 52, 147, -1, 55, 61, + -1, -1, 64, 65, 1089, 63, 64, 65, 987, 584, + -1, -1, 374, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, 80, 81, -1, -1, -1, 603, 86, + 87, 88, 89, 395, -1, -1, -1, -1, 400, 401, + -1, 403, -1, 100, 101, 102, -1, 1132, -1, 1134, + -1, 1136, -1, 1138, 116, 117, -1, -1, 116, 117, + -1, 1040, -1, 1042, -1, -1, 1045, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + -1, 443, 444, 63, 64, 65, 143, 144, -1, 1174, + 63, 64, 65, 63, 64, 65, -1, -1, 460, 63, + 64, 65, -1, -1, 679, 680, -1, -1, 51, 471, + 53, 54, 55, 56, -1, -1, -1, 479, -1, -1, + -1, -1, -1, -1, -1, 115, 69, 489, 118, 119, + 51, -1, 53, 54, 55, 56, 116, 117, 713, -1, + 1119, 1120, -1, 116, 117, -1, 116, 117, 69, -1, + -1, 94, 116, 117, -1, -1, 146, 100, 148, -1, + 522, 1, 83, 3, 4, 5, -1, -1, -1, 531, + -1, -1, 12, 94, -1, -1, -1, -1, -1, 100, + 101, 102, 103, 545, 51, 547, 53, 54, 55, 56, + -1, -1, -1, 1172, 51, 557, 53, 54, 55, 56, + 121, -1, 69, -1, -1, 1184, 1185, 128, -1, -1, + 131, 51, 69, -1, -1, 55, 51, 792, 53, 54, + 55, 56, -1, 144, 101, 800, 801, 94, -1, 804, + -1, -1, 807, 808, 69, -1, -1, 94, 813, 814, + -1, 81, -1, 100, 819, 820, -1, -1, -1, -1, + 612, -1, 129, 130, 131, 132, 133, -1, 833, 94, + -1, 836, -1, -1, -1, 100, 101, 102, 103, -1, + 845, 846, -1, -1, -1, -1, -1, -1, -1, 119, + -1, 88, 89, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 128, 101, -1, 131, 872, -1, -1, + 19, -1, 21, 22, 23, 24, -1, -1, 883, 884, + -1, 30, 31, 32, 33, 34, 35, 36, 680, -1, + 39, 128, 129, 130, 131, 132, 133, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, 115, + 69, -1, 118, 119, 716, -1, -1, -1, 88, 89, + -1, -1, -1, 938, 88, 89, -1, -1, -1, -1, + 210, 101, 91, 948, 949, 94, 95, 101, 97, 98, + 146, 956, 148, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, 126, 127, 128, 129, + 130, 131, 132, 133, -1, 129, 130, 131, 132, 133, + 985, 986, 987, -1, -1, 134, -1, -1, -1, -1, + -1, -1, -1, 142, -1, 1, -1, 3, 4, 5, + 792, -1, -1, -1, -1, -1, 12, 799, 800, 801, + -1, -1, -1, -1, -1, 807, -1, -1, 288, -1, + -1, 813, 814, -1, -1, 295, 296, 819, 820, -1, + -1, -1, -1, 303, -1, 1040, -1, 1042, -1, -1, + 1045, 833, -1, -1, 314, 51, -1, -1, -1, 55, + -1, -1, -1, 845, 846, -1, -1, -1, 51, -1, + 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 81, 69, -1, -1, 349, + 872, -1, -1, -1, 354, -1, -1, -1, -1, -1, + 83, 883, 884, -1, -1, -1, -1, 1102, -1, -1, + -1, 94, -1, -1, 374, -1, -1, 100, 101, 102, + 103, -1, -1, 119, 1119, 1120, -1, -1, 910, -1, + -1, -1, -1, 915, -1, 395, -1, -1, -1, -1, + 400, 401, -1, 403, -1, 128, -1, -1, 131, -1, + -1, -1, -1, -1, -1, -1, 938, -1, -1, -1, + -1, 144, -1, -1, -1, -1, 948, 949, -1, -1, + 952, -1, -1, -1, 956, 1170, 1171, 1172, -1, -1, + -1, -1, -1, 443, 444, -1, -1, -1, -1, 1184, + 1185, -1, -1, -1, -1, -1, -1, -1, -1, 51, + 460, 53, 54, 55, 56, 987, -1, 989, -1, -1, + -1, 471, -1, -1, 210, -1, -1, 69, -1, 479, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 489, + -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, + -1, -1, 94, -1, -1, -1, -1, -1, 100, 101, + 102, 103, -1, -1, -1, -1, -1, -1, 1040, -1, + 1042, -1, 522, 1045, -1, -1, -1, -1, 1050, 1051, + -1, 531, -1, -1, -1, 1057, 128, -1, -1, 131, + -1, -1, -1, -1, -1, 545, -1, 547, -1, -1, + -1, -1, 288, -1, -1, -1, -1, 557, -1, 295, + 296, -1, -1, -1, -1, -1, 0, 303, -1, -1, + -1, 51, -1, 53, 54, 55, 56, -1, 314, 13, + 14, 15, 16, 17, 18, -1, 20, -1, -1, 69, + -1, 25, 26, 27, -1, -1, -1, 1119, 1120, 1121, + -1, -1, -1, 37, 38, 85, 40, 41, 42, 43, + 44, -1, 612, 349, 94, -1, -1, -1, 354, -1, + 100, 101, 102, 103, -1, -1, -1, -1, 1150, 1151, + 1152, -1, -1, -1, -1, -1, -1, -1, 374, -1, + 51, -1, 53, 54, 55, 56, -1, -1, 128, -1, + 1172, 131, -1, -1, -1, -1, 90, -1, 69, 395, + -1, -1, 1184, 1185, 400, 401, -1, 403, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + 680, 115, -1, 94, 118, 119, -1, -1, -1, 100, + 101, 102, 103, -1, -1, -1, -1, 51, -1, 53, + 54, 55, 56, -1, 138, 139, -1, 443, 444, -1, + 144, 145, 146, 147, 148, 69, 716, 128, -1, -1, + 131, -1, -1, -1, 460, -1, -1, -1, -1, -1, + -1, 85, -1, 144, -1, 471, -1, -1, -1, -1, + 94, -1, -1, 479, -1, -1, 100, 101, 102, 103, + -1, -1, -1, 489, 51, -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 908, -1, -1, -1, - 128, 913, -1, 131, -1, 210, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, - -1, -1, -1, -1, 936, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 946, 947, -1, -1, 950, 680, - -1, -1, 954, -1, -1, -1, -1, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, 977, -1, 979, -1, -1, - -1, -1, -1, -1, -1, 716, 101, -1, -1, -1, - -1, -1, -1, 288, -1, -1, -1, -1, -1, -1, - 295, 296, -1, -1, -1, -1, -1, 122, 303, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 314, - -1, -1, -1, -1, -1, -1, -1, -1, 1030, -1, - 1032, -1, -1, 1035, -1, -1, -1, -1, 1040, 1041, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 349, -1, -1, -1, -1, 354, - -1, 792, -1, -1, -1, -1, -1, -1, 799, 800, - 801, -1, -1, -1, -1, -1, 807, -1, -1, 374, - -1, -1, 813, 814, -1, -1, -1, -1, 819, 820, - -1, -1, -1, -1, 1096, 1097, 1098, -1, -1, -1, - 395, -1, 833, -1, -1, 400, 401, -1, 403, -1, - -1, -1, -1, -1, 845, 846, -1, -1, 51, -1, - 53, 54, 55, 56, -1, 1127, 1128, -1, -1, 51, - -1, 53, 54, 55, 56, -1, 69, -1, -1, 870, - -1, -1, -1, -1, 1146, -1, -1, 69, 443, 444, - 881, 882, 85, -1, -1, -1, 1158, 1159, -1, -1, - -1, 94, -1, 85, -1, 460, -1, 100, 101, 102, - 103, -1, 94, -1, -1, -1, 471, 908, 100, 101, - 102, 103, 913, -1, 479, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 489, 128, -1, -1, 131, -1, - -1, -1, -1, -1, -1, 936, 128, -1, -1, 131, - -1, -1, -1, -1, -1, 946, 947, -1, -1, 950, - -1, -1, -1, 954, -1, -1, 1, 522, 3, 4, - 5, 6, -1, -1, -1, -1, 531, 12, -1, -1, - -1, -1, -1, -1, -1, -1, 977, -1, 979, -1, - 545, -1, 547, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 557, -1, -1, -1, 1, -1, 3, -1, - -1, -1, -1, -1, -1, -1, 51, 12, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1030, - -1, 1032, -1, -1, 1035, -1, 81, -1, -1, 1040, - 1041, -1, -1, -1, -1, -1, 51, 612, -1, -1, - -1, -1, -1, -1, -1, -1, 51, 52, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 119, 70, 71, 72, 73, 74, - 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, - -1, 86, 87, 88, 89, 1096, 1097, 1098, -1, -1, - -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, - -1, -1, -1, -1, 119, 680, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1127, 1128, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, -1, -1, -1, 1146, -1, -1, 143, 144, - -1, 716, -1, -1, -1, -1, -1, 1158, 1159, 72, - 73, 74, 75, 76, 77, 210, -1, 80, 81, -1, - -1, -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, 210, -1, -1, -1, -1, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, -1, -1, -1, -1, 792, -1, -1, - -1, -1, -1, -1, 799, 800, 801, -1, -1, -1, - -1, -1, 807, 288, -1, -1, -1, -1, 813, 814, - 295, 296, -1, -1, 819, 820, -1, -1, 303, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 833, 314, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 845, 846, -1, 288, -1, -1, -1, -1, -1, -1, - 295, 296, -1, -1, -1, -1, -1, -1, 303, -1, - -1, -1, -1, -1, 349, 870, -1, -1, -1, 354, - -1, -1, -1, -1, -1, -1, 881, 882, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 374, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 908, 349, -1, -1, -1, 913, 354, - 395, -1, -1, -1, -1, 400, 401, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 374, - -1, 936, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 946, 947, -1, -1, 950, -1, -1, -1, 954, - 395, 1, -1, 3, -1, 400, -1, -1, 403, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 977, -1, 979, 460, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, - -1, -1, -1, -1, 479, -1, -1, -1, 443, 444, - -1, 51, -1, -1, 489, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 460, -1, -1, -1, 44, - -1, -1, -1, -1, -1, 1030, 471, 1032, -1, -1, - 1035, -1, -1, -1, 479, 1040, 1041, 522, -1, -1, - -1, -1, -1, -1, 489, -1, 531, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - 545, -1, 547, 88, 89, -1, -1, -1, -1, 119, - -1, -1, 557, -1, -1, -1, 101, 522, -1, -1, - -1, -1, -1, -1, -1, -1, 531, -1, -1, -1, - -1, 1096, 1097, 1098, -1, -1, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, -1, 557, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1127, 1128, -1, -1, -1, 612, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1146, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1158, 1159, -1, -1, -1, -1, -1, - 210, -1, -1, -1, -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, -1, -1, 680, -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, 716, -1, 66, 67, 680, 69, -1, 288, -1, - -1, -1, -1, -1, -1, 295, 296, -1, -1, -1, - -1, -1, -1, 303, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 349, - -1, 134, -1, -1, 354, -1, -1, 792, -1, 142, - -1, -1, -1, -1, 799, 800, -1, -1, -1, -1, - -1, -1, -1, -1, 374, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 819, 820, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 395, -1, 792, 833, -1, - 400, -1, -1, 403, -1, 800, 801, -1, -1, -1, - 845, 846, 807, -1, -1, -1, -1, -1, 813, 814, - -1, -1, -1, -1, 819, 820, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 870, -1, -1, 833, -1, - -1, -1, -1, 443, 444, -1, 881, 882, -1, -1, - 845, 846, -1, -1, -1, -1, -1, -1, -1, -1, - 460, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 471, -1, 908, -1, 870, -1, -1, 913, 479, - -1, -1, -1, -1, -1, -1, 881, 882, -1, 489, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 946, 947, -1, -1, 950, -1, -1, -1, 954, - -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, - -1, 531, 44, -1, -1, -1, -1, -1, -1, -1, - -1, 936, 977, -1, 979, -1, -1, -1, -1, -1, - -1, 946, 947, -1, -1, 950, -1, 557, -1, 954, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, - -1, -1, 977, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, -1, 1030, -1, 1032, -1, -1, - 1035, -1, -1, -1, -1, 1040, 1041, -1, -1, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1030, -1, 1032, -1, -1, - 1035, -1, -1, -1, -1, -1, -1, -1, -1, 8, - 9, -1, -1, -1, -1, 14, 15, 16, -1, -1, - 19, 1096, 1097, 1098, -1, -1, -1, -1, -1, -1, - -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, - 680, -1, -1, -1, -1, -1, -1, 46, 47, 48, - 49, -1, 1127, 1128, 53, 54, 40, 41, -1, -1, - -1, 1096, 1097, -1, -1, -1, 65, 66, -1, -1, - -1, 1146, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1158, 1159, -1, -1, -1, 72, 73, + -1, -1, 69, -1, 128, -1, -1, 131, -1, -1, + -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, + -1, -1, 792, -1, -1, 531, -1, 94, -1, 799, + 800, 801, -1, -1, 101, 102, 103, 807, -1, 545, + -1, 547, -1, 813, 814, -1, -1, -1, -1, 819, + 820, 557, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 128, -1, 833, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 845, 846, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, -1, -1, 93, - -1, 1146, -1, -1, -1, -1, -1, 101, 117, -1, - -1, 105, -1, 1158, 1159, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, -1, 122, -1, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, 872, -1, -1, -1, 612, 101, -1, -1, + -1, -1, -1, 883, 884, -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, 792, -1, -1, -1, 140, 141, 142, -1, - 800, 801, 146, 147, 148, -1, -1, 807, -1, -1, - -1, -1, -1, 813, 814, -1, -1, -1, -1, 819, - 820, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 833, 72, 73, 74, 75, 76, 77, - 78, -1, 80, 81, -1, 845, 846, -1, -1, -1, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, 223, 224, -1, -1, -1, -1, - 870, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 881, 882, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, -1, 262, 263, 264, 265, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, - 279, -1, -1, -1, -1, 284, 285, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 936, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 946, 947, -1, -1, - -1, -1, -1, -1, 954, -1, -1, -1, -1, -1, + 910, -1, -1, -1, -1, 915, -1, -1, 142, -1, + -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, + -1, 44, -1, -1, 12, -1, -1, -1, 938, -1, + -1, -1, -1, -1, 680, -1, -1, -1, 948, 949, + -1, -1, 952, -1, -1, -1, 956, -1, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, 51, -1, 88, 89, 55, -1, -1, + 716, -1, -1, -1, -1, -1, -1, 987, 101, 989, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 977, -1, -1, + -1, -1, -1, 81, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 350, 351, 352, 353, -1, 355, 356, -1, -1, + 1040, 119, 1042, -1, -1, 1045, -1, -1, -1, -1, + 1050, 1051, -1, -1, -1, -1, 792, 1057, -1, -1, + -1, -1, -1, 799, 800, 801, -1, -1, -1, -1, + -1, 807, -1, -1, -1, -1, -1, 813, 814, -1, + -1, -1, -1, 819, 820, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 833, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 845, + 846, -1, -1, -1, -1, -1, -1, -1, -1, 1119, + 1120, 1121, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 210, -1, -1, -1, 872, -1, 1, -1, + 3, -1, -1, -1, -1, -1, -1, 883, 884, 12, + 1150, 1151, 1152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 386, -1, -1, - 1030, -1, 1032, -1, -1, 1035, -1, -1, -1, 398, - -1, -1, -1, -1, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, -1, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, -1, -1, 433, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 443, 444, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1096, 1097, -1, 458, - -1, -1, 461, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 473, -1, 475, -1, 477, 478, - -1, -1, -1, -1, -1, 484, -1, -1, -1, -1, - -1, -1, -1, -1, 493, -1, -1, 496, 497, -1, - -1, -1, 501, -1, -1, 504, 1146, 506, -1, 508, - 509, -1, -1, -1, -1, -1, -1, -1, 1158, 1159, - -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, -1, -1, 80, 81, 566, 567, -1, - -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 584, 101, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 603, -1, -1, 606, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 13, 14, 15, 16, 17, 18, -1, 20, -1, - -1, -1, -1, 25, -1, 27, 28, 29, -1, -1, - -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, - 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, - 679, -1, -1, -1, -1, 57, -1, -1, -1, -1, - -1, -1, 691, -1, -1, 694, 695, -1, -1, -1, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, -1, -1, 713, -1, 88, 89, 90, -1, - -1, 93, -1, -1, -1, -1, 725, 99, -1, 101, - -1, -1, -1, 105, -1, 734, 735, -1, -1, -1, - -1, 113, -1, 115, -1, -1, 118, 119, -1, -1, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, 145, 146, 147, 148, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 796, -1, -1, - -1, -1, 801, 802, -1, 804, -1, -1, 807, 808, - -1, -1, -1, 812, 813, 814, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 836, -1, -1, - 839, 840, -1, 842, 843, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 858, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 869, -1, -1, -1, 873, -1, -1, 51, 52, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 890, 891, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 903, 904, 80, 81, -1, -1, - -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, - 919, -1, -1, -1, -1, -1, 100, 101, 102, -1, - 929, 930, -1, -1, -1, -1, -1, 936, -1, -1, + -1, -1, 1172, -1, 910, -1, -1, -1, -1, 915, + -1, -1, -1, -1, 1184, 1185, -1, -1, 51, -1, + -1, -1, -1, -1, 1, -1, 3, -1, -1, -1, + -1, -1, 938, -1, -1, -1, -1, -1, -1, -1, + 288, -1, 948, 949, -1, -1, 952, 295, 296, -1, + 956, -1, -1, -1, -1, 303, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, + -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, + 44, 987, -1, 989, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 349, -1, -1, -1, -1, 354, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 374, -1, -1, -1, + -1, -1, -1, -1, 1040, -1, 1042, 101, -1, 1045, + -1, -1, 119, -1, 1050, 1051, -1, 395, -1, -1, + -1, 1057, 400, 401, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 959, 135, 136, -1, -1, -1, -1, -1, 967, 143, - 144, -1, -1, -1, -1, -1, 975, 976, -1, -1, - -1, -1, 0, 1, 983, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, - -1, 19, -1, 21, 22, 23, 24, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 210, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 460, 1119, 1120, 1121, -1, -1, -1, -1, + -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, + -1, 479, -1, 210, -1, -1, -1, -1, -1, -1, + -1, 489, -1, -1, 1150, 1151, 1152, -1, -1, -1, + -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, + -1, -1, 295, 296, -1, -1, 1172, -1, -1, -1, + 303, -1, -1, -1, 522, -1, -1, -1, 1184, 1185, + -1, -1, -1, 531, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 545, -1, 547, + 44, -1, -1, -1, -1, -1, -1, -1, -1, 557, + -1, 288, -1, -1, -1, -1, 349, -1, 295, 296, + -1, 354, -1, -1, -1, -1, 303, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, 374, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, 395, -1, 612, -1, -1, 400, -1, -1, + 403, -1, 349, -1, -1, -1, -1, 354, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, -1, -1, -1, 374, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 443, 444, -1, -1, -1, -1, -1, -1, 395, -1, + -1, -1, -1, 400, -1, -1, 403, 460, -1, -1, + -1, -1, 680, -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, -1, -1, 443, 444, 716, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 460, 51, 52, -1, -1, 55, 522, + -1, -1, -1, -1, 471, -1, -1, -1, 531, -1, + -1, -1, 479, 70, 71, 72, 73, 74, 75, 76, + 77, -1, 489, 80, 81, -1, -1, -1, -1, 86, + 87, 88, 89, -1, 557, -1, -1, -1, -1, -1, + -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, + -1, -1, -1, -1, 792, 522, -1, -1, -1, -1, + -1, 799, 800, -1, 531, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + -1, 819, 820, -1, -1, -1, 143, 144, -1, -1, + 557, -1, -1, -1, -1, 833, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 845, 846, -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, 872, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, 883, 884, -1, -1, -1, + -1, 19, -1, 21, 22, 23, 24, 680, 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, 45, 46, 47, + -1, 39, 910, -1, -1, -1, -1, 915, -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, + 948, 949, -1, 680, 952, -1, 84, 85, 956, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, 1086, 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, -1, 40, 41, 42, 43, 44, - -1, -1, -1, -1, -1, 1144, 1145, -1, -1, -1, + 98, -1, 100, -1, 102, 103, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, 987, + -1, 989, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 134, 135, 136, 792, + 138, -1, -1, -1, -1, -1, 144, 800, 801, -1, + -1, -1, -1, -1, 807, -1, -1, -1, -1, -1, + 813, 814, -1, -1, -1, -1, 819, 820, -1, -1, + -1, -1, 1040, -1, 1042, -1, -1, 1045, -1, -1, + 833, -1, 1050, 1051, -1, -1, -1, -1, -1, 1057, + -1, -1, 845, 846, -1, 792, -1, -1, -1, -1, + 8, 9, -1, 800, 801, -1, 14, 15, 16, -1, + 807, 19, -1, -1, -1, -1, 813, 814, -1, 872, + -1, -1, 819, 820, -1, -1, -1, -1, -1, -1, + 883, 884, -1, -1, -1, -1, 833, -1, 46, 47, + 48, 49, -1, -1, -1, 53, 54, -1, 845, 846, + -1, 1119, 1120, 1121, -1, -1, -1, 65, 66, -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, 872, -1, -1, -1, -1, + -1, -1, 1150, 1151, 1152, 938, 883, 884, -1, -1, + -1, -1, -1, -1, -1, 948, 949, -1, -1, 952, + -1, -1, -1, 956, 1172, -1, -1, -1, -1, 117, + -1, -1, -1, -1, -1, -1, 1184, 1185, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, - 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, - 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, 0, -1, -1, - 139, 140, 141, 142, -1, -1, 145, 146, 147, 148, - 13, 14, 15, 16, 17, 18, -1, 20, -1, -1, - -1, -1, 25, 26, 27, 28, -1, -1, -1, -1, - -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, - 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 987, -1, -1, -1, -1, -1, + -1, 938, -1, -1, 51, 52, -1, -1, 55, -1, + -1, 948, 949, -1, -1, -1, -1, -1, -1, 956, + -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, 1040, -1, 1042, + 987, -1, 1045, 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, 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, -1, -1, -1, -1, 223, 224, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + -1, -1, -1, -1, -1, -1, 143, 144, -1, -1, + -1, -1, -1, 1040, -1, 1042, -1, -1, 1045, -1, + -1, -1, -1, -1, 262, 263, 264, 265, -1, -1, + -1, -1, -1, -1, -1, -1, 1119, 1120, 276, -1, + -1, 279, -1, -1, -1, -1, 284, 285, 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, 1172, + -1, -1, 1119, 1120, -1, -1, -1, 100, 101, 102, + -1, 1184, 1185, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 350, 351, 352, 353, -1, 355, 356, -1, -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, + 133, -1, 135, 136, -1, -1, -1, 375, -1, -1, + 143, 144, -1, -1, -1, 1172, -1, -1, 386, -1, + -1, -1, -1, -1, -1, -1, -1, 1184, 1185, -1, + 398, -1, -1, -1, -1, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + -1, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, -1, 433, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 443, 444, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 458, -1, -1, 461, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 473, -1, 475, -1, 477, + 478, -1, -1, -1, -1, -1, 484, -1, -1, -1, + -1, -1, -1, -1, -1, 493, -1, -1, 496, 497, + -1, -1, 0, 501, -1, -1, 504, -1, 506, -1, + 508, 509, -1, -1, -1, 13, 14, 15, 16, 17, + 18, -1, 20, -1, -1, -1, -1, 25, 526, 27, + 28, 29, -1, -1, -1, -1, -1, -1, 536, 37, + 38, 539, 40, 41, 42, 43, 44, -1, -1, -1, + -1, 549, -1, -1, -1, -1, -1, -1, -1, 57, + -1, -1, -1, -1, -1, -1, -1, -1, 566, 567, + -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 584, -1, -1, -1, + 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, + -1, 99, -1, 101, -1, 603, -1, 105, 606, -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, 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, 679, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, 691, -1, -1, 694, 695, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, 713, 63, -1, -1, 66, + 67, -1, 69, -1, -1, -1, -1, 725, -1, -1, + -1, -1, -1, -1, -1, -1, 734, 735, -1, -1, + 44, -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, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, -1, 134, -1, -1, + -1, -1, -1, -1, -1, 142, -1, 101, 796, -1, + -1, -1, -1, 801, 802, -1, 804, -1, -1, 807, + 808, -1, -1, -1, 812, 813, 814, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 836, -1, + -1, 839, 840, -1, 842, 843, -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, + 858, 859, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 871, -1, -1, -1, 875, -1, -1, + 51, 52, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 892, 893, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, 905, 906, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, 921, -1, -1, -1, -1, -1, 100, + 101, 102, -1, 931, 932, -1, -1, -1, -1, -1, + 938, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 961, 135, 136, -1, -1, -1, -1, + -1, 969, 143, 144, -1, -1, -1, -1, -1, 977, + -1, -1, -1, -1, -1, -1, -1, 985, 986, -1, + -1, -1, -1, -1, -1, 993, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, - -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, 0, -1, 138, 139, 140, - -1, 142, -1, -1, 145, 146, 147, 148, 13, 14, - 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, - 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, 90, -1, 92, 93, -1, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, 0, -1, 138, 139, 140, -1, 142, -1, -1, - 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, - -1, 20, -1, -1, -1, -1, 25, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, - 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, 0, -1, -1, - 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, - 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, - -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, - 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, - 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, -1, -1, -1, 139, 140, -1, 142, - -1, -1, 145, 146, 147, 148, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, -1, -1, 18, 19, -1, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, - 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, -1, 15, -1, 17, 18, + -1, 0, 1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, + 39, -1, -1, -1, 1052, -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, -1, 91, -1, 1102, 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, 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, -1, 40, 41, 42, 43, 44, -1, + -1, -1, 1170, 1171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, + -1, -1, -1, -1, -1, -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, 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, 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, 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, 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, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, -1, -1, 93, + -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, 0, -1, 138, 139, 140, 141, 142, -1, + 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, + 18, -1, 20, -1, -1, -1, -1, 25, -1, 27, + 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, + 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 134, 135, 136, -1, -1, 139, -1, -1, - -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, - -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, + -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, + 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, 0, -1, + -1, 139, 140, 141, 142, -1, 144, 145, 146, 147, + 148, 13, 14, 15, -1, 17, 18, -1, 20, -1, + -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, + 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, 0, -1, 138, 139, 140, -1, + 142, -1, -1, 145, 146, 147, 148, 13, 14, 15, + -1, 17, 18, -1, 20, -1, -1, -1, -1, 25, + 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, 92, 93, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, + -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + 0, -1, 138, 139, 140, -1, 142, -1, -1, 145, + 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, + 20, -1, -1, -1, -1, 25, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, 0, -1, -1, 139, + 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, + 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, + -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, -1, 92, 93, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, + -1, 145, 146, 147, 148, 1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + -1, -1, 18, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, @@ -5664,10 +5656,83 @@ static const yytype_int16 yycheck[] = -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, 118, 119, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, + 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, -1, -1, 15, -1, 17, 18, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 134, 135, 136, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, + -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, + 18, 19, -1, 21, 22, 23, 24, 25, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, + 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, + 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, -1, 15, -1, -1, 18, 19, -1, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, 115, -1, -1, 118, 119, 1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, + 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 135, 136, -1, -1, 139, -1, -1, -1, + -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, @@ -5678,7 +5743,7 @@ static const yytype_int16 yycheck[] = 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, 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, @@ -5700,26 +5765,26 @@ 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, -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, + 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, 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, + -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, 134, 135, 136, -1, 19, -1, 21, 22, 23, - 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, + -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, 46, 47, 48, 49, 50, 51, 52, 53, + -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5731,7 +5796,7 @@ static const yytype_int16 yycheck[] = 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, + 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, @@ -5739,23 +5804,76 @@ static const yytype_int16 yycheck[] = 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, + 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, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, + -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, + -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, 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, + -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, + 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, + 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, + -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, + -1, -1, -1, -1, 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, -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, 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, @@ -5777,76 +5895,38 @@ static const yytype_int16 yycheck[] = 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, - 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 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, 134, 135, 136, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 148, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 69, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 134, 135, 136, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 148, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, - 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, -1, -1, -1, -1, -1, -1, 143, 144, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, - 24, -1, 26, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, 100, -1, 102, 103, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, -1, 138, -1, -1, -1, -1, -1, - 144, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 19, -1, 21, - 22, 23, 24, -1, 26, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, - 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, 138, 21, 22, 23, - 24, -1, 144, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, 92, -1, - 94, 95, -1, 97, 98, -1, 100, -1, 102, 103, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, -1, -1, -1, -1, 121, 3, 4, + -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, - 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, - 144, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -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, @@ -5864,31 +5944,57 @@ static const yytype_int16 yycheck[] = 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, -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, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + -1, -1, -1, -1, -1, 144, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, + -1, -1, 69, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, + 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + -1, -1, -1, -1, -1, -1, 143, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, 63, -1, -1, - -1, -1, -1, 69, 70, 71, 72, 73, 74, 75, + -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, @@ -5900,13 +6006,13 @@ static const yytype_int16 yycheck[] = 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, + 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, - -1, -1, 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, @@ -5920,70 +6026,80 @@ static const yytype_int16 yycheck[] = 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, - -1, -1, 106, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, + 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, -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, + -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, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, 134, 135, 136, -1, -1, -1, 19, 141, 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, 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, 91, + -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, 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, + 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -1, -1, 134, 135, 136, -1, 19, 139, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -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, 134, 135, 136, -1, - -1, -1, 19, 141, 21, 22, 23, 24, -1, -1, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -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, + 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, 12, -1, -1, -1, 134, 135, 136, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, + 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, 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, @@ -6018,7 +6134,7 @@ static const yytype_int16 yycheck[] = -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, + 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, @@ -6030,7 +6146,7 @@ static const yytype_int16 yycheck[] = 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, + 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, @@ -6054,7 +6170,7 @@ static const yytype_int16 yycheck[] = 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, + -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, @@ -6065,7 +6181,7 @@ static const yytype_int16 yycheck[] = 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, 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, @@ -6077,7 +6193,7 @@ static const yytype_int16 yycheck[] = -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, -1, -1, 102, -1, 104, + 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, @@ -6124,7 +6240,7 @@ static const yytype_int16 yycheck[] = 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, 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, @@ -6136,7 +6252,7 @@ static const yytype_int16 yycheck[] = -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + 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, @@ -6144,118 +6260,89 @@ static const yytype_int16 yycheck[] = -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, 58, 59, 60, -1, -1, 63, -1, 16, 66, + 67, -1, 69, 70, 71, -1, -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + -1, -1, 40, 41, 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, 16, 66, 67, -1, 69, 70, - 71, -1, -1, -1, 26, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, 40, 41, - 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, - -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, -1, 134, 135, 136, 88, 89, 90, -1, - 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, 105, -1, -1, -1, -1, 16, -1, - -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 40, 41, -1, -1, 138, -1, 140, 141, - 142, -1, 144, -1, 146, 147, 148, -1, -1, 57, - -1, -1, 60, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, 16, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, 107, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, 40, 41, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, 140, 141, 142, -1, -1, -1, 146, 147, - 148, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, 16, -1, + 78, 79, 80, 81, 82, 83, -1, 134, 135, 136, + 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, 40, 41, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, 140, 141, 142, -1, -1, -1, 146, 147, - 148, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, 16, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, 40, 41, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, 140, 141, 142, -1, -1, -1, 146, 147, - 148, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, 16, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, 40, 41, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, 140, 141, 142, -1, -1, -1, 146, 147, - 148, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, -1, 140, 141, 142, -1, -1, -1, 146, 147, - 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, + -1, -1, 16, -1, -1, -1, -1, 115, -1, -1, + 118, 119, 26, 121, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 40, 41, -1, -1, + 138, 139, 140, 141, 142, -1, 144, -1, 146, 147, + 148, -1, -1, -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, 16, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 40, 41, -1, -1, 138, 139, 140, 141, 142, -1, + 144, -1, 146, 147, 148, -1, -1, 57, -1, -1, + 60, -1, -1, 63, -1, -1, -1, -1, -1, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, 107, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, -1, -1, 93, -1, -1, -1, -1, -1, -1, + -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, + -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, -1, -1, 146, 147, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, + -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, 100, -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, @@ -6278,7 +6365,7 @@ static const yytype_int16 yycheck[] = 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, + -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, @@ -6289,7 +6376,7 @@ static const yytype_int16 yycheck[] = -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, 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, @@ -6321,232 +6408,256 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - -1, -1, -1, -1, 26, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -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, - 51, 52, -1, 138, 55, 140, 141, 142, -1, 144, - -1, 146, 147, 148, -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, 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, 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, 91, -1, -1, 94, 95, + -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, -1, -1, -1, 19, 134, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, + -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, + -1, -1, 104, 57, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, -1, -1, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, 134, -1, 88, 89, 90, -1, 92, 93, + -1, -1, -1, -1, -1, -1, -1, 101, -1, 26, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, 140, 141, 142, -1, + 144, -1, 146, 147, 148, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, 90, -1, 92, -1, -1, -1, -1, + -1, -1, -1, -1, 101, -1, 26, -1, 105, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, + -1, 118, 119, -1, 121, 122, -1, 124, 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, -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, 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, 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, - -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, + 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, - -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, -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, 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, 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, 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, - -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, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, - -1, -1, 143, 72, 73, 74, 75, 76, 77, 78, + -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, 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, - -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, 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, -1, 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, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -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, + -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, -1, -1, -1, 93, -1, -1, -1, -1, + -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -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, + 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, -1, -1, -1, -1, -1, -1, -1, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, - 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, - -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, - -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, - -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133 + -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 @@ -6561,11 +6672,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, 164, 166, 168, 169, 172, 173, 175, - 176, 177, 179, 180, 189, 203, 220, 241, 242, 262, - 263, 264, 268, 269, 270, 276, 277, 278, 280, 281, - 282, 283, 284, 285, 321, 334, 0, 154, 21, 22, + 176, 177, 179, 180, 189, 203, 220, 241, 242, 267, + 268, 269, 273, 274, 275, 281, 282, 283, 285, 286, + 287, 288, 289, 290, 326, 339, 0, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 164, 166, 181, 182, 203, 220, 282, 285, 321, + 134, 164, 166, 181, 182, 203, 220, 287, 290, 326, 182, 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, @@ -6573,103 +6684,106 @@ 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, 183, 187, 188, 284, 316, - 204, 91, 163, 164, 166, 167, 180, 189, 220, 282, - 283, 285, 167, 210, 212, 69, 91, 173, 180, 220, - 225, 282, 285, 33, 34, 35, 36, 48, 49, 50, - 51, 55, 106, 183, 184, 185, 278, 115, 118, 119, - 146, 148, 167, 272, 273, 274, 327, 331, 332, 333, + 133, 135, 136, 143, 144, 183, 187, 188, 289, 321, + 204, 91, 163, 164, 166, 167, 180, 189, 220, 287, + 288, 290, 167, 210, 212, 69, 91, 173, 180, 220, + 225, 287, 290, 33, 34, 35, 36, 48, 49, 50, + 51, 55, 106, 183, 184, 185, 283, 115, 118, 119, + 146, 148, 167, 277, 278, 279, 332, 336, 337, 338, 51, 69, 100, 102, 103, 135, 172, 189, 195, 198, - 201, 264, 319, 320, 195, 195, 144, 192, 193, 196, - 197, 334, 192, 197, 144, 328, 184, 155, 138, 189, + 201, 269, 324, 325, 195, 195, 144, 192, 193, 196, + 197, 339, 192, 197, 144, 333, 184, 155, 138, 189, 220, 189, 189, 189, 55, 1, 94, 157, 158, 160, - 174, 175, 334, 205, 207, 190, 201, 319, 334, 189, - 318, 319, 334, 91, 142, 179, 220, 282, 285, 208, - 53, 54, 56, 63, 69, 107, 183, 279, 63, 64, - 65, 116, 117, 265, 266, 61, 265, 62, 265, 63, - 265, 63, 265, 58, 59, 168, 189, 189, 327, 333, + 174, 175, 339, 205, 207, 190, 201, 324, 339, 189, + 323, 324, 339, 91, 142, 179, 220, 287, 290, 208, + 53, 54, 56, 63, 69, 107, 183, 284, 63, 64, + 65, 116, 117, 270, 271, 61, 270, 62, 270, 63, + 270, 63, 270, 58, 59, 168, 189, 189, 332, 338, 40, 41, 42, 43, 44, 37, 38, 51, 53, 54, 55, 56, 69, 83, 94, 100, 101, 102, 103, 128, - 131, 144, 288, 289, 290, 291, 292, 295, 296, 297, - 298, 300, 301, 302, 303, 305, 306, 307, 310, 311, - 312, 313, 314, 334, 288, 290, 28, 240, 121, 142, + 131, 144, 293, 294, 295, 296, 297, 300, 301, 302, + 303, 305, 306, 307, 308, 310, 311, 312, 315, 316, + 317, 318, 319, 339, 293, 295, 28, 240, 121, 142, 94, 100, 176, 121, 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, 325, 90, 325, 326, 26, - 138, 244, 264, 92, 92, 192, 197, 244, 163, 51, - 55, 181, 58, 59, 289, 125, 286, 90, 140, 325, - 219, 317, 90, 147, 324, 156, 157, 55, 288, 288, - 16, 221, 331, 121, 90, 140, 325, 92, 92, 221, - 167, 167, 55, 90, 140, 325, 25, 107, 142, 275, - 327, 115, 274, 20, 246, 331, 57, 57, 189, 189, - 189, 93, 142, 199, 200, 334, 57, 199, 200, 85, - 194, 195, 201, 319, 334, 195, 163, 327, 329, 163, - 332, 159, 138, 157, 90, 325, 92, 160, 174, 145, - 327, 333, 329, 160, 329, 141, 200, 330, 333, 200, - 330, 139, 330, 55, 176, 177, 178, 142, 90, 140, - 325, 144, 237, 300, 305, 63, 265, 267, 271, 272, - 63, 266, 61, 62, 63, 63, 101, 101, 154, 167, - 167, 167, 167, 160, 163, 163, 57, 121, 57, 331, - 304, 85, 300, 305, 121, 156, 189, 142, 315, 334, - 51, 142, 315, 331, 142, 299, 189, 142, 299, 51, - 142, 299, 51, 121, 156, 239, 100, 168, 189, 201, + 133, 90, 105, 140, 147, 330, 90, 330, 331, 26, + 138, 244, 269, 92, 92, 192, 197, 244, 163, 51, + 55, 181, 58, 59, 294, 125, 291, 90, 140, 330, + 219, 322, 90, 147, 329, 156, 157, 55, 293, 293, + 16, 221, 336, 121, 90, 140, 330, 92, 92, 221, + 167, 167, 55, 90, 140, 330, 25, 107, 142, 280, + 332, 115, 279, 20, 246, 336, 57, 57, 189, 189, + 189, 93, 142, 199, 200, 339, 57, 199, 200, 85, + 194, 195, 201, 324, 339, 195, 163, 332, 334, 163, + 337, 159, 138, 157, 90, 330, 92, 160, 174, 145, + 332, 338, 334, 160, 334, 141, 200, 335, 338, 200, + 335, 139, 335, 55, 176, 177, 178, 142, 90, 140, + 330, 144, 237, 305, 310, 63, 270, 272, 276, 277, + 63, 271, 61, 62, 63, 63, 101, 101, 154, 167, + 167, 167, 167, 160, 163, 163, 57, 121, 57, 336, + 309, 85, 305, 310, 121, 156, 189, 142, 320, 339, + 51, 142, 320, 336, 142, 304, 189, 142, 304, 51, + 142, 304, 51, 121, 156, 239, 100, 168, 189, 201, 202, 174, 142, 179, 142, 161, 162, 168, 180, 189, - 191, 202, 220, 285, 189, 189, 189, 189, 189, 189, + 191, 202, 220, 290, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 51, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 51, 52, 55, 187, 192, 322, 323, 194, 201, - 51, 52, 55, 187, 192, 322, 51, 55, 322, 245, - 243, 162, 189, 191, 162, 191, 99, 171, 217, 287, - 216, 51, 55, 181, 322, 194, 322, 156, 163, 165, - 15, 13, 258, 334, 121, 121, 157, 16, 51, 55, - 194, 51, 55, 157, 27, 222, 331, 222, 51, 55, + 189, 51, 52, 55, 187, 192, 327, 328, 194, 201, + 51, 52, 55, 187, 192, 327, 51, 55, 327, 245, + 243, 162, 189, 191, 162, 191, 99, 171, 217, 292, + 216, 51, 55, 181, 327, 194, 327, 156, 163, 165, + 15, 13, 263, 339, 121, 121, 157, 16, 51, 55, + 194, 51, 55, 157, 27, 222, 336, 222, 51, 55, 194, 51, 55, 214, 186, 157, 25, 246, 189, 201, - 15, 189, 189, 189, 328, 100, 189, 198, 319, 189, - 320, 329, 145, 327, 200, 200, 329, 145, 184, 152, - 139, 191, 329, 160, 206, 319, 176, 178, 51, 55, - 194, 51, 55, 300, 209, 142, 63, 157, 272, 189, - 189, 51, 69, 100, 226, 305, 329, 329, 142, 172, - 189, 15, 51, 69, 292, 297, 314, 85, 298, 303, - 310, 312, 305, 307, 312, 51, 305, 172, 189, 15, - 79, 126, 231, 233, 334, 189, 200, 329, 178, 142, - 44, 121, 44, 90, 140, 325, 328, 92, 92, 192, + 15, 189, 189, 189, 333, 100, 189, 198, 324, 189, + 325, 334, 145, 332, 200, 200, 334, 145, 184, 152, + 139, 191, 334, 160, 206, 324, 176, 178, 51, 55, + 194, 51, 55, 305, 209, 142, 63, 157, 277, 189, + 189, 51, 69, 100, 226, 310, 334, 334, 142, 172, + 189, 15, 51, 69, 297, 302, 319, 85, 303, 308, + 315, 317, 310, 312, 317, 51, 310, 172, 189, 15, + 79, 126, 231, 233, 339, 189, 200, 334, 178, 142, + 44, 121, 44, 90, 140, 330, 333, 92, 92, 192, 197, 141, 200, 92, 92, 193, 197, 193, 197, 231, - 231, 170, 331, 167, 156, 141, 15, 329, 183, 189, - 202, 259, 334, 18, 224, 334, 17, 223, 224, 92, + 231, 170, 336, 167, 156, 141, 15, 334, 183, 189, + 202, 264, 339, 18, 224, 339, 17, 223, 224, 92, 92, 141, 92, 92, 224, 211, 213, 141, 167, 184, - 139, 34, 35, 36, 51, 55, 63, 91, 97, 220, - 249, 250, 251, 252, 253, 257, 277, 281, 15, 200, - 221, 189, 199, 85, 319, 139, 329, 330, 141, 234, - 328, 29, 113, 238, 139, 142, 302, 329, 142, 85, - 44, 44, 315, 331, 142, 299, 142, 299, 142, 299, - 142, 299, 299, 44, 44, 228, 230, 232, 291, 293, - 294, 297, 305, 306, 308, 309, 312, 314, 156, 100, - 189, 178, 160, 189, 51, 55, 194, 51, 55, 57, - 123, 162, 191, 168, 191, 171, 92, 162, 191, 162, - 191, 171, 244, 240, 156, 157, 231, 218, 331, 15, - 93, 260, 334, 157, 14, 261, 334, 167, 15, 92, - 15, 157, 157, 222, 55, 51, 91, 100, 141, 220, - 249, 254, 255, 256, 90, 40, 41, 221, 93, 126, - 189, 157, 329, 200, 145, 146, 156, 157, 227, 142, - 100, 329, 189, 189, 305, 312, 305, 305, 189, 189, - 234, 234, 91, 220, 142, 315, 315, 142, 229, 220, + 139, 34, 35, 36, 51, 55, 63, 91, 97, 98, + 220, 249, 250, 251, 252, 253, 257, 262, 282, 286, + 15, 200, 221, 189, 199, 85, 324, 139, 334, 335, + 141, 234, 333, 29, 113, 238, 139, 142, 307, 334, + 142, 85, 44, 44, 320, 336, 142, 304, 142, 304, + 142, 304, 142, 304, 304, 44, 44, 228, 230, 232, + 296, 298, 299, 302, 310, 311, 313, 314, 317, 319, + 156, 100, 189, 178, 160, 189, 51, 55, 194, 51, + 55, 57, 123, 162, 191, 168, 191, 171, 92, 162, + 191, 162, 191, 171, 244, 240, 156, 157, 231, 218, + 336, 15, 93, 265, 339, 157, 14, 266, 339, 167, + 15, 92, 15, 157, 157, 222, 55, 51, 91, 100, + 141, 220, 249, 254, 255, 256, 51, 102, 139, 258, + 259, 260, 261, 282, 90, 40, 41, 221, 93, 126, + 189, 157, 334, 200, 145, 146, 156, 157, 227, 142, + 100, 334, 189, 189, 310, 317, 310, 310, 189, 189, + 234, 234, 91, 220, 142, 320, 320, 142, 229, 220, 142, 229, 142, 229, 15, 189, 141, 189, 189, 162, - 191, 15, 139, 157, 156, 91, 180, 220, 282, 285, + 191, 15, 139, 157, 156, 91, 180, 220, 287, 290, 221, 157, 221, 15, 15, 215, 55, 51, 90, 141, - 142, 142, 51, 55, 167, 167, 157, 51, 252, 224, - 246, 247, 51, 235, 236, 301, 15, 139, 305, 305, - 142, 302, 299, 142, 299, 299, 299, 126, 126, 55, - 90, 293, 297, 142, 228, 229, 309, 312, 305, 308, - 312, 305, 139, 15, 55, 90, 140, 325, 157, 157, - 157, 55, 100, 249, 256, 255, 221, 221, 25, 224, - 248, 142, 328, 142, 305, 142, 305, 55, 315, 142, - 229, 142, 229, 142, 229, 142, 229, 229, 51, 55, - 194, 51, 55, 258, 223, 15, 51, 142, 142, 157, - 157, 249, 15, 236, 305, 299, 305, 312, 305, 305, - 141, 255, 248, 248, 40, 41, 221, 229, 142, 229, - 229, 229, 15, 15, 167, 167, 157, 305, 221, 221, - 248, 229, 157, 157, 248, 248 + 142, 142, 57, 34, 51, 139, 142, 93, 51, 55, + 167, 167, 157, 51, 252, 224, 246, 247, 51, 235, + 236, 306, 15, 139, 310, 310, 142, 307, 304, 142, + 304, 304, 304, 126, 126, 55, 90, 298, 302, 142, + 228, 229, 314, 317, 310, 313, 317, 310, 139, 15, + 55, 90, 140, 330, 157, 157, 157, 55, 100, 249, + 256, 255, 249, 51, 102, 260, 261, 282, 249, 221, + 221, 25, 224, 248, 142, 333, 142, 310, 142, 310, + 55, 320, 142, 229, 142, 229, 142, 229, 142, 229, + 229, 51, 55, 194, 51, 55, 263, 223, 15, 51, + 142, 142, 57, 34, 51, 157, 157, 249, 15, 236, + 310, 304, 310, 317, 310, 310, 141, 255, 248, 248, + 40, 41, 221, 229, 142, 229, 229, 229, 15, 15, + 167, 167, 157, 310, 221, 221, 248, 229, 157, 157, + 248, 248 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -6719,28 +6833,29 @@ static const yytype_int16 yyr1[] = 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 244, 245, 244, 246, 247, 247, 248, 248, 248, 248, 249, 250, 250, 251, 251, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 253, 253, 254, 254, - 254, 254, 254, 255, 255, 256, 256, 257, 258, 258, - 259, 259, 259, 260, 260, 261, 261, 262, 262, 262, - 262, 263, 263, 264, 264, 264, 264, 265, 265, 266, - 267, 266, 266, 266, 268, 268, 269, 269, 270, 271, - 271, 272, 272, 273, 273, 274, 275, 274, 276, 276, - 277, 277, 277, 278, 279, 279, 279, 279, 279, 279, - 280, 280, 281, 281, 281, 281, 282, 282, 282, 282, - 282, 283, 283, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 285, 285, 286, 287, 286, 288, 288, 289, - 289, 289, 290, 290, 290, 290, 291, 291, 292, 292, - 293, 293, 294, 294, 295, 295, 296, 296, 297, 297, - 298, 298, 298, 298, 299, 299, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 301, 301, 301, 301, 301, 302, 302, 303, 304, - 303, 305, 305, 306, 307, 308, 309, 309, 310, 310, - 311, 311, 312, 312, 313, 313, 314, 314, 315, 315, - 316, 317, 316, 318, 318, 319, 319, 320, 320, 320, - 320, 320, 320, 320, 320, 321, 321, 321, 322, 322, - 322, 322, 323, 323, 323, 324, 324, 325, 325, 326, - 326, 327, 327, 328, 328, 329, 330, 330, 330, 331, - 331, 332, 332, 333, 333, 334 + 252, 252, 252, 252, 252, 252, 252, 253, 253, 254, + 254, 254, 254, 254, 255, 255, 256, 256, 257, 257, + 258, 258, 258, 259, 259, 260, 260, 260, 261, 261, + 261, 262, 263, 263, 264, 264, 264, 265, 265, 266, + 266, 267, 267, 267, 267, 268, 268, 269, 269, 269, + 269, 270, 270, 271, 272, 271, 271, 271, 273, 273, + 274, 274, 275, 276, 276, 277, 277, 278, 278, 279, + 280, 279, 281, 281, 282, 282, 282, 283, 284, 284, + 284, 284, 284, 284, 285, 285, 286, 286, 286, 286, + 287, 287, 287, 287, 287, 288, 288, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 290, 290, 291, 292, + 291, 293, 293, 294, 294, 294, 295, 295, 295, 295, + 296, 296, 297, 297, 298, 298, 299, 299, 300, 300, + 301, 301, 302, 302, 303, 303, 303, 303, 304, 304, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 306, 306, 306, 306, 306, + 307, 307, 308, 309, 308, 310, 310, 311, 312, 313, + 314, 314, 315, 315, 316, 316, 317, 317, 318, 318, + 319, 319, 320, 320, 321, 322, 321, 323, 323, 324, + 324, 325, 325, 325, 325, 325, 325, 325, 325, 326, + 326, 326, 327, 327, 327, 327, 328, 328, 328, 329, + 329, 330, 330, 331, 331, 332, 332, 333, 333, 334, + 335, 335, 335, 336, 336, 337, 337, 338, 338, 339 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -6790,28 +6905,29 @@ static const yytype_int8 yyr2[] = 2, 4, 4, 3, 3, 3, 2, 1, 4, 0, 5, 0, 5, 5, 1, 1, 1, 5, 7, 7, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 1, 3, 2, 1, 3, - 5, 1, 3, 1, 3, 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, 3, 2, 1, 1, 3, 2, 1, + 3, 5, 1, 3, 1, 3, 2, 1, 3, 2, + 1, 3, 1, 1, 3, 3, 2, 3, 2, 2, + 1, 1, 6, 1, 1, 1, 1, 2, 1, 2, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, + 3, 1, 2, 1, 0, 4, 1, 2, 2, 3, + 2, 3, 1, 1, 2, 1, 2, 1, 2, 1, + 0, 4, 2, 3, 1, 4, 2, 2, 1, 1, + 1, 1, 1, 2, 2, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 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, 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, 0, 1, 0, 2, 2, 0, 1, 1, 1, - 1, 1, 1, 1, 2, 0 + 1, 1, 1, 1, 1, 0, 1, 0, 2, 2, + 0, 1, 1, 1, 1, 1, 1, 1, 2, 0 }; @@ -7478,7 +7594,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7598 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -7691,84 +7807,84 @@ yyreduce: switch (yyn) { case 2: /* $@1: %empty */ -#line 2137 "mrbgems/mruby-compiler/core/parse.y" +#line 2147 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ -#line 2142 "mrbgems/mruby-compiler/core/parse.y" +#line 2152 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7824 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ -#line 2148 "mrbgems/mruby-compiler/core/parse.y" +#line 2158 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ -#line 2154 "mrbgems/mruby-compiler/core/parse.y" +#line 2164 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ -#line 2158 "mrbgems/mruby-compiler/core/parse.y" +#line 2168 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ -#line 2162 "mrbgems/mruby-compiler/core/parse.y" +#line 2172 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ -#line 2166 "mrbgems/mruby-compiler/core/parse.y" +#line 2176 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ -#line 2173 "mrbgems/mruby-compiler/core/parse.y" +#line 2183 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 7757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7873 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ -#line 2178 "mrbgems/mruby-compiler/core/parse.y" +#line 2188 "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 7768 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7884 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ -#line 2190 "mrbgems/mruby-compiler/core/parse.y" +#line 2200 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -7789,89 +7905,89 @@ yyreduce: } } } -#line 7793 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ -#line 2213 "mrbgems/mruby-compiler/core/parse.y" +#line 2223 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7801 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7917 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ -#line 2219 "mrbgems/mruby-compiler/core/parse.y" +#line 2229 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7809 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7925 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ -#line 2223 "mrbgems/mruby-compiler/core/parse.y" +#line 2233 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7933 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ -#line 2227 "mrbgems/mruby-compiler/core/parse.y" +#line 2237 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7941 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ -#line 2231 "mrbgems/mruby-compiler/core/parse.y" +#line 2241 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7833 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7949 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ -#line 2236 "mrbgems/mruby-compiler/core/parse.y" +#line 2246 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7839 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7955 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ -#line 2237 "mrbgems/mruby-compiler/core/parse.y" +#line 2247 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 7847 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7963 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ -#line 2241 "mrbgems/mruby-compiler/core/parse.y" +#line 2251 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 7855 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7971 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ -#line 2245 "mrbgems/mruby-compiler/core/parse.y" +#line 2255 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 7863 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7979 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ -#line 2249 "mrbgems/mruby-compiler/core/parse.y" +#line 2259 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 7871 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7987 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ -#line 2253 "mrbgems/mruby-compiler/core/parse.y" +#line 2263 "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)); @@ -7880,11 +7996,11 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8000 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ -#line 2262 "mrbgems/mruby-compiler/core/parse.y" +#line 2272 "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)); @@ -7893,127 +8009,127 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 7897 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8013 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ -#line 2271 "mrbgems/mruby-compiler/core/parse.y" +#line 2281 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7905 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8021 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ -#line 2275 "mrbgems/mruby-compiler/core/parse.y" +#line 2285 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 7914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8030 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ -#line 2281 "mrbgems/mruby-compiler/core/parse.y" +#line 2291 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8038 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ -#line 2285 "mrbgems/mruby-compiler/core/parse.y" +#line 2295 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7930 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8046 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ -#line 2289 "mrbgems/mruby-compiler/core/parse.y" +#line 2299 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7938 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8054 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ -#line 2293 "mrbgems/mruby-compiler/core/parse.y" +#line 2303 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 7946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8062 "mrbgems/mruby-compiler/core/y.tab.c" break; case 32: /* stmt: arg "=>" "local variable or method" */ -#line 2297 "mrbgems/mruby-compiler/core/parse.y" +#line 2307 "mrbgems/mruby-compiler/core/parse.y" { node *lhs = new_lvar(p, (yyvsp[0].id)); assignable(p, lhs); (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); } -#line 7956 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8072 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: /* command_asgn: lhs '=' command_rhs */ -#line 2306 "mrbgems/mruby-compiler/core/parse.y" +#line 2316 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8080 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: /* command_asgn: var_lhs tOP_ASGN command_rhs */ -#line 2310 "mrbgems/mruby-compiler/core/parse.y" +#line 2320 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7972 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8088 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ -#line 2314 "mrbgems/mruby-compiler/core/parse.y" +#line 2324 "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 7980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8096 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ -#line 2318 "mrbgems/mruby-compiler/core/parse.y" +#line 2328 "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 7988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8104 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ -#line 2322 "mrbgems/mruby-compiler/core/parse.y" +#line 2332 "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 7996 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8112 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ -#line 2326 "mrbgems/mruby-compiler/core/parse.y" +#line 2336 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 8005 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8121 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ -#line 2331 "mrbgems/mruby-compiler/core/parse.y" +#line 2341 "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 8013 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8129 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ -#line 2335 "mrbgems/mruby-compiler/core/parse.y" +#line 2345 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -8022,11 +8138,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2344 "mrbgems/mruby-compiler/core/parse.y" +#line 2354 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -8035,11 +8151,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8039 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8155 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ -#line 2353 "mrbgems/mruby-compiler/core/parse.y" +#line 2363 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -8048,11 +8164,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8168 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2362 "mrbgems/mruby-compiler/core/parse.y" +#line 2372 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -8061,79 +8177,79 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8181 "mrbgems/mruby-compiler/core/y.tab.c" break; case 45: /* command_asgn: backref tOP_ASGN command_rhs */ -#line 2371 "mrbgems/mruby-compiler/core/parse.y" +#line 2381 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8074 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8190 "mrbgems/mruby-compiler/core/y.tab.c" break; case 47: /* command_rhs: command_call "'rescue' modifier" stmt */ -#line 2379 "mrbgems/mruby-compiler/core/parse.y" +#line 2389 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8082 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8198 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: /* expr: expr "'and'" expr */ -#line 2387 "mrbgems/mruby-compiler/core/parse.y" +#line 2397 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8206 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: /* expr: expr "'or'" expr */ -#line 2391 "mrbgems/mruby-compiler/core/parse.y" +#line 2401 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8098 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8214 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: /* expr: "'not'" opt_nl expr */ -#line 2395 "mrbgems/mruby-compiler/core/parse.y" +#line 2405 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8106 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8222 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: /* expr: '!' command_call */ -#line 2399 "mrbgems/mruby-compiler/core/parse.y" +#line 2409 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8114 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8230 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: /* defn_head: "'def'" fname */ -#line 2406 "mrbgems/mruby-compiler/core/parse.y" +#line 2416 "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 8125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8241 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: /* $@4: %empty */ -#line 2415 "mrbgems/mruby-compiler/core/parse.y" +#line 2425 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 8133 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8249 "mrbgems/mruby-compiler/core/y.tab.c" break; case 57: /* defs_head: "'def'" singleton dot_or_colon $@4 fname */ -#line 2419 "mrbgems/mruby-compiler/core/parse.y" +#line 2429 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id)); p->cmdarg_stack = 0; @@ -8142,1054 +8258,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 8146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8262 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: /* expr_value: expr */ -#line 2430 "mrbgems/mruby-compiler/core/parse.y" +#line 2440 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 8157 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8273 "mrbgems/mruby-compiler/core/y.tab.c" break; case 62: /* block_command: block_call call_op2 operation2 command_args */ -#line 2444 "mrbgems/mruby-compiler/core/parse.y" +#line 2454 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8165 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8281 "mrbgems/mruby-compiler/core/y.tab.c" break; case 63: /* $@5: %empty */ -#line 2450 "mrbgems/mruby-compiler/core/parse.y" +#line 2460 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8174 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" break; case 64: /* cmd_brace_block: "{" $@5 opt_block_param compstmt '}' */ -#line 2457 "mrbgems/mruby-compiler/core/parse.y" +#line 2467 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8184 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8300 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: /* command: operation command_args */ -#line 2465 "mrbgems/mruby-compiler/core/parse.y" +#line 2475 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8308 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: /* command: operation command_args cmd_brace_block */ -#line 2469 "mrbgems/mruby-compiler/core/parse.y" +#line 2479 "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 8201 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: /* command: primary_value call_op operation2 command_args */ -#line 2474 "mrbgems/mruby-compiler/core/parse.y" +#line 2484 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8209 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: /* command: primary_value call_op operation2 command_args cmd_brace_block */ -#line 2478 "mrbgems/mruby-compiler/core/parse.y" +#line 2488 "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 8218 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8334 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: /* command: primary_value "::" operation2 command_args */ -#line 2483 "mrbgems/mruby-compiler/core/parse.y" +#line 2493 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8342 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: /* command: primary_value "::" operation2 command_args cmd_brace_block */ -#line 2487 "mrbgems/mruby-compiler/core/parse.y" +#line 2497 "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 8235 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8351 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: /* command: "'super'" command_args */ -#line 2492 "mrbgems/mruby-compiler/core/parse.y" +#line 2502 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8243 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8359 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: /* command: "'yield'" command_args */ -#line 2496 "mrbgems/mruby-compiler/core/parse.y" +#line 2506 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8251 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8367 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: /* command: "'return'" call_args */ -#line 2500 "mrbgems/mruby-compiler/core/parse.y" +#line 2510 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8375 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: /* command: "'break'" call_args */ -#line 2504 "mrbgems/mruby-compiler/core/parse.y" +#line 2514 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8383 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: /* command: "'next'" call_args */ -#line 2508 "mrbgems/mruby-compiler/core/parse.y" +#line 2518 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8275 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8391 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: /* mlhs: mlhs_basic */ -#line 2514 "mrbgems/mruby-compiler/core/parse.y" +#line 2524 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8283 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8399 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: /* mlhs: tLPAREN mlhs_inner rparen */ -#line 2518 "mrbgems/mruby-compiler/core/parse.y" +#line 2528 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8291 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8407 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: /* mlhs_inner: tLPAREN mlhs_inner rparen */ -#line 2525 "mrbgems/mruby-compiler/core/parse.y" +#line 2535 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8299 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8415 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: /* mlhs_basic: mlhs_list */ -#line 2531 "mrbgems/mruby-compiler/core/parse.y" +#line 2541 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8307 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8423 "mrbgems/mruby-compiler/core/y.tab.c" break; case 81: /* mlhs_basic: mlhs_list mlhs_item */ -#line 2535 "mrbgems/mruby-compiler/core/parse.y" +#line 2545 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 8315 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8431 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: /* mlhs_basic: mlhs_list "*" mlhs_node */ -#line 2539 "mrbgems/mruby-compiler/core/parse.y" +#line 2549 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8323 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8439 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ -#line 2543 "mrbgems/mruby-compiler/core/parse.y" +#line 2553 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8331 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8447 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: /* mlhs_basic: mlhs_list "*" */ -#line 2547 "mrbgems/mruby-compiler/core/parse.y" +#line 2557 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8339 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8455 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ -#line 2551 "mrbgems/mruby-compiler/core/parse.y" +#line 2561 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 8347 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 86: /* mlhs_basic: "*" mlhs_node */ -#line 2555 "mrbgems/mruby-compiler/core/parse.y" +#line 2565 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8355 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8471 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ -#line 2559 "mrbgems/mruby-compiler/core/parse.y" +#line 2569 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8363 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 88: /* mlhs_basic: "*" */ -#line 2563 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list2(0, new_nil(p)); - } -#line 8371 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 89: /* mlhs_basic: "*" ',' mlhs_post */ -#line 2567 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); - } -#line 8379 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 91: /* mlhs_item: tLPAREN mlhs_inner rparen */ -#line 2574 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); - } -#line 8387 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 92: /* mlhs_list: mlhs_item ',' */ -#line 2580 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[-1].nd)); - } -#line 8395 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 93: /* mlhs_list: mlhs_list mlhs_item ',' */ -#line 2584 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); - } -#line 8403 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 94: /* mlhs_post: mlhs_item */ -#line 2590 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 8411 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 95: /* mlhs_post: mlhs_list mlhs_item */ -#line 2594 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 8419 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 96: /* mlhs_node: variable */ -#line 2600 "mrbgems/mruby-compiler/core/parse.y" - { - assignable(p, (yyvsp[0].nd)); - } -#line 8427 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 97: /* mlhs_node: primary_value '[' opt_call_args ']' */ -#line 2604 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); - } -#line 8435 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 98: /* mlhs_node: primary_value call_op "local variable or method" */ -#line 2608 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 99: /* mlhs_node: primary_value "::" "local variable or method" */ -#line 2612 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); - } -#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 100: /* mlhs_node: primary_value call_op "constant" */ -#line 2616 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 101: /* mlhs_node: primary_value "::" "constant" */ -#line 2620 "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 8469 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 102: /* mlhs_node: tCOLON3 "constant" */ -#line 2626 "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 8479 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 103: /* mlhs_node: backref */ -#line 2632 "mrbgems/mruby-compiler/core/parse.y" + case 88: /* mlhs_basic: "*" */ +#line 2573 "mrbgems/mruby-compiler/core/parse.y" { - backref_error(p, (yyvsp[0].nd)); - (yyval.nd) = 0; + (yyval.nd) = list2(0, new_nil(p)); } -#line 8488 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8487 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 104: /* lhs: variable */ -#line 2639 "mrbgems/mruby-compiler/core/parse.y" + case 89: /* mlhs_basic: "*" ',' mlhs_post */ +#line 2577 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); + } +#line 8495 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 91: /* mlhs_item: tLPAREN mlhs_inner rparen */ +#line 2584 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); + } +#line 8503 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 92: /* mlhs_list: mlhs_item ',' */ +#line 2590 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[-1].nd)); + } +#line 8511 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 93: /* mlhs_list: mlhs_list mlhs_item ',' */ +#line 2594 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); + } +#line 8519 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 94: /* mlhs_post: mlhs_item */ +#line 2600 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 8527 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 95: /* mlhs_post: mlhs_list mlhs_item */ +#line 2604 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 8535 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 96: /* mlhs_node: variable */ +#line 2610 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8496 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8543 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 105: /* lhs: primary_value '[' opt_call_args ']' */ -#line 2643 "mrbgems/mruby-compiler/core/parse.y" + case 97: /* mlhs_node: primary_value '[' opt_call_args ']' */ +#line 2614 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8504 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8551 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 106: /* lhs: primary_value call_op "local variable or method" */ -#line 2647 "mrbgems/mruby-compiler/core/parse.y" + case 98: /* mlhs_node: primary_value call_op "local variable or method" */ +#line 2618 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8512 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8559 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 107: /* lhs: primary_value "::" "local variable or method" */ -#line 2651 "mrbgems/mruby-compiler/core/parse.y" + case 99: /* mlhs_node: primary_value "::" "local variable or method" */ +#line 2622 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8520 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8567 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 108: /* lhs: primary_value call_op "constant" */ -#line 2655 "mrbgems/mruby-compiler/core/parse.y" + case 100: /* mlhs_node: primary_value call_op "constant" */ +#line 2626 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8528 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8575 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 109: /* lhs: primary_value "::" "constant" */ -#line 2659 "mrbgems/mruby-compiler/core/parse.y" + case 101: /* mlhs_node: primary_value "::" "constant" */ +#line 2630 "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 8538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8585 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 110: /* lhs: tCOLON3 "constant" */ -#line 2665 "mrbgems/mruby-compiler/core/parse.y" + case 102: /* mlhs_node: tCOLON3 "constant" */ +#line 2636 "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 8548 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8595 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 111: /* lhs: backref */ -#line 2671 "mrbgems/mruby-compiler/core/parse.y" + case 103: /* mlhs_node: backref */ +#line 2642 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8557 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8604 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 104: /* lhs: variable */ +#line 2649 "mrbgems/mruby-compiler/core/parse.y" + { + assignable(p, (yyvsp[0].nd)); + } +#line 8612 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 105: /* lhs: primary_value '[' opt_call_args ']' */ +#line 2653 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + } +#line 8620 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 106: /* lhs: primary_value call_op "local variable or method" */ +#line 2657 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8628 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 107: /* lhs: primary_value "::" "local variable or method" */ +#line 2661 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + } +#line 8636 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 108: /* lhs: primary_value call_op "constant" */ +#line 2665 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 109: /* lhs: primary_value "::" "constant" */ +#line 2669 "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 8654 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 110: /* lhs: tCOLON3 "constant" */ +#line 2675 "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 8664 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 111: /* lhs: backref */ +#line 2681 "mrbgems/mruby-compiler/core/parse.y" + { + backref_error(p, (yyvsp[0].nd)); + (yyval.nd) = 0; + } +#line 8673 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: /* lhs: "numbered parameter" */ -#line 2676 "mrbgems/mruby-compiler/core/parse.y" +#line 2686 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8565 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: /* cname: "local variable or method" */ -#line 2682 "mrbgems/mruby-compiler/core/parse.y" +#line 2692 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8573 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8689 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: /* cpath: tCOLON3 cname */ -#line 2689 "mrbgems/mruby-compiler/core/parse.y" +#line 2699 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8581 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: /* cpath: cname */ -#line 2693 "mrbgems/mruby-compiler/core/parse.y" +#line 2703 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8589 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8705 "mrbgems/mruby-compiler/core/y.tab.c" break; case 117: /* cpath: primary_value "::" cname */ -#line 2697 "mrbgems/mruby-compiler/core/parse.y" +#line 2707 "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 8598 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8714 "mrbgems/mruby-compiler/core/y.tab.c" break; case 121: /* fname: op */ -#line 2707 "mrbgems/mruby-compiler/core/parse.y" +#line 2717 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8607 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8723 "mrbgems/mruby-compiler/core/y.tab.c" break; case 122: /* fname: reswords */ -#line 2712 "mrbgems/mruby-compiler/core/parse.y" +#line 2722 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8616 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8732 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: /* undef_list: fsym */ -#line 2723 "mrbgems/mruby-compiler/core/parse.y" +#line 2733 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); } -#line 8624 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 126: /* $@6: %empty */ -#line 2726 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_FNAME;} -#line 8630 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 127: /* undef_list: undef_list ',' $@6 fsym */ -#line 2727 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); - } -#line 8638 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 128: /* op: '|' */ -#line 2732 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(or); } -#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 129: /* op: '^' */ -#line 2733 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(xor); } -#line 8650 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 130: /* op: '&' */ -#line 2734 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(and); } -#line 8656 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 131: /* op: "<=>" */ -#line 2735 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(cmp); } -#line 8662 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 132: /* op: "==" */ -#line 2736 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eq); } -#line 8668 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 133: /* op: "===" */ -#line 2737 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eqq); } -#line 8674 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 134: /* op: "=~" */ -#line 2738 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(match); } -#line 8680 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 135: /* op: "!~" */ -#line 2739 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(nmatch); } -#line 8686 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 136: /* op: '>' */ -#line 2740 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(gt); } -#line 8692 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 137: /* op: ">=" */ -#line 2741 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(ge); } -#line 8698 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 138: /* op: '<' */ -#line 2742 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lt); } -#line 8704 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 139: /* op: "<=" */ -#line 2743 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(le); } -#line 8710 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 140: /* op: "!=" */ -#line 2744 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neq); } -#line 8716 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 141: /* op: "<<" */ -#line 2745 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lshift); } -#line 8722 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 142: /* op: ">>" */ -#line 2746 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(rshift); } -#line 8728 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 143: /* op: '+' */ -#line 2747 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(add); } -#line 8734 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 144: /* op: '-' */ -#line 2748 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(sub); } #line 8740 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 145: /* op: '*' */ -#line 2749 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } + case 126: /* $@6: %empty */ +#line 2736 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_FNAME;} #line 8746 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 146: /* op: "*" */ -#line 2750 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } -#line 8752 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 147: /* op: '/' */ -#line 2751 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(div); } -#line 8758 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 148: /* op: '%' */ -#line 2752 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mod); } -#line 8764 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 149: /* op: tPOW */ -#line 2753 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } -#line 8770 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 150: /* op: "**" */ -#line 2754 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } -#line 8776 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 151: /* op: '!' */ -#line 2755 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(not); } -#line 8782 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 152: /* op: '~' */ -#line 2756 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neg); } -#line 8788 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 153: /* op: "unary plus" */ -#line 2757 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(plus); } -#line 8794 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 154: /* op: "unary minus" */ -#line 2758 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(minus); } -#line 8800 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 155: /* op: tAREF */ -#line 2759 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aref); } -#line 8806 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 156: /* op: tASET */ -#line 2760 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aset); } -#line 8812 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 157: /* op: '`' */ -#line 2761 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(tick); } -#line 8818 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 198: /* arg: lhs '=' arg_rhs */ -#line 2779 "mrbgems/mruby-compiler/core/parse.y" + case 127: /* undef_list: undef_list ',' $@6 fsym */ +#line 2737 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); } +#line 8754 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 128: /* op: '|' */ +#line 2742 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(or); } +#line 8760 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 129: /* op: '^' */ +#line 2743 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(xor); } +#line 8766 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 130: /* op: '&' */ +#line 2744 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(and); } +#line 8772 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 131: /* op: "<=>" */ +#line 2745 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(cmp); } +#line 8778 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 132: /* op: "==" */ +#line 2746 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(eq); } +#line 8784 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 133: /* op: "===" */ +#line 2747 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(eqq); } +#line 8790 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 134: /* op: "=~" */ +#line 2748 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(match); } +#line 8796 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 135: /* op: "!~" */ +#line 2749 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(nmatch); } +#line 8802 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 136: /* op: '>' */ +#line 2750 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(gt); } +#line 8808 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 137: /* op: ">=" */ +#line 2751 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(ge); } +#line 8814 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 138: /* op: '<' */ +#line 2752 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lt); } +#line 8820 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 139: /* op: "<=" */ +#line 2753 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(le); } #line 8826 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 199: /* arg: var_lhs tOP_ASGN arg_rhs */ -#line 2783 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); - } -#line 8834 "mrbgems/mruby-compiler/core/y.tab.c" + case 140: /* op: "!=" */ +#line 2754 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neq); } +#line 8832 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 200: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ -#line 2787 "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 8842 "mrbgems/mruby-compiler/core/y.tab.c" + case 141: /* op: "<<" */ +#line 2755 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lshift); } +#line 8838 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 201: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ -#line 2791 "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)); - } + case 142: /* op: ">>" */ +#line 2756 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(rshift); } +#line 8844 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 143: /* op: '+' */ +#line 2757 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(add); } #line 8850 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 202: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ -#line 2795 "mrbgems/mruby-compiler/core/parse.y" + case 144: /* op: '-' */ +#line 2758 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(sub); } +#line 8856 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 145: /* op: '*' */ +#line 2759 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } +#line 8862 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 146: /* op: "*" */ +#line 2760 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } +#line 8868 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 147: /* op: '/' */ +#line 2761 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(div); } +#line 8874 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 148: /* op: '%' */ +#line 2762 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mod); } +#line 8880 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 149: /* op: tPOW */ +#line 2763 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } +#line 8886 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 150: /* op: "**" */ +#line 2764 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } +#line 8892 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 151: /* op: '!' */ +#line 2765 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(not); } +#line 8898 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 152: /* op: '~' */ +#line 2766 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neg); } +#line 8904 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 153: /* op: "unary plus" */ +#line 2767 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(plus); } +#line 8910 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 154: /* op: "unary minus" */ +#line 2768 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(minus); } +#line 8916 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 155: /* op: tAREF */ +#line 2769 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aref); } +#line 8922 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 156: /* op: tASET */ +#line 2770 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aset); } +#line 8928 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 157: /* op: '`' */ +#line 2771 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(tick); } +#line 8934 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 198: /* arg: lhs '=' arg_rhs */ +#line 2789 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 8942 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 199: /* arg: var_lhs tOP_ASGN arg_rhs */ +#line 2793 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 8950 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 200: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ +#line 2797 "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 8958 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 201: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ +#line 2801 "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 8858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8966 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 202: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ +#line 2805 "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 8974 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ -#line 2799 "mrbgems/mruby-compiler/core/parse.y" +#line 2809 "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 8866 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8982 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ -#line 2803 "mrbgems/mruby-compiler/core/parse.y" +#line 2813 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8875 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8991 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ -#line 2808 "mrbgems/mruby-compiler/core/parse.y" +#line 2818 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9000 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: /* arg: backref tOP_ASGN arg_rhs */ -#line 2813 "mrbgems/mruby-compiler/core/parse.y" +#line 2823 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9009 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: /* arg: arg ".." arg */ -#line 2818 "mrbgems/mruby-compiler/core/parse.y" +#line 2828 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: /* arg: arg ".." */ -#line 2822 "mrbgems/mruby-compiler/core/parse.y" +#line 2832 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: /* arg: tBDOT2 arg */ -#line 2826 "mrbgems/mruby-compiler/core/parse.y" +#line 2836 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 8917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9033 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: /* arg: arg "..." arg */ -#line 2830 "mrbgems/mruby-compiler/core/parse.y" +#line 2840 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: /* arg: arg "..." */ -#line 2834 "mrbgems/mruby-compiler/core/parse.y" +#line 2844 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 8933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9049 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: /* arg: tBDOT3 arg */ -#line 2838 "mrbgems/mruby-compiler/core/parse.y" +#line 2848 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 8941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9057 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: /* arg: arg '+' arg */ -#line 2842 "mrbgems/mruby-compiler/core/parse.y" +#line 2852 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 8949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: /* arg: arg '-' arg */ -#line 2846 "mrbgems/mruby-compiler/core/parse.y" +#line 2856 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 8957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9073 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: /* arg: arg '*' arg */ -#line 2850 "mrbgems/mruby-compiler/core/parse.y" +#line 2860 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 8965 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9081 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: /* arg: arg '/' arg */ -#line 2854 "mrbgems/mruby-compiler/core/parse.y" +#line 2864 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 8973 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9089 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: /* arg: arg '%' arg */ -#line 2858 "mrbgems/mruby-compiler/core/parse.y" +#line 2868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 8981 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9097 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: /* arg: arg tPOW arg */ -#line 2862 "mrbgems/mruby-compiler/core/parse.y" +#line 2872 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 8989 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9105 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ -#line 2866 "mrbgems/mruby-compiler/core/parse.y" +#line 2876 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 8997 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9113 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: /* arg: tUMINUS_NUM "float literal" tPOW arg */ -#line 2870 "mrbgems/mruby-compiler/core/parse.y" +#line 2880 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9005 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9121 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: /* arg: "unary plus" arg */ -#line 2874 "mrbgems/mruby-compiler/core/parse.y" +#line 2884 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 9013 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9129 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: /* arg: "unary minus" arg */ -#line 2878 "mrbgems/mruby-compiler/core/parse.y" +#line 2888 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9021 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9137 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: /* arg: arg '|' arg */ -#line 2882 "mrbgems/mruby-compiler/core/parse.y" +#line 2892 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 9029 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9145 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: /* arg: arg '^' arg */ -#line 2886 "mrbgems/mruby-compiler/core/parse.y" +#line 2896 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 9037 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9153 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: /* arg: arg '&' arg */ -#line 2890 "mrbgems/mruby-compiler/core/parse.y" +#line 2900 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 9045 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9161 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: /* arg: arg "<=>" arg */ -#line 2894 "mrbgems/mruby-compiler/core/parse.y" +#line 2904 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 9053 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9169 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: /* arg: arg '>' arg */ -#line 2898 "mrbgems/mruby-compiler/core/parse.y" +#line 2908 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 9061 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9177 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: /* arg: arg ">=" arg */ -#line 2902 "mrbgems/mruby-compiler/core/parse.y" +#line 2912 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 9069 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9185 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: /* arg: arg '<' arg */ -#line 2906 "mrbgems/mruby-compiler/core/parse.y" +#line 2916 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 9077 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9193 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: /* arg: arg "<=" arg */ -#line 2910 "mrbgems/mruby-compiler/core/parse.y" +#line 2920 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 9085 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9201 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: /* arg: arg "==" arg */ -#line 2914 "mrbgems/mruby-compiler/core/parse.y" +#line 2924 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9209 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: /* arg: arg "===" arg */ -#line 2918 "mrbgems/mruby-compiler/core/parse.y" +#line 2928 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 9101 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9217 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: /* arg: arg "!=" arg */ -#line 2922 "mrbgems/mruby-compiler/core/parse.y" +#line 2932 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 9109 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9225 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: /* arg: arg "=~" arg */ -#line 2926 "mrbgems/mruby-compiler/core/parse.y" +#line 2936 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 9117 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9233 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: /* arg: arg "!~" arg */ -#line 2930 "mrbgems/mruby-compiler/core/parse.y" +#line 2940 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 9125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9241 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: /* arg: '!' arg */ -#line 2934 "mrbgems/mruby-compiler/core/parse.y" +#line 2944 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 9133 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9249 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: /* arg: '~' arg */ -#line 2938 "mrbgems/mruby-compiler/core/parse.y" +#line 2948 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 9141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9257 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: /* arg: arg "<<" arg */ -#line 2942 "mrbgems/mruby-compiler/core/parse.y" +#line 2952 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 9149 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9265 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: /* arg: arg ">>" arg */ -#line 2946 "mrbgems/mruby-compiler/core/parse.y" +#line 2956 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 9157 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9273 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: /* arg: arg "&&" arg */ -#line 2950 "mrbgems/mruby-compiler/core/parse.y" +#line 2960 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9165 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9281 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: /* arg: arg "||" arg */ -#line 2954 "mrbgems/mruby-compiler/core/parse.y" +#line 2964 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9289 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: /* arg: arg '?' arg opt_nl ':' arg */ -#line 2958 "mrbgems/mruby-compiler/core/parse.y" +#line 2968 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9297 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: /* arg: arg '?' arg opt_nl "label" arg */ -#line 2962 "mrbgems/mruby-compiler/core/parse.y" +#line 2972 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9305 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: /* arg: defn_head f_opt_arglist_paren '=' arg */ -#line 2966 "mrbgems/mruby-compiler/core/parse.y" +#line 2976 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -9198,11 +9314,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9202 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9318 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 2975 "mrbgems/mruby-compiler/core/parse.y" +#line 2985 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -9211,11 +9327,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9215 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9331 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: /* arg: defs_head f_opt_arglist_paren '=' arg */ -#line 2984 "mrbgems/mruby-compiler/core/parse.y" +#line 2994 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -9224,11 +9340,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9344 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 2993 "mrbgems/mruby-compiler/core/parse.y" +#line 3003 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -9237,68 +9353,68 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: /* arg: primary */ -#line 3002 "mrbgems/mruby-compiler/core/parse.y" +#line 3012 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9249 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: /* aref_args: args trailer */ -#line 3009 "mrbgems/mruby-compiler/core/parse.y" +#line 3019 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9257 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: /* aref_args: args comma assocs trailer */ -#line 3013 "mrbgems/mruby-compiler/core/parse.y" +#line 3023 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9265 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9381 "mrbgems/mruby-compiler/core/y.tab.c" break; case 252: /* aref_args: assocs trailer */ -#line 3017 "mrbgems/mruby-compiler/core/parse.y" +#line 3027 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9273 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9389 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: /* arg_rhs: arg */ -#line 3023 "mrbgems/mruby-compiler/core/parse.y" +#line 3033 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9281 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9397 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: /* arg_rhs: arg "'rescue' modifier" arg */ -#line 3027 "mrbgems/mruby-compiler/core/parse.y" +#line 3037 "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 9290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9406 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: /* paren_args: '(' opt_call_args ')' */ -#line 3034 "mrbgems/mruby-compiler/core/parse.y" +#line 3044 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9298 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9414 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: /* paren_args: '(' args comma tBDOT3 rparen */ -#line 3038 "mrbgems/mruby-compiler/core/parse.y" +#line 3048 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9307,11 +9423,11 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9311 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9427 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: /* paren_args: '(' tBDOT3 rparen */ -#line 3047 "mrbgems/mruby-compiler/core/parse.y" +#line 3057 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9326,390 +9442,390 @@ yyreduce: (yyval.nd) = 0; } } -#line 9330 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9446 "mrbgems/mruby-compiler/core/y.tab.c" break; case 262: /* opt_call_args: args comma */ -#line 3070 "mrbgems/mruby-compiler/core/parse.y" +#line 3080 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9338 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 263: /* opt_call_args: args comma assocs comma */ -#line 3074 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); - } -#line 9346 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 264: /* opt_call_args: assocs comma */ -#line 3078 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); - } -#line 9354 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 265: /* call_args: command */ -#line 3084 "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 9363 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 266: /* call_args: args opt_block_arg */ -#line 3089 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); - } -#line 9371 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 267: /* call_args: assocs opt_block_arg */ -#line 3093 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 9379 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 268: /* call_args: args comma assocs opt_block_arg */ -#line 3097 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 9387 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 269: /* call_args: block_arg */ -#line 3101 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); - } -#line 9395 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 270: /* @7: %empty */ -#line 3106 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - CMDARG_PUSH(1); - } -#line 9404 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 271: /* command_args: @7 call_args */ -#line 3111 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmdarg_stack = (yyvsp[-1].stack); - (yyval.nd) = (yyvsp[0].nd); - } -#line 9413 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 272: /* block_arg: "&" arg */ -#line 3118 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); - } -#line 9421 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 273: /* block_arg: "&" */ -#line 3122 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_block_arg(p, 0); - } -#line 9429 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 274: /* opt_block_arg: comma block_arg */ -#line 3128 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 9437 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 275: /* opt_block_arg: none */ -#line 3132 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 9445 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 277: /* args: arg */ -#line 3141 "mrbgems/mruby-compiler/core/parse.y" - { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = list1((yyvsp[0].nd)); - } #line 9454 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 278: /* args: "*" */ -#line 3146 "mrbgems/mruby-compiler/core/parse.y" + case 263: /* opt_call_args: args comma assocs comma */ +#line 3084 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); + (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } #line 9462 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 279: /* args: "*" arg */ -#line 3150 "mrbgems/mruby-compiler/core/parse.y" + case 264: /* opt_call_args: assocs comma */ +#line 3088 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } #line 9470 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 280: /* args: args comma arg */ -#line 3154 "mrbgems/mruby-compiler/core/parse.y" + case 265: /* call_args: command */ +#line 3094 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } #line 9479 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 281: /* args: args comma "*" */ -#line 3159 "mrbgems/mruby-compiler/core/parse.y" + case 266: /* call_args: args opt_block_arg */ +#line 3099 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); + (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } #line 9487 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 282: /* args: args comma "*" arg */ -#line 3163 "mrbgems/mruby-compiler/core/parse.y" + case 267: /* call_args: assocs opt_block_arg */ +#line 3103 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } #line 9495 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 283: /* mrhs: args comma arg */ -#line 3169 "mrbgems/mruby-compiler/core/parse.y" + case 268: /* call_args: args comma assocs opt_block_arg */ +#line 3107 "mrbgems/mruby-compiler/core/parse.y" { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9504 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9503 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 284: /* mrhs: args comma "*" arg */ -#line 3174 "mrbgems/mruby-compiler/core/parse.y" + case 269: /* call_args: block_arg */ +#line 3111 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9512 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9511 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 285: /* mrhs: "*" arg */ -#line 3178 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + case 270: /* @7: %empty */ +#line 3116 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + CMDARG_PUSH(1); } #line 9520 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 287: /* primary: string */ -#line 3185 "mrbgems/mruby-compiler/core/parse.y" + case 271: /* command_args: @7 call_args */ +#line 3121 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_str(p, (yyvsp[0].nd)); + p->cmdarg_stack = (yyvsp[-1].stack); + (yyval.nd) = (yyvsp[0].nd); } -#line 9528 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9529 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 288: /* primary: xstring */ -#line 3189 "mrbgems/mruby-compiler/core/parse.y" + case 272: /* block_arg: "&" arg */ +#line 3128 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); + (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9536 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 293: /* primary: "method" */ -#line 3197 "mrbgems/mruby-compiler/core/parse.y" + case 273: /* block_arg: "&" */ +#line 3132 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + (yyval.nd) = new_block_arg(p, 0); } -#line 9544 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9545 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 294: /* @8: %empty */ -#line 3201 "mrbgems/mruby-compiler/core/parse.y" + case 274: /* opt_block_arg: comma block_arg */ +#line 3138 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; + (yyval.nd) = (yyvsp[0].nd); } #line 9553 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 295: /* primary: "'begin'" @8 bodystmt "'end'" */ -#line 3207 "mrbgems/mruby-compiler/core/parse.y" + case 275: /* opt_block_arg: none */ +#line 3142 "mrbgems/mruby-compiler/core/parse.y" { - p->cmdarg_stack = (yyvsp[-2].stack); - (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); + (yyval.nd) = 0; } -#line 9562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9561 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 296: /* @9: %empty */ -#line 3212 "mrbgems/mruby-compiler/core/parse.y" + case 277: /* args: arg */ +#line 3151 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 297: /* $@10: %empty */ -#line 3216 "mrbgems/mruby-compiler/core/parse.y" - {p->lstate = EXPR_ENDARG;} -#line 9577 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 298: /* primary: "(" @9 stmt $@10 rparen */ -#line 3217 "mrbgems/mruby-compiler/core/parse.y" + case 278: /* args: "*" */ +#line 3156 "mrbgems/mruby-compiler/core/parse.y" { - p->cmdarg_stack = (yyvsp[-3].stack); - (yyval.nd) = (yyvsp[-2].nd); + (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); + } +#line 9578 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 279: /* args: "*" arg */ +#line 3160 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } #line 9586 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 280: /* args: args comma arg */ +#line 3164 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 281: /* args: args comma "*" */ +#line 3169 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); + } +#line 9603 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 282: /* args: args comma "*" arg */ +#line 3173 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + } +#line 9611 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 283: /* mrhs: args comma arg */ +#line 3179 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9620 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 284: /* mrhs: args comma "*" arg */ +#line 3184 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + } +#line 9628 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 285: /* mrhs: "*" arg */ +#line 3188 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + } +#line 9636 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 287: /* primary: string */ +#line 3195 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_str(p, (yyvsp[0].nd)); + } +#line 9644 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 288: /* primary: xstring */ +#line 3199 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); + } +#line 9652 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 293: /* primary: "method" */ +#line 3207 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + } +#line 9660 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 294: /* @8: %empty */ +#line 3211 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9669 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 295: /* primary: "'begin'" @8 bodystmt "'end'" */ +#line 3217 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmdarg_stack = (yyvsp[-2].stack); + (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); + } +#line 9678 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 296: /* @9: %empty */ +#line 3222 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9687 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 297: /* $@10: %empty */ +#line 3226 "mrbgems/mruby-compiler/core/parse.y" + {p->lstate = EXPR_ENDARG;} +#line 9693 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 298: /* primary: "(" @9 stmt $@10 rparen */ +#line 3227 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmdarg_stack = (yyvsp[-3].stack); + (yyval.nd) = (yyvsp[-2].nd); + } +#line 9702 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 299: /* $@11: %empty */ -#line 3221 "mrbgems/mruby-compiler/core/parse.y" +#line 3231 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9592 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: /* primary: "(" $@11 rparen */ -#line 3222 "mrbgems/mruby-compiler/core/parse.y" +#line 3232 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 9600 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9716 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: /* primary: tLPAREN compstmt ')' */ -#line 3226 "mrbgems/mruby-compiler/core/parse.y" +#line 3236 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9608 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9724 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: /* primary: primary_value "::" "constant" */ -#line 3230 "mrbgems/mruby-compiler/core/parse.y" +#line 3240 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 9616 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9732 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: /* primary: tCOLON3 "constant" */ -#line 3234 "mrbgems/mruby-compiler/core/parse.y" +#line 3244 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9624 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9740 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: /* primary: "[" aref_args ']' */ -#line 3238 "mrbgems/mruby-compiler/core/parse.y" +#line 3248 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9632 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9748 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: /* primary: tLBRACE assoc_list '}' */ -#line 3242 "mrbgems/mruby-compiler/core/parse.y" +#line 3252 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9640 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9756 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: /* primary: "'return'" */ -#line 3246 "mrbgems/mruby-compiler/core/parse.y" +#line 3256 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 9648 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9764 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: /* primary: "'yield'" opt_paren_args */ -#line 3250 "mrbgems/mruby-compiler/core/parse.y" +#line 3260 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9656 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9772 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: /* primary: "'not'" '(' expr rparen */ -#line 3254 "mrbgems/mruby-compiler/core/parse.y" +#line 3264 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9664 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9780 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: /* primary: "'not'" '(' rparen */ -#line 3258 "mrbgems/mruby-compiler/core/parse.y" +#line 3268 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9672 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9788 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: /* primary: operation brace_block */ -#line 3262 "mrbgems/mruby-compiler/core/parse.y" +#line 3272 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9680 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9796 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: /* primary: method_call brace_block */ -#line 3267 "mrbgems/mruby-compiler/core/parse.y" +#line 3277 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9805 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: /* @12: %empty */ -#line 3272 "mrbgems/mruby-compiler/core/parse.y" +#line 3282 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 314: /* @13: %empty */ -#line 3279 "mrbgems/mruby-compiler/core/parse.y" +#line 3289 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9709 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9825 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: /* primary: "->" @12 f_larglist @13 lambda_body */ -#line 3284 "mrbgems/mruby-compiler/core/parse.y" +#line 3294 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -9718,176 +9834,176 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9722 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9838 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ -#line 3296 "mrbgems/mruby-compiler/core/parse.y" +#line 3306 "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 9731 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9847 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ -#line 3304 "mrbgems/mruby-compiler/core/parse.y" +#line 3314 "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 9740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: /* $@14: %empty */ -#line 3308 "mrbgems/mruby-compiler/core/parse.y" +#line 3318 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9862 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: /* $@15: %empty */ -#line 3308 "mrbgems/mruby-compiler/core/parse.y" +#line 3318 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9752 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9868 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: /* primary: "'while'" $@14 expr_value do $@15 compstmt "'end'" */ -#line 3311 "mrbgems/mruby-compiler/core/parse.y" +#line 3321 "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 9761 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9877 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: /* $@16: %empty */ -#line 3315 "mrbgems/mruby-compiler/core/parse.y" +#line 3325 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9883 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: /* $@17: %empty */ -#line 3315 "mrbgems/mruby-compiler/core/parse.y" +#line 3325 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9889 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: /* primary: "'until'" $@16 expr_value do $@17 compstmt "'end'" */ -#line 3318 "mrbgems/mruby-compiler/core/parse.y" +#line 3328 "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 9782 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9898 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ -#line 3325 "mrbgems/mruby-compiler/core/parse.y" +#line 3335 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9790 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9906 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: /* primary: "'case'" opt_terms case_body "'end'" */ -#line 3329 "mrbgems/mruby-compiler/core/parse.y" +#line 3339 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 9798 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9914 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ -#line 3337 "mrbgems/mruby-compiler/core/parse.y" +#line 3347 "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 9807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9923 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3346 "mrbgems/mruby-compiler/core/parse.y" +#line 3356 "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 9816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9932 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3355 "mrbgems/mruby-compiler/core/parse.y" +#line 3365 "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 9825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9941 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: /* $@18: %empty */ -#line 3360 "mrbgems/mruby-compiler/core/parse.y" +#line 3370 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9831 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9947 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: /* $@19: %empty */ -#line 3362 "mrbgems/mruby-compiler/core/parse.y" +#line 3372 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9837 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9953 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: /* primary: "'for'" for_var "'in'" $@18 expr_value do $@19 compstmt "'end'" */ -#line 3365 "mrbgems/mruby-compiler/core/parse.y" +#line 3375 "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 9846 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9962 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: /* @20: %empty */ -#line 3371 "mrbgems/mruby-compiler/core/parse.y" +#line 3381 "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 9857 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9973 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: /* primary: "'class'" cpath superclass @20 bodystmt "'end'" */ -#line 3379 "mrbgems/mruby-compiler/core/parse.y" +#line 3389 "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 9868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9984 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: /* @21: %empty */ -#line 3387 "mrbgems/mruby-compiler/core/parse.y" +#line 3397 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 9877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: /* @22: %empty */ -#line 3392 "mrbgems/mruby-compiler/core/parse.y" +#line 3402 "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 9887 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10003 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: /* primary: "'class'" "<<" expr @21 term @22 bodystmt "'end'" */ -#line 3399 "mrbgems/mruby-compiler/core/parse.y" +#line 3409 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -9896,44 +10012,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10016 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: /* @23: %empty */ -#line 3409 "mrbgems/mruby-compiler/core/parse.y" +#line 3419 "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 9911 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10027 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: /* primary: "'module'" cpath @23 bodystmt "'end'" */ -#line 3417 "mrbgems/mruby-compiler/core/parse.y" +#line 3427 "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 9922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10038 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: /* primary: defn_head f_arglist bodystmt "'end'" */ -#line 3427 "mrbgems/mruby-compiler/core/parse.y" +#line 3437 "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 9933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10049 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: /* primary: defs_head f_arglist bodystmt "'end'" */ -#line 3437 "mrbgems/mruby-compiler/core/parse.y" +#line 3447 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -9941,610 +10057,610 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10061 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: /* primary: "'break'" */ -#line 3445 "mrbgems/mruby-compiler/core/parse.y" +#line 3455 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 9953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: /* primary: "'next'" */ -#line 3449 "mrbgems/mruby-compiler/core/parse.y" +#line 3459 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 9961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10077 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: /* primary: "'redo'" */ -#line 3453 "mrbgems/mruby-compiler/core/parse.y" +#line 3463 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 9969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10085 "mrbgems/mruby-compiler/core/y.tab.c" break; case 344: /* primary: "'retry'" */ -#line 3457 "mrbgems/mruby-compiler/core/parse.y" +#line 3467 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 9977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10093 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: /* primary_value: primary */ -#line 3463 "mrbgems/mruby-compiler/core/parse.y" +#line 3473 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 9986 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10102 "mrbgems/mruby-compiler/core/y.tab.c" break; case 352: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ -#line 3482 "mrbgems/mruby-compiler/core/parse.y" +#line 3492 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10110 "mrbgems/mruby-compiler/core/y.tab.c" break; case 354: /* opt_else: "'else'" compstmt */ -#line 3489 "mrbgems/mruby-compiler/core/parse.y" +#line 3499 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10118 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: /* for_var: lhs */ -#line 3495 "mrbgems/mruby-compiler/core/parse.y" +#line 3505 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 10010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10126 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: /* f_margs: f_arg */ -#line 3502 "mrbgems/mruby-compiler/core/parse.y" +#line 3512 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 10018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10134 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: /* f_margs: f_arg ',' "*" f_norm_arg */ -#line 3506 "mrbgems/mruby-compiler/core/parse.y" +#line 3516 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 10026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10142 "mrbgems/mruby-compiler/core/y.tab.c" break; case 359: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ -#line 3510 "mrbgems/mruby-compiler/core/parse.y" +#line 3520 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10034 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10150 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: /* f_margs: f_arg ',' "*" */ -#line 3514 "mrbgems/mruby-compiler/core/parse.y" +#line 3524 "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 10043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10159 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" ',' f_arg */ -#line 3519 "mrbgems/mruby-compiler/core/parse.y" +#line 3529 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 10051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10167 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: /* f_margs: "*" f_norm_arg */ -#line 3523 "mrbgems/mruby-compiler/core/parse.y" +#line 3533 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 10059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10175 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: /* f_margs: "*" f_norm_arg ',' f_arg */ -#line 3527 "mrbgems/mruby-compiler/core/parse.y" +#line 3537 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10067 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10183 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: /* f_margs: "*" */ -#line 3531 "mrbgems/mruby-compiler/core/parse.y" +#line 3541 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 10076 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10192 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: /* $@24: %empty */ -#line 3536 "mrbgems/mruby-compiler/core/parse.y" +#line 3546 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); } -#line 10084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10200 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: /* f_margs: "*" ',' $@24 f_arg */ -#line 3540 "mrbgems/mruby-compiler/core/parse.y" +#line 3550 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 10092 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10208 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ -#line 3546 "mrbgems/mruby-compiler/core/parse.y" +#line 3556 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10100 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10216 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: /* block_args_tail: f_block_kwarg opt_f_block_arg */ -#line 3550 "mrbgems/mruby-compiler/core/parse.y" +#line 3560 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 10108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10224 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: /* block_args_tail: f_kwrest opt_f_block_arg */ -#line 3554 "mrbgems/mruby-compiler/core/parse.y" +#line 3564 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10116 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10232 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: /* block_args_tail: f_block_arg */ -#line 3558 "mrbgems/mruby-compiler/core/parse.y" +#line 3568 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 10124 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10240 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: /* opt_block_args_tail: ',' block_args_tail */ -#line 3564 "mrbgems/mruby-compiler/core/parse.y" +#line 3574 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10132 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10248 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: /* opt_block_args_tail: %empty */ -#line 3568 "mrbgems/mruby-compiler/core/parse.y" +#line 3578 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 10140 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10256 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3574 "mrbgems/mruby-compiler/core/parse.y" +#line 3584 "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 10148 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10264 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3578 "mrbgems/mruby-compiler/core/parse.y" +#line 3588 "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 10156 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10272 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ -#line 3582 "mrbgems/mruby-compiler/core/parse.y" +#line 3592 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10280 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3586 "mrbgems/mruby-compiler/core/parse.y" +#line 3596 "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 10172 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10288 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ -#line 3590 "mrbgems/mruby-compiler/core/parse.y" +#line 3600 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10296 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: /* block_param: f_arg ',' opt_block_args_tail */ -#line 3594 "mrbgems/mruby-compiler/core/parse.y" +#line 3604 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10304 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3598 "mrbgems/mruby-compiler/core/parse.y" +#line 3608 "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 10196 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10312 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: /* block_param: f_arg opt_block_args_tail */ -#line 3602 "mrbgems/mruby-compiler/core/parse.y" +#line 3612 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10204 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10320 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3606 "mrbgems/mruby-compiler/core/parse.y" +#line 3616 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10328 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3610 "mrbgems/mruby-compiler/core/parse.y" +#line 3620 "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 10220 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10336 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: /* block_param: f_block_optarg opt_block_args_tail */ -#line 3614 "mrbgems/mruby-compiler/core/parse.y" +#line 3624 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10228 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10344 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3618 "mrbgems/mruby-compiler/core/parse.y" +#line 3628 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10236 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10352 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: /* block_param: f_rest_arg opt_block_args_tail */ -#line 3622 "mrbgems/mruby-compiler/core/parse.y" +#line 3632 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10244 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10360 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3626 "mrbgems/mruby-compiler/core/parse.y" +#line 3636 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10252 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10368 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: /* block_param: block_args_tail */ -#line 3630 "mrbgems/mruby-compiler/core/parse.y" +#line 3640 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 10260 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 388: /* opt_block_param: none */ -#line 3636 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_blk(p); - (yyval.nd) = 0; - } -#line 10269 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 389: /* opt_block_param: block_param_def */ -#line 3641 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmd_start = TRUE; - (yyval.nd) = (yyvsp[0].nd); - } -#line 10278 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 390: /* $@25: %empty */ -#line 3647 "mrbgems/mruby-compiler/core/parse.y" - {local_add_blk(p);} -#line 10284 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 391: /* block_param_def: '|' $@25 opt_bv_decl '|' */ -#line 3648 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 10292 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 392: /* block_param_def: "||" */ -#line 3652 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_blk(p); - (yyval.nd) = 0; - } -#line 10301 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 393: /* block_param_def: '|' block_param opt_bv_decl '|' */ -#line 3657 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } -#line 10309 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 394: /* opt_bv_decl: opt_nl */ -#line 3663 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 10317 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 395: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ -#line 3667 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 10325 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 398: /* bvar: "local variable or method" */ -#line 3677 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_f(p, (yyvsp[0].id)); - new_bv(p, (yyvsp[0].id)); - } -#line 10334 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 400: /* f_larglist: '(' f_args opt_bv_decl ')' */ -#line 3685 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } -#line 10342 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 401: /* f_larglist: f_args */ -#line 3689 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 10350 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 402: /* lambda_body: tLAMBEG compstmt '}' */ -#line 3695 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10358 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 403: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ -#line 3699 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10366 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 404: /* @26: %empty */ -#line 3705 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - nvars_nest(p); - (yyval.num) = p->lineno; - } #line 10376 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 388: /* opt_block_param: none */ +#line 3646 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_blk(p); + (yyval.nd) = 0; + } +#line 10385 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 389: /* opt_block_param: block_param_def */ +#line 3651 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmd_start = TRUE; + (yyval.nd) = (yyvsp[0].nd); + } +#line 10394 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 390: /* $@25: %empty */ +#line 3657 "mrbgems/mruby-compiler/core/parse.y" + {local_add_blk(p);} +#line 10400 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 391: /* block_param_def: '|' $@25 opt_bv_decl '|' */ +#line 3658 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 10408 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 392: /* block_param_def: "||" */ +#line 3662 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_blk(p); + (yyval.nd) = 0; + } +#line 10417 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 393: /* block_param_def: '|' block_param opt_bv_decl '|' */ +#line 3667 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-2].nd); + } +#line 10425 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 394: /* opt_bv_decl: opt_nl */ +#line 3673 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 10433 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 395: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ +#line 3677 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 10441 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 398: /* bvar: "local variable or method" */ +#line 3687 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_f(p, (yyvsp[0].id)); + new_bv(p, (yyvsp[0].id)); + } +#line 10450 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 400: /* f_larglist: '(' f_args opt_bv_decl ')' */ +#line 3695 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-2].nd); + } +#line 10458 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 401: /* f_larglist: f_args */ +#line 3699 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 10466 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 402: /* lambda_body: tLAMBEG compstmt '}' */ +#line 3705 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10474 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 403: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ +#line 3709 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10482 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 404: /* @26: %empty */ +#line 3715 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + nvars_nest(p); + (yyval.num) = p->lineno; + } +#line 10492 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 405: /* do_block: "'do' for block" @26 opt_block_param bodystmt "'end'" */ -#line 3713 "mrbgems/mruby-compiler/core/parse.y" +#line 3723 "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 10387 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10503 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: /* block_call: command do_block */ -#line 3722 "mrbgems/mruby-compiler/core/parse.y" +#line 3732 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10396 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10512 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: /* block_call: block_call call_op2 operation2 opt_paren_args */ -#line 3727 "mrbgems/mruby-compiler/core/parse.y" +#line 3737 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10520 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ -#line 3731 "mrbgems/mruby-compiler/core/parse.y" +#line 3741 "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 10413 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10529 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: /* block_call: block_call call_op2 operation2 command_args do_block */ -#line 3736 "mrbgems/mruby-compiler/core/parse.y" +#line 3746 "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 10422 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10538 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: /* method_call: operation paren_args */ -#line 3743 "mrbgems/mruby-compiler/core/parse.y" +#line 3753 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 10430 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10546 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: /* method_call: primary_value call_op operation2 opt_paren_args */ -#line 3747 "mrbgems/mruby-compiler/core/parse.y" +#line 3757 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10554 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: /* method_call: primary_value "::" operation2 paren_args */ -#line 3751 "mrbgems/mruby-compiler/core/parse.y" +#line 3761 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 10446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10562 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: /* method_call: primary_value "::" operation3 */ -#line 3755 "mrbgems/mruby-compiler/core/parse.y" +#line 3765 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 10454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10570 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: /* method_call: primary_value call_op paren_args */ -#line 3759 "mrbgems/mruby-compiler/core/parse.y" +#line 3769 "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 10462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10578 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: /* method_call: primary_value "::" paren_args */ -#line 3763 "mrbgems/mruby-compiler/core/parse.y" +#line 3773 "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 10470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10586 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: /* method_call: "'super'" paren_args */ -#line 3767 "mrbgems/mruby-compiler/core/parse.y" +#line 3777 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10594 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: /* method_call: "'super'" */ -#line 3771 "mrbgems/mruby-compiler/core/parse.y" +#line 3781 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_zsuper(p); } -#line 10486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10602 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: /* method_call: primary_value '[' opt_call_args ']' */ -#line 3775 "mrbgems/mruby-compiler/core/parse.y" +#line 3785 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 10494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10610 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: /* @27: %empty */ -#line 3781 "mrbgems/mruby-compiler/core/parse.y" +#line 3791 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10504 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10620 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: /* brace_block: '{' @27 opt_block_param compstmt '}' */ -#line 3788 "mrbgems/mruby-compiler/core/parse.y" +#line 3798 "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 10515 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10631 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: /* @28: %empty */ -#line 3795 "mrbgems/mruby-compiler/core/parse.y" +#line 3805 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10525 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10641 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: /* brace_block: "'do'" @28 opt_block_param bodystmt "'end'" */ -#line 3802 "mrbgems/mruby-compiler/core/parse.y" +#line 3812 "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 10536 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10652 "mrbgems/mruby-compiler/core/y.tab.c" break; case 423: /* case_body: "'when'" args then compstmt cases */ -#line 3813 "mrbgems/mruby-compiler/core/parse.y" +#line 3823 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10544 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10660 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: /* cases: opt_else */ -#line 3819 "mrbgems/mruby-compiler/core/parse.y" +#line 3829 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -10553,380 +10669,489 @@ yyreduce: (yyval.nd) = 0; } } -#line 10557 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10673 "mrbgems/mruby-compiler/core/y.tab.c" break; case 426: /* in_clauses: opt_else */ -#line 3832 "mrbgems/mruby-compiler/core/parse.y" +#line 3842 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10565 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10681 "mrbgems/mruby-compiler/core/y.tab.c" break; case 427: /* in_clauses: "'in'" p_expr then compstmt in_clauses */ -#line 3836 "mrbgems/mruby-compiler/core/parse.y" +#line 3846 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-3].nd), NULL, (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10574 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10690 "mrbgems/mruby-compiler/core/y.tab.c" break; case 428: /* in_clauses: "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses */ -#line 3841 "mrbgems/mruby-compiler/core/parse.y" +#line 3851 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10583 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10699 "mrbgems/mruby-compiler/core/y.tab.c" break; case 429: /* in_clauses: "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses */ -#line 3846 "mrbgems/mruby-compiler/core/parse.y" +#line 3856 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), TRUE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10592 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10708 "mrbgems/mruby-compiler/core/y.tab.c" break; case 432: /* p_as: p_alt "=>" "local variable or method" */ -#line 3858 "mrbgems/mruby-compiler/core/parse.y" +#line 3868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 10600 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10716 "mrbgems/mruby-compiler/core/y.tab.c" break; case 434: /* p_alt: p_alt '|' p_value */ -#line 3865 "mrbgems/mruby-compiler/core/parse.y" +#line 3875 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10608 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10724 "mrbgems/mruby-compiler/core/y.tab.c" break; case 436: /* p_value: numeric */ -#line 3872 "mrbgems/mruby-compiler/core/parse.y" +#line 3882 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); } -#line 10616 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 437: /* p_value: symbol */ -#line 3876 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10624 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 438: /* p_value: tSTRING */ -#line 3880 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10632 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 439: /* p_value: "'nil'" */ -#line 3884 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_nil(p)); - } -#line 10640 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 440: /* p_value: "'true'" */ -#line 3888 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_true(p)); - } -#line 10648 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 441: /* p_value: "'false'" */ -#line 3892 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_false(p)); - } -#line 10656 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 442: /* p_value: "constant" */ -#line 3896 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); - } -#line 10664 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 443: /* p_value: primary_value "::" "constant" */ -#line 3900 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); - } -#line 10672 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 444: /* p_value: tCOLON3 "constant" */ -#line 3904 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); - } -#line 10680 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 446: /* p_array: "[" p_array_body ']' */ -#line 3912 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10688 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 447: /* p_array: "[" ']' */ -#line 3916 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_array(p, 0, 0, 0); - } -#line 10696 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 448: /* p_array_body: p_array_elems */ -#line 3923 "mrbgems/mruby-compiler/core/parse.y" - { - /* Just pre elements, no rest */ - (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); - } -#line 10705 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 449: /* p_array_body: p_array_elems ',' p_rest */ -#line 3928 "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 10714 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 450: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ -#line 3933 "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 10723 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 451: /* p_array_body: p_rest */ -#line 3938 "mrbgems/mruby-compiler/core/parse.y" - { - /* Just rest, no pre or post */ - (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); - } #line 10732 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 452: /* p_array_body: p_rest ',' p_array_elems */ -#line 3943 "mrbgems/mruby-compiler/core/parse.y" + case 437: /* p_value: symbol */ +#line 3886 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 10740 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 438: /* p_value: tSTRING */ +#line 3890 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 10748 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 439: /* p_value: "'nil'" */ +#line 3894 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_nil(p)); + } +#line 10756 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 440: /* p_value: "'true'" */ +#line 3898 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_true(p)); + } +#line 10764 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 441: /* p_value: "'false'" */ +#line 3902 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_false(p)); + } +#line 10772 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 442: /* p_value: "constant" */ +#line 3906 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); + } +#line 10780 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 443: /* p_value: primary_value "::" "constant" */ +#line 3910 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); + } +#line 10788 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 444: /* p_value: tCOLON3 "constant" */ +#line 3914 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); + } +#line 10796 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 447: /* p_array: "[" p_array_body ']' */ +#line 3923 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10804 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 448: /* p_array: "[" ']' */ +#line 3927 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, 0, 0, 0); + } +#line 10812 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 449: /* p_array_body: p_array_elems */ +#line 3934 "mrbgems/mruby-compiler/core/parse.y" + { + /* Just pre elements, no rest */ + (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); + } +#line 10821 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 450: /* p_array_body: p_array_elems ',' p_rest */ +#line 3939 "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 10830 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 451: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ +#line 3944 "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 10839 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 452: /* p_array_body: p_rest */ +#line 3949 "mrbgems/mruby-compiler/core/parse.y" + { + /* Just rest, no pre or post */ + (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); + } +#line 10848 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 453: /* p_array_body: p_rest ',' p_array_elems */ +#line 3954 "mrbgems/mruby-compiler/core/parse.y" { /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10857 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 453: /* p_array_elems: p_expr */ -#line 3951 "mrbgems/mruby-compiler/core/parse.y" + case 454: /* p_array_elems: p_expr */ +#line 3962 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10749 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10865 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 454: /* p_array_elems: p_array_elems ',' p_expr */ -#line 3955 "mrbgems/mruby-compiler/core/parse.y" + case 455: /* p_array_elems: p_array_elems ',' p_expr */ +#line 3966 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10873 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 455: /* p_rest: "*" "local variable or method" */ -#line 3962 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); - } -#line 10765 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 456: /* p_rest: "*" */ -#line 3966 "mrbgems/mruby-compiler/core/parse.y" - { - /* Anonymous rest pattern */ - (yyval.nd) = (node*)-1; - } -#line 10774 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 457: /* p_var: "local variable or method" */ + case 456: /* p_rest: "*" "local variable or method" */ #line 3973 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10782 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10881 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 458: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ -#line 3981 "mrbgems/mruby-compiler/core/parse.y" + case 457: /* p_rest: "*" */ +#line 3977 "mrbgems/mruby-compiler/core/parse.y" + { + /* Anonymous rest pattern */ + (yyval.nd) = (node*)-1; + } +#line 10890 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 458: /* p_hash: tLBRACE p_hash_body '}' */ +#line 3985 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10898 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 459: /* p_hash: tLBRACE '}' */ +#line 3989 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_hash(p, 0, 0); + } +#line 10906 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 460: /* p_hash_body: p_hash_elems */ +#line 3996 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); + } +#line 10914 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 461: /* p_hash_body: p_hash_elems ',' p_kwrest */ +#line 4000 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10922 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 462: /* p_hash_body: p_kwrest */ +#line 4004 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); + } +#line 10930 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 463: /* p_hash_elems: p_hash_elem */ +#line 4011 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 10938 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 464: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ +#line 4015 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10946 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 465: /* p_hash_elem: "local variable or method" "label" p_expr */ +#line 4022 "mrbgems/mruby-compiler/core/parse.y" + { + /* {key: pattern} */ + (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); + } +#line 10955 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 466: /* p_hash_elem: "local variable or method" "label" */ +#line 4027 "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 10964 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 467: /* p_hash_elem: symbol "=>" p_expr */ +#line 4032 "mrbgems/mruby-compiler/core/parse.y" + { + /* {:"key" => pattern} or {:key => pattern} */ + (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10973 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 468: /* p_kwrest: "**" "local variable or method" */ +#line 4040 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); + } +#line 10981 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 469: /* p_kwrest: "**" "'nil'" */ +#line 4044 "mrbgems/mruby-compiler/core/parse.y" + { + /* **nil - exact match, no extra keys allowed */ + (yyval.nd) = (node*)-1; + } +#line 10990 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 470: /* p_kwrest: "**" */ +#line 4049 "mrbgems/mruby-compiler/core/parse.y" + { + /* ** - anonymous rest, discards extra keys */ + (yyval.nd) = (node*)-2; + } +#line 10999 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 471: /* p_var: "local variable or method" */ +#line 4056 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); + } +#line 11007 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 472: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ +#line 4064 "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 10791 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11016 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: /* exc_list: arg */ -#line 3989 "mrbgems/mruby-compiler/core/parse.y" + case 474: /* exc_list: arg */ +#line 4072 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10799 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11024 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 463: /* exc_var: "=>" lhs */ -#line 3997 "mrbgems/mruby-compiler/core/parse.y" + case 477: /* exc_var: "=>" lhs */ +#line 4080 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11032 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 465: /* opt_ensure: "'ensure'" compstmt */ -#line 4004 "mrbgems/mruby-compiler/core/parse.y" + case 479: /* opt_ensure: "'ensure'" compstmt */ +#line 4087 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10815 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11040 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 472: /* string: string string_fragment */ -#line 4018 "mrbgems/mruby-compiler/core/parse.y" + case 486: /* string: string string_fragment */ +#line 4101 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 473: /* string_fragment: "character literal" */ -#line 4024 "mrbgems/mruby-compiler/core/parse.y" + case 487: /* string_fragment: "character literal" */ +#line 4107 "mrbgems/mruby-compiler/core/parse.y" { /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11057 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 474: /* string_fragment: tSTRING */ -#line 4029 "mrbgems/mruby-compiler/core/parse.y" + case 488: /* string_fragment: tSTRING */ +#line 4112 "mrbgems/mruby-compiler/core/parse.y" { /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10841 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11066 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 475: /* string_fragment: "string literal" tSTRING */ -#line 4034 "mrbgems/mruby-compiler/core/parse.y" + case 489: /* string_fragment: "string literal" tSTRING */ +#line 4117 "mrbgems/mruby-compiler/core/parse.y" { /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10850 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11075 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 476: /* string_fragment: "string literal" string_rep tSTRING */ -#line 4039 "mrbgems/mruby-compiler/core/parse.y" + case 490: /* string_fragment: "string literal" string_rep tSTRING */ +#line 4122 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11083 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 478: /* string_rep: string_rep string_interp */ -#line 4046 "mrbgems/mruby-compiler/core/parse.y" + case 492: /* string_rep: string_rep string_interp */ +#line 4129 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10866 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11091 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 479: /* string_interp: tSTRING_MID */ -#line 4052 "mrbgems/mruby-compiler/core/parse.y" + case 493: /* string_interp: tSTRING_MID */ +#line 4135 "mrbgems/mruby-compiler/core/parse.y" { /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10875 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11100 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 480: /* @29: %empty */ -#line 4057 "mrbgems/mruby-compiler/core/parse.y" + case 494: /* @29: %empty */ +#line 4140 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 10883 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11108 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 481: /* string_interp: tSTRING_PART @29 compstmt '}' */ -#line 4062 "mrbgems/mruby-compiler/core/parse.y" + case 495: /* string_interp: tSTRING_PART @29 compstmt '}' */ +#line 4145 "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 10894 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11119 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 482: /* string_interp: tLITERAL_DELIM */ -#line 4069 "mrbgems/mruby-compiler/core/parse.y" + case 496: /* string_interp: tLITERAL_DELIM */ +#line 4152 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10902 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11127 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 483: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 4073 "mrbgems/mruby-compiler/core/parse.y" + case 497: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ +#line 4156 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 10910 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11135 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 484: /* xstring: tXSTRING_BEG tXSTRING */ -#line 4079 "mrbgems/mruby-compiler/core/parse.y" + case 498: /* xstring: tXSTRING_BEG tXSTRING */ +#line 4162 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 10918 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11143 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 485: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 4083 "mrbgems/mruby-compiler/core/parse.y" + case 499: /* xstring: tXSTRING_BEG string_rep tXSTRING */ +#line 4166 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10926 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11151 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 486: /* regexp: tREGEXP_BEG tREGEXP */ -#line 4089 "mrbgems/mruby-compiler/core/parse.y" + case 500: /* regexp: tREGEXP_BEG tREGEXP */ +#line 4172 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -10935,11 +11160,11 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 10939 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11164 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 487: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 4098 "mrbgems/mruby-compiler/core/parse.y" + case 501: /* regexp: tREGEXP_BEG string_rep tREGEXP */ +#line 4181 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -10948,47 +11173,47 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 10952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11177 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 491: /* heredoc_body: tHEREDOC_END */ -#line 4116 "mrbgems/mruby-compiler/core/parse.y" + case 505: /* heredoc_body: tHEREDOC_END */ +#line 4199 "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 10962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11187 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 492: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 4122 "mrbgems/mruby-compiler/core/parse.y" + case 506: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ +#line 4205 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 10970 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11195 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 495: /* heredoc_string_interp: tHD_STRING_MID */ -#line 4132 "mrbgems/mruby-compiler/core/parse.y" + case 509: /* heredoc_string_interp: tHD_STRING_MID */ +#line 4215 "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 10980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11205 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 496: /* @30: %empty */ -#line 4138 "mrbgems/mruby-compiler/core/parse.y" + case 510: /* @30: %empty */ +#line 4221 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 10988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11213 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 497: /* heredoc_string_interp: tHD_STRING_PART @30 compstmt '}' */ -#line 4143 "mrbgems/mruby-compiler/core/parse.y" + case 511: /* heredoc_string_interp: tHD_STRING_PART @30 compstmt '}' */ +#line 4226 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); @@ -10996,37 +11221,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 11000 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11225 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 498: /* words: tWORDS_BEG tSTRING */ -#line 4153 "mrbgems/mruby-compiler/core/parse.y" + case 512: /* words: tWORDS_BEG tSTRING */ +#line 4236 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11008 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11233 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 499: /* words: tWORDS_BEG string_rep tSTRING */ -#line 4157 "mrbgems/mruby-compiler/core/parse.y" + case 513: /* words: tWORDS_BEG string_rep tSTRING */ +#line 4240 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11243 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 500: /* symbol: basic_symbol */ -#line 4165 "mrbgems/mruby-compiler/core/parse.y" + case 514: /* symbol: basic_symbol */ +#line 4248 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11251 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 501: /* symbol: "symbol" "string literal" string_rep tSTRING */ -#line 4169 "mrbgems/mruby-compiler/core/parse.y" + case 515: /* symbol: "symbol" "string literal" string_rep tSTRING */ +#line 4252 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -11038,183 +11263,183 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 502: /* symbol: "symbol" "numbered parameter" */ -#line 4181 "mrbgems/mruby-compiler/core/parse.y" + case 516: /* symbol: "symbol" "numbered parameter" */ +#line 4264 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11276 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 503: /* basic_symbol: "symbol" sym */ -#line 4188 "mrbgems/mruby-compiler/core/parse.y" + case 517: /* basic_symbol: "symbol" sym */ +#line 4271 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11060 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11285 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 508: /* sym: tSTRING */ -#line 4199 "mrbgems/mruby-compiler/core/parse.y" + case 522: /* sym: tSTRING */ +#line 4282 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11293 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 509: /* sym: "string literal" tSTRING */ -#line 4203 "mrbgems/mruby-compiler/core/parse.y" + case 523: /* sym: "string literal" tSTRING */ +#line 4286 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11076 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11301 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 510: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 4209 "mrbgems/mruby-compiler/core/parse.y" + case 524: /* symbols: tSYMBOLS_BEG tSTRING */ +#line 4292 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11309 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 4213 "mrbgems/mruby-compiler/core/parse.y" + case 525: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ +#line 4296 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11094 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11319 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 514: /* numeric: tUMINUS_NUM "integer literal" */ -#line 4223 "mrbgems/mruby-compiler/core/parse.y" + case 528: /* numeric: tUMINUS_NUM "integer literal" */ +#line 4306 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11327 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 515: /* numeric: tUMINUS_NUM "float literal" */ -#line 4227 "mrbgems/mruby-compiler/core/parse.y" + case 529: /* numeric: tUMINUS_NUM "float literal" */ +#line 4310 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11110 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11335 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 516: /* variable: "local variable or method" */ -#line 4233 "mrbgems/mruby-compiler/core/parse.y" + case 530: /* variable: "local variable or method" */ +#line 4316 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11118 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11343 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: /* variable: "instance variable" */ -#line 4237 "mrbgems/mruby-compiler/core/parse.y" + case 531: /* variable: "instance variable" */ +#line 4320 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11351 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 518: /* variable: "global variable" */ -#line 4241 "mrbgems/mruby-compiler/core/parse.y" + case 532: /* variable: "global variable" */ +#line 4324 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11134 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11359 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 519: /* variable: "class variable" */ -#line 4245 "mrbgems/mruby-compiler/core/parse.y" + case 533: /* variable: "class variable" */ +#line 4328 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11142 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11367 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 520: /* variable: "constant" */ -#line 4249 "mrbgems/mruby-compiler/core/parse.y" + case 534: /* variable: "constant" */ +#line 4332 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11150 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11375 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 521: /* var_lhs: variable */ -#line 4255 "mrbgems/mruby-compiler/core/parse.y" + case 535: /* var_lhs: variable */ +#line 4338 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 11158 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11383 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 522: /* var_lhs: "numbered parameter" */ -#line 4259 "mrbgems/mruby-compiler/core/parse.y" + case 536: /* var_lhs: "numbered parameter" */ +#line 4342 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11166 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11391 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 523: /* var_ref: variable */ -#line 4265 "mrbgems/mruby-compiler/core/parse.y" + case 537: /* var_ref: variable */ +#line 4348 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11174 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11399 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 524: /* var_ref: "numbered parameter" */ -#line 4269 "mrbgems/mruby-compiler/core/parse.y" + case 538: /* var_ref: "numbered parameter" */ +#line 4352 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11407 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 525: /* var_ref: "'nil'" */ -#line 4273 "mrbgems/mruby-compiler/core/parse.y" + case 539: /* var_ref: "'nil'" */ +#line 4356 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 11190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11415 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 526: /* var_ref: "'self'" */ -#line 4277 "mrbgems/mruby-compiler/core/parse.y" + case 540: /* var_ref: "'self'" */ +#line 4360 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 11198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11423 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 527: /* var_ref: "'true'" */ -#line 4281 "mrbgems/mruby-compiler/core/parse.y" + case 541: /* var_ref: "'true'" */ +#line 4364 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 11206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11431 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 528: /* var_ref: "'false'" */ -#line 4285 "mrbgems/mruby-compiler/core/parse.y" + case 542: /* var_ref: "'false'" */ +#line 4368 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 11214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11439 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 529: /* var_ref: "'__FILE__'" */ -#line 4289 "mrbgems/mruby-compiler/core/parse.y" + case 543: /* var_ref: "'__FILE__'" */ +#line 4372 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -11222,686 +11447,686 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11451 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 530: /* var_ref: "'__LINE__'" */ -#line 4297 "mrbgems/mruby-compiler/core/parse.y" + case 544: /* var_ref: "'__LINE__'" */ +#line 4380 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11237 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 531: /* var_ref: "'__ENCODING__'" */ -#line 4304 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); - } -#line 11245 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 534: /* superclass: %empty */ -#line 4314 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 11253 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 535: /* $@31: %empty */ -#line 4318 "mrbgems/mruby-compiler/core/parse.y" - { - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } -#line 11262 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 536: /* superclass: '<' $@31 expr_value term */ -#line 4323 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11270 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 539: /* f_arglist_paren: '(' f_args rparen */ -#line 4339 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } -#line 11280 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 540: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ -#line 4345 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11288 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 541: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 4349 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11296 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 543: /* f_arglist: f_args term */ -#line 4356 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11304 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 544: /* f_arglist: f_arg ',' tBDOT3 term */ -#line 4360 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11312 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 545: /* f_arglist: "..." term */ -#line 4364 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11320 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 546: /* f_label: "local variable or method" "label" */ -#line 4370 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11328 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 547: /* f_label: "numbered parameter" "label" */ -#line 4374 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11336 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 548: /* f_kw: f_label arg */ -#line 4380 "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 11346 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 549: /* f_kw: f_label */ -#line 4386 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 11355 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 550: /* f_block_kw: f_label primary_value */ -#line 4393 "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 11365 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 551: /* f_block_kw: f_label */ -#line 4399 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 11374 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 552: /* f_block_kwarg: f_block_kw */ -#line 4406 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 11382 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 553: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ -#line 4410 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 11390 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 554: /* f_kwarg: f_kw */ -#line 4416 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 11398 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 555: /* f_kwarg: f_kwarg ',' f_kw */ -#line 4420 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 11406 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 558: /* f_kwrest: kwrest_mark "local variable or method" */ -#line 4430 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = (yyvsp[0].id); - } -#line 11414 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 559: /* f_kwrest: kwrest_mark */ -#line 4434 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.id) = intern_op(pow); - } -#line 11422 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 560: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 4440 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 11430 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 561: /* args_tail: f_kwarg opt_f_block_arg */ -#line 4444 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); - } -#line 11438 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 562: /* args_tail: f_kwrest opt_f_block_arg */ -#line 4448 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 11446 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 563: /* args_tail: f_block_arg */ -#line 4452 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); - } -#line 11454 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 564: /* opt_args_tail: ',' args_tail */ -#line 4458 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } #line 11462 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 565: /* opt_args_tail: %empty */ -#line 4462 "mrbgems/mruby-compiler/core/parse.y" + case 545: /* var_ref: "'__ENCODING__'" */ +#line 4387 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); + (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } #line 11470 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 566: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4468 "mrbgems/mruby-compiler/core/parse.y" + case 548: /* superclass: %empty */ +#line 4397 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = 0; } #line 11478 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 567: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4472 "mrbgems/mruby-compiler/core/parse.y" + case 549: /* $@31: %empty */ +#line 4401 "mrbgems/mruby-compiler/core/parse.y" + { + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; + } +#line 11487 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 550: /* superclass: '<' $@31 expr_value term */ +#line 4406 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 11495 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 553: /* f_arglist_paren: '(' f_args rparen */ +#line 4422 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; + } +#line 11505 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 554: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ +#line 4428 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + } +#line 11513 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 555: /* f_arglist_paren: '(' tBDOT3 rparen */ +#line 4432 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, 0); + } +#line 11521 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 557: /* f_arglist: f_args term */ +#line 4439 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 11529 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 558: /* f_arglist: f_arg ',' tBDOT3 term */ +#line 4443 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); + } +#line 11537 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 559: /* f_arglist: "..." term */ +#line 4447 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_dots(p, 0); + } +#line 11545 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 560: /* f_label: "local variable or method" "label" */ +#line 4453 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + } +#line 11553 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 561: /* f_label: "numbered parameter" "label" */ +#line 4457 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + } +#line 11561 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 562: /* f_kw: f_label arg */ +#line 4463 "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 11571 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 563: /* f_kw: f_label */ +#line 4469 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); + } +#line 11580 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 564: /* f_block_kw: f_label primary_value */ +#line 4476 "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 11590 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 565: /* f_block_kw: f_label */ +#line 4482 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); + } +#line 11599 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 566: /* f_block_kwarg: f_block_kw */ +#line 4489 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 11607 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 567: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ +#line 4493 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 11615 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 568: /* f_kwarg: f_kw */ +#line 4499 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 11623 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 569: /* f_kwarg: f_kwarg ',' f_kw */ +#line 4503 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 11631 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 572: /* f_kwrest: kwrest_mark "local variable or method" */ +#line 4513 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = (yyvsp[0].id); + } +#line 11639 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 573: /* f_kwrest: kwrest_mark */ +#line 4517 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.id) = intern_op(pow); + } +#line 11647 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 574: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ +#line 4523 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); + } +#line 11655 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 575: /* args_tail: f_kwarg opt_f_block_arg */ +#line 4527 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); + } +#line 11663 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 576: /* args_tail: f_kwrest opt_f_block_arg */ +#line 4531 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); + } +#line 11671 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 577: /* args_tail: f_block_arg */ +#line 4535 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); + } +#line 11679 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 578: /* opt_args_tail: ',' args_tail */ +#line 4541 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 11687 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 579: /* opt_args_tail: %empty */ +#line 4545 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, 0, 0, 0); + } +#line 11695 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 580: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ +#line 4551 "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 11703 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 581: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4555 "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 11486 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11711 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 568: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 4476 "mrbgems/mruby-compiler/core/parse.y" + case 582: /* f_args: f_arg ',' f_optarg opt_args_tail */ +#line 4559 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11494 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11719 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 569: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 4480 "mrbgems/mruby-compiler/core/parse.y" + case 583: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ +#line 4563 "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 11502 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11727 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 570: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 4484 "mrbgems/mruby-compiler/core/parse.y" + case 584: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ +#line 4567 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11510 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11735 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 571: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4488 "mrbgems/mruby-compiler/core/parse.y" + case 585: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4571 "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 11518 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11743 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 572: /* f_args: f_arg opt_args_tail */ -#line 4492 "mrbgems/mruby-compiler/core/parse.y" + case 586: /* f_args: f_arg opt_args_tail */ +#line 4575 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 11526 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11751 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 573: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 4496 "mrbgems/mruby-compiler/core/parse.y" + case 587: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ +#line 4579 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11534 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11759 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 574: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4500 "mrbgems/mruby-compiler/core/parse.y" + case 588: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4583 "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 11542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11767 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 575: /* f_args: f_optarg opt_args_tail */ -#line 4504 "mrbgems/mruby-compiler/core/parse.y" + case 589: /* f_args: f_optarg opt_args_tail */ +#line 4587 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 11550 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11775 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 576: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 4508 "mrbgems/mruby-compiler/core/parse.y" + case 590: /* f_args: f_optarg ',' f_arg opt_args_tail */ +#line 4591 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11783 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 577: /* f_args: f_rest_arg opt_args_tail */ -#line 4512 "mrbgems/mruby-compiler/core/parse.y" + case 591: /* f_args: f_rest_arg opt_args_tail */ +#line 4595 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 11566 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11791 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 578: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 4516 "mrbgems/mruby-compiler/core/parse.y" + case 592: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ +#line 4599 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11574 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11799 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 579: /* f_args: args_tail */ -#line 4520 "mrbgems/mruby-compiler/core/parse.y" + case 593: /* f_args: args_tail */ +#line 4603 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 11582 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11807 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 580: /* f_args: %empty */ -#line 4524 "mrbgems/mruby-compiler/core/parse.y" + case 594: /* f_args: %empty */ +#line 4607 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 11591 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11816 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 581: /* f_bad_arg: "constant" */ -#line 4531 "mrbgems/mruby-compiler/core/parse.y" + case 595: /* f_bad_arg: "constant" */ +#line 4614 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 11600 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11825 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 582: /* f_bad_arg: "instance variable" */ -#line 4536 "mrbgems/mruby-compiler/core/parse.y" + case 596: /* f_bad_arg: "instance variable" */ +#line 4619 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 11609 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11834 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 583: /* f_bad_arg: "global variable" */ -#line 4541 "mrbgems/mruby-compiler/core/parse.y" + case 597: /* f_bad_arg: "global variable" */ +#line 4624 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 11618 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11843 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 584: /* f_bad_arg: "class variable" */ -#line 4546 "mrbgems/mruby-compiler/core/parse.y" + case 598: /* f_bad_arg: "class variable" */ +#line 4629 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 11627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11852 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 585: /* f_bad_arg: "numbered parameter" */ -#line 4551 "mrbgems/mruby-compiler/core/parse.y" + case 599: /* f_bad_arg: "numbered parameter" */ +#line 4634 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 11636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11861 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 586: /* f_norm_arg: f_bad_arg */ -#line 4558 "mrbgems/mruby-compiler/core/parse.y" + case 600: /* f_norm_arg: f_bad_arg */ +#line 4641 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 11644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11869 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 587: /* f_norm_arg: "local variable or method" */ -#line 4562 "mrbgems/mruby-compiler/core/parse.y" + case 601: /* f_norm_arg: "local variable or method" */ +#line 4645 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11653 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11878 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 588: /* f_arg_item: f_norm_arg */ -#line 4569 "mrbgems/mruby-compiler/core/parse.y" + case 602: /* f_arg_item: f_norm_arg */ +#line 4652 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11661 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11886 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 589: /* @32: %empty */ -#line 4573 "mrbgems/mruby-compiler/core/parse.y" + case 603: /* @32: %empty */ +#line 4656 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 11669 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11894 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 590: /* f_arg_item: tLPAREN @32 f_margs rparen */ -#line 4577 "mrbgems/mruby-compiler/core/parse.y" + case 604: /* f_arg_item: tLPAREN @32 f_margs rparen */ +#line 4660 "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 11679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11904 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 591: /* f_arg: f_arg_item */ -#line 4585 "mrbgems/mruby-compiler/core/parse.y" + case 605: /* f_arg: f_arg_item */ +#line 4668 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11687 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11912 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 592: /* f_arg: f_arg ',' f_arg_item */ -#line 4589 "mrbgems/mruby-compiler/core/parse.y" + case 606: /* f_arg: f_arg ',' f_arg_item */ +#line 4672 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11695 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11920 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 593: /* f_opt_asgn: "local variable or method" '=' */ -#line 4595 "mrbgems/mruby-compiler/core/parse.y" + case 607: /* f_opt_asgn: "local variable or method" '=' */ +#line 4678 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 11705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11930 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 594: /* f_opt: f_opt_asgn arg */ -#line 4603 "mrbgems/mruby-compiler/core/parse.y" + case 608: /* f_opt: f_opt_asgn arg */ +#line 4686 "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 11715 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11940 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 595: /* f_block_opt: f_opt_asgn primary_value */ -#line 4611 "mrbgems/mruby-compiler/core/parse.y" + case 609: /* f_block_opt: f_opt_asgn primary_value */ +#line 4694 "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 11725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11950 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 596: /* f_block_optarg: f_block_opt */ -#line 4619 "mrbgems/mruby-compiler/core/parse.y" + case 610: /* f_block_optarg: f_block_opt */ +#line 4702 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11733 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11958 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 597: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 4623 "mrbgems/mruby-compiler/core/parse.y" + case 611: /* f_block_optarg: f_block_optarg ',' f_block_opt */ +#line 4706 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11966 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 598: /* f_optarg: f_opt */ -#line 4629 "mrbgems/mruby-compiler/core/parse.y" + case 612: /* f_optarg: f_opt */ +#line 4712 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11749 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11974 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* f_optarg: f_optarg ',' f_opt */ -#line 4633 "mrbgems/mruby-compiler/core/parse.y" + case 613: /* f_optarg: f_optarg ',' f_opt */ +#line 4716 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11982 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 602: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4643 "mrbgems/mruby-compiler/core/parse.y" + case 616: /* f_rest_arg: restarg_mark "local variable or method" */ +#line 4726 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11766 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11991 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 603: /* f_rest_arg: restarg_mark */ -#line 4648 "mrbgems/mruby-compiler/core/parse.y" + case 617: /* f_rest_arg: restarg_mark */ +#line 4731 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 11775 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12000 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4659 "mrbgems/mruby-compiler/core/parse.y" + case 620: /* f_block_arg: blkarg_mark "local variable or method" */ +#line 4742 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11783 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12008 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 607: /* f_block_arg: blkarg_mark */ -#line 4663 "mrbgems/mruby-compiler/core/parse.y" + case 621: /* f_block_arg: blkarg_mark */ +#line 4746 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 11791 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12016 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 608: /* opt_f_block_arg: ',' f_block_arg */ -#line 4669 "mrbgems/mruby-compiler/core/parse.y" + case 622: /* opt_f_block_arg: ',' f_block_arg */ +#line 4752 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 11799 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12024 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 609: /* opt_f_block_arg: none */ -#line 4673 "mrbgems/mruby-compiler/core/parse.y" + case 623: /* opt_f_block_arg: none */ +#line 4756 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 11807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12032 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 610: /* singleton: var_ref */ -#line 4679 "mrbgems/mruby-compiler/core/parse.y" + case 624: /* singleton: var_ref */ +#line 4762 "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 11817 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12042 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 611: /* $@33: %empty */ -#line 4684 "mrbgems/mruby-compiler/core/parse.y" + case 625: /* $@33: %empty */ +#line 4767 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 11823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12048 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: /* singleton: '(' $@33 expr rparen */ -#line 4685 "mrbgems/mruby-compiler/core/parse.y" + case 626: /* singleton: '(' $@33 expr rparen */ +#line 4768 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 11832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12057 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 614: /* assoc_list: assocs trailer */ -#line 4693 "mrbgems/mruby-compiler/core/parse.y" + case 628: /* assoc_list: assocs trailer */ +#line 4776 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12065 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 615: /* assocs: assoc */ -#line 4699 "mrbgems/mruby-compiler/core/parse.y" + case 629: /* assocs: assoc */ +#line 4782 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12073 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 616: /* assocs: assocs comma assoc */ -#line 4703 "mrbgems/mruby-compiler/core/parse.y" + case 630: /* assocs: assocs comma assoc */ +#line 4786 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12081 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 617: /* assoc: arg "=>" arg */ -#line 4709 "mrbgems/mruby-compiler/core/parse.y" + case 631: /* assoc: arg "=>" arg */ +#line 4792 "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 11866 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12091 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 618: /* assoc: "local variable or method" "label" arg */ -#line 4715 "mrbgems/mruby-compiler/core/parse.y" + case 632: /* assoc: "local variable or method" "label" arg */ +#line 4798 "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 11875 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12100 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 619: /* assoc: "local variable or method" "label" */ -#line 4720 "mrbgems/mruby-compiler/core/parse.y" + case 633: /* assoc: "local variable or method" "label" */ +#line 4803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 11883 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12108 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 620: /* assoc: "numbered parameter" "label" */ -#line 4724 "mrbgems/mruby-compiler/core/parse.y" + case 634: /* assoc: "numbered parameter" "label" */ +#line 4807 "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 11892 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12117 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 621: /* assoc: "numbered parameter" "label" arg */ -#line 4729 "mrbgems/mruby-compiler/core/parse.y" + case 635: /* assoc: "numbered parameter" "label" arg */ +#line 4812 "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 11901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12126 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 622: /* assoc: string_fragment "label" arg */ -#line 4734 "mrbgems/mruby-compiler/core/parse.y" + case 636: /* assoc: string_fragment "label" arg */ +#line 4817 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -11917,75 +12142,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 11921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12146 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 623: /* assoc: "**" arg */ -#line 4750 "mrbgems/mruby-compiler/core/parse.y" + case 637: /* assoc: "**" arg */ +#line 4833 "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 11930 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12155 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 624: /* assoc: "**" */ -#line 4755 "mrbgems/mruby-compiler/core/parse.y" + case 638: /* assoc: "**" */ +#line 4838 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 11938 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12163 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 637: /* call_op: '.' */ -#line 4781 "mrbgems/mruby-compiler/core/parse.y" + case 651: /* call_op: '.' */ +#line 4864 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 11946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12171 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 638: /* call_op: "&." */ -#line 4785 "mrbgems/mruby-compiler/core/parse.y" + case 652: /* call_op: "&." */ +#line 4868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 11954 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12179 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 640: /* call_op2: "::" */ -#line 4792 "mrbgems/mruby-compiler/core/parse.y" + case 654: /* call_op2: "::" */ +#line 4875 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 11962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12187 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 649: /* term: ';' */ -#line 4813 "mrbgems/mruby-compiler/core/parse.y" + case 663: /* term: ';' */ +#line 4896 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 11968 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12193 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 651: /* nl: '\n' */ -#line 4818 "mrbgems/mruby-compiler/core/parse.y" + case 665: /* nl: '\n' */ +#line 4901 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 11977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12202 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 655: /* none: %empty */ -#line 4830 "mrbgems/mruby-compiler/core/parse.y" + case 669: /* none: %empty */ +#line 4913 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 11985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12210 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 11989 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12214 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -12218,7 +12443,7 @@ yyreturnlab: return yyresult; } -#line 4834 "mrbgems/mruby-compiler/core/parse.y" +#line 4917 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) diff --git a/mrblib/hash.rb b/mrblib/hash.rb index c6e530e98..00debf9fb 100644 --- a/mrblib/hash.rb +++ b/mrblib/hash.rb @@ -259,4 +259,18 @@ class Hash } h end + + ## + # call-seq: + # hash.deconstruct_keys(keys) -> hash + # + # Returns +self+. This method is called by pattern matching to + # deconstruct the hash for matching. + # + # The +keys+ argument is an array of keys the pattern expects, + # or +nil+ for exact matching (when +**nil+ is used). + # + def deconstruct_keys(_keys) + self + end end