diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 538a96e06..fc08d7516 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -103,7 +103,7 @@ struct mrb_parser_state { unsigned int cmdarg_stack; int paren_nest; int lpar_beg; - int in_def, in_single; + int in_def, in_single, in_kwarg; mrb_bool cmd_start:1; mrb_ast_node *locals; diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 7d7b992b5..449c69387 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -3848,29 +3848,31 @@ cases : opt_else ; /* Pattern matching in-clauses for case/in */ +/* in_kwarg is set by lexer when keyword_in is returned */ in_clauses : opt_else { $$ = $1 ? list1(new_in(p, NULL, NULL, $1, FALSE)) : 0; } - | keyword_in p_expr then compstmt in_clauses + | keyword_in p_expr {p->in_kwarg--;} then compstmt in_clauses { - node *in_clause = new_in(p, $2, NULL, $4, FALSE); - $$ = cons(in_clause, $5); + node *in_clause = new_in(p, $2, NULL, $5, FALSE); + $$ = cons(in_clause, $6); } - | keyword_in p_expr modifier_if expr_value then compstmt in_clauses + | keyword_in p_expr {p->in_kwarg--;} modifier_if expr_value then compstmt in_clauses { - node *in_clause = new_in(p, $2, $4, $6, FALSE); - $$ = cons(in_clause, $7); + node *in_clause = new_in(p, $2, $5, $7, FALSE); + $$ = cons(in_clause, $8); } - | keyword_in p_expr modifier_unless expr_value then compstmt in_clauses + | keyword_in p_expr {p->in_kwarg--;} modifier_unless expr_value then compstmt in_clauses { - node *in_clause = new_in(p, $2, $4, $6, TRUE); - $$ = cons(in_clause, $7); + node *in_clause = new_in(p, $2, $5, $7, TRUE); + $$ = cons(in_clause, $8); } ; /* Pattern expressions for case/in */ /* Bracket-less array patterns: in 1, 2, x is same as in [1, 2, x] */ +/* Brace-less hash patterns: in a:, b: x is same as in {a:, b: x} */ p_expr : p_as | p_args_head p_as { @@ -3892,6 +3894,21 @@ p_expr : p_as { $$ = new_pat_array(p, 0, $1, $3); } + | p_hash_elems + { + /* Brace-less hash pattern: in a:, b: x */ + $$ = new_pat_hash(p, $1, 0); + } + | p_hash_elems ',' p_kwrest + { + /* Brace-less hash pattern with kwrest: in a:, **rest */ + $$ = new_pat_hash(p, $1, $3); + } + | p_kwrest + { + /* Brace-less kwrest only: in **rest */ + $$ = new_pat_hash(p, 0, $1); + } ; /* Comma-separated pattern list (prefix) */ @@ -4075,7 +4092,8 @@ p_hash_elems : p_hash_elem ; /* Hash pattern element: key: pattern or key: (shorthand) */ -p_hash_elem : tIDENTIFIER tLABEL_TAG p_expr +/* Use p_as, not p_expr to avoid brace-less recursion inside hash patterns */ +p_hash_elem : tIDENTIFIER tLABEL_TAG p_as { /* {key: pattern} */ $$ = cons(new_sym(p, $1), $3); @@ -4085,7 +4103,7 @@ p_hash_elem : tIDENTIFIER tLABEL_TAG p_expr /* {key:} shorthand - binds to variable with same name */ $$ = cons(new_sym(p, $1), new_pat_var(p, $1)); } - | symbol tASSOC p_expr + | symbol tASSOC p_as { /* {:"key" => pattern} or {:key => pattern} */ $$ = cons($1, $3); @@ -5393,7 +5411,7 @@ toklen(parser_state *p) #define IS_END() (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN) #define IS_BEG() (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS) #define IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c)) -#define IS_LABEL_POSSIBLE() ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG()) +#define IS_LABEL_POSSIBLE() ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG() || p->lstate == EXPR_VALUE) #define IS_LABEL_SUFFIX(n) (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1)) static int32_t @@ -6855,7 +6873,8 @@ parser_yylex(parser_state *p) } if (!space_seen && IS_END()) { pushback(p, c); - p->lstate = EXPR_BEG; + /* In pattern matching context, use EXPR_ARG so newlines are significant */ + p->lstate = p->in_kwarg ? EXPR_ARG : EXPR_BEG; return tLABEL_TAG; } if (IS_END() || ISSPACE(c) || c == '#') { @@ -7357,6 +7376,10 @@ parser_yylex(parser_state *p) return keyword_do_block; return keyword_do; } + if (kw->id[0] == keyword_in) { + /* Set in_kwarg for pattern matching context */ + p->in_kwarg++; + } if (state == EXPR_BEG || state == EXPR_VALUE || state == EXPR_CLASS) return kw->id[0]; else { diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 2b612f80f..b93cda6e5 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -2498,99 +2498,102 @@ enum yysymbol_kind_t YYSYMBOL_case_body = 246, /* case_body */ YYSYMBOL_cases = 247, /* cases */ YYSYMBOL_in_clauses = 248, /* in_clauses */ - YYSYMBOL_p_expr = 249, /* p_expr */ - YYSYMBOL_p_args_head = 250, /* p_args_head */ - YYSYMBOL_p_args_post = 251, /* p_args_post */ - YYSYMBOL_p_as = 252, /* p_as */ - YYSYMBOL_p_alt = 253, /* p_alt */ - YYSYMBOL_p_value = 254, /* p_value */ - YYSYMBOL_p_array = 255, /* p_array */ - YYSYMBOL_p_array_body = 256, /* p_array_body */ - YYSYMBOL_p_array_elems = 257, /* p_array_elems */ - YYSYMBOL_p_rest = 258, /* p_rest */ - YYSYMBOL_p_hash = 259, /* p_hash */ - YYSYMBOL_p_hash_body = 260, /* p_hash_body */ - YYSYMBOL_p_hash_elems = 261, /* p_hash_elems */ - YYSYMBOL_p_hash_elem = 262, /* p_hash_elem */ - YYSYMBOL_p_kwrest = 263, /* p_kwrest */ - YYSYMBOL_p_var = 264, /* p_var */ - YYSYMBOL_opt_rescue = 265, /* opt_rescue */ - YYSYMBOL_exc_list = 266, /* exc_list */ - YYSYMBOL_exc_var = 267, /* exc_var */ - YYSYMBOL_opt_ensure = 268, /* opt_ensure */ - YYSYMBOL_literal = 269, /* literal */ - YYSYMBOL_string = 270, /* string */ - YYSYMBOL_string_fragment = 271, /* string_fragment */ - YYSYMBOL_string_rep = 272, /* string_rep */ - YYSYMBOL_string_interp = 273, /* string_interp */ - YYSYMBOL_274_29 = 274, /* @29 */ - YYSYMBOL_xstring = 275, /* xstring */ - YYSYMBOL_regexp = 276, /* regexp */ - YYSYMBOL_heredoc = 277, /* heredoc */ - YYSYMBOL_heredoc_bodies = 278, /* heredoc_bodies */ - YYSYMBOL_heredoc_body = 279, /* heredoc_body */ - YYSYMBOL_heredoc_string_rep = 280, /* heredoc_string_rep */ - YYSYMBOL_heredoc_string_interp = 281, /* heredoc_string_interp */ - YYSYMBOL_282_30 = 282, /* @30 */ - YYSYMBOL_words = 283, /* words */ - YYSYMBOL_symbol = 284, /* symbol */ - YYSYMBOL_basic_symbol = 285, /* basic_symbol */ - YYSYMBOL_sym = 286, /* sym */ - YYSYMBOL_symbols = 287, /* symbols */ - YYSYMBOL_numeric = 288, /* numeric */ - YYSYMBOL_variable = 289, /* variable */ - YYSYMBOL_var_lhs = 290, /* var_lhs */ - YYSYMBOL_var_ref = 291, /* var_ref */ - YYSYMBOL_backref = 292, /* backref */ - YYSYMBOL_superclass = 293, /* superclass */ - YYSYMBOL_294_31 = 294, /* $@31 */ - YYSYMBOL_f_opt_arglist_paren = 295, /* f_opt_arglist_paren */ - YYSYMBOL_f_arglist_paren = 296, /* f_arglist_paren */ - YYSYMBOL_f_arglist = 297, /* f_arglist */ - YYSYMBOL_f_label = 298, /* f_label */ - YYSYMBOL_f_kw = 299, /* f_kw */ - YYSYMBOL_f_block_kw = 300, /* f_block_kw */ - YYSYMBOL_f_block_kwarg = 301, /* f_block_kwarg */ - YYSYMBOL_f_kwarg = 302, /* f_kwarg */ - YYSYMBOL_kwrest_mark = 303, /* kwrest_mark */ - YYSYMBOL_f_kwrest = 304, /* f_kwrest */ - YYSYMBOL_args_tail = 305, /* args_tail */ - YYSYMBOL_opt_args_tail = 306, /* opt_args_tail */ - YYSYMBOL_f_args = 307, /* f_args */ - YYSYMBOL_f_bad_arg = 308, /* f_bad_arg */ - YYSYMBOL_f_norm_arg = 309, /* f_norm_arg */ - YYSYMBOL_f_arg_item = 310, /* f_arg_item */ - YYSYMBOL_311_32 = 311, /* @32 */ - YYSYMBOL_f_arg = 312, /* f_arg */ - YYSYMBOL_f_opt_asgn = 313, /* f_opt_asgn */ - YYSYMBOL_f_opt = 314, /* f_opt */ - YYSYMBOL_f_block_opt = 315, /* f_block_opt */ - YYSYMBOL_f_block_optarg = 316, /* f_block_optarg */ - YYSYMBOL_f_optarg = 317, /* f_optarg */ - YYSYMBOL_restarg_mark = 318, /* restarg_mark */ - YYSYMBOL_f_rest_arg = 319, /* f_rest_arg */ - YYSYMBOL_blkarg_mark = 320, /* blkarg_mark */ - YYSYMBOL_f_block_arg = 321, /* f_block_arg */ - YYSYMBOL_opt_f_block_arg = 322, /* opt_f_block_arg */ - YYSYMBOL_singleton = 323, /* singleton */ - YYSYMBOL_324_33 = 324, /* $@33 */ - YYSYMBOL_assoc_list = 325, /* assoc_list */ - YYSYMBOL_assocs = 326, /* assocs */ - YYSYMBOL_assoc = 327, /* assoc */ - YYSYMBOL_operation = 328, /* operation */ - YYSYMBOL_operation2 = 329, /* operation2 */ - YYSYMBOL_operation3 = 330, /* operation3 */ - YYSYMBOL_dot_or_colon = 331, /* dot_or_colon */ - YYSYMBOL_call_op = 332, /* call_op */ - YYSYMBOL_call_op2 = 333, /* call_op2 */ - YYSYMBOL_opt_terms = 334, /* opt_terms */ - YYSYMBOL_opt_nl = 335, /* opt_nl */ - YYSYMBOL_rparen = 336, /* rparen */ - YYSYMBOL_trailer = 337, /* trailer */ - YYSYMBOL_term = 338, /* term */ - YYSYMBOL_nl = 339, /* nl */ - YYSYMBOL_terms = 340, /* terms */ - YYSYMBOL_none = 341 /* none */ + YYSYMBOL_249_29 = 249, /* $@29 */ + YYSYMBOL_250_30 = 250, /* $@30 */ + YYSYMBOL_251_31 = 251, /* $@31 */ + YYSYMBOL_p_expr = 252, /* p_expr */ + YYSYMBOL_p_args_head = 253, /* p_args_head */ + YYSYMBOL_p_args_post = 254, /* p_args_post */ + YYSYMBOL_p_as = 255, /* p_as */ + YYSYMBOL_p_alt = 256, /* p_alt */ + YYSYMBOL_p_value = 257, /* p_value */ + YYSYMBOL_p_array = 258, /* p_array */ + YYSYMBOL_p_array_body = 259, /* p_array_body */ + YYSYMBOL_p_array_elems = 260, /* p_array_elems */ + YYSYMBOL_p_rest = 261, /* p_rest */ + YYSYMBOL_p_hash = 262, /* p_hash */ + YYSYMBOL_p_hash_body = 263, /* p_hash_body */ + YYSYMBOL_p_hash_elems = 264, /* p_hash_elems */ + YYSYMBOL_p_hash_elem = 265, /* p_hash_elem */ + YYSYMBOL_p_kwrest = 266, /* p_kwrest */ + YYSYMBOL_p_var = 267, /* p_var */ + YYSYMBOL_opt_rescue = 268, /* opt_rescue */ + YYSYMBOL_exc_list = 269, /* exc_list */ + YYSYMBOL_exc_var = 270, /* exc_var */ + YYSYMBOL_opt_ensure = 271, /* opt_ensure */ + YYSYMBOL_literal = 272, /* literal */ + YYSYMBOL_string = 273, /* string */ + YYSYMBOL_string_fragment = 274, /* string_fragment */ + YYSYMBOL_string_rep = 275, /* string_rep */ + YYSYMBOL_string_interp = 276, /* string_interp */ + YYSYMBOL_277_32 = 277, /* @32 */ + YYSYMBOL_xstring = 278, /* xstring */ + YYSYMBOL_regexp = 279, /* regexp */ + YYSYMBOL_heredoc = 280, /* heredoc */ + YYSYMBOL_heredoc_bodies = 281, /* heredoc_bodies */ + YYSYMBOL_heredoc_body = 282, /* heredoc_body */ + YYSYMBOL_heredoc_string_rep = 283, /* heredoc_string_rep */ + YYSYMBOL_heredoc_string_interp = 284, /* heredoc_string_interp */ + YYSYMBOL_285_33 = 285, /* @33 */ + YYSYMBOL_words = 286, /* words */ + YYSYMBOL_symbol = 287, /* symbol */ + YYSYMBOL_basic_symbol = 288, /* basic_symbol */ + YYSYMBOL_sym = 289, /* sym */ + YYSYMBOL_symbols = 290, /* symbols */ + YYSYMBOL_numeric = 291, /* numeric */ + YYSYMBOL_variable = 292, /* variable */ + YYSYMBOL_var_lhs = 293, /* var_lhs */ + YYSYMBOL_var_ref = 294, /* var_ref */ + YYSYMBOL_backref = 295, /* backref */ + YYSYMBOL_superclass = 296, /* superclass */ + YYSYMBOL_297_34 = 297, /* $@34 */ + YYSYMBOL_f_opt_arglist_paren = 298, /* f_opt_arglist_paren */ + YYSYMBOL_f_arglist_paren = 299, /* f_arglist_paren */ + YYSYMBOL_f_arglist = 300, /* f_arglist */ + YYSYMBOL_f_label = 301, /* f_label */ + YYSYMBOL_f_kw = 302, /* f_kw */ + YYSYMBOL_f_block_kw = 303, /* f_block_kw */ + YYSYMBOL_f_block_kwarg = 304, /* f_block_kwarg */ + YYSYMBOL_f_kwarg = 305, /* f_kwarg */ + YYSYMBOL_kwrest_mark = 306, /* kwrest_mark */ + YYSYMBOL_f_kwrest = 307, /* f_kwrest */ + YYSYMBOL_args_tail = 308, /* args_tail */ + YYSYMBOL_opt_args_tail = 309, /* opt_args_tail */ + YYSYMBOL_f_args = 310, /* f_args */ + YYSYMBOL_f_bad_arg = 311, /* f_bad_arg */ + YYSYMBOL_f_norm_arg = 312, /* f_norm_arg */ + YYSYMBOL_f_arg_item = 313, /* f_arg_item */ + YYSYMBOL_314_35 = 314, /* @35 */ + YYSYMBOL_f_arg = 315, /* f_arg */ + YYSYMBOL_f_opt_asgn = 316, /* f_opt_asgn */ + YYSYMBOL_f_opt = 317, /* f_opt */ + YYSYMBOL_f_block_opt = 318, /* f_block_opt */ + YYSYMBOL_f_block_optarg = 319, /* f_block_optarg */ + YYSYMBOL_f_optarg = 320, /* f_optarg */ + YYSYMBOL_restarg_mark = 321, /* restarg_mark */ + YYSYMBOL_f_rest_arg = 322, /* f_rest_arg */ + YYSYMBOL_blkarg_mark = 323, /* blkarg_mark */ + YYSYMBOL_f_block_arg = 324, /* f_block_arg */ + YYSYMBOL_opt_f_block_arg = 325, /* opt_f_block_arg */ + YYSYMBOL_singleton = 326, /* singleton */ + YYSYMBOL_327_36 = 327, /* $@36 */ + YYSYMBOL_assoc_list = 328, /* assoc_list */ + YYSYMBOL_assocs = 329, /* assocs */ + YYSYMBOL_assoc = 330, /* assoc */ + YYSYMBOL_operation = 331, /* operation */ + YYSYMBOL_operation2 = 332, /* operation2 */ + YYSYMBOL_operation3 = 333, /* operation3 */ + YYSYMBOL_dot_or_colon = 334, /* dot_or_colon */ + YYSYMBOL_call_op = 335, /* call_op */ + YYSYMBOL_call_op2 = 336, /* call_op2 */ + YYSYMBOL_opt_terms = 337, /* opt_terms */ + YYSYMBOL_opt_nl = 338, /* opt_nl */ + YYSYMBOL_rparen = 339, /* rparen */ + YYSYMBOL_trailer = 340, /* trailer */ + YYSYMBOL_term = 341, /* term */ + YYSYMBOL_nl = 342, /* nl */ + YYSYMBOL_terms = 343, /* terms */ + YYSYMBOL_none = 344 /* none */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -2921,16 +2924,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 106 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 16338 +#define YYLAST 16582 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 193 +#define YYNNTS 196 /* YYNRULES -- Number of rules. */ -#define YYNRULES 679 +#define YYNRULES 685 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1207 +#define YYNSTATES 1216 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 377 @@ -3033,32 +3036,33 @@ static const yytype_int16 yyrline[] = 3667, 3667, 3671, 3676, 3682, 3686, 3692, 3693, 3696, 3701, 3704, 3708, 3714, 3718, 3725, 3724, 3741, 3746, 3750, 3755, 3762, 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3801, - 3800, 3815, 3814, 3830, 3838, 3847, 3851, 3855, 3860, 3865, - 3874, 3875, 3879, 3883, 3887, 3891, 3898, 3902, 3909, 3913, - 3919, 3920, 3926, 3927, 3933, 3934, 3938, 3942, 3946, 3950, - 3954, 3958, 3962, 3966, 3970, 3971, 3972, 3979, 3983, 3990, - 3995, 4000, 4005, 4010, 4018, 4022, 4029, 4033, 4041, 4045, - 4052, 4056, 4060, 4067, 4071, 4078, 4083, 4088, 4096, 4100, - 4105, 4112, 4118, 4125, 4128, 4132, 4133, 4136, 4140, 4143, - 4147, 4150, 4151, 4152, 4153, 4156, 4157, 4163, 4168, 4173, - 4178, 4184, 4185, 4191, 4197, 4196, 4208, 4212, 4218, 4222, - 4228, 4237, 4248, 4251, 4252, 4255, 4261, 4267, 4268, 4271, - 4278, 4277, 4292, 4296, 4304, 4308, 4320, 4327, 4334, 4335, - 4336, 4337, 4338, 4342, 4348, 4352, 4360, 4361, 4362, 4366, - 4372, 4376, 4380, 4384, 4388, 4394, 4398, 4404, 4408, 4412, - 4416, 4420, 4424, 4428, 4436, 4443, 4449, 4450, 4454, 4458, - 4457, 4474, 4475, 4478, 4484, 4488, 4494, 4495, 4499, 4503, - 4509, 4513, 4519, 4525, 4532, 4538, 4545, 4549, 4555, 4559, - 4565, 4566, 4569, 4573, 4579, 4583, 4587, 4591, 4597, 4602, - 4607, 4611, 4615, 4619, 4623, 4627, 4631, 4635, 4639, 4643, - 4647, 4651, 4655, 4659, 4664, 4670, 4675, 4680, 4685, 4690, - 4697, 4701, 4708, 4713, 4712, 4724, 4728, 4734, 4742, 4750, - 4758, 4762, 4768, 4772, 4778, 4779, 4782, 4787, 4794, 4795, - 4798, 4802, 4808, 4812, 4818, 4824, 4824, 4831, 4832, 4838, - 4842, 4848, 4854, 4859, 4863, 4868, 4873, 4889, 4894, 4900, - 4901, 4902, 4905, 4906, 4907, 4908, 4911, 4912, 4913, 4916, - 4917, 4920, 4924, 4930, 4931, 4937, 4938, 4941, 4942, 4945, - 4948, 4949, 4950, 4953, 4954, 4957, 4962, 4965, 4966, 4970 + 3800, 3815, 3814, 3830, 3838, 3847, 3852, 3856, 3856, 3861, + 3861, 3866, 3866, 3876, 3877, 3881, 3885, 3889, 3893, 3897, + 3902, 3907, 3915, 3919, 3926, 3930, 3936, 3937, 3943, 3944, + 3950, 3951, 3955, 3959, 3963, 3967, 3971, 3975, 3979, 3983, + 3987, 3988, 3989, 3996, 4000, 4007, 4012, 4017, 4022, 4027, + 4035, 4039, 4046, 4050, 4058, 4062, 4069, 4073, 4077, 4084, + 4088, 4096, 4101, 4106, 4114, 4118, 4123, 4130, 4136, 4143, + 4146, 4150, 4151, 4154, 4158, 4161, 4165, 4168, 4169, 4170, + 4171, 4174, 4175, 4181, 4186, 4191, 4196, 4202, 4203, 4209, + 4215, 4214, 4226, 4230, 4236, 4240, 4246, 4255, 4266, 4269, + 4270, 4273, 4279, 4285, 4286, 4289, 4296, 4295, 4310, 4314, + 4322, 4326, 4338, 4345, 4352, 4353, 4354, 4355, 4356, 4360, + 4366, 4370, 4378, 4379, 4380, 4384, 4390, 4394, 4398, 4402, + 4406, 4412, 4416, 4422, 4426, 4430, 4434, 4438, 4442, 4446, + 4454, 4461, 4467, 4468, 4472, 4476, 4475, 4492, 4493, 4496, + 4502, 4506, 4512, 4513, 4517, 4521, 4527, 4531, 4537, 4543, + 4550, 4556, 4563, 4567, 4573, 4577, 4583, 4584, 4587, 4591, + 4597, 4601, 4605, 4609, 4615, 4620, 4625, 4629, 4633, 4637, + 4641, 4645, 4649, 4653, 4657, 4661, 4665, 4669, 4673, 4677, + 4682, 4688, 4693, 4698, 4703, 4708, 4715, 4719, 4726, 4731, + 4730, 4742, 4746, 4752, 4760, 4768, 4776, 4780, 4786, 4790, + 4796, 4797, 4800, 4805, 4812, 4813, 4816, 4820, 4826, 4830, + 4836, 4842, 4842, 4849, 4850, 4856, 4860, 4866, 4872, 4877, + 4881, 4886, 4891, 4907, 4912, 4918, 4919, 4920, 4923, 4924, + 4925, 4926, 4929, 4930, 4931, 4934, 4935, 4938, 4942, 4948, + 4949, 4955, 4956, 4959, 4960, 4963, 4966, 4967, 4968, 4971, + 4972, 4975, 4980, 4983, 4984, 4988 }; #endif @@ -3120,24 +3124,24 @@ static const char *const yytname[] = "opt_block_param", "$@25", "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "f_larglist", "lambda_body", "@26", "do_block", "block_call", "method_call", "@27", "brace_block", "@28", "case_body", "cases", - "in_clauses", "p_expr", "p_args_head", "p_args_post", "p_as", "p_alt", - "p_value", "p_array", "p_array_body", "p_array_elems", "p_rest", - "p_hash", "p_hash_body", "p_hash_elems", "p_hash_elem", "p_kwrest", - "p_var", "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", - "string", "string_fragment", "string_rep", "string_interp", "@29", - "xstring", "regexp", "heredoc", "heredoc_bodies", "heredoc_body", - "heredoc_string_rep", "heredoc_string_interp", "@30", "words", "symbol", - "basic_symbol", "sym", "symbols", "numeric", "variable", "var_lhs", - "var_ref", "backref", "superclass", "$@31", "f_opt_arglist_paren", - "f_arglist_paren", "f_arglist", "f_label", "f_kw", "f_block_kw", - "f_block_kwarg", "f_kwarg", "kwrest_mark", "f_kwrest", "args_tail", - "opt_args_tail", "f_args", "f_bad_arg", "f_norm_arg", "f_arg_item", - "@32", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", "f_block_optarg", - "f_optarg", "restarg_mark", "f_rest_arg", "blkarg_mark", "f_block_arg", - "opt_f_block_arg", "singleton", "$@33", "assoc_list", "assocs", "assoc", - "operation", "operation2", "operation3", "dot_or_colon", "call_op", - "call_op2", "opt_terms", "opt_nl", "rparen", "trailer", "term", "nl", - "terms", "none", YY_NULLPTR + "in_clauses", "$@29", "$@30", "$@31", "p_expr", "p_args_head", + "p_args_post", "p_as", "p_alt", "p_value", "p_array", "p_array_body", + "p_array_elems", "p_rest", "p_hash", "p_hash_body", "p_hash_elems", + "p_hash_elem", "p_kwrest", "p_var", "opt_rescue", "exc_list", "exc_var", + "opt_ensure", "literal", "string", "string_fragment", "string_rep", + "string_interp", "@32", "xstring", "regexp", "heredoc", "heredoc_bodies", + "heredoc_body", "heredoc_string_rep", "heredoc_string_interp", "@33", + "words", "symbol", "basic_symbol", "sym", "symbols", "numeric", + "variable", "var_lhs", "var_ref", "backref", "superclass", "$@34", + "f_opt_arglist_paren", "f_arglist_paren", "f_arglist", "f_label", "f_kw", + "f_block_kw", "f_block_kwarg", "f_kwarg", "kwrest_mark", "f_kwrest", + "args_tail", "opt_args_tail", "f_args", "f_bad_arg", "f_norm_arg", + "f_arg_item", "@35", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", + "f_block_optarg", "f_optarg", "restarg_mark", "f_rest_arg", + "blkarg_mark", "f_block_arg", "opt_f_block_arg", "singleton", "$@36", + "assoc_list", "assocs", "assoc", "operation", "operation2", "operation3", + "dot_or_colon", "call_op", "call_op2", "opt_terms", "opt_nl", "rparen", + "trailer", "term", "nl", "terms", "none", YY_NULLPTR }; static const char * @@ -3147,12 +3151,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-948) +#define YYPACT_NINF (-953) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-680) +#define YYTABLE_NINF (-686) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -3161,127 +3165,128 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -948, 4465, 180, 10159, 12968, 13424, 8209, -948, 11929, 11929, - -948, -948, 13082, 9391, 7825, 10395, 10395, -948, -948, 10395, - 4986, 4578, -948, -948, -948, -948, 46, 9391, -948, -26, - -948, -948, -948, 8351, 4072, -948, -948, 8493, -948, -948, - -948, -948, -948, -948, -948, 424, 12047, 12047, 12047, 12047, - 187, 6646, 814, 10867, 11221, 9673, -948, 9109, 1428, 1058, - 1155, 1544, 1557, -948, 222, 12165, 12047, -948, 1226, -948, - 1669, -948, 363, 1936, 1936, -948, -948, 227, 132, -948, - 145, 13196, -948, 183, 16081, 321, 451, 58, 80, -948, - 436, -948, -948, -948, -948, -948, -948, -948, -948, -948, - 47, 197, -948, 237, 40, -948, -948, -948, -948, -948, - -948, 170, 170, 46, 618, 885, -948, 11929, 251, 6765, - 269, 2216, 2216, -948, 200, -948, 484, -948, -948, 40, - -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, 60, 63, - 87, 151, -948, -948, -948, -948, -948, -948, 172, 219, - 225, 228, -948, 240, -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, 243, - 5678, 262, 363, 1936, 1936, 419, 229, 16205, 571, 433, - 263, 489, 419, 11929, 11929, 631, 314, -948, -948, 729, - 364, 104, 109, -948, -948, -948, -948, -948, -948, -948, - -948, -948, 9250, -948, -948, 252, -948, -948, -948, -948, - -948, -948, 1226, -948, 597, -948, 376, -948, -948, 1226, - 4714, 128, 12047, 12047, 12047, 12047, -948, 16143, -948, -948, - 266, 358, 266, -948, -948, -948, 10513, -948, -948, 10395, - -948, -948, -948, -948, 7825, 8063, -948, 289, 6884, -948, - 770, 335, 3072, 3072, 291, 10277, 6646, 306, 1226, 1669, - 1226, 334, -948, 10277, 1226, 323, 753, 753, -948, 16143, - 327, 753, -948, 427, 13538, 343, 849, 896, 897, 1991, - -948, -948, -948, -948, -948, 1565, -948, -948, -948, -948, - -948, -948, 657, 1588, -948, -948, 1218, -948, 1240, -948, - 1620, -948, 1667, 390, 397, -948, -948, -948, -948, 7149, - 11929, 11929, 11929, 11929, 10277, 11929, 11929, 112, -948, -948, - -948, -948, 460, 1226, -948, -948, -948, -948, -948, -948, - -948, 2206, 418, 423, 5678, 12047, -948, 394, 500, 413, - -948, 1226, -948, -948, -948, 435, 12047, -948, 445, 548, - 450, 564, -948, -948, 481, 5678, -948, -948, 11339, -948, - 6646, 9787, 476, 11339, 12047, 12047, 12047, 12047, 12047, 12047, - 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, 572, 12047, - 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, - 12047, 3547, -948, 10395, -948, 4276, -948, -948, 15356, -948, - -948, -948, -948, 12165, 12165, -948, 557, -948, 363, -948, - 957, -948, -948, -948, -948, -948, -948, 14066, 10395, 14152, - 5678, 11929, -948, -948, -948, 635, 644, 496, 542, 553, - -948, 5824, 665, 12047, 14238, 10395, 14324, 12047, 12047, 6262, - 192, 192, 110, 14410, 10395, 14496, -948, 630, -948, 6884, - 239, -948, -948, 11457, 679, -948, 12047, 12047, 16205, 16205, - 16205, 12047, -948, -948, 10631, -948, 12047, -948, 10985, 7944, - 552, 1226, 266, 266, -948, -948, 1207, 555, -948, -948, - -948, 9391, 6381, 565, 14238, 14324, 12047, 1669, 1226, -948, - -948, 7268, 578, 1669, -948, -948, 11103, -948, 1226, 11221, - -948, -948, -948, 957, 145, 13538, -948, 13538, 14582, 10395, - 14668, 1809, -948, -948, 582, -948, 1684, 6884, 657, -948, - -948, -948, -948, -948, -948, -948, 12047, 12047, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - 1757, 1226, 1226, 583, 12165, 717, 16205, 347, -948, -948, - -948, 69, -948, -948, 2227, -948, 16205, 1809, -948, -948, - 2398, -948, -948, 12165, 725, 83, 12047, -948, 15797, 266, - -948, 1226, 13538, 599, -948, -948, -948, 700, 628, 1871, - -948, -948, 980, 511, 3174, 3174, 3174, 3174, 1741, 1741, - 3678, 2700, 3174, 3174, 3072, 3072, 1657, 1657, -948, 335, - 16205, 1741, 1741, 1801, 1801, 1885, 292, 292, 335, 335, - 335, 5122, 8849, 5394, 8967, -948, 170, -948, 613, 266, - 389, -948, 480, -948, -948, 4850, -948, -948, 2367, 83, - 83, -948, 2870, -948, -948, -948, -948, -948, 1226, 11929, - 5678, 1343, 495, -948, 170, 614, 170, 748, 1207, 9532, - -948, 11575, 752, -948, 12047, 12047, 490, -948, 8611, 8730, - 625, 533, 538, 752, -948, -948, -948, -948, 59, 95, - 632, 130, 134, 11929, 9391, 642, 12854, 768, 16205, 1419, - -948, 16205, 16205, 16205, 920, 12047, 16143, -948, 266, 16205, - -948, -948, -948, -948, 10749, 10985, -948, -948, -948, 646, - -948, -948, 45, 1669, 1226, 753, 476, -948, 1343, 495, - 647, 1408, 1436, -948, 86, 1809, -948, 648, -948, 335, - 335, -948, -948, 351, 1226, 656, -948, -948, 2478, 755, - 3659, -948, 747, 460, -948, 413, -948, 1226, -948, -948, - 668, 669, 675, -948, 681, 747, 675, 785, 15428, -948, - -948, 1809, 5678, -948, -948, 15868, 11693, -948, -948, 13538, - 10277, 12165, 12047, 14754, 10395, 14840, 522, 12165, 12165, -948, - 557, 541, 10631, 12165, 12165, -948, 557, 80, 227, 5678, - 6884, 83, -948, 1226, 816, -948, -948, -948, -948, 15797, - -948, 742, -948, 6527, 828, -948, 11929, 829, -948, 12047, - 12047, 551, 12047, 12047, 834, 7030, 7030, 136, 192, -948, - -948, 12388, 12468, 12548, 3252, 12214, 12308, 795, 9901, 10040, - 808, 810, 1103, 142, 12854, 155, 53, -948, -948, 611, - -948, -948, 12628, 12708, -948, 11811, 5970, 16205, -948, 7944, - 266, -948, -948, -948, 290, 728, 1336, 5678, 6884, -948, - -948, -948, 720, -948, 1955, 1226, 12047, 12047, -948, -948, - 1809, -948, 2398, -948, 2398, -948, 2398, -948, -948, 12047, - 12047, -948, -948, -948, 13652, -948, 735, 413, 736, 13652, - -948, 740, 741, -948, 872, 12047, 15939, -948, -948, 16205, - 5258, 5530, 750, 568, 585, 12047, 12047, -948, -948, -948, - -948, -948, 12165, -948, -948, -948, -948, -948, -948, -948, - 879, 765, 6884, 5678, -948, -948, 13766, 419, -948, -948, - 7030, -948, -948, 419, -948, 12047, -948, 890, 892, -948, - 957, 13814, 859, 7533, -948, 1126, -948, 777, 784, 786, - 50, 7679, -948, 788, 794, -948, -948, 15721, -948, -948, - 14926, 11929, 11929, 6116, 697, 825, -948, 886, 13310, 13310, - 16205, 182, -948, 10985, -948, 1666, 915, 799, 2017, 2017, - 965, -948, 16205, 16205, 675, 800, 675, 675, 16205, 16205, - 815, 819, 891, 1173, 347, -948, -948, 2101, -948, 1173, - 1809, -948, 2398, -948, -948, 16010, 607, 16205, 16205, -948, - -948, -948, -948, 809, 934, 900, -948, 1228, 896, 897, - 5678, -948, 5824, -948, -948, 7030, 15567, 13891, 15012, -948, - 12854, 13310, 7387, 15644, 13968, -948, 194, 12854, 807, 495, - 419, 419, 168, -948, 13310, -948, -948, 1370, -948, -948, - -948, -948, -948, 821, -948, -948, -948, -948, 827, 827, - 2017, 830, -948, 2398, -948, -948, -948, -948, -948, -948, - 15098, -948, 413, 347, -948, -948, 832, 837, 840, -948, - 843, 840, -948, -948, 957, 15184, 10395, 15270, 644, 490, - 946, 15490, -948, 846, 855, -948, 913, 140, -948, -948, - 906, -948, 6116, 6116, 12854, -948, 991, 1381, 13310, 1666, - 920, 2017, 827, 2017, 675, 865, -948, 1809, -948, 2398, - -948, 2398, -948, 2398, -948, -948, 1343, 495, 870, 706, - 1487, -948, -948, -948, 13310, 13310, 12854, -948, -948, 168, - 168, 1245, -948, -948, -948, 827, -948, 840, 871, 840, - 840, 290, 855, 999, 1007, 11929, 11929, 6116, -948, 2398, - -948, -948, -948, -948, -948, 419, 419, 168, 840, 6116, - 6116, -948, -948, 168, 168, -948, -948 + -953, 4657, 155, 10239, 13002, 13458, 8289, -953, 12009, 12009, + -953, -953, 13116, 9471, 7905, 10475, 10475, -953, -953, 10475, + 5202, 4794, -953, -953, -953, -953, 25, 9471, -953, 147, + -953, -953, -953, 8431, 4284, -953, -953, 8573, -953, -953, + -953, -953, -953, -953, -953, 168, 12127, 12127, 12127, 12127, + 271, 6726, 1385, 10947, 11301, 9753, -953, 9189, 910, 192, + 696, 1284, 1313, -953, 156, 12245, 12127, -953, 1421, -953, + 1584, -953, 423, 2233, 2233, -953, -953, 152, 222, -953, + 191, 13230, -953, 231, 16263, 432, 519, 234, 130, -953, + 113, -953, -953, -953, -953, -953, -953, -953, -953, -953, + 281, 283, -953, 410, 78, -953, -953, -953, -953, -953, + -953, 255, 255, 25, 89, 769, -953, 12009, 289, 6845, + 590, 1982, 1982, -953, 294, -953, 599, -953, -953, 78, + -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, 102, 188, + 212, 225, -953, -953, -953, -953, -953, -953, 246, 247, + 270, 306, -953, 323, -953, -953, -953, -953, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, -953, 328, + 5758, 366, 423, 2233, 2233, 179, 324, 16387, 675, 236, + 372, 242, 179, 12009, 12009, 735, 430, -953, -953, 751, + 469, 108, 141, -953, -953, -953, -953, -953, -953, -953, + -953, -953, 9330, -953, -953, 359, -953, -953, -953, -953, + -953, -953, 1421, -953, 591, -953, 498, -953, -953, 1421, + 4930, 220, 12127, 12127, 12127, 12127, -953, 16325, -953, -953, + 397, 489, 397, -953, -953, -953, 10593, -953, -953, 10475, + -953, -953, -953, -953, 7905, 8143, -953, 413, 6964, -953, + 782, 452, 16449, 16449, 434, 10357, 6726, 420, 1421, 1584, + 1421, 446, -953, 10357, 1421, 433, 1426, 1426, -953, 16325, + 439, 1426, -953, 516, 13572, 441, 812, 912, 984, 2353, + -953, -953, -953, -953, -953, 1334, -953, -953, -953, -953, + -953, -953, 842, 1353, -953, -953, 383, -953, 974, -953, + 1378, -953, 1408, 538, 543, -953, -953, -953, -953, 7229, + 12009, 12009, 12009, 12009, 10357, 12009, 12009, 60, -953, -953, + -953, -953, 533, 1421, -953, -953, -953, -953, -953, -953, + -953, 2374, 493, 501, 5758, 12127, -953, 511, 609, 523, + -953, 1421, -953, -953, -953, 531, 12127, -953, 539, 641, + 571, 665, -953, -953, 601, 5758, -953, -953, 11419, -953, + 6726, 9867, 582, 11419, 12127, 12127, 12127, 12127, 12127, 12127, + 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, 684, 12127, + 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, 12127, + 12127, 3448, -953, 10475, -953, 14100, -953, -953, 15476, -953, + -953, -953, -953, 12245, 12245, -953, 648, -953, 423, -953, + 988, -953, -953, -953, -953, -953, -953, 14186, 10475, 14272, + 5758, 12009, -953, -953, -953, 734, 739, 316, 633, 642, + -953, 5904, 750, 12127, 14358, 10475, 14444, 12127, 12127, 6342, + 52, 52, 157, 14530, 10475, 14616, -953, 707, -953, 6964, + 456, -953, -953, 11537, 770, -953, 12127, 12127, 16387, 16387, + 16387, 12127, -953, -953, 10711, -953, 12127, -953, 11065, 8024, + 644, 1421, 397, 397, -953, -953, 823, 645, -953, -953, + -953, 9471, 6461, 655, 14358, 14444, 12127, 1584, 1421, -953, + -953, 7348, 651, 1584, -953, -953, 11183, -953, 1421, 11301, + -953, -953, -953, 988, 191, 13572, -953, 13572, 14702, 10475, + 14788, 2690, -953, -953, 657, -953, 1412, 6964, 842, -953, + -953, -953, -953, -953, -953, -953, 12127, 12127, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, + 1617, 1421, 1421, 659, 12245, 792, 16387, 1010, -953, -953, + -953, 62, -953, -953, 2539, -953, 16387, 2690, -953, -953, + 1564, -953, -953, 12245, 799, 23, 12127, -953, 15979, 397, + -953, 1421, 13572, 677, -953, -953, -953, 777, 703, 3039, + -953, -953, 1066, 351, 4141, 4141, 4141, 4141, 1782, 1782, + 4487, 3179, 4141, 4141, 16449, 16449, 1143, 1143, -953, 452, + 16387, 1782, 1782, 1100, 1100, 1390, 804, 804, 452, 452, + 452, 1879, 8929, 5474, 9047, -953, 255, -953, 685, 397, + 529, -953, 629, -953, -953, 5066, -953, -953, 2224, 23, + 23, -953, 3346, -953, -953, -953, -953, -953, 1421, 12009, + 5758, 907, 287, -953, 255, 687, 255, 817, 823, 9612, + -953, 11655, 811, -953, 12127, 12127, 619, -953, 8691, 8810, + 697, 370, 406, 811, -953, -953, -953, -953, 120, 132, + 704, 161, 162, 12009, 9471, 698, 12774, 831, 16387, 340, + -953, 16387, 16387, 16387, 669, 12127, 16325, -953, 397, 16387, + -953, -953, -953, -953, 10829, 11065, -953, -953, -953, 714, + -953, -953, 211, 1584, 1421, 1426, 582, -953, 907, 287, + 721, 925, 1213, -953, 98, 2690, -953, 724, -953, 452, + 452, -953, -953, 577, 1421, 723, -953, -953, 2604, 835, + 15548, -953, 810, 533, -953, 523, -953, 1421, -953, -953, + 743, 746, 748, -953, 752, 810, 748, 857, 15610, -953, + -953, 2690, 5758, -953, -953, 16050, 11773, -953, -953, 13572, + 10357, 12245, 12127, 14874, 10475, 14960, 1146, 12245, 12245, -953, + 648, 676, 10711, 12245, 12245, -953, 648, 130, 152, 5758, + 6964, 23, -953, 1421, 888, -953, -953, -953, -953, 15979, + -953, 813, -953, 6607, 890, -953, 12009, 893, -953, 12127, + 12127, 421, 12127, 12127, 897, 7110, 7110, 163, 52, -953, + -953, 3825, 4402, 12468, 63, 3654, 12388, 859, 9981, 10120, + 867, 140, 872, 1150, 870, 12888, 783, 82, -953, -953, + 788, -953, 802, -953, -953, -953, 1458, 12548, -953, 11891, + 6050, 16387, -953, 8024, 397, -953, -953, -953, 615, 779, + 1434, 5758, 6964, -953, -953, -953, 806, -953, 1625, 1421, + 12127, 12127, -953, -953, 2690, -953, 1564, -953, 1564, -953, + 1564, -953, -953, 12127, 12127, -953, -953, -953, 13686, -953, + 825, 523, 836, 13686, -953, 837, 838, -953, 939, 12127, + 16121, -953, -953, 16387, 5338, 5610, 845, 424, 513, 12127, + 12127, -953, -953, -953, -953, -953, 12245, -953, -953, -953, + -953, -953, -953, -953, 972, 851, 6964, 5758, -953, -953, + 13800, 179, -953, -953, 7110, -953, -953, 179, -953, 12127, + -953, 983, 985, -953, 13344, 988, 13848, 948, 7613, -953, + 1152, -953, 866, 877, 878, 12628, 93, 7759, -953, 884, + 882, -953, 15903, -953, -953, -953, -953, 15046, 12009, 12009, + 6196, 12294, 886, 887, -953, 980, 13344, 13344, 87, 13344, + 16387, 111, -953, 11065, -953, 1534, 1022, 923, 1029, 1029, + 1002, -953, 16387, 16387, 748, 904, 748, 748, 16387, 16387, + 938, 940, 994, 1172, 1010, -953, -953, 1744, -953, 1172, + 2690, -953, 1564, -953, -953, 16192, 521, 16387, 16387, -953, + -953, -953, -953, 936, 1055, 1033, -953, 1199, 912, 984, + 5758, -953, 5904, -953, -953, 7110, -953, 15749, 13925, 15132, + -953, 12888, 13344, 7467, 15826, 14002, -953, 87, 933, 287, + 179, 179, 245, -953, 13344, -953, -953, 950, -953, 1037, + -953, -953, 1003, -953, -953, -953, -953, -953, 957, -953, + -953, -953, -953, 961, 961, 1029, 962, -953, 1564, -953, + -953, -953, -953, -953, -953, 15218, -953, 523, 1010, -953, + -953, 973, 975, 978, -953, 979, 978, -953, -953, 988, + 15304, 10475, 15390, 739, 619, 1107, 15672, -953, 992, 995, + -953, 6196, 6196, 12774, -953, 1110, 950, 13344, 1534, 669, + 1029, 961, 1029, 748, 1001, -953, 2690, -953, 1564, -953, + 1564, -953, 1564, -953, -953, 907, 287, 1007, 481, 654, + -953, -953, -953, 13344, 13344, 245, 245, 647, -953, -953, + -953, 961, -953, 978, 1009, 978, 978, 615, 995, 1134, + 1142, 179, 1118, 1122, -953, 1564, -953, -953, -953, -953, + -953, 6196, 12009, 12009, 978, 245, 179, 179, -953, -953, + 6196, 6196, 245, 245, -953, -953 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3290,18 +3295,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, 665, 341, 342, 343, 344, 306, - 270, 270, 550, 549, 551, 552, 667, 0, 10, 0, - 554, 553, 555, 540, 651, 542, 541, 544, 543, 536, - 537, 497, 498, 556, 557, 548, 0, 0, 0, 0, - 0, 0, 296, 679, 679, 88, 313, 0, 0, 0, - 0, 0, 0, 512, 0, 0, 0, 3, 665, 6, - 9, 27, 33, 604, 604, 49, 60, 59, 0, 76, + 318, 321, 0, 0, 671, 341, 342, 343, 344, 306, + 270, 270, 556, 555, 557, 558, 673, 0, 10, 0, + 560, 559, 561, 546, 657, 548, 547, 550, 549, 542, + 543, 503, 504, 562, 563, 554, 0, 0, 0, 0, + 0, 0, 296, 685, 685, 88, 313, 0, 0, 0, + 0, 0, 0, 518, 0, 0, 0, 3, 671, 6, + 9, 27, 33, 610, 610, 49, 60, 59, 0, 76, 0, 80, 90, 0, 54, 248, 0, 61, 311, 286, - 287, 495, 288, 289, 290, 493, 492, 524, 494, 491, - 547, 0, 291, 292, 270, 5, 1, 8, 341, 342, - 306, 679, 417, 0, 113, 114, 548, 0, 0, 0, - 0, 604, 604, 116, 558, 345, 0, 547, 292, 0, + 287, 501, 288, 289, 290, 499, 498, 530, 500, 497, + 553, 0, 291, 292, 270, 5, 1, 8, 341, 342, + 306, 685, 417, 0, 113, 114, 554, 0, 0, 0, + 0, 610, 610, 116, 564, 345, 0, 553, 292, 0, 337, 168, 178, 169, 165, 194, 195, 196, 197, 176, 191, 184, 174, 173, 189, 172, 171, 167, 192, 166, 179, 183, 185, 177, 170, 186, 193, 188, 187, 180, @@ -3309,132 +3314,133 @@ 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, 635, 55, 121, 122, 634, 0, - 0, 0, 58, 604, 604, 0, 0, 54, 0, 547, + 148, 151, 152, 157, 641, 55, 121, 122, 640, 0, + 0, 0, 58, 610, 610, 0, 0, 54, 0, 553, 0, 292, 0, 0, 0, 112, 0, 356, 355, 0, - 0, 547, 292, 187, 180, 190, 175, 158, 159, 160, - 118, 119, 0, 123, 125, 20, 124, 515, 520, 519, - 673, 675, 665, 676, 0, 517, 0, 677, 674, 666, - 649, 548, 278, 648, 273, 0, 265, 277, 74, 269, - 679, 495, 679, 639, 75, 73, 679, 259, 307, 0, - 72, 258, 416, 71, 665, 0, 18, 0, 0, 221, - 0, 222, 209, 212, 303, 0, 0, 0, 665, 15, - 665, 78, 14, 0, 665, 0, 670, 670, 249, 0, - 0, 670, 637, 0, 0, 86, 0, 96, 103, 604, - 530, 529, 531, 532, 526, 0, 528, 527, 499, 504, - 503, 506, 0, 0, 501, 508, 0, 510, 0, 522, - 0, 534, 0, 538, 539, 53, 236, 237, 4, 666, - 0, 0, 0, 0, 0, 0, 0, 611, 607, 606, - 605, 608, 609, 0, 613, 625, 580, 581, 629, 628, - 624, 604, 0, 566, 0, 573, 578, 679, 583, 679, - 603, 0, 610, 612, 615, 589, 0, 622, 589, 627, - 589, 631, 587, 562, 0, 0, 404, 406, 0, 92, + 0, 553, 292, 187, 180, 190, 175, 158, 159, 160, + 118, 119, 0, 123, 125, 20, 124, 521, 526, 525, + 679, 681, 671, 682, 0, 523, 0, 683, 680, 672, + 655, 554, 278, 654, 273, 0, 265, 277, 74, 269, + 685, 501, 685, 645, 75, 73, 685, 259, 307, 0, + 72, 258, 416, 71, 671, 0, 18, 0, 0, 221, + 0, 222, 209, 212, 303, 0, 0, 0, 671, 15, + 671, 78, 14, 0, 671, 0, 676, 676, 249, 0, + 0, 676, 643, 0, 0, 86, 0, 96, 103, 610, + 536, 535, 537, 538, 532, 0, 534, 533, 505, 510, + 509, 512, 0, 0, 507, 514, 0, 516, 0, 528, + 0, 540, 0, 544, 545, 53, 236, 237, 4, 672, + 0, 0, 0, 0, 0, 0, 0, 617, 613, 612, + 611, 614, 615, 0, 619, 631, 586, 587, 635, 634, + 630, 610, 0, 572, 0, 579, 584, 685, 589, 685, + 609, 0, 616, 618, 621, 595, 0, 628, 595, 633, + 595, 637, 593, 568, 0, 0, 404, 406, 0, 92, 0, 84, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 662, 679, 661, 0, 664, 663, 0, 421, - 419, 312, 496, 0, 0, 410, 65, 310, 334, 113, - 114, 115, 538, 539, 566, 559, 332, 0, 679, 0, - 0, 0, 660, 659, 56, 0, 679, 303, 0, 0, - 347, 0, 346, 0, 0, 679, 0, 0, 0, 0, - 0, 0, 303, 0, 679, 0, 329, 0, 126, 0, - 0, 516, 518, 0, 0, 678, 643, 644, 279, 647, - 272, 0, 667, 266, 0, 275, 0, 267, 0, 665, - 0, 665, 679, 679, 260, 271, 665, 0, 309, 52, - 668, 0, 0, 0, 0, 0, 0, 17, 665, 301, - 13, 666, 77, 297, 300, 304, 672, 250, 671, 672, - 252, 305, 638, 102, 94, 0, 89, 0, 0, 679, - 0, 604, 314, 401, 589, 533, 0, 0, 507, 513, - 500, 502, 509, 511, 523, 535, 0, 0, 7, 21, - 22, 23, 24, 25, 50, 51, 570, 617, 571, 569, - 0, 665, 665, 589, 0, 0, 572, 0, 585, 633, - 582, 0, 586, 567, 0, 596, 618, 0, 599, 626, - 0, 601, 630, 0, 0, 679, 278, 28, 30, 0, - 31, 665, 0, 82, 93, 48, 34, 46, 0, 253, + 0, 0, 668, 685, 667, 0, 670, 669, 0, 421, + 419, 312, 502, 0, 0, 410, 65, 310, 334, 113, + 114, 115, 544, 545, 572, 565, 332, 0, 685, 0, + 0, 0, 666, 665, 56, 0, 685, 303, 0, 0, + 347, 0, 346, 0, 0, 685, 0, 0, 0, 0, + 0, 0, 303, 0, 685, 0, 329, 0, 126, 0, + 0, 522, 524, 0, 0, 684, 649, 650, 279, 653, + 272, 0, 673, 266, 0, 275, 0, 267, 0, 671, + 0, 671, 685, 685, 260, 271, 671, 0, 309, 52, + 674, 0, 0, 0, 0, 0, 0, 17, 671, 301, + 13, 672, 77, 297, 300, 304, 678, 250, 677, 678, + 252, 305, 644, 102, 94, 0, 89, 0, 0, 685, + 0, 610, 314, 401, 595, 539, 0, 0, 513, 519, + 506, 508, 515, 517, 529, 541, 0, 0, 7, 21, + 22, 23, 24, 25, 50, 51, 576, 623, 577, 575, + 0, 671, 671, 595, 0, 0, 578, 0, 591, 639, + 588, 0, 592, 573, 0, 602, 624, 0, 605, 632, + 0, 607, 636, 0, 0, 685, 278, 28, 30, 0, + 31, 671, 0, 82, 93, 48, 34, 46, 0, 253, 198, 29, 0, 292, 226, 231, 232, 233, 228, 230, 240, 241, 234, 235, 207, 210, 238, 239, 32, 218, - 667, 227, 229, 223, 224, 225, 213, 214, 215, 216, - 217, 652, 657, 653, 658, 415, 270, 413, 0, 679, - 652, 654, 653, 655, 414, 270, 652, 653, 270, 679, - 679, 35, 253, 199, 45, 206, 63, 66, 0, 0, - 0, 113, 114, 117, 0, 0, 679, 0, 665, 0, - 295, 679, 679, 483, 0, 0, 679, 348, 656, 302, - 0, 652, 653, 679, 350, 319, 349, 322, 656, 302, - 0, 652, 653, 0, 0, 0, 0, 0, 277, 0, - 325, 642, 645, 641, 276, 281, 280, 274, 679, 646, - 640, 257, 255, 261, 262, 264, 308, 669, 19, 0, - 26, 205, 79, 16, 665, 670, 95, 87, 99, 101, - 0, 98, 100, 667, 0, 0, 525, 0, 514, 219, - 220, 611, 609, 364, 665, 357, 565, 563, 0, 41, - 244, 339, 0, 0, 579, 679, 632, 0, 588, 616, - 589, 589, 589, 623, 589, 611, 589, 43, 246, 340, + 673, 227, 229, 223, 224, 225, 213, 214, 215, 216, + 217, 658, 663, 659, 664, 415, 270, 413, 0, 685, + 658, 660, 659, 661, 414, 270, 658, 659, 270, 685, + 685, 35, 253, 199, 45, 206, 63, 66, 0, 0, + 0, 113, 114, 117, 0, 0, 685, 0, 671, 0, + 295, 685, 685, 489, 0, 0, 685, 348, 662, 302, + 0, 658, 659, 685, 350, 319, 349, 322, 662, 302, + 0, 658, 659, 0, 0, 0, 0, 0, 277, 0, + 325, 648, 651, 647, 276, 281, 280, 274, 685, 652, + 646, 257, 255, 261, 262, 264, 308, 675, 19, 0, + 26, 205, 79, 16, 671, 676, 95, 87, 99, 101, + 0, 98, 100, 673, 0, 0, 531, 0, 520, 219, + 220, 617, 615, 364, 671, 357, 571, 569, 0, 41, + 244, 339, 0, 0, 585, 685, 638, 0, 594, 622, + 595, 595, 595, 629, 595, 617, 595, 43, 246, 340, 392, 390, 0, 389, 388, 285, 0, 91, 85, 0, - 0, 0, 0, 0, 679, 0, 0, 0, 0, 412, + 0, 0, 0, 0, 685, 0, 0, 0, 0, 412, 69, 418, 262, 0, 0, 411, 67, 407, 62, 0, - 0, 679, 335, 0, 0, 418, 338, 636, 57, 484, - 485, 679, 486, 0, 679, 353, 0, 0, 351, 0, + 0, 685, 335, 0, 0, 418, 338, 642, 57, 490, + 491, 685, 492, 0, 685, 353, 0, 0, 351, 0, 0, 418, 0, 0, 0, 0, 0, 418, 0, 127, - 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 0, 0, 0, 0, 0, 440, 442, 454, 0, - 455, 444, 0, 0, 324, 0, 0, 282, 268, 665, - 679, 11, 298, 251, 97, 0, 394, 0, 0, 315, - 505, 365, 362, 614, 0, 665, 0, 0, 584, 568, - 0, 592, 0, 594, 0, 600, 0, 597, 602, 0, - 0, 387, 667, 667, 575, 576, 679, 679, 372, 0, - 620, 372, 372, 370, 0, 281, 283, 83, 47, 254, - 652, 653, 0, 652, 653, 0, 0, 40, 203, 39, - 204, 70, 0, 37, 201, 38, 202, 68, 408, 409, - 0, 0, 0, 0, 560, 333, 0, 0, 488, 354, - 0, 12, 490, 0, 316, 0, 317, 0, 0, 330, - 453, 0, 0, 0, 458, 0, 464, 0, 459, 462, - 540, 0, 469, 0, 470, 473, 472, 0, 466, 456, - 0, 0, 0, 0, 0, 0, 436, 0, 0, 0, - 280, 679, 256, 263, 400, 0, 0, 0, 0, 0, - 360, 564, 42, 245, 589, 589, 589, 589, 44, 247, - 0, 0, 0, 574, 0, 368, 369, 372, 380, 619, + 527, 0, 0, 0, 487, 0, 0, 0, 0, 0, + 473, 486, 0, 0, 0, 0, 433, 446, 448, 460, + 437, 461, 439, 479, 441, 450, 0, 0, 324, 0, + 0, 282, 268, 671, 685, 11, 298, 251, 97, 0, + 394, 0, 0, 315, 511, 365, 362, 620, 0, 671, + 0, 0, 590, 574, 0, 598, 0, 600, 0, 606, + 0, 603, 608, 0, 0, 387, 673, 673, 581, 582, + 685, 685, 372, 0, 626, 372, 372, 370, 0, 281, + 283, 83, 47, 254, 658, 659, 0, 658, 659, 0, + 0, 40, 203, 39, 204, 70, 0, 37, 201, 38, + 202, 68, 408, 409, 0, 0, 0, 0, 566, 333, + 0, 0, 494, 354, 0, 12, 496, 0, 316, 0, + 317, 0, 0, 330, 482, 459, 0, 0, 0, 464, + 0, 470, 0, 465, 468, 0, 546, 0, 475, 0, + 476, 478, 0, 472, 485, 484, 462, 0, 0, 0, + 0, 0, 434, 435, 442, 0, 0, 0, 0, 0, + 280, 685, 256, 263, 400, 0, 0, 0, 0, 0, + 360, 570, 42, 245, 595, 595, 595, 595, 44, 247, + 0, 0, 0, 580, 0, 368, 369, 372, 380, 625, 0, 383, 0, 385, 405, 284, 418, 243, 242, 36, - 200, 422, 420, 0, 0, 0, 487, 0, 104, 111, - 0, 489, 0, 320, 323, 0, 0, 0, 0, 457, - 0, 0, 0, 0, 0, 468, 0, 0, 656, 452, - 0, 0, 679, 437, 0, 441, 443, 0, 438, 424, - 425, 423, 398, 667, 396, 399, 403, 402, 366, 363, - 0, 358, 593, 0, 590, 595, 598, 393, 391, 303, - 0, 577, 679, 0, 371, 378, 372, 372, 372, 621, - 372, 372, 64, 336, 110, 0, 679, 0, 679, 679, - 0, 0, 465, 460, 463, 475, 0, 480, 474, 471, - 0, 477, 0, 0, 0, 426, 0, 0, 0, 0, - 395, 0, 361, 0, 589, 302, 367, 0, 375, 0, - 377, 0, 384, 0, 381, 386, 107, 109, 0, 652, - 653, 482, 352, 331, 0, 0, 476, 479, 478, 679, - 679, 0, 326, 439, 397, 359, 591, 372, 372, 372, - 372, 105, 461, 0, 0, 0, 0, 0, 376, 0, - 373, 379, 382, 327, 328, 0, 0, 679, 372, 0, - 0, 427, 374, 679, 679, 428, 429 + 200, 422, 420, 0, 0, 0, 493, 0, 104, 111, + 0, 495, 0, 320, 323, 0, 481, 0, 0, 0, + 463, 0, 0, 0, 0, 0, 474, 0, 662, 458, + 0, 0, 685, 443, 0, 447, 449, 438, 444, 0, + 480, 440, 0, 483, 424, 425, 423, 398, 673, 396, + 399, 403, 402, 366, 363, 0, 358, 599, 0, 596, + 601, 604, 393, 391, 303, 0, 583, 685, 0, 371, + 378, 372, 372, 372, 627, 372, 372, 64, 336, 110, + 0, 685, 0, 685, 685, 0, 0, 471, 466, 469, + 477, 0, 0, 0, 426, 0, 436, 0, 0, 395, + 0, 361, 0, 595, 302, 367, 0, 375, 0, 377, + 0, 384, 0, 381, 386, 107, 109, 0, 658, 659, + 488, 352, 331, 0, 0, 685, 685, 427, 326, 445, + 397, 359, 597, 372, 372, 372, 372, 105, 467, 0, + 0, 0, 0, 0, 376, 0, 373, 379, 382, 327, + 328, 0, 0, 0, 372, 685, 0, 0, 374, 428, + 0, 0, 685, 685, 430, 432 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -948, -948, -948, 502, -948, 11, -948, -222, 207, -948, - -948, 64, -287, -313, 1, 1296, -948, 1674, -8, -62, - -948, -948, -635, 44, 1018, -132, -29, -32, -264, -491, - -31, 2637, -93, 1028, 14, -16, -948, -948, 21, -948, - 3445, -948, 952, 342, -60, -407, 67, -948, 19, -413, - -259, -40, 16, -367, 405, -948, -948, -948, -948, -948, - -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, - -948, 89, -215, -460, -73, -579, -948, -948, -948, 257, - 221, -948, -537, -948, -948, -330, -948, -89, -948, -948, - -948, 233, -948, -948, -948, -84, -948, -478, -948, -390, - -646, -948, -20, -252, -948, 57, -948, -948, -942, -783, - -948, -948, -948, -5, -2, -948, -51, -948, -948, -948, - -948, -948, 904, 66, -195, -948, -948, -948, -948, -948, - -293, -948, 820, -948, -948, 580, 3, -948, -948, 754, - 2222, 2763, 1067, 1844, -948, -948, 13, 492, 0, 322, - 491, 55, -948, -948, -948, 79, 15, -223, -272, -947, - -719, -557, -948, 415, -695, -569, -916, 71, -532, -948, - -551, -948, 62, -341, -948, -948, -948, 26, -485, 781, - -374, -948, -948, -69, -948, 41, -24, 547, -278, 709, - -277, -63, -1 + -953, -953, -953, 637, -953, 30, -953, -256, 307, -953, + -953, 66, -220, -385, -5, 1247, -953, 1754, 15, -3, + -953, -953, -133, 127, 1155, -174, 5, -74, -230, -477, + -21, 2399, -103, 1163, 42, -16, -953, -953, 4, -953, + 3657, -953, 624, 73, -95, -350, 76, -953, 7, -483, + -259, -142, 125, -381, 261, -953, -953, -953, -953, -953, + -953, -953, -953, -953, -953, -953, -953, -953, -953, -953, + -953, 35, -185, -465, 36, -545, -953, -953, -953, 378, + 39, -953, -573, -953, -953, -173, -953, 24, -953, -953, + -953, 355, -953, -953, -953, -80, -953, -476, -953, -66, + -953, -953, -953, 37, -953, 97, 240, -953, 177, -953, + -953, -948, -778, -953, -953, 326, -845, -791, -953, 53, + -953, -953, -953, -953, -953, 228, 100, -235, -953, -953, + -953, -953, -953, -291, -953, 937, -953, -953, 628, 19, + -953, -953, 689, 2482, 3037, 1184, 2177, -953, -953, -8, + 575, 14, -550, 605, 160, -953, -953, -953, -190, 578, + -370, -245, -952, -728, -534, -953, 404, -749, -542, -926, + 159, -513, -953, -148, -953, -478, -377, -953, -953, -953, + 11, -463, 931, -353, -953, -953, -81, -953, 9, -25, + 814, -236, 662, -273, -11, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -3446,20 +3452,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, 1055, 680, 678, 953, - 460, 290, 471, 705, 837, 1135, 230, 764, 1008, 1104, - 1028, 912, 792, 913, 793, 885, 1083, 1084, 552, 889, - 605, 397, 87, 88, 670, 447, 669, 494, 1081, 1136, - 1125, 864, 1077, 865, 866, 867, 868, 977, 978, 869, - 870, 983, 984, 985, 986, 871, 692, 831, 957, 961, - 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, 915, 916, 377, 378, 379, 778, 595, 381, 382, - 383, 384, 580, 385, 386, 387, 920, 921, 388, 389, - 390, 391, 392, 588, 209, 461, 310, 513, 273, 129, - 684, 657, 464, 459, 438, 517, 886, 518, 537, 257, - 258, 259, 302 + 754, 223, 845, 224, 846, 713, 1065, 680, 678, 957, + 460, 290, 471, 705, 837, 1144, 230, 764, 1018, 1119, + 1038, 916, 792, 917, 793, 889, 1098, 1099, 552, 893, + 605, 397, 87, 88, 670, 447, 669, 494, 1096, 1145, + 1191, 1192, 1193, 864, 865, 1087, 981, 867, 868, 869, + 982, 983, 870, 871, 989, 872, 873, 874, 875, 692, + 831, 961, 965, 89, 90, 91, 333, 334, 557, 92, + 93, 94, 558, 253, 254, 255, 489, 95, 96, 97, + 327, 98, 99, 219, 220, 102, 221, 456, 679, 372, + 373, 374, 375, 376, 919, 920, 377, 378, 379, 778, + 595, 381, 382, 383, 384, 580, 385, 386, 387, 924, + 925, 388, 389, 390, 391, 392, 588, 209, 461, 310, + 513, 273, 129, 684, 657, 464, 459, 438, 517, 890, + 518, 537, 257, 258, 259, 302 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -3467,547 +3473,555 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 105, 222, 285, 345, 441, 349, 252, 479, 520, 212, - 212, 286, 717, 507, 107, 212, 246, 435, 437, 281, - 205, 707, 301, 730, 315, 451, 658, 206, 783, 540, - 246, 270, 270, 542, 206, 270, 621, 779, 592, 559, - 283, 272, 272, 781, 892, 272, 784, 553, 206, 402, - 545, 685, 308, 312, 730, 256, 747, 656, 1085, 266, - 266, 665, 780, 266, 668, 70, 439, 70, 700, 306, - 863, 326, 393, 393, 395, 979, -649, 710, 206, 307, - 311, 995, 268, 274, -107, 686, 275, 394, 380, 380, - 86, 727, 86, 126, 126, 727, 919, 218, 218, 582, - 656, 229, 665, 218, 218, 218, 439, 1062, 218, 348, - 281, 686, 288, 834, 1109, 887, 615, 838, 448, 1124, - -109, 798, 395, 446, 844, 336, 338, 340, 342, -104, - 671, 674, 819, 820, -111, -110, 380, 380, 561, -545, - 86, 561, 750, 561, 316, 561, 997, 561, 436, 476, - -550, 686, 585, -549, 218, -106, 615, 615, 470, -108, - 485, -105, 790, 432, 528, 598, -77, 601, -104, 576, - 316, -430, 368, 604, 1167, 941, 686, -551, 440, 998, - 106, 947, 991, 992, 276, 497, 833, -91, -649, -96, - 284, 1168, 1085, 1134, -649, -430, -430, 369, 779, 888, - 833, -99, 493, -652, 781, 434, 218, -550, 86, 791, - -549, 779, 393, 393, 395, 480, 481, 781, 440, 704, - -546, 525, 1182, 780, 212, 212, 468, 469, 380, 380, - 504, 1109, 508, 577, -551, 531, 780, -101, 687, -653, - 922, -552, 294, 538, 538, 1126, -96, 550, 538, -112, - 730, -103, -102, 398, 507, 396, 326, 247, 297, 493, - 248, 249, -554, 206, 716, 758, 536, 301, 611, 505, - -430, 505, -98, -430, -430, 514, -100, 1123, -97, 753, - 343, 344, 544, 545, 952, 516, 519, 399, 250, 443, - 251, 1091, 512, 490, -430, 270, 1127, 996, -552, 86, - 57, -430, 449, -430, 403, 272, 450, 247, 927, -553, - 248, 249, 218, 218, 276, -555, -418, 467, -540, -554, - 266, 727, 727, 266, 830, 455, 297, 452, 453, 444, - -544, 783, 919, 462, 380, 919, 607, 779, 250, 530, - 251, 617, 569, 570, 571, 572, 515, 779, 545, 1015, - 473, 212, 212, 212, 212, 477, 574, 575, -111, 527, - 568, 561, 277, 282, 683, 218, -553, 533, 218, 482, - 613, 301, -555, 218, 218, -540, 589, 86, 589, -103, - -418, 617, 617, 526, 86, 86, 380, -544, 969, 486, - 463, 556, 86, 419, 488, -418, 493, 932, 772, 727, - 355, 356, 761, 316, 358, 359, 360, 361, 502, 125, - 125, -345, -110, 70, 609, 506, 773, 125, 573, 609, - 762, 1131, 1079, 428, 429, 430, -345, 522, -418, 656, - -418, 665, 514, -102, 898, 470, 419, -418, 86, 218, - 218, 218, 218, 86, 218, 218, 445, 520, 366, 367, - 368, 529, 919, 277, 282, -76, 663, 514, 824, 663, - 125, -345, 688, 86, 535, 693, 541, 883, -345, 878, - 779, 445, 734, 735, 514, 369, 1107, 266, 724, 1110, - 663, 813, 543, 514, 86, 547, 125, 218, 1171, 86, - 316, 566, 622, 891, 937, 523, 41, 663, 567, 42, - 943, 945, 266, 297, 876, 738, 663, 836, 833, 719, - -106, 505, 505, 746, 615, 544, -546, 578, 730, 266, - 615, 105, 218, 1080, 246, -545, 615, 615, 266, 520, - 728, -98, 622, 622, 247, 545, 587, 248, 249, 584, - 838, 431, 206, 58, -561, -112, 663, 218, 514, 86, - 218, 590, 733, 805, -104, 591, 432, 901, 903, 905, - 86, 907, 745, 908, 218, 250, 380, 251, 86, 796, - 924, 663, 814, 218, 457, 1025, 1026, 594, 86, 935, - 544, 478, 1020, 1021, 779, -302, 70, 597, 526, 432, - 727, 433, 600, 266, 779, 743, 1178, 950, 434, 599, - -302, -108, 603, 444, 794, 815, 976, 297, 817, 520, - -111, 86, 994, 454, 454, 602, 806, -110, 614, 812, - 86, 878, -100, 638, 458, 842, 815, -434, 769, 1039, - 843, 434, -111, 942, 316, -302, 316, 247, 218, -653, - 248, 249, -302, 965, -649, 936, 86, 787, 993, 776, - 690, -434, -434, 776, -106, 615, 676, 691, 505, -108, - 813, 474, -105, 694, 281, 1006, 775, 281, 794, 794, - 251, 823, -105, 218, 695, 810, 432, 814, 696, 875, - 212, 697, 538, -97, 816, 281, 703, 818, 508, -106, - 832, 835, 218, 555, 720, 835, 715, 732, 849, 942, - 737, 316, 835, 828, 740, 848, -108, 609, -540, 1158, - 206, 475, 491, -431, 212, 248, 249, 246, 434, 125, - -91, -548, -106, -540, 755, 768, -434, 505, -105, -434, - -434, 1044, 771, 948, 554, 206, -548, -431, -431, 617, - 789, 799, 1050, 686, 800, 617, 939, 1078, 1052, 801, - -434, 617, 617, 999, 811, 825, -649, -434, -540, -434, - 880, 1146, -649, 826, 757, -540, 841, 544, 218, 86, - 833, -548, 247, 847, 589, 248, 249, 664, -548, 1183, - 1184, 850, 104, 874, 104, 881, 583, 890, 884, 104, - 104, 1092, 1094, 1095, 1096, 104, 104, 104, 894, 896, - 104, 664, 218, 514, 576, 862, 125, 1201, 1122, 976, - 900, 902, -431, 1205, 1206, -431, -431, 904, 664, 483, - 794, -106, 1078, 906, -106, -106, 663, 664, 963, 909, - 958, 955, 104, 962, 432, 956, -431, 212, 880, 1073, - 1003, -432, 960, -431, 964, -431, 104, 532, 266, 966, - 970, 534, -106, 923, -106, 1132, 1133, 308, 312, 988, - 524, 989, 1009, 520, 928, -432, -432, 664, 247, 484, - 917, 248, 249, 1004, 306, 432, 434, 1024, 1027, 505, - 617, 86, 1030, 1032, 307, 311, 1173, 1034, 316, 86, - 622, 1036, 664, 218, 1041, 502, 622, 218, 104, 250, - 104, 251, 622, 622, 1042, 1053, 525, 1054, 86, 86, - 475, -650, 976, 1122, 1056, 589, 589, 434, 1059, 271, - 271, 1176, 86, 271, 472, 218, 1060, 1065, 1061, -299, - 1086, 472, -299, -299, 86, 86, 1066, 1075, 1087, 548, - -432, 1097, 1093, -432, -432, 1098, 1099, 975, 1112, 1113, - 125, -652, 125, 862, 432, 1114, 1187, 271, 271, -299, - -299, 1163, -299, 1139, -432, 86, 554, 1074, 495, 1141, - 1166, -432, 1143, -432, 1147, -544, 86, 86, 1117, 1149, - 1199, 1200, 1151, 1070, 1071, 1153, -547, -292, 1164, 549, - -544, 104, 212, 212, 442, 765, 434, 1165, 809, 1067, - 835, -547, -292, 1023, 104, 104, 1172, 277, 1029, -653, - 277, 1181, 782, 1189, 1193, 786, 761, 125, 358, 359, - 360, 361, 1194, -650, 739, -544, 809, 951, 277, -650, - 227, 622, -544, 130, 762, 247, -547, -292, 248, 249, - 959, 86, 86, -547, -292, 1047, 1162, -303, 911, 86, - 1174, 949, 967, 968, 1137, 1076, 731, 104, 495, 1140, - 104, 1128, -303, 736, 1129, 104, 104, 1161, 251, 104, - 803, 835, 579, 208, 492, 742, 104, 104, 774, 1101, - 218, 218, 86, 1001, 104, 432, 776, 862, 862, 923, - 593, 0, 923, 0, 923, 1007, 0, -303, 1106, 0, - 0, 589, 0, 1102, -303, 0, 917, 1090, 0, 917, - 0, 917, 0, 914, 0, 514, 0, 693, 835, 335, - 804, 125, 329, 330, 0, 0, 0, 434, 766, 767, - 104, 104, 104, 104, 104, 104, 104, 104, 663, 86, - 0, 86, 1031, 1033, 86, 0, 0, 664, 0, 862, - 862, 975, 0, 0, 0, 104, 862, 0, 797, 1043, - 266, 0, 0, 862, 0, 923, 0, 1051, 835, 835, - 0, 0, 0, 0, 331, 332, 104, 1195, 1196, 104, - 271, 104, 917, 271, 104, 0, 212, 212, 0, 706, - 706, 0, 0, 990, 0, 0, 835, 0, 0, 0, - 1072, 0, 835, 835, 125, 218, 918, 0, 432, 923, - 0, 923, 0, 923, 104, 923, 1058, 337, 0, 329, - 330, 86, 86, 862, 104, 104, 917, 862, 917, 0, - 917, 432, 917, 0, 0, 827, 0, 0, 0, 104, - 495, 104, 104, 458, 355, 356, 0, 495, 1105, 0, - 434, 923, 104, 862, 862, 862, 104, 1118, 0, 1119, - 104, 470, 1120, 1100, 0, 104, 475, 0, 917, 125, - 104, 331, 332, 434, 218, 218, 86, 0, 432, 562, - 0, 0, 329, 330, 0, 1185, 1186, 0, 86, 86, - 0, 882, 0, 0, 0, 0, 872, 73, 0, 73, - 121, 121, 563, 104, 329, 330, 0, 0, 121, 0, - 0, 893, 104, 458, 0, 1014, 0, 1016, 1115, 125, - 434, 1017, 247, 0, 125, 248, 249, 1148, 1150, 1152, - 104, 1154, 1155, 432, 331, 332, 0, 271, 104, 1169, - 1170, 247, 0, 0, 248, 249, 914, 73, 0, 914, - 0, 121, 914, 250, 914, 251, 331, 332, 0, 0, - 247, 125, 271, 248, 249, 104, 0, 0, 1116, -656, - 0, 0, 250, 0, 251, 434, 0, 121, 0, 271, - 0, 0, 0, 0, 104, 0, -435, 822, 271, 0, - 0, 250, 0, 251, 1197, 673, 675, -433, 1188, 1190, - 1191, 1192, 0, 125, 125, 0, 1203, 1204, 271, 0, - -435, -435, 271, 0, 0, 73, 0, 0, 0, 1202, - 0, -433, -433, 1088, 1089, 914, 1002, 0, 472, 673, - 675, 0, 0, -656, -652, 470, 0, 0, 872, 987, - 271, 0, 1011, 271, 872, 1108, 0, 1111, -656, 0, - 0, 247, 0, 271, 248, 249, 0, 0, 0, 664, - 104, 104, -653, 0, 0, 125, 125, 0, 0, 914, - 873, 914, 125, 914, 0, 914, 0, 0, 741, 125, - 0, -656, 1005, -656, 251, -435, 899, -652, -435, -435, - -656, 328, 329, 330, 104, 0, -433, 0, -652, -433, - -433, 0, 0, -108, 0, 1142, 73, 0, 1144, -435, - 0, 914, 1138, -652, 0, 0, -435, 0, -435, 0, - -433, 0, 0, 1138, 0, 0, -653, -433, 0, -433, - 0, 0, 954, 0, 247, 0, 0, 248, 249, 125, - 0, -653, 0, 125, 331, 332, -652, 0, -652, 0, - 0, 0, -652, 0, 0, -652, 0, 706, 1175, 0, - 0, 502, 1177, 0, 1179, 250, 0, 251, 1180, 125, - 125, 125, 472, 104, -653, 0, -653, 0, 872, 872, - -653, 104, 104, -653, 73, 104, 0, 0, 104, 104, - 0, 73, 73, 0, 104, 104, 0, 0, 0, 73, - 104, 104, -108, 0, 1198, -108, -108, 339, 329, 330, - 121, 0, 873, 0, 104, 0, 0, 104, 873, 0, - 341, 329, 330, 0, 0, 0, 104, 104, 555, 329, - 330, 0, 0, -108, 0, -108, 0, 0, 271, 271, - 872, 872, 872, 0, 0, 73, 1130, 872, 0, 0, - 73, 560, 329, 330, 872, 0, 0, 104, 0, 0, - 331, 332, 0, 0, 0, 0, 472, 0, 104, 104, - 73, 0, 472, 331, 332, 74, 0, 74, 122, 122, - 0, 331, 332, 564, 329, 330, 122, 0, 0, 0, - 0, 73, 0, 0, 0, 0, 73, 121, 0, 73, - 0, 0, 0, 0, 331, 332, 0, 0, 271, 350, - 351, 352, 353, 354, 872, 0, 271, 1082, 872, 358, - 359, 360, 361, 104, 0, 74, 0, 0, 0, 122, - 565, 329, 330, 104, 104, 762, 331, 332, 0, 73, - 73, 104, 0, 0, 872, 872, 872, 756, 329, 330, - 0, 0, 873, 873, 0, 122, 73, 0, 419, 938, - 940, 0, 271, 271, 0, 944, 946, 73, 0, 0, - 0, 0, 104, 104, 104, 73, 0, 0, 0, 472, - 472, 0, 0, 331, 332, 73, 426, 427, 428, 429, - 430, 938, 940, 74, 944, 946, 0, 0, 0, 0, - 331, 332, 0, 0, 0, 0, 0, 0, 761, 0, - 358, 359, 360, 361, 873, 873, 873, 0, 73, 0, - 0, 873, 0, 0, 0, 0, 762, 73, 873, 416, - 417, 104, 0, 104, 0, 0, 104, 0, 0, 0, - 0, 121, 419, 121, 0, 103, 0, 103, 128, 128, - 0, 364, 0, 73, 0, 0, 232, 763, 0, 0, - 357, 0, 358, 359, 360, 361, 0, 423, 424, 425, - 426, 427, 428, 429, 430, 0, 0, 0, 362, 0, - 472, 0, 0, 0, 74, 0, 0, 0, 873, 416, - 417, 0, 873, 0, 1040, 103, 0, 104, 0, 318, - 0, 0, 419, 364, 472, 472, 0, 271, 121, 365, - 366, 367, 368, 104, 104, 802, 0, 1040, 873, 873, - 873, 0, 0, 0, 0, 318, 0, 0, 0, 425, - 426, 427, 428, 429, 430, 0, 0, 369, 0, 0, - 370, 0, 0, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, - 417, 0, 74, 103, 0, 0, 104, 104, 104, 74, - 74, 0, 419, 416, 417, 0, 73, 74, 0, 0, - 104, 104, 0, 0, 0, 0, 419, 357, 122, 358, - 359, 360, 361, 420, 0, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 362, 761, 0, 358, 359, - 360, 361, 121, -277, 426, 427, 428, 429, 430, 363, - 271, 0, 0, 74, 762, 0, 0, 0, 74, 0, - 364, 0, 0, 0, 0, 0, 365, 366, 367, 368, - 0, 0, 357, 0, 358, 359, 360, 361, 74, 364, - 0, 0, 0, 0, 103, 1010, 0, -679, 0, 0, - 362, 0, 0, 0, 369, 0, 0, 370, 761, 74, - 358, 359, 360, 361, 74, 122, 0, 74, 0, 0, - 371, 0, 0, 0, 0, 364, 762, 0, 73, 0, - 0, 365, 366, 367, 368, 121, 73, 73, 0, 0, - 0, 0, 0, 73, 0, 0, 0, 0, 0, 73, - 73, 364, 0, 0, 0, 73, 73, 74, 74, 369, - 0, 0, 370, 0, 0, 0, 0, 0, 0, 73, - 0, 0, 103, 0, 74, 551, 0, 0, 0, 103, - 103, 73, 73, 0, 0, 74, 0, 103, 0, 0, - 0, 0, 357, 74, 358, 359, 360, 361, 318, 0, - 121, 0, 0, 74, 0, 0, 0, 0, 0, 0, - 362, 0, 73, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 73, 73, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 0, 364, 74, 0, 103, 0, - 0, 365, 366, 367, 368, 74, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 121, 0, 0, 103, 122, - 0, 122, 0, 100, 0, 100, 127, 127, 127, 369, - 0, 74, 370, 0, 231, 0, 0, 0, 73, 103, - 0, 0, 0, 1103, 103, 318, 0, 623, 73, 73, - 0, 0, 121, 0, 0, 0, 73, 357, 0, 358, - 359, 360, 361, 0, 0, 0, 0, 357, 0, 358, - 359, 360, 361, 100, 0, 362, 0, 317, 357, 0, - 358, 359, 360, 361, 0, 362, 122, 623, 623, 73, - 0, 581, 0, 0, 121, 121, 362, 0, 0, 363, - 364, 0, 0, 317, 103, 0, 365, 366, 367, 368, - 364, 0, 777, 0, 0, 103, 365, 366, 367, 368, - 0, 364, 0, 103, 0, 0, 0, 365, 366, 367, - 368, 0, 0, 103, 369, 0, 0, 370, 0, 0, - 0, 100, 0, 0, 369, 0, 73, 370, 73, 0, - 0, 73, 0, 0, 74, 369, 121, 121, 370, 0, - 371, 0, 0, 121, 0, 0, 103, -679, 0, 0, - 121, 0, 0, 0, 0, 103, 0, 0, 0, 0, - -679, -679, -679, -679, -679, -679, 0, -679, 0, 318, - 122, 318, -679, -679, -679, 0, 0, 0, 0, 0, - 0, 103, 0, 0, -679, -679, 0, -679, -679, -679, - -679, -679, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, - 121, 0, 100, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, - 0, 358, 359, 360, 361, 0, 318, -679, 0, 0, - 121, 121, 121, 0, 0, 0, 74, 362, 0, 0, - 0, 0, -679, 122, 74, 74, 0, 0, 0, 0, - 0, 74, -679, 73, 0, -679, -679, 74, 74, 0, - 0, 0, 364, 74, 74, 73, 73, 0, 0, 366, - 367, 368, 0, 0, 0, -679, -679, 74, 0, 0, - 100, 276, -679, -679, -679, -679, 0, 100, 100, 74, - 74, 0, 0, 0, 103, 100, 369, 0, 0, 357, - 0, 358, 359, 360, 361, 0, 317, 0, 122, 0, - 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 128, 74, 74, 895, 0, 0, 0, 0, 0, 0, - 0, 100, 364, 0, 0, 0, 100, 0, 365, 366, - 367, 368, 0, 0, 0, 0, 0, 0, 122, 0, - 0, 0, 0, 122, 0, 0, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 369, 0, 0, 370, - 0, 0, 0, 0, 0, 0, 74, 100, 0, 0, - 0, 0, 100, 317, 0, 0, 74, 74, 0, 0, - 122, 0, 0, 0, 74, 0, 103, 0, 83, 0, - 83, 0, 0, 318, 103, 623, 0, 0, 0, 228, - 0, 623, 0, 0, 0, 0, 0, 623, 623, 0, - 0, 0, 0, 103, 103, 0, 0, 74, 0, 0, - 0, 0, 122, 122, 0, 0, 0, 103, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 83, 103, - 103, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 100, 0, 0, 0, 0, 0, 0, 128, 0, - 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 103, 0, 0, 0, 74, 0, 74, 0, 0, 74, - 0, 103, 103, 0, 122, 122, 0, 0, 0, 0, - 0, 122, 0, 0, 100, 0, 0, 0, 122, 0, - 0, 0, 0, 100, 0, 0, 83, 0, 128, 0, - 0, 0, 0, 128, 101, 0, 101, 317, 0, 317, - 0, 0, 404, 405, 406, 407, 408, 409, 410, 100, - 412, 413, 0, 0, 0, 0, 623, 0, 416, 417, - 0, 0, 0, 0, 0, 0, 103, 103, 0, 0, - 1049, 419, 0, 0, 103, 0, 74, 74, 122, 0, - 0, 0, 122, 0, 101, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 317, 0, 0, 103, 122, 122, - 122, 0, 128, 128, 0, 0, 0, 83, 0, 0, + 105, 285, 592, 212, 212, 435, 437, 402, 441, 212, + 206, 286, 520, 507, 717, 451, 707, 206, 598, 281, + 601, 727, 621, 256, 222, 727, 272, 272, 283, 252, + 272, 206, 246, 107, 315, 896, 86, 479, 86, 126, + 126, 559, 923, 218, 218, 730, 246, 229, 205, 218, + 218, 218, 308, 312, 218, 783, 301, 349, 671, 674, + 779, 206, 345, 1100, 307, 311, 394, 70, 991, 70, + 747, 540, 393, 393, 553, 542, 730, 348, 656, 704, + 984, 780, 665, 658, 545, 668, 86, 1003, 395, -655, + 316, 268, 274, 277, 282, 275, 819, 820, 561, 326, + 218, 561, 790, 561, 439, 561, 686, 561, 685, 776, + 281, 446, 448, 776, 1124, -655, 316, 576, 585, -655, + 974, 656, 528, 665, 1139, 700, 582, 891, 504, 833, + 508, 493, 686, -104, 710, 798, 395, 476, 1089, 604, + 270, 270, 266, 266, 270, -107, 266, 834, 485, 791, + 1073, 838, 218, -546, 86, 106, 439, -109, 844, 336, + 338, 340, 342, 1090, 536, 368, -111, 247, -546, 284, + 248, 249, 686, 41, 994, 1005, 42, 445, 306, -546, + 396, 577, -110, 615, 277, 282, -106, -108, -105, 861, + 369, 995, -556, 57, -546, 470, 1100, 686, 250, 750, + 251, -655, 445, -546, 687, 468, 469, -655, 1006, 525, + -546, 892, 393, 393, 343, 344, 440, 1091, 212, 212, + 58, 779, 276, 615, 615, 1188, 611, -655, 395, -546, + 1124, -655, 1090, -655, 779, 550, -546, -655, 480, 481, + 544, 918, 780, 271, 271, 86, 206, 271, 956, -556, + -96, 727, 727, 335, 507, 780, 329, 330, 218, 218, + -552, 490, -99, 833, -658, 125, 125, 758, 440, 505, + 1143, 505, 730, 125, -101, 514, -659, 497, -555, 516, + 519, 271, 271, -103, 326, 288, 1140, 531, 923, -112, + 272, 923, 1106, 1138, 247, 538, 538, 248, 249, -102, + 538, 301, -557, -98, -100, -97, 753, 530, 331, 332, + 830, 218, -552, 927, 218, -558, 125, 545, 442, 218, + 218, 561, 931, 86, 436, 250, 294, 251, -551, 727, + 86, 86, -77, 399, 478, -555, -560, -559, 86, 432, + 449, -112, 125, 398, 450, 212, 212, 212, 212, 316, + 574, 575, 403, -91, 683, 515, 470, -104, 297, -557, + -561, 527, 783, -111, 779, 569, 570, 571, 572, 533, + 734, 735, -558, -551, 779, 443, 589, -302, 589, 568, + 613, 434, 545, 973, 86, 218, 218, 218, 218, 86, + 218, 218, -302, -560, -559, 607, -546, 775, 902, 276, + 617, 512, -104, 266, 270, 301, 266, 923, 526, 86, + 905, 907, 909, -550, 911, 70, 912, -561, 462, 455, + 573, 467, 941, -96, 824, 556, 297, -302, 947, 949, + 86, -659, 514, 218, -302, 86, 316, -110, 622, 663, + 617, 617, 663, 444, 562, 473, 781, 329, 330, 784, + 656, 520, 665, -546, 936, 247, 688, 514, 248, 249, + 355, 356, 842, 663, 477, 693, 1094, 796, 218, 882, + -550, 746, -111, 544, 514, 463, 493, 724, 622, 622, + 663, 716, 502, 514, 918, 482, 250, 918, 251, 663, + 918, -106, 918, 218, 486, 86, 218, -106, 843, 331, + 332, 488, 444, 779, 271, 738, 86, 271, 664, 887, + 218, 505, 505, 969, 86, 728, 813, 812, 493, 218, + 733, 105, -345, 609, 86, 206, 526, -108, 609, 663, + 727, -111, 664, 520, 880, 1095, 928, -345, 544, 502, + 246, 805, -105, 1035, 1036, -106, 506, 745, 514, 664, + 730, 522, -103, 419, 663, -110, 776, 86, 664, 927, + 266, 1049, 927, 954, 927, 529, 86, -76, 918, 545, + 815, 543, -345, 817, 535, 125, -102, 879, 541, -345, + 316, 615, 316, 547, 218, 266, 508, 615, 70, 838, + 578, 815, 86, 615, 615, 523, -106, 743, 664, -106, + -106, 921, 266, 297, 794, 814, 918, 781, 918, 431, + 918, 266, 918, 946, 584, 806, 779, 520, 719, 218, + 781, 813, -567, 664, 432, 882, 779, -106, 761, -106, + 358, 359, 360, 361, -108, 1016, 836, 833, 218, 566, + 927, -418, -105, 926, 567, 918, 762, 316, 452, 453, + -106, 380, 380, 587, 1107, 1109, 1110, 1111, 505, 433, + 590, 271, 125, 810, 281, 591, 434, 281, 794, 794, + -108, -98, 816, 594, 212, 818, 266, 945, 927, 1000, + 927, 597, 927, 951, 927, 281, 271, -429, -431, 457, + 832, 835, 599, 206, 823, 835, 454, 454, 849, 380, + 380, 1054, 835, 271, 432, -418, 491, 297, 212, 248, + 249, 769, 271, 600, 218, 86, 602, 927, 206, 895, + -418, 814, 603, 554, 614, 544, 615, 505, 848, 809, + 787, 828, 271, 246, 538, 638, 271, 952, 277, 458, + 1155, 277, 1013, 1030, 1031, 884, 434, 676, 218, 690, + -108, 863, 691, -418, 694, -418, 1025, 809, 337, 277, + 329, 330, -418, 695, 271, 474, 697, 271, 946, -108, + 555, -100, -108, -108, 589, 583, 1060, 271, 696, 686, + 432, 1167, 1062, 1182, 247, 720, 703, 248, 249, 732, + 737, 380, 380, -91, 740, -656, 715, -105, 617, 755, + -108, 768, -108, 514, 617, 943, 125, 771, 125, 663, + 617, 617, 331, 332, 789, 475, 609, 251, -97, 799, + 794, 800, 434, 884, 801, -554, 811, 86, 825, 833, + 962, 212, 826, 966, 316, 86, 622, 850, 841, 218, + -554, 483, 622, 218, 1117, 847, 878, 921, 622, 622, + 921, 967, 921, 885, 86, 86, 432, 308, 312, -550, + 355, 356, 888, 894, 757, 898, 932, 576, 86, 307, + 311, 218, 524, 125, -550, -554, 520, 472, 664, 900, + 86, 86, -554, 505, 472, 904, 470, 432, 906, 1122, + 908, 484, 1125, 980, 910, 1141, 1142, 380, 434, 525, + 863, 913, 548, 959, 964, 419, 960, -656, 968, -550, + 998, 999, 970, -656, 975, 86, -550, 432, 993, 589, + 589, 495, 475, 996, 1014, 1004, 86, 86, 921, 434, + 1007, 266, 104, -662, 104, 428, 429, 430, 247, 104, + 104, 248, 249, 617, 1008, 104, 104, 104, 1019, 380, + 104, -658, 549, 1033, 1044, 554, 866, 247, 1039, 434, + 248, 249, 271, 271, 1041, 1043, 921, 1034, 921, 250, + 921, 251, 921, 328, 329, 330, 1132, 125, 1037, 1040, + 1042, 622, 104, 306, 765, 247, 1046, 1051, 248, 249, + 1052, 86, 86, 212, 212, 1057, 104, -662, 1063, 86, + 1064, 782, -553, 1067, 786, 921, 1201, 1070, 1184, 863, + 835, 495, -662, 1080, 1081, -658, 250, -553, 251, 1071, + 1072, 1210, 1211, 1076, 1077, 579, 331, 332, 1083, 1084, + -658, 1085, 271, 218, 218, 86, 563, 1101, 329, 330, + 271, 863, 863, 593, 863, -662, 1108, -662, 104, 1114, + 104, -658, -553, 761, -662, 358, 359, 360, 361, -553, + 125, 772, 1102, -658, 1112, -658, 1113, 673, 675, -658, + 1128, 762, -658, 1149, -292, 1127, 1120, -658, -303, 773, + 761, 835, 358, 359, 360, 361, 271, 271, 1129, -292, + 331, 332, 1147, -303, 974, 86, 1009, 86, 762, 1148, + 86, 673, 675, 1150, 1152, 1002, 863, 863, 980, 1189, + 1190, 366, 367, 368, 532, 1156, 589, 1158, 534, 863, + 1160, 1162, 1172, 364, -292, 1178, 125, 955, -303, 380, + 514, -292, 693, 835, 1173, -303, 663, 1174, 369, 1209, + 963, 104, 706, 706, 1105, -659, 1214, 1215, 1187, 1199, + 741, 1195, 971, 972, 104, 104, 803, 1200, 1202, 739, + 1157, 1159, 1161, 1203, 1163, 1164, 218, 227, 130, 915, + 1171, 432, 1180, 953, 835, 835, 86, 86, 863, 125, + 1177, 1146, 863, 1086, 125, 990, 1170, 1011, 416, 417, + 208, 492, 774, 495, 1116, 922, 1121, 212, 212, 1017, + 495, 419, 0, 939, 835, 664, 804, 104, 863, 863, + 104, 835, 835, 434, 1066, 104, 104, 1206, 1207, 104, + 0, 125, 1194, 1196, 1197, 1198, 104, 104, 425, 426, + 427, 428, 429, 430, 104, 125, 86, 218, 218, -659, + 997, 271, 1069, 1208, 419, 86, 86, 1088, 73, 1093, + 73, 121, 121, 0, 0, 432, 0, 432, 266, 121, + 0, 247, 1115, 1053, 248, 249, 0, 125, 125, 940, + 125, 1061, 426, 427, 428, 429, 430, 432, 0, 0, + 104, 104, 104, 104, 104, 104, 104, 104, 0, 1130, + 458, 0, 475, 0, 251, 0, 0, 434, 73, 434, + 0, 0, 121, -659, 432, 104, 0, 1082, 1024, 0, + 1026, 1137, 458, 1066, 1027, 0, 0, 0, -659, 434, + 0, 0, 0, 731, 1088, 0, 104, 0, 121, 104, + 736, 104, 125, 125, 104, 0, 0, 0, 0, 1131, + 822, 0, 742, 0, 876, 125, 434, 339, 329, 330, + 0, -659, 0, -659, 0, 0, 0, -659, 0, 271, + -659, 0, 0, 0, 104, 0, 73, 1133, 0, 1134, + 0, 0, 1135, 0, 104, 104, 341, 329, 330, 0, + 0, 472, 0, 866, 0, 0, 0, 1179, 0, 104, + 0, 104, 104, 0, 0, 766, 767, 555, 329, 330, + 331, 332, 104, 0, 125, 877, 104, 0, 125, 0, + 104, 0, 0, 0, 1137, 104, 560, 329, 330, 0, + 104, 0, 1103, 1104, 0, 797, 0, 0, 0, 331, + 332, 942, 944, 0, 125, 125, 0, 948, 950, 903, + 0, 564, 329, 330, 1123, 0, 1126, 0, 1175, 1176, + 331, 332, 0, 104, 0, 0, 0, 73, 0, 0, + 0, 0, 104, 942, 944, 0, 948, 950, 0, 331, + 332, 565, 329, 330, -452, 756, 329, 330, 416, 417, + 104, 0, 0, 0, 0, 958, 985, 992, 104, 0, + 0, 419, 0, 985, 331, 332, 0, 0, -452, -452, + -299, 0, 827, -299, -299, 0, 0, 0, 1205, 1151, + 706, 0, 1153, 0, 0, 104, 0, 1212, 1213, 426, + 427, 428, 429, 430, 331, 332, 472, 0, 331, 332, + -299, -299, 0, -299, 104, 73, 247, 0, 0, 248, + 249, 247, 73, 73, 248, 249, 0, 877, -498, 247, + 73, 1009, 248, 249, 877, 0, 1181, 0, 886, 0, + 1183, 121, 1185, -498, 0, 0, 1186, 250, 502, 251, + 1050, 0, 250, -452, 251, 0, -452, -452, 897, 0, + 1015, 0, 251, 0, -452, 1097, 0, 358, 359, 360, + 361, 0, 0, 1050, 0, 0, 73, 0, -498, 1204, + -452, 73, 985, 762, -452, -498, -452, 0, 0, 0, + 104, 104, 0, 0, 0, 785, 0, 358, 359, 360, + 361, 73, 0, 472, 350, 351, 352, 353, 354, 472, + 0, 0, 0, 362, 985, 985, 1092, 985, 0, 0, + 0, 0, 73, 0, 104, 0, 0, 73, 121, 0, + 73, 0, 0, 0, 0, 0, 0, 0, 364, 0, + 0, 0, 0, 877, 0, 366, 367, 368, 761, 0, + 358, 359, 360, 361, 0, 0, 761, 0, 358, 359, + 360, 361, 0, 0, 0, 0, 762, 0, 0, 0, + 73, 73, 369, 0, 762, 877, 877, 1012, 877, 985, + 985, 985, 0, 0, 0, 1092, 0, 73, 0, 0, + 0, 364, 985, 1021, 0, 0, 0, 763, 73, 364, + 0, 0, 0, 104, 0, 1020, 73, 0, 0, 0, + 0, 104, 104, 0, 0, 104, 73, 0, 104, 104, + 0, 0, 472, 472, 104, 104, 0, 0, 0, 0, + 104, 104, 0, 0, 0, 74, 0, 74, 122, 122, + 877, 877, 877, 0, 104, 0, 122, 104, 0, 73, + 0, 876, 0, 877, 0, 985, 104, 104, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 74, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 103, 0, 103, 0, 0, 103, - 0, 0, 100, 0, 128, 128, 0, 0, 0, 0, - 0, 128, 0, 0, 802, 0, 0, 0, 128, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 0, 83, 83, 0, 0, 0, 0, 127, 0, - 83, 0, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, + 0, 0, 121, 0, 121, 357, 0, 358, 359, 360, + 361, 985, 985, 0, 73, 74, 0, 0, 0, 122, + 0, 104, 0, 362, 0, 0, 0, 0, 0, 0, + 0, 0, 104, 104, 0, 0, 0, 0, 0, 0, + 0, 0, 877, 0, 0, 122, 877, 0, 364, 0, + 0, 0, 0, 0, 365, 366, 367, 368, 0, 0, + 0, 0, 0, 472, 0, 0, 0, 0, 0, 121, + 0, 0, 877, 877, 0, 0, 0, 0, 472, 472, + 416, 417, 369, 74, 0, 370, 0, 104, 0, -662, + 0, 0, 0, 419, 0, 0, 1118, 104, 104, 0, + 0, 0, -662, -662, -662, 104, -662, -662, 0, -662, + 0, 0, 0, 0, -662, -662, 0, 0, 423, 424, + 425, 426, 427, 428, 429, 430, -662, -662, 0, -662, + -662, -662, -662, -662, 0, 0, 0, 73, 0, 104, + 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 419, 0, 101, 0, 0, 103, 103, 128, 0, - 0, 0, 128, 0, 0, 0, 83, 0, 0, 0, - 0, 83, 420, 0, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 0, 0, 0, 0, 128, 128, - 128, 83, 0, 0, 100, 0, 0, 0, 0, 0, - 0, 317, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 83, 0, 0, 0, 0, 83, 0, 0, - 618, 100, 100, 103, 103, 0, 0, 0, 0, 0, - 0, 101, 0, 0, 0, 100, 0, 0, 101, 101, - 0, 0, 0, 0, 0, 0, 101, 100, 100, 0, + 0, -662, -662, -662, -662, -662, -662, -662, -662, -662, + -662, -662, -662, 121, 74, 0, 0, -662, -662, -662, + 0, 807, -662, 0, 0, 0, 0, 0, 0, 0, + -662, 0, 0, 0, -662, 0, 0, 0, 0, 0, + 0, 104, 0, 104, -662, 0, 104, -662, -662, 0, + -107, -662, 0, -662, -662, -662, -662, -662, -662, -662, + -662, -662, -662, 0, 0, 0, 0, -662, -662, -662, + 0, -99, 0, 0, -662, -662, -662, -662, 0, 0, + 0, 0, 0, 357, 0, 358, 359, 360, 361, 73, + 0, 0, 74, 0, 0, 0, 121, 73, 73, 74, + 74, 362, 0, 0, 73, 0, 0, 74, 0, 0, + 73, 73, 104, 0, 0, 363, 73, 73, 122, 0, + 0, 0, 104, 104, 0, 0, 364, 0, 0, 0, + 73, 0, 365, 366, 367, 368, 0, 0, 0, 0, + 0, 0, 73, 73, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 0, 0, 0, 0, 74, 0, + 369, 0, 121, 370, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 371, 73, 74, 0, + 0, 0, 104, 104, 104, 0, 0, 0, 73, 73, + 0, 104, 104, 0, 0, 0, 0, 0, 0, 74, + 0, 0, 0, 0, 74, 122, 0, 74, 0, 0, + 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 103, 0, + 103, 128, 128, 0, 0, 0, 0, 0, 0, 232, + 0, 0, 0, 73, 0, 0, 0, 74, 74, 0, + 0, 0, 0, 73, 73, 0, 0, 121, 0, 0, + 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, + 0, 121, 0, 0, -685, 74, 0, 0, 103, 0, + 0, 0, 318, 74, 0, 0, 0, -685, -685, -685, + -685, -685, -685, 74, -685, 0, 0, 73, 0, -685, + -685, -685, 0, 121, 121, 0, 121, 0, 318, 0, + 0, -685, -685, 0, -685, -685, -685, -685, -685, 0, + 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, + 0, 0, 0, 0, 357, 74, 358, 359, 360, 361, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 122, + 0, 122, 362, 0, 0, 0, 0, 73, 0, 73, + 0, 74, 73, 0, -685, 0, 363, 0, 121, 121, + 0, 0, 0, 0, 0, 0, 0, 364, 0, -685, + 0, 121, 0, 365, 366, 367, 368, 0, 0, -685, + 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -685, 0, 0, 0, 0, 0, + 0, 369, -685, -685, 370, 0, 122, 0, 276, -685, + -685, -685, -685, 0, 0, 0, 0, 371, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 73, 73, + 121, 0, 0, 0, 121, 0, 0, 0, 0, 0, + 83, 0, 83, 0, 357, 0, 358, 359, 360, 361, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 121, 121, 362, 0, 0, 357, 0, 358, 359, 360, + 361, 0, 0, 0, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 362, 0, 0, 0, 364, 73, 0, + 83, 0, 0, 365, 366, 367, 368, 73, 73, 581, + 0, 0, 0, 0, 0, 103, 0, 0, 364, 0, + 122, 0, 103, 103, 365, 366, 367, 368, 0, 0, + 103, 369, 0, 100, 370, 100, 127, 127, 127, 0, + 0, 318, 0, 0, 231, 0, 0, 551, 0, 0, + 0, 0, 369, 0, 0, 370, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 103, 0, 100, 0, 0, 0, 317, 0, 0, + 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, + 0, 103, 0, 122, 74, 74, 0, 0, 0, 0, + 0, 74, 0, 317, 0, 0, 0, 74, 74, 0, + 0, 0, 103, 74, 74, 0, 0, 103, 318, 0, + 623, 0, 0, 0, 0, 0, 0, 74, 0, 0, + 357, 0, 358, 359, 360, 361, 0, 0, 0, 74, + 74, 100, 0, 0, 0, 0, 0, 0, 362, 83, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, + 623, 623, 0, 0, 777, 0, 0, 0, 0, 0, + 0, 0, 0, 364, 74, 0, 0, 103, 0, 365, + 366, 367, 368, 0, 0, 74, 74, 0, 103, 0, + 0, 0, 0, 0, 0, 357, 103, 358, 359, 360, + 361, 0, 0, 0, 0, 0, 103, 369, 0, 0, + 370, 0, 122, 362, 0, 0, 0, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 899, + 0, 0, 100, 0, 83, 83, 0, 0, 364, 103, + 74, 0, 83, 0, 365, 366, 367, 368, 103, 0, + 74, 74, 0, 0, 122, 0, 0, 0, 74, 0, + 0, 0, 318, 0, 318, 0, 0, 0, 122, 0, + 0, 0, 369, 0, 103, 370, 0, 0, 0, 0, + 0, 357, 0, 358, 359, 360, 361, 0, 83, 0, + 0, 0, 0, 83, 74, 0, 0, 0, 0, 362, + 122, 122, 0, 122, 0, 0, 0, 0, 0, 0, + 100, 0, 0, 83, 0, 0, 0, 100, 100, 0, + 0, 0, 0, 0, 364, 100, 0, 0, 0, 318, + 365, 366, 367, 368, 83, 0, 317, 0, 0, 83, + 0, 0, 618, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 74, 0, 74, 0, 369, 74, + 0, 370, 0, 0, 0, 122, 122, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 100, 0, 122, 0, + 0, 0, 618, 618, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 100, 103, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 618, 618, 0, 0, 0, 0, 127, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 83, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 100, - 100, 0, 101, 0, 0, 0, 83, 101, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 101, 0, 0, - 0, 127, 0, 0, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, -680, -680, 0, 0, 101, 83, - 416, 417, 0, 101, 0, 0, 101, 0, 83, 0, - 0, 0, 0, 419, 100, 100, 0, 0, 1048, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 0, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 101, 101, 0, 0, - 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 127, 127, 0, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 0, 0, -680, -680, -680, -680, - 408, 409, 101, 0, -680, -680, 0, 0, 0, 0, - 0, 0, 416, 417, 0, 0, 0, 0, -481, 0, - 0, 0, 100, 0, 100, 419, 0, 100, -649, 0, - 0, 0, 127, 127, 0, 101, 0, 0, 0, 127, - 0, 0, -481, -481, 101, 0, 127, 0, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, - 101, 0, 0, 0, -540, -540, -540, -540, -540, -540, - -540, -540, -540, -540, -540, -540, 0, 0, 0, 0, - -540, -540, -540, 0, -540, -481, 0, 0, 0, 0, - 0, 0, 0, -540, 100, 100, 127, -540, 0, 0, - 127, 0, 0, 0, 0, 0, 0, -481, 0, 0, - -481, -481, 0, -540, -540, 0, -540, -540, -481, -540, - -540, -540, -540, -540, -540, -540, 127, 127, 127, 0, - -649, -481, -540, -481, -481, 0, -649, 0, -481, -540, - -481, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 83, 0, 0, 0, 0, 0, 0, 100, 83, 0, + 0, 0, 100, 317, 0, 0, 0, 0, 83, 0, + 0, 0, 0, 128, 0, 74, 74, 122, 0, 0, + 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 100, 0, 0, 0, 0, 0, 0, 83, - 0, 0, 0, 0, 0, 0, 0, 83, 618, 0, - 0, 0, 0, 101, 618, 0, 0, 0, 0, 0, - 618, 618, 0, 217, 217, 0, 83, 83, 0, 217, - 267, 267, 0, 0, 267, 0, 0, 0, 0, 0, + 0, 83, 0, 0, 0, 0, 0, 122, 122, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 83, 0, 0, 0, 0, 0, 0, - 0, 289, 291, 292, 293, 0, 0, 0, 267, 309, + 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 0, 74, 83, 0, 0, 0, + 0, 100, 0, 0, 74, 74, 0, 0, 0, 103, + 0, 100, 0, 0, 0, 0, 318, 103, 623, 0, + 0, 0, 0, 0, 623, 0, 0, 0, 0, 0, + 623, 623, 0, 0, 0, 0, 103, 103, 0, 0, + 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, + 103, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 0, 103, 103, 0, 0, 0, 317, 0, 317, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 100, + 101, 0, 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 0, 0, 0, 802, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 317, 128, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 623, 0, 0, 0, 416, 417, 0, + 0, 0, 0, 103, 103, 0, 0, 1059, 0, 0, + 419, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 128, 0, 0, 0, 0, 101, 0, 0, 0, + 0, 420, 100, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 0, 0, 0, 0, 103, 0, 0, + 0, -277, 0, 128, 128, 0, 128, 0, 0, 0, + 0, 83, 0, 0, 0, 0, 0, 0, 127, 83, + 618, 0, 0, 0, 0, 0, 618, 0, 0, 0, + 0, 0, 618, 618, 0, 0, 0, 0, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 346, 347, 0, 83, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, - 0, 0, 217, 101, 101, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 101, 101, 0, 618, - 0, 0, 101, 101, 0, 0, 0, 0, 0, 83, - 83, 0, 0, 1046, 0, 0, 101, 83, 651, 652, - 0, 0, 653, 0, 0, 0, 0, 0, 101, 101, - 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 83, 0, 0, 184, 185, 186, 187, 0, 0, 101, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, - 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 217, 217, - 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 201, 202, 0, 0, 0, 83, 0, 83, - 203, 276, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 897, 0, 101, 0, 498, 499, 500, - 346, 0, 0, 0, 0, 101, 101, 0, 0, 0, - 0, 267, 0, 101, 267, 0, 0, 0, 0, 217, - 217, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, - 404, 405, 406, 407, 408, 409, 101, 0, 412, 413, - 419, 0, 0, 0, 0, 0, 416, 417, 0, 83, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 419, - 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 0, 0, 217, 217, 217, 217, 0, - 217, 217, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 0, 101, 0, 101, 0, 0, 101, 0, - 586, 0, 0, 0, 83, 0, 0, 0, 0, 0, - 0, 596, 0, 0, 0, 0, 83, 83, 0, 0, - 0, 0, 0, 608, 0, 0, 0, 0, 619, 624, - 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 636, 637, 0, 639, 640, 641, 642, 643, 644, - 645, 646, 647, 648, 649, 650, 0, 0, 267, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 672, 672, - 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, - 0, 0, 0, 267, 0, 0, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, - 267, 0, 672, 672, 0, 0, 0, 0, 0, 267, - 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, - 0, 721, 722, 0, 0, 0, 723, 0, 0, 726, - 101, 729, 0, 309, 293, 0, 0, 0, 0, 0, + 0, 0, 83, 0, 0, 0, 0, 103, 0, 103, + 0, 0, 103, 0, 83, 83, 0, 101, 128, 128, + 0, 404, 405, 406, 407, 408, 409, 410, 0, 412, + 413, 128, 0, 0, 0, 0, 0, 416, 417, 0, + 0, 0, 0, 0, 100, 0, 0, 0, 0, 83, + 419, 317, 100, 0, 0, 0, 0, 0, 0, 0, + 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 100, 100, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 0, 0, 100, 0, 0, 103, 103, + 128, 0, 0, 0, 128, 101, 0, 100, 100, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, - 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 759, 760, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, - 0, 795, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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, - 877, -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, 926, 0, 0, 0, 0, 672, 929, 0, 267, - 0, 0, 672, 672, 0, 0, 0, 726, 672, 672, + 101, 0, 0, 0, 0, 618, 0, 127, 0, 0, + 128, 128, 0, 0, 0, 83, 83, 0, 0, 1056, + 0, 0, 100, 83, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 100, 0, 0, 0, 103, 0, + 0, 0, 0, 0, 0, 0, 101, 103, 103, 0, + 802, 101, 0, 0, 0, 0, 0, 0, 0, 83, + 127, 0, 0, 0, 0, 127, 0, 0, 0, 0, + 0, 101, 0, 0, 0, 0, 0, 0, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 0, 0, 101, 0, 416, 417, 0, 101, 100, 100, + 101, 0, 1058, 0, 0, 0, 100, 419, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 0, 0, 83, + 0, 83, 0, 0, 83, 0, 0, 0, 420, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 101, 101, 100, 0, 0, 0, 0, 0, 127, 127, + 0, 127, 0, 0, 0, 0, 0, 101, 0, 651, + 652, 0, 0, 653, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 0, 101, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 101, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 83, 83, 100, 0, 100, 0, 0, 100, 188, 189, + 190, 0, 0, 127, 127, 0, 0, 0, 0, 101, + 0, 0, 0, 0, 0, 0, 127, 0, 101, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, + 0, 203, 276, 0, 101, 0, 0, 0, 0, 0, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 100, 127, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 672, 672, 0, 672, 672, 0, + 0, 0, 0, 0, 0, 127, 127, 0, 0, 0, + 0, 0, 0, 0, 0, 217, 217, 0, 0, 0, + -457, 217, 267, 267, 0, 0, 267, 0, 0, 0, + -656, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 100, -457, -457, 0, 0, 0, 0, + 0, 0, 0, 289, 291, 292, 293, 0, 0, 0, + 267, 309, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 346, 347, 0, 0, -550, -550, -550, -550, + -550, -550, -550, -550, -550, -550, -550, -550, 0, 0, + 0, 0, -550, -550, -550, 0, -550, -457, 0, 0, + 0, 0, 0, 0, 0, -550, 0, 0, 0, -550, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, + 0, 0, -457, -457, 217, -550, -550, 0, -550, -550, + -457, -550, -550, -550, -550, -550, -550, -550, 0, 0, + 0, 0, -656, -457, -550, -457, -457, 0, -656, 0, + -457, -550, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 267, 309, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, + 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, + 0, -454, 0, 0, 101, 0, 0, 0, 0, 0, + 101, 101, 0, 0, 0, 0, 101, 101, 0, 0, + 0, 0, 0, 0, 0, -454, -454, 0, 0, 0, + 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 217, 217, 101, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, 0, + 0, 0, 0, -555, -555, -555, 0, 101, -454, 498, + 499, 500, 346, 0, 0, 0, -555, 0, 101, 101, + -555, 0, 0, 267, 0, 0, 267, 0, 0, 0, + -454, 217, 217, -454, -454, 0, 0, -555, 0, -555, + -555, -454, -555, -555, -555, -555, -555, -555, -555, 0, + 0, 0, 0, 0, -454, -555, -454, -454, 0, 0, + 0, -454, -555, -454, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, + 0, 101, 0, 0, 0, 0, 0, 217, 217, 217, + 217, 0, 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1000, 0, 0, 0, 293, 0, 0, 660, 661, 0, - 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1012, 1013, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 1018, 1019, 182, 183, 0, 0, - 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, - 1035, 0, 0, 0, 0, 0, 188, 189, 190, 0, - 1037, 1038, 0, 0, 0, 0, 0, 672, 0, 0, + 0, 0, 586, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, + 619, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 0, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 0, 0, + 267, 0, 0, 0, 0, 0, 0, 101, 0, 101, + 672, 672, 101, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 267, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 0, 0, 217, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, + 672, 0, 267, 0, 672, 672, 0, 0, 0, 0, + 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, + 718, 0, 0, 721, 722, 0, 0, 0, 723, 0, + 0, 726, 0, 729, 0, 309, 293, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, + 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 726, 0, 0, 309, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, + 0, 0, 0, -686, -686, -686, -686, 408, 409, 0, + 0, -686, -686, 759, 760, 0, 0, 0, 0, 416, + 417, 0, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 770, 419, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -679, 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, 721, 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, 267, 53, 54, 0, 55, 0, 0, 0, 56, - 0, 57, 58, 59, 0, 60, 61, 62, -417, 63, - -679, 0, 0, -679, -679, 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, -679, 0, -679, 0, -417, -417, 0, -417, -417, + 788, 0, 0, 795, 0, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -293, -293, -293, + -293, -293, -293, 0, -293, 0, 0, 0, 0, -293, + 0, -293, -293, -293, 0, 0, 0, 0, 0, 0, + 0, -293, -293, 0, -293, -293, -293, -293, -293, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, + 0, -293, 0, 0, 0, 0, 0, 0, 829, 0, + 0, 770, 788, 0, 0, 0, -293, -293, -293, -293, + -293, -293, -293, -293, -293, -293, -293, -293, 0, 0, + 217, 0, -293, -293, -293, 0, 0, -293, 0, 0, + 0, 0, 881, -293, 0, -293, 0, 0, 0, -293, + 0, 726, 309, 0, 0, 0, 0, -293, 0, -293, + 0, 0, -293, -293, 0, 0, -293, -293, -293, -293, + -293, -293, -293, -293, -293, -293, -293, -293, -455, 0, + 0, 0, 0, -293, -293, -293, -293, 0, 0, -293, + -293, -293, -293, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -455, -455, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 930, 0, 0, 0, 0, 672, 933, + 0, 267, 0, 0, 672, 672, 0, 0, 0, 726, + 672, 672, 0, 0, -557, -557, -557, -557, -557, -557, + -557, -557, -557, -557, -557, -557, 0, 0, 0, 0, + -557, -557, -557, 217, 0, -455, 672, 672, 0, 672, + 672, 0, 0, -557, 0, 0, 0, -557, 0, 0, + 0, 0, 0, 0, 0, 267, 309, -455, 0, 0, + -455, -455, 0, 0, -557, 0, -557, -557, -455, -557, + -557, -557, -557, -557, -557, -557, 1010, 0, 0, 0, + 293, -455, -557, -455, -455, 0, 0, 0, -455, -557, + -455, 0, 0, 0, 0, 0, 0, 1022, 1023, 404, + 405, 406, 407, 408, 409, 0, 0, 412, 413, 0, + 1028, 1029, 0, 0, 0, 416, 417, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1045, 0, 419, 0, + 0, 0, 0, 0, 0, 0, 1047, 1048, 0, 0, + 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, + 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 0, 0, 0, 0, 0, 672, 0, 0, 0, + 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, + 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 217, 217, -685, 3, 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 309, 0, 0, 0, 0, 0, 14, 0, 15, 16, + 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, + 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, + 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, + 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 721, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, -685, 0, 0, -685, -685, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, + 0, 64, 65, 66, -417, 0, 0, 0, 0, 0, + 0, 0, 0, -685, 0, -685, 0, -417, -417, -417, + -417, -417, -417, 0, -417, 0, 0, 0, 0, -417, -417, -417, -417, 0, 0, 0, 0, 0, 0, 0, - 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -417, -417, 0, -417, -417, -417, -417, -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -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, -540, 0, -417, -417, -417, -417, - -417, 0, 276, -417, -417, -417, -417, -540, -540, -540, - -540, -540, -540, 0, -540, 0, 0, 0, 0, -540, - 0, -540, -540, 0, 0, 0, 0, 0, 0, 0, - 0, -540, -540, 0, -540, -540, -540, -540, -540, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 217, 0, 0, 0, 0, 0, -417, -417, -417, -417, + -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, + 0, 0, -417, -417, -417, 0, 0, -417, 0, 0, + 0, 0, 0, -417, 0, -417, 0, 0, 0, -417, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, + 0, 0, -417, -417, 0, 0, -417, 0, -417, -417, + -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, + -546, 0, -417, -417, -417, -417, -417, 0, 276, -417, + -417, -417, -417, -546, -546, -546, -546, -546, -546, 0, + -546, 0, 0, 0, 0, -546, 0, -546, -546, 0, + 0, 0, 0, 0, 0, 0, 0, -546, -546, 0, + -546, -546, -546, -546, -546, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 496, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -540, -540, -540, -540, - -540, -540, -540, -540, -540, -540, -540, -540, 0, 0, - 0, 0, -540, -540, -540, 0, -540, -540, 0, 0, - 0, 0, 0, -540, 0, -540, 0, 0, 0, -540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, - 0, 0, -540, -540, 0, -540, -540, 0, -540, -540, - -540, -540, -540, -540, -540, -540, -540, -540, 0, 0, - -679, 0, 0, -540, -540, -540, -540, 0, 0, -540, - -540, -540, -540, -679, -679, -679, -679, -679, -679, 0, - -679, 0, 0, 0, 0, -679, -679, -679, -679, 0, - 0, 0, 0, 0, 0, 0, 0, -679, -679, 0, - -679, -679, -679, -679, -679, 0, 0, 0, 0, 0, + 0, 0, -546, -546, -546, -546, -546, -546, -546, -546, + -546, -546, -546, -546, 0, 0, 0, 0, -546, -546, + -546, 0, -546, -546, 0, 0, 0, 0, 0, -546, + 0, -546, 0, 0, 0, -546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -546, 0, 0, -546, -546, + 0, -546, -546, 0, -546, -546, -546, -546, -546, -546, + -546, -546, -546, -546, 0, 0, -685, 0, 0, -546, + -546, -546, -546, 0, 0, -546, -546, -546, -546, -685, + -685, -685, -685, -685, -685, 0, -685, 0, 0, 0, + 0, -685, -685, -685, -685, 0, 0, 0, 0, 0, + 0, 0, 0, -685, -685, 0, -685, -685, -685, -685, + -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + 0, 0, 0, 0, -685, -685, -685, 0, 0, -685, + 0, 0, 0, 0, 0, -685, 0, -685, 0, 0, + 0, -685, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -685, 0, 0, -685, -685, 0, 0, -685, 0, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + 0, 0, -685, 0, -685, -685, -685, -685, -685, 0, + 276, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 0, -685, 0, 0, 0, 0, -685, 0, -685, + -685, 0, 0, 0, 0, 0, 0, 0, 0, -685, + -685, 0, -685, -685, -685, -685, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, 0, 0, 0, 0, -679, -679, - -679, 0, 0, -679, 0, 0, 0, 0, 0, -679, - 0, -679, 0, 0, 0, -679, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -679, 0, 0, -679, -679, - 0, 0, -679, 0, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, 0, 0, -679, 0, -679, -679, - -679, -679, -679, 0, 276, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, 0, -679, 0, 0, 0, - 0, -679, 0, -679, -679, 0, 0, 0, 0, 0, - 0, 0, 0, -679, -679, 0, -679, -679, -679, -679, - -679, 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, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - 0, 0, 0, 0, -679, -679, -679, 0, 0, -679, - 0, 0, 0, 0, 0, -679, 0, -679, 0, 0, - 0, -679, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -679, 0, 0, -679, -679, 0, 0, -679, 0, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - 0, 0, -656, 0, 0, -679, -679, -679, -679, 0, - 276, -679, -679, -679, -679, -656, -656, -656, 0, -656, - -656, 0, -656, 0, 0, 0, 0, -656, -656, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -656, - -656, 0, -656, -656, -656, -656, -656, 0, 0, 0, + 0, 0, 0, 0, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 0, 0, 0, 0, + -685, -685, -685, 0, 0, -685, 0, 0, 0, 0, + 0, -685, 0, -685, 0, 0, 0, -685, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -685, 0, 0, + -685, -685, 0, 0, -685, 0, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 0, 0, -662, 0, + 0, -685, -685, -685, -685, 0, 276, -685, -685, -685, + -685, -662, -662, -662, 0, -662, -662, 0, -662, 0, + 0, 0, 0, -662, -662, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -662, -662, 0, -662, -662, + -662, -662, -662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -656, -656, -656, -656, -656, -656, - -656, -656, -656, -656, -656, -656, 0, 0, 0, 0, - -656, -656, -656, 0, 807, -656, 0, 0, 0, 0, - 0, 0, 0, -656, 0, 0, 0, -656, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -656, 0, 0, - -656, -656, 0, -107, -656, 0, -656, -656, -656, -656, - -656, -656, -656, -656, -656, -656, 0, 0, -656, 0, - -656, -656, -656, 0, -99, 0, 0, -656, -656, -656, - -656, -656, -656, -656, 0, -656, -656, 0, -656, 0, - 0, 0, 0, -656, -656, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -656, -656, 0, -656, -656, - -656, -656, -656, 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, - -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, - -656, -656, 0, 0, 0, 0, -656, -656, -656, 0, - 807, -656, 0, 0, 0, 0, 0, 0, 0, -656, - 0, 0, 0, -656, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -656, 0, 0, -656, -656, 0, -107, - -656, 0, -656, -656, -656, -656, -656, -656, -656, -656, - -656, -656, 0, 0, -302, 0, -656, -656, -656, 0, - -656, 0, 0, -656, -656, -656, -656, -302, -302, -302, + -662, -662, -662, -662, -662, -662, -662, -662, -662, -662, + -662, -662, 0, 0, 0, 0, -662, -662, -662, 0, + 807, -662, 0, 0, 0, 0, 0, 0, 0, -662, + 0, 0, 0, -662, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -662, 0, 0, -662, -662, 0, -107, + -662, 0, -662, -662, -662, -662, -662, -662, -662, -662, + -662, -662, 0, 0, -302, 0, -662, -662, -662, 0, + -662, 0, 0, -662, -662, -662, -662, -302, -302, -302, 0, -302, -302, 0, -302, 0, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, 0, -302, -302, -302, -302, -302, 0, @@ -4036,7 +4050,7 @@ static const yytype_int16 yytable[] = -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, -679, -679, -679, 0, 0, -679, 14, 0, 15, + 13, -685, -685, -685, 0, 0, -685, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, @@ -4046,12 +4060,12 @@ static const yytype_int16 yytable[] = 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, -679, 0, 0, -679, -679, 0, 0, + 62, 0, 63, -685, 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -679, 295, -679, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 0, 0, -679, - 0, -679, -679, 14, 0, 15, 16, 17, 18, 0, + 0, 0, 0, 0, -685, 295, -685, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, -685, + 0, -685, -685, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 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, @@ -4060,13 +4074,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, -679, - 0, 0, -679, -679, 0, 0, 0, 0, 0, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -685, + 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -679, 295, -679, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, -679, 0, 0, -679, 14, - -679, 15, 16, 17, 18, 0, 0, 0, 0, 0, + -685, 295, -685, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, -685, 0, 0, -685, 14, + -685, 15, 16, 17, 18, 0, 0, 0, 0, 0, 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, @@ -4075,13 +4089,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, -679, 0, 0, -679, -679, + 60, 61, 62, 0, 63, -685, 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -679, 295, -679, 4, + 0, 0, 0, 0, 0, 0, -685, 295, -685, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, -679, 0, 0, -679, 14, 0, 15, 16, 17, - 18, -679, 0, 0, 0, 0, 19, 20, 21, 22, + 0, -685, 0, 0, -685, 14, 0, 15, 16, 17, + 18, -685, 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, @@ -4090,12 +4104,12 @@ static const yytype_int16 yytable[] = 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, -679, 0, 0, -679, -679, 0, 0, 0, 0, + 63, -685, 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -679, 295, -679, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, -679, 0, 0, - -679, 14, 0, 15, 16, 17, 18, 0, 0, 0, + 0, 0, -685, 295, -685, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, -685, 0, 0, + -685, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, @@ -4104,11 +4118,11 @@ 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, -679, 0, 0, - -679, -679, 3, 0, 4, 5, 6, 7, 8, 9, + 59, 0, 60, 61, 62, 0, 63, -685, 0, 0, + -685, -685, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, - 14, 0, 15, 16, 17, 18, 0, 0, -679, 0, - -679, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 14, 0, 15, 16, 17, 18, 0, 0, -685, 0, + -685, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, @@ -4116,12 +4130,12 @@ 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, -679, 0, 0, -679, - -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 60, 61, 62, 0, 63, -685, 0, 0, -685, + -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, - -679, 0, 0, 0, 0, 0, 0, -679, 295, -679, + -685, 0, 0, 0, 0, 0, 0, -685, 295, -685, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, -679, -679, 0, 0, 0, 14, 0, 15, 16, + 0, -685, -685, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, @@ -4131,10 +4145,10 @@ static const yytype_int16 yytable[] = 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, -679, 0, 0, -679, -679, 295, 0, 4, + 0, 63, -685, 0, 0, -685, -685, 295, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, - 18, 0, 0, -679, 0, -679, 19, 20, 21, 22, + 18, 0, 0, -685, 0, -685, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, @@ -4143,10 +4157,10 @@ static const yytype_int16 yytable[] = 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, -679, 0, 0, -679, -679, 295, 0, 4, 5, + 63, -685, 0, 0, -685, -685, 295, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, - 0, -679, -679, 0, -679, 19, 20, 21, 22, 23, + 0, -685, -685, 0, -685, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, @@ -4155,10 +4169,10 @@ static const yytype_int16 yytable[] = 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, - -679, 0, 0, -679, -679, 295, 0, 4, 5, 6, + -685, 0, 0, -685, -685, 295, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, 0, - -679, -679, 0, -679, 19, 20, 21, 22, 23, 24, + -685, -685, 0, -685, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, @@ -4166,12 +4180,12 @@ 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, -679, - 0, 0, -679, -679, 0, 0, 0, 0, 0, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -685, + 0, 0, -685, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, - 66, 0, 0, -679, 0, 0, 0, 0, 0, 0, - -679, 295, -679, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, -679, 0, 0, 0, 14, + 66, 0, 0, -685, 0, 0, 0, 0, 0, 0, + -685, 295, -685, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, -685, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, @@ -4181,10 +4195,10 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, -679, 0, 0, -679, -679, + 60, 61, 62, 0, 63, -685, 0, 0, -685, -685, 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, -679, 0, -679, 19, + 15, 16, 17, 18, 0, 0, -685, 0, -685, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, @@ -4210,22 +4224,22 @@ static const yytype_int16 yytable[] = 0, 0, 64, 65, 66, 0, 14, 0, 108, 109, 17, 18, 0, 0, 250, 0, 251, 110, 111, 112, 22, 851, 852, 853, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 854, 34, + 0, 0, 0, 0, 0, 30, 31, 32, 1001, 34, 35, 36, 855, 38, 0, 39, 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 972, 0, - 0, 119, 52, 0, 858, 859, 0, 860, 0, 0, + 0, 48, 49, 0, 0, 0, 0, 0, 977, 0, + 0, 119, 52, 0, 858, 859, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, -643, 0, 0, -643, -643, 0, 0, 0, - 0, 0, 0, 0, 861, 0, 0, 0, 0, 0, - 0, 64, 265, 66, 0, 0, -476, 0, 0, -476, - 0, 0, 0, -643, 0, -643, 4, 5, 6, 7, + 0, 63, -649, 0, 0, -649, -649, 0, 0, 0, + 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, + 0, 64, 265, 66, 0, 0, -482, 0, 0, -482, + 0, 0, 0, -649, 0, -649, 4, 5, 6, 7, 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, 1057, 34, 35, 36, 37, 38, + 0, 30, 31, 32, 1068, 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, @@ -4238,18 +4252,18 @@ static const yytype_int16 yytable[] = 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, 1063, 24, 25, 0, 0, 113, 0, + 111, 112, 22, 1074, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 1064, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 1075, 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, -648, 0, 0, -648, -648, 0, + 61, 62, 0, 63, -654, 0, 0, -654, -654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 64, 265, 66, 0, 0, -480, 0, - 0, -648, 0, 0, 0, -648, 0, -648, 4, 5, + 0, 0, 0, 64, 265, 66, 0, 0, -486, 0, + 0, -654, 0, 0, 0, -654, 0, -654, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, @@ -4302,83 +4316,83 @@ static const yytype_int16 yytable[] = 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, -649, -649, -649, -649, -649, -649, - -649, -649, -649, 0, 0, 0, 0, 0, 0, 0, - -649, 0, -649, -649, -649, -649, 0, -649, 0, 0, - 0, -649, -649, -649, -649, -649, -649, -649, 0, 0, - -649, 0, 0, 0, 0, 0, 0, 0, 0, -649, - -649, -649, -649, -649, -649, -649, -649, -649, 0, -649, - -649, -649, 0, 0, -649, 0, 0, -649, -649, 0, - -649, -649, -649, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -649, -649, 0, 0, 0, - 0, 0, -649, 0, 0, -649, -649, 0, -649, -649, - 0, -649, 0, -649, -649, -649, 0, -649, -649, -649, - 0, -649, -649, -649, 0, -649, 0, 0, 0, 0, + 0, 0, 203, 204, -655, -655, -655, -655, -655, -655, + -655, -655, -655, 0, 0, 0, 0, 0, 0, 0, + -655, 0, -655, -655, -655, -655, 0, -655, 0, 0, + 0, -655, -655, -655, -655, -655, -655, -655, 0, 0, + -655, 0, 0, 0, 0, 0, 0, 0, 0, -655, + -655, -655, -655, -655, -655, -655, -655, -655, 0, -655, + -655, -655, 0, 0, -655, 0, 0, -655, -655, 0, + -655, -655, -655, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -655, -655, 0, 0, 0, + 0, 0, -655, 0, 0, -655, -655, 0, -655, -655, + 0, -655, 0, -655, -655, -655, 0, -655, -655, -655, + 0, -655, -655, -655, 0, -655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -649, -649, -649, 0, -649, - 0, 0, 0, 0, 0, -649, -650, -650, -650, -650, - -650, -650, -650, -650, -650, 0, 0, 0, 0, 0, - 0, 0, -650, 0, -650, -650, -650, -650, 0, -650, - 0, 0, 0, -650, -650, -650, -650, -650, -650, -650, - 0, 0, -650, 0, 0, 0, 0, 0, 0, 0, - 0, -650, -650, -650, -650, -650, -650, -650, -650, -650, - 0, -650, -650, -650, 0, 0, -650, 0, 0, -650, - -650, 0, -650, -650, -650, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -650, -650, 0, - 0, 0, 0, 0, -650, 0, 0, -650, -650, 0, - -650, -650, 0, -650, 0, -650, -650, -650, 0, -650, - -650, -650, 0, -650, -650, -650, 0, -650, 0, 0, - 0, 0, 0, 0, -652, -652, -652, -652, -652, -652, - -652, -652, -652, 0, 0, 0, 0, -650, -650, -650, - -652, -650, -652, -652, -652, -652, 0, -650, 0, 0, - 0, -652, -652, -652, -652, -652, -652, -652, 0, 0, - -652, 0, 0, 0, 0, 0, 0, 0, 0, -652, - -652, -652, -652, -652, -652, -652, -652, -652, 0, -652, - -652, -652, 0, 0, -652, 0, 0, -652, -652, 0, - -652, -652, -652, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -652, -652, 0, 0, 0, - 0, 0, -652, 839, 0, -652, -652, 0, -652, -652, - 0, -652, 0, -652, -652, -652, 0, -652, -652, -652, - 0, -652, -652, -652, 0, -652, 0, 0, 0, 0, - 0, 0, -107, -653, -653, -653, -653, -653, -653, -653, - -653, -653, 0, 0, 0, -652, -652, -652, 0, -653, - 0, -653, -653, -653, -653, -652, 0, 0, 0, 0, - -653, -653, -653, -653, -653, -653, -653, 0, 0, -653, - 0, 0, 0, 0, 0, 0, 0, 0, -653, -653, - -653, -653, -653, -653, -653, -653, -653, 0, -653, -653, - -653, 0, 0, -653, 0, 0, -653, -653, 0, -653, - -653, -653, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -653, -653, 0, 0, 0, 0, - 0, -653, 840, 0, -653, -653, 0, -653, -653, 0, - -653, 0, -653, -653, -653, 0, -653, -653, -653, 0, - -653, -653, -653, 0, -653, 0, 0, 0, 0, 0, - 0, -109, -654, -654, -654, -654, -654, -654, -654, -654, - -654, 0, 0, 0, -653, -653, -653, 0, -654, 0, - -654, -654, -654, -654, -653, 0, 0, 0, 0, -654, - -654, -654, -654, -654, -654, -654, 0, 0, -654, 0, - 0, 0, 0, 0, 0, 0, 0, -654, -654, -654, - -654, -654, -654, -654, -654, -654, 0, -654, -654, -654, - 0, 0, -654, 0, 0, -654, -654, 0, -654, -654, - -654, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -654, -654, 0, 0, 0, 0, 0, - -654, 0, 0, -654, -654, 0, -654, -654, 0, -654, - 0, -654, -654, -654, 0, -654, -654, -654, 0, -654, - -654, -654, 0, -654, 0, 0, 0, 0, 0, 0, - -655, -655, -655, -655, -655, -655, -655, -655, -655, 0, - 0, 0, 0, -654, -654, -654, -655, 0, -655, -655, - -655, -655, 0, -654, 0, 0, 0, -655, -655, -655, - -655, -655, -655, -655, 0, 0, -655, 0, 0, 0, - 0, 0, 0, 0, 0, -655, -655, -655, -655, -655, - -655, -655, -655, -655, 0, -655, -655, -655, 0, 0, - -655, 0, 0, -655, -655, 0, -655, -655, -655, 0, + 0, 0, 0, 0, 0, -655, -655, -655, 0, -655, + 0, 0, 0, 0, 0, -655, -656, -656, -656, -656, + -656, -656, -656, -656, -656, 0, 0, 0, 0, 0, + 0, 0, -656, 0, -656, -656, -656, -656, 0, -656, + 0, 0, 0, -656, -656, -656, -656, -656, -656, -656, + 0, 0, -656, 0, 0, 0, 0, 0, 0, 0, + 0, -656, -656, -656, -656, -656, -656, -656, -656, -656, + 0, -656, -656, -656, 0, 0, -656, 0, 0, -656, + -656, 0, -656, -656, -656, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -656, -656, 0, + 0, 0, 0, 0, -656, 0, 0, -656, -656, 0, + -656, -656, 0, -656, 0, -656, -656, -656, 0, -656, + -656, -656, 0, -656, -656, -656, 0, -656, 0, 0, + 0, 0, 0, 0, -658, -658, -658, -658, -658, -658, + -658, -658, -658, 0, 0, 0, 0, -656, -656, -656, + -658, -656, -658, -658, -658, -658, 0, -656, 0, 0, + 0, -658, -658, -658, -658, -658, -658, -658, 0, 0, + -658, 0, 0, 0, 0, 0, 0, 0, 0, -658, + -658, -658, -658, -658, -658, -658, -658, -658, 0, -658, + -658, -658, 0, 0, -658, 0, 0, -658, -658, 0, + -658, -658, -658, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -658, -658, 0, 0, 0, + 0, 0, -658, 839, 0, -658, -658, 0, -658, -658, + 0, -658, 0, -658, -658, -658, 0, -658, -658, -658, + 0, -658, -658, -658, 0, -658, 0, 0, 0, 0, + 0, 0, -107, -659, -659, -659, -659, -659, -659, -659, + -659, -659, 0, 0, 0, -658, -658, -658, 0, -659, + 0, -659, -659, -659, -659, -658, 0, 0, 0, 0, + -659, -659, -659, -659, -659, -659, -659, 0, 0, -659, + 0, 0, 0, 0, 0, 0, 0, 0, -659, -659, + -659, -659, -659, -659, -659, -659, -659, 0, -659, -659, + -659, 0, 0, -659, 0, 0, -659, -659, 0, -659, + -659, -659, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -659, -659, 0, 0, 0, 0, + 0, -659, 840, 0, -659, -659, 0, -659, -659, 0, + -659, 0, -659, -659, -659, 0, -659, -659, -659, 0, + -659, -659, -659, 0, -659, 0, 0, 0, 0, 0, + 0, -109, -660, -660, -660, -660, -660, -660, -660, -660, + -660, 0, 0, 0, -659, -659, -659, 0, -660, 0, + -660, -660, -660, -660, -659, 0, 0, 0, 0, -660, + -660, -660, -660, -660, -660, -660, 0, 0, -660, 0, + 0, 0, 0, 0, 0, 0, 0, -660, -660, -660, + -660, -660, -660, -660, -660, -660, 0, -660, -660, -660, + 0, 0, -660, 0, 0, -660, -660, 0, -660, -660, + -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -660, -660, 0, 0, 0, 0, 0, + -660, 0, 0, -660, -660, 0, -660, -660, 0, -660, + 0, -660, -660, -660, 0, -660, -660, -660, 0, -660, + -660, -660, 0, -660, 0, 0, 0, 0, 0, 0, + -661, -661, -661, -661, -661, -661, -661, -661, -661, 0, + 0, 0, 0, -660, -660, -660, -661, 0, -661, -661, + -661, -661, 0, -660, 0, 0, 0, -661, -661, -661, + -661, -661, -661, -661, 0, 0, -661, 0, 0, 0, + 0, 0, 0, 0, 0, -661, -661, -661, -661, -661, + -661, -661, -661, -661, 0, -661, -661, -661, 0, 0, + -661, 0, 0, -661, -661, 0, -661, -661, -661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -655, -655, 0, 0, 0, 0, 0, -655, 0, - 0, -655, -655, 0, -655, -655, 0, -655, 0, -655, - -655, -655, 0, -655, -655, -655, 0, -655, -655, -655, - 0, -655, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -661, -661, 0, 0, 0, 0, 0, -661, 0, + 0, -661, -661, 0, -661, -661, 0, -661, 0, -661, + -661, -661, 0, -661, -661, -661, 0, -661, -661, -661, + 0, -661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -655, -655, -655, 0, 0, 0, 0, 0, 0, - 0, -655, 131, 132, 133, 134, 135, 136, 137, 138, + 0, -661, -661, -661, 0, 0, 0, 0, 0, 0, + 0, -661, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 233, 234, 235, 236, 162, 163, 164, 0, @@ -4462,29 +4476,29 @@ static const yytype_int16 yytable[] = 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, 971, 34, 35, 36, 855, 38, 0, 39, + 31, 32, 976, 34, 35, 36, 855, 38, 0, 39, 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 972, 0, 0, 119, 52, 0, 858, 859, - 0, 973, 0, 263, 0, 56, 0, 57, 58, 59, + 0, 0, 977, 0, 0, 119, 52, 0, 858, 859, + 0, 978, 0, 263, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, 64, 265, 66, 0, 0, - 0, 0, 974, 4, 5, 6, 7, 8, 9, 10, + 0, 0, 979, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 980, 34, 35, 36, 37, 38, 0, 39, 40, + 32, 986, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 981, 0, 56, 0, 57, 58, 59, 0, + 0, 0, 987, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 64, 265, 66, 0, 14, 982, + 12, 13, 0, 0, 64, 265, 66, 0, 14, 988, 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, @@ -4550,7 +4564,7 @@ static const yytype_int16 yytable[] = 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, 879, 0, 0, 0, 0, 0, + 0, 0, 0, 48, 883, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, 725, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, @@ -4646,7 +4660,7 @@ static const yytype_int16 yytable[] = 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, 925, 0, 0, 0, 56, 0, 57, + 53, 54, 0, 929, 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, @@ -4690,69 +4704,53 @@ static const yytype_int16 yytable[] = 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, - -451, 43, 44, 0, 45, 46, 47, 0, 0, 0, - -650, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, -451, -451, 211, 0, 0, 119, + -487, 43, 44, 0, 45, 46, 47, 0, 0, 0, + -655, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 0, 0, 0, -487, -487, 211, 0, 0, 119, 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, -544, -544, -544, -544, - -544, -544, -544, -544, -544, -544, -544, -544, 0, 64, - 265, 66, -544, -544, -544, 0, -544, -451, 0, 0, - 0, 0, 0, 0, 0, -544, 0, 0, 0, -544, - 0, 0, 0, 0, -447, 0, 0, 0, 0, -451, - 0, 0, -451, -451, 0, -544, -544, 0, -544, -544, - -451, -544, -544, -544, -544, -544, -544, -544, -447, -447, - 0, 0, -650, -451, -544, -451, -451, 0, -650, 0, - -451, -544, -451, 0, 0, -498, 0, 0, -498, 0, - 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, -546, -546, 0, 64, + 265, 66, -546, -546, -546, 0, -546, -487, 0, 0, + 0, 0, 0, 0, 0, -546, 0, 0, 0, -546, + 0, 0, 0, 0, -453, 0, 0, 0, 0, -487, + 0, 0, -487, -487, 0, -546, -546, 0, -546, -546, + -487, -546, -546, -546, -546, -546, -546, -546, -453, -453, + 0, 0, -655, -487, -546, -487, -487, 0, -655, 0, + -487, -546, -487, 0, 0, -504, 0, 0, -504, 0, + 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, + -504, -504, -504, -504, -504, -504, -504, -504, -504, -504, + -504, -504, 0, 0, 0, 0, -504, -504, -504, 0, + 0, -453, 0, 0, -456, 0, 0, 0, 0, -504, + 0, 0, 0, -504, 0, -504, 0, 0, 0, 0, + 0, 0, 0, -453, 0, 0, -453, -453, -456, -456, + -504, 0, -504, -504, -453, -504, -504, -504, -504, -504, + -504, -504, 0, 0, 0, 0, 0, -453, -504, -453, + -453, 0, 0, 0, -453, -504, -453, 0, 0, 0, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, 0, 0, 0, 0, -558, -558, -558, 0, + 0, -456, 0, 0, -451, 0, 0, 0, 0, -558, + 0, 0, 0, -558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -456, 0, 0, -456, -456, -451, -451, + -558, 0, -558, -558, -456, -558, -558, -558, -558, -558, + -558, -558, 0, 0, 0, 0, 0, -456, -558, -456, + -456, 0, 0, 0, -456, -558, -456, 0, 0, 0, + -497, -497, -497, -497, -497, -497, -497, -497, -497, -497, + -497, -497, 0, 0, 0, 0, -497, -497, -497, 0, + 0, -451, 0, 0, -452, 0, 0, 0, 0, -497, + 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -451, 0, 0, -451, -451, -452, -452, + -497, 0, -497, -497, -451, -497, -497, -497, -497, -497, + -497, -497, 0, 0, 0, 0, 0, -451, -497, -451, + -451, 0, 0, 0, -451, -497, -451, 0, 0, 0, -498, -498, -498, -498, -498, -498, -498, -498, -498, -498, -498, -498, 0, 0, 0, 0, -498, -498, -498, 0, - 0, -447, 0, 0, -448, 0, 0, 0, 0, -498, - 0, 0, 0, -498, 0, -498, 0, 0, 0, 0, - 0, 0, 0, -447, 0, 0, -447, -447, -448, -448, - -498, 0, -498, -498, -447, -498, -498, -498, -498, -498, - -498, -498, 0, 0, 0, 0, 0, -447, -498, -447, - -447, 0, 0, 0, -447, -498, -447, 0, 0, 0, - -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, - -549, -549, 0, 0, 0, 0, -549, -549, -549, 0, - 0, -448, 0, 0, -449, 0, 0, 0, 0, -549, - 0, 0, 0, -549, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -448, 0, 0, -448, -448, -449, -449, - -549, 0, -549, -549, -448, -549, -549, -549, -549, -549, - -549, -549, 0, 0, 0, 0, 0, -448, -549, -448, - -448, 0, 0, 0, -448, -549, -448, 0, 0, 0, - -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, - -551, -551, 0, 0, 0, 0, -551, -551, -551, 0, - 0, -449, 0, 0, -450, 0, 0, 0, 0, -551, - 0, 0, 0, -551, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -449, 0, 0, -449, -449, -450, -450, - -551, 0, -551, -551, -449, -551, -551, -551, -551, -551, - -551, -551, 0, 0, 0, 0, 0, -449, -551, -449, - -449, 0, 0, 0, -449, -551, -449, 0, 0, 0, - -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, - -552, -552, 0, 0, 0, 0, -552, -552, -552, 0, - 0, -450, 0, 0, -446, 0, 0, 0, 0, -552, - 0, 0, 0, -552, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -450, 0, 0, -450, -450, -446, -446, - -552, 0, -552, -552, -450, -552, -552, -552, -552, -552, - -552, -552, 0, 0, 0, 0, 0, -450, -552, -450, - -450, 0, 0, 0, -450, -552, -450, 0, 0, 0, - -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, - -492, -492, 0, 0, 0, 0, -492, -492, -492, 0, - 0, -446, 0, 0, -445, 0, 0, 0, 0, -492, - 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -446, 0, 0, -446, -446, -445, -445, - -492, 0, -492, -492, -446, -492, -492, -492, -492, -492, - -492, -492, 0, 0, 0, 0, 0, -446, -492, -446, - -446, 0, 0, 0, -446, -492, -446, 0, 0, 0, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, 0, 0, 0, 0, -491, -491, -491, 0, - 0, -445, 0, 0, 0, 0, 0, 0, 0, -491, - 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -445, 0, 0, -445, -445, 0, 0, - -491, 0, -491, -491, -445, -491, -491, -491, -491, -491, - -491, -491, 0, 0, 0, 0, 0, -445, -491, -445, - -445, 0, 0, 0, -445, -491, -445, 4, 5, 6, + 0, -452, 0, 0, 0, 0, 0, 0, 0, -498, + 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -452, 0, 0, -452, -452, 0, 0, + -498, 0, -498, -498, -452, -498, -498, -498, -498, -498, + -498, -498, 0, 0, 0, 0, 0, -452, -498, -452, + -452, 0, 0, 0, -452, -498, -452, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 851, 852, @@ -4762,30 +4760,30 @@ static const yytype_int16 yytable[] = 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, 860, 0, 0, 0, 56, 0, + 0, 858, 859, 0, 860, 0, 861, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 861, 0, 0, 0, 0, 0, 14, 120, 108, + 0, 862, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 114, - 34, 35, 36, 115, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, + 112, 22, 851, 852, 853, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 1001, + 34, 35, 36, 855, 38, 0, 39, 40, 41, 0, + 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 857, + 0, 0, 119, 52, 0, 858, 859, 0, 860, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, + 9, 10, 11, 12, 0, 862, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 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, 116, 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, + 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, @@ -4793,44 +4791,44 @@ static const yytype_int16 yytable[] = 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, 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, 313, 0, 0, - 400, 52, 0, 53, 54, 0, 401, 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, 851, 852, 853, 0, 0, 113, + 110, 111, 112, 22, 23, 24, 25, 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, + 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, 857, 0, 0, 119, 52, 0, 858, 859, 0, - 0, 0, 0, 0, 56, 0, 57, 58, 59, 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, 861, 0, 0, + 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, + 0, 0, 0, 0, 110, 111, 112, 22, 851, 852, + 853, 0, 0, 113, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 1001, 34, 35, 36, 855, + 38, 0, 39, 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 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, + 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, + 0, 862, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 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, 313, - 0, 0, 400, 52, 0, 53, 54, 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, @@ -4841,7 +4839,7 @@ static const yytype_int16 yytable[] = 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, 1022, 0, 0, 119, 52, 0, 53, + 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, @@ -4850,36 +4848,56 @@ static const yytype_int16 yytable[] = 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, - -649, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1045, 0, 0, + 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, 1032, 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, -540, -540, -540, -540, - -540, -540, -540, -540, -540, -540, -540, -540, 0, 0, - 120, 0, -540, -540, -540, 0, -540, -481, 0, 0, - 0, 0, 0, 0, 0, -540, 0, -649, 0, -540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, - 0, 0, -540, -540, 0, -540, -540, 0, -540, -540, - -481, -540, -540, -540, -540, -540, -540, -540, 0, 0, - 0, 0, -649, 0, -540, -481, -481, 0, -649, 0, - -540, -540, -540, -540, -540, -540, -540, -540, -540, -540, - -540, -540, -540, -540, -540, 0, 0, 0, 0, -540, - -540, -540, 0, -540, 0, 0, 0, 0, 0, 0, - 0, 0, -540, 0, -649, 0, -540, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -540, 0, 0, -540, - -540, 0, -540, -540, 0, -540, -540, -540, -540, -540, - -540, -540, -540, -540, -540, 0, 0, 0, 0, -649, - 0, -540, -466, -466, 0, -649, 0, -540, -540, -540, - -540, -540, -540, -540, -540, -540, -540, -540, -540, -540, - -540, -540, 0, 0, 0, 0, -540, -540, -540, 0, - -540, 0, 0, 0, 0, 0, 0, 0, 0, -540, - 0, 0, 0, -540, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -540, 0, 0, -540, -540, 0, -540, - -540, 0, -540, -540, -540, -540, -540, -540, -540, -540, - -540, -540, 0, 0, 0, 0, -649, -478, -540, 0, - -540, 0, -649, 0, -540, -540, -540, 681, 652, 0, - 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, + 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, + 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 225, + 0, 0, 0, 0, -655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1055, 0, 0, 119, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 56, 496, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, + -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, + -546, -546, 0, 0, 120, 0, -546, -546, -546, 0, + -546, -487, 0, 0, 0, 0, 0, 0, 0, -546, + 0, -655, 0, -546, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -546, 0, 0, -546, -546, 0, -546, + -546, 0, -546, -546, -487, -546, -546, -546, -546, -546, + -546, -546, 0, 0, 0, 0, -655, 0, -546, -487, + -487, 0, -655, 0, -546, -546, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, + 0, 0, 0, -546, -546, -546, 0, -546, 0, 0, + 0, 0, 0, 0, 0, 0, -546, 0, -655, 0, + -546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -546, 0, 0, -546, -546, 0, -546, -546, 0, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, + 0, 0, 0, -655, 0, -546, -472, -472, 0, -655, + 0, -546, -546, -546, -546, -546, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, 0, 0, 0, 0, + -546, -546, -546, 0, -546, 0, 0, 0, 0, 0, + 0, 0, 0, -546, 0, 0, 0, -546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -546, 0, 0, + -546, -546, 0, -546, -546, 0, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, 0, 0, 0, 0, + -655, -484, -546, 0, -546, 0, -655, 0, -546, -546, + -546, 660, 661, 0, 0, 662, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 681, 652, 0, + 0, 682, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, @@ -4947,7 +4965,7 @@ static const yytype_int16 yytable[] = 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, 930, 652, 0, 0, 931, + 199, 200, 0, 201, 202, 934, 652, 0, 0, 935, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, @@ -4956,7 +4974,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 933, 661, 0, 0, 934, 0, 203, 276, 0, + 202, 937, 661, 0, 0, 938, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, @@ -4964,8 +4982,8 @@ static const yytype_int16 yytable[] = 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 1068, 652, 0, - 0, 1069, 0, 203, 276, 0, 0, 0, 0, 0, + 197, 198, 199, 200, 0, 201, 202, 1078, 652, 0, + 0, 1079, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, @@ -4973,7 +4991,7 @@ static const yytype_int16 yytable[] = 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, 1121, 0, 203, + 0, 201, 202, 698, 652, 0, 0, 1136, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, @@ -4981,8 +4999,8 @@ static const yytype_int16 yytable[] = 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, 1068, - 652, 0, 0, 1145, 0, 203, 276, 0, 0, 0, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 1078, + 652, 0, 0, 1154, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, @@ -4990,7 +5008,7 @@ static const yytype_int16 yytable[] = 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, 1156, 652, 0, 0, 1157, + 199, 200, 0, 201, 202, 1165, 652, 0, 0, 1166, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, @@ -4999,7 +5017,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 1159, 661, 0, 0, 1160, 0, 203, 276, 0, + 202, 1168, 661, 0, 0, 1169, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, @@ -5014,599 +5032,620 @@ static const yytype_int16 yytable[] = 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 901, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, 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, 914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, 0, 0, 0, 0, -302, -302, - -302, 0, 840, -302, 0, 0, 0, 0, 0, 0, - 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -302, 0, 0, -302, -302, - 0, -109, -302, 0, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, 0, 0, 0, 0, 0, -302, - -302, -302, -302, 0, -653, 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, -549, -549, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, - 0, 0, -549, -549, -549, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -549, 0, 0, 0, -549, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -549, - 0, 0, -549, -549, 0, 0, -549, 0, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, - 0, 0, 0, -479, -549, 0, -549, 0, 0, 0, - -549, -549, -549, -492, -492, -492, -492, -492, -492, -492, - -492, -492, -492, -492, -492, 0, 0, 0, 0, -492, - -492, -492, 0, 0, 1067, 0, 0, 0, 0, 0, - 0, 0, -492, 0, 0, 0, -492, 0, 0, 0, + 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, 0, 0, -492, 0, -492, -492, -492, -492, -492, - -492, -492, -492, -492, -492, 0, 0, 0, 0, 0, - 0, -492, 0, 0, 0, 0, 0, 0, -492, 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, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, - 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 0, 0, 0, 0, 0, 0, 0, 0, -277, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, + 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -302, -302, -302, -302, -302, -302, + -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, + -302, -302, -302, 0, 840, -302, 0, 0, 0, 0, + 0, 0, 0, -302, 0, 0, 0, -302, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, + -302, -302, 0, -109, -302, 0, -302, -302, -302, -302, + -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, + 0, -302, -302, -302, -302, 0, -659, 0, -302, -302, + -302, -303, -303, -303, -303, -303, -303, -303, -303, -303, + -303, -303, -303, 0, 0, 0, 0, -303, -303, -303, + 0, 526, -303, 0, 0, 0, 0, 0, 0, 0, + -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -303, 0, 0, -303, -303, 0, + -110, -303, 0, -303, -303, -303, -303, -303, -303, -303, + -303, -303, -303, 0, 0, 0, 0, 0, -303, -303, + -303, -303, 0, 0, 0, -303, -303, -303, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + 0, 0, 0, 0, -555, -555, -555, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -555, 0, 0, + 0, -555, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -555, 0, 0, -555, -555, 0, 0, -555, 0, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + 0, 0, 0, 0, 0, -485, -555, 0, -555, 0, + 0, 0, -555, -555, -555, -498, -498, -498, -498, -498, + -498, -498, -498, -498, -498, -498, -498, 0, 0, 0, + 0, -498, -498, -498, 0, 0, 1009, 0, 0, 0, + 0, 0, 0, 0, -498, 0, 0, 0, -498, 0, 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, + 0, 0, 0, 0, 0, -498, 0, -498, -498, -498, + -498, -498, -498, -498, -498, -498, -498, 0, 0, 0, + 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, + -498, 404, 405, 406, 407, 408, 409, 410, 411, 412, 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, + 0, -277, 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, + 0, 0, -279, 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, + 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, + 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, 501, 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, 0, 0, + 0, 0, 0, 416, 417, 0, 0, 0, 501, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430 + 422, 423, 424, 425, 426, 427, 428, 429, 430, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, + 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, -686, -686, 0, 0, 0, 0, 416, 417, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430 }; static const yytype_int16 yycheck[] = { - 1, 9, 26, 65, 88, 68, 14, 222, 285, 8, - 9, 27, 490, 272, 3, 14, 13, 86, 87, 20, - 6, 481, 51, 508, 55, 118, 433, 6, 597, 307, - 27, 15, 16, 311, 13, 19, 403, 594, 379, 332, - 21, 15, 16, 594, 763, 19, 597, 319, 27, 81, - 314, 458, 53, 54, 539, 14, 547, 431, 1005, 15, - 16, 435, 594, 19, 438, 1, 26, 3, 475, 53, - 716, 57, 73, 74, 74, 858, 26, 484, 57, 53, - 54, 864, 15, 16, 25, 459, 19, 74, 73, 74, - 1, 504, 3, 4, 5, 508, 791, 8, 9, 371, - 474, 12, 476, 14, 15, 16, 26, 57, 19, 68, - 111, 485, 138, 692, 1030, 29, 403, 696, 117, 1061, - 25, 612, 122, 104, 703, 59, 60, 61, 62, 25, - 443, 444, 669, 670, 25, 25, 121, 122, 333, 92, - 51, 336, 549, 338, 55, 340, 93, 342, 90, 218, - 90, 525, 374, 90, 65, 25, 443, 444, 16, 25, - 229, 25, 79, 105, 296, 388, 121, 390, 121, 57, - 81, 16, 103, 395, 34, 810, 550, 90, 138, 126, - 0, 816, 40, 41, 144, 57, 18, 142, 138, 142, - 144, 51, 1139, 25, 144, 40, 41, 128, 755, 113, - 18, 142, 20, 144, 755, 147, 117, 147, 119, 126, - 147, 768, 213, 214, 214, 223, 224, 768, 138, 27, - 92, 290, 1164, 755, 223, 224, 213, 214, 213, 214, - 270, 1147, 272, 121, 147, 298, 768, 142, 460, 144, - 791, 90, 55, 306, 307, 51, 142, 316, 311, 121, - 735, 142, 142, 121, 513, 28, 242, 115, 51, 20, - 118, 119, 90, 242, 25, 558, 306, 296, 400, 270, - 115, 272, 142, 118, 119, 276, 142, 1060, 142, 551, - 58, 59, 314, 547, 821, 284, 285, 142, 146, 92, - 148, 1010, 276, 252, 139, 279, 102, 142, 147, 210, - 106, 146, 51, 148, 121, 279, 55, 115, 799, 90, - 118, 119, 223, 224, 144, 90, 26, 55, 90, 147, - 276, 734, 735, 279, 691, 125, 119, 58, 59, 92, - 90, 900, 1027, 90, 319, 1030, 398, 894, 146, 298, - 148, 403, 350, 351, 352, 353, 279, 904, 612, 900, - 121, 350, 351, 352, 353, 92, 355, 356, 121, 295, - 349, 556, 20, 21, 457, 276, 147, 303, 279, 55, - 401, 400, 147, 284, 285, 147, 377, 288, 379, 142, - 90, 443, 444, 92, 295, 296, 371, 147, 848, 25, - 147, 325, 303, 101, 142, 105, 20, 804, 51, 812, - 37, 38, 51, 314, 53, 54, 55, 56, 142, 4, - 5, 90, 121, 349, 398, 57, 69, 12, 354, 403, - 69, 1067, 1001, 131, 132, 133, 105, 138, 138, 803, - 140, 805, 433, 142, 775, 16, 101, 147, 349, 350, - 351, 352, 353, 354, 355, 356, 104, 724, 101, 102, - 103, 145, 1147, 111, 112, 121, 435, 458, 680, 438, - 55, 140, 461, 374, 141, 466, 139, 745, 147, 728, - 1027, 129, 512, 513, 475, 128, 1027, 433, 502, 1030, - 459, 92, 55, 484, 395, 142, 81, 398, 1134, 400, - 401, 101, 403, 142, 807, 288, 60, 476, 101, 63, - 813, 814, 458, 296, 719, 521, 485, 17, 18, 493, - 121, 512, 513, 545, 801, 547, 92, 57, 1003, 475, - 807, 522, 433, 1001, 521, 92, 813, 814, 484, 806, - 504, 142, 443, 444, 115, 799, 142, 118, 119, 121, - 1119, 90, 521, 107, 121, 121, 525, 458, 549, 460, - 461, 51, 511, 622, 121, 142, 105, 780, 781, 782, - 471, 784, 536, 786, 475, 146, 551, 148, 479, 609, - 792, 550, 92, 484, 90, 916, 917, 142, 489, 57, - 612, 92, 912, 913, 1141, 90, 522, 142, 92, 105, - 1003, 140, 142, 549, 1151, 531, 1147, 819, 147, 51, - 105, 121, 121, 92, 605, 665, 858, 400, 668, 886, - 121, 522, 864, 121, 122, 51, 640, 121, 142, 659, - 531, 880, 142, 51, 140, 92, 686, 16, 584, 942, - 92, 147, 121, 92, 545, 140, 547, 115, 549, 144, - 118, 119, 147, 92, 26, 123, 557, 603, 863, 587, - 15, 40, 41, 591, 121, 942, 99, 13, 659, 121, - 92, 90, 121, 121, 665, 887, 587, 668, 669, 670, - 148, 679, 121, 584, 121, 656, 105, 92, 471, 719, - 679, 16, 745, 142, 665, 686, 479, 668, 728, 121, - 691, 692, 603, 63, 15, 696, 489, 145, 714, 92, - 145, 612, 703, 689, 139, 713, 121, 691, 90, 1116, - 689, 140, 115, 16, 713, 118, 119, 714, 147, 314, - 142, 90, 16, 105, 142, 142, 115, 728, 121, 118, - 119, 953, 15, 817, 319, 714, 105, 40, 41, 801, - 15, 142, 957, 1117, 44, 807, 808, 999, 963, 121, - 139, 813, 814, 142, 141, 141, 138, 146, 140, 148, - 734, 1102, 144, 15, 557, 147, 141, 799, 679, 680, - 18, 140, 115, 141, 775, 118, 119, 435, 147, 1169, - 1170, 139, 1, 15, 3, 139, 371, 139, 141, 8, - 9, 1014, 1015, 1016, 1017, 14, 15, 16, 142, 44, - 19, 459, 713, 804, 57, 716, 401, 1197, 1060, 1061, - 142, 142, 115, 1203, 1204, 118, 119, 142, 476, 90, - 821, 115, 1074, 142, 118, 119, 805, 485, 836, 44, - 831, 15, 51, 834, 105, 93, 139, 836, 812, 142, - 880, 16, 14, 146, 15, 148, 65, 300, 804, 15, - 55, 304, 146, 791, 148, 1070, 1071, 858, 859, 51, - 90, 51, 142, 1140, 800, 40, 41, 525, 115, 140, - 791, 118, 119, 145, 858, 105, 147, 142, 142, 880, - 942, 792, 142, 142, 858, 859, 1138, 15, 799, 800, - 801, 141, 550, 804, 15, 142, 807, 808, 117, 146, - 119, 148, 813, 814, 139, 15, 975, 15, 819, 820, - 140, 26, 1164, 1165, 55, 916, 917, 147, 141, 15, - 16, 1144, 833, 19, 215, 836, 142, 139, 142, 115, - 15, 222, 118, 119, 845, 846, 142, 51, 139, 90, - 115, 126, 142, 118, 119, 126, 55, 858, 139, 15, - 545, 144, 547, 864, 105, 55, 1171, 53, 54, 145, - 146, 15, 148, 142, 139, 876, 551, 142, 259, 142, - 57, 146, 142, 148, 142, 90, 887, 888, 1047, 142, - 1195, 1196, 142, 991, 992, 142, 90, 90, 142, 140, - 105, 210, 991, 992, 90, 580, 147, 142, 656, 93, - 1001, 105, 105, 914, 223, 224, 15, 665, 919, 144, - 668, 141, 597, 142, 15, 600, 51, 612, 53, 54, - 55, 56, 15, 138, 522, 140, 684, 820, 686, 144, - 12, 942, 147, 5, 69, 115, 140, 140, 118, 119, - 833, 952, 953, 147, 147, 956, 1119, 90, 791, 960, - 1139, 818, 845, 846, 1074, 998, 509, 276, 349, 1083, - 279, 1066, 105, 516, 1066, 284, 285, 1118, 148, 288, - 90, 1072, 363, 6, 254, 528, 295, 296, 587, 1024, - 991, 992, 993, 876, 303, 105, 1024, 998, 999, 1027, - 381, -1, 1030, -1, 1032, 888, -1, 140, 1027, -1, - -1, 1102, -1, 1024, 147, -1, 1027, 142, -1, 1030, - -1, 1032, -1, 791, -1, 1116, -1, 1118, 1119, 61, - 140, 716, 64, 65, -1, -1, -1, 147, 581, 582, - 349, 350, 351, 352, 353, 354, 355, 356, 1117, 1050, - -1, 1052, 921, 922, 1055, -1, -1, 805, -1, 1060, - 1061, 1062, -1, -1, -1, 374, 1067, -1, 611, 952, - 1116, -1, -1, 1074, -1, 1103, -1, 960, 1169, 1170, - -1, -1, -1, -1, 116, 117, 395, 1185, 1186, 398, - 276, 400, 1103, 279, 403, -1, 1185, 1186, -1, 480, - 481, -1, -1, 90, -1, -1, 1197, -1, -1, -1, - 993, -1, 1203, 1204, 799, 1116, 791, -1, 105, 1147, - -1, 1149, -1, 1151, 433, 1153, 90, 62, -1, 64, - 65, 1132, 1133, 1134, 443, 444, 1147, 1138, 1149, -1, - 1151, 105, 1153, -1, -1, 688, -1, -1, -1, 458, - 531, 460, 461, 140, 37, 38, -1, 538, 1027, -1, - 147, 1189, 471, 1164, 1165, 1166, 475, 1050, -1, 1052, - 479, 16, 1055, 90, -1, 484, 140, -1, 1189, 864, - 489, 116, 117, 147, 1185, 1186, 1187, -1, 105, 61, - -1, -1, 64, 65, -1, 40, 41, -1, 1199, 1200, - -1, 744, -1, -1, -1, -1, 716, 1, -1, 3, - 4, 5, 62, 522, 64, 65, -1, -1, 12, -1, - -1, 764, 531, 140, -1, 900, -1, 902, 90, 914, - 147, 906, 115, -1, 919, 118, 119, 1106, 1107, 1108, - 549, 1110, 1111, 105, 116, 117, -1, 433, 557, 1132, - 1133, 115, -1, -1, 118, 119, 1024, 51, -1, 1027, - -1, 55, 1030, 146, 1032, 148, 116, 117, -1, -1, - 115, 956, 458, 118, 119, 584, -1, -1, 140, 26, - -1, -1, 146, -1, 148, 147, -1, 81, -1, 475, - -1, -1, -1, -1, 603, -1, 16, 678, 484, -1, - -1, 146, -1, 148, 1187, 443, 444, 16, 1177, 1178, - 1179, 1180, -1, 998, 999, -1, 1199, 1200, 504, -1, - 40, 41, 508, -1, -1, 119, -1, -1, -1, 1198, - -1, 40, 41, 1008, 1009, 1103, 879, -1, 719, 477, - 478, -1, -1, 90, 26, 16, -1, -1, 858, 859, - 536, -1, 895, 539, 864, 1030, -1, 1032, 105, -1, - -1, 115, -1, 549, 118, 119, -1, -1, -1, 1117, - 679, 680, 26, -1, -1, 1060, 1061, -1, -1, 1147, - 716, 1149, 1067, 1151, -1, 1153, -1, -1, 526, 1074, - -1, 138, 146, 140, 148, 115, 777, 144, 118, 119, - 147, 63, 64, 65, 713, -1, 115, -1, 90, 118, - 119, -1, -1, 16, -1, 1090, 210, -1, 1093, 139, - -1, 1189, 142, 105, -1, -1, 146, -1, 148, -1, - 139, -1, -1, 142, -1, -1, 90, 146, -1, 148, - -1, -1, 823, -1, 115, -1, -1, 118, 119, 1134, - -1, 105, -1, 1138, 116, 117, 138, -1, 140, -1, - -1, -1, 144, -1, -1, 147, -1, 848, 1143, -1, - -1, 142, 1147, -1, 1149, 146, -1, 148, 1153, 1164, - 1165, 1166, 863, 792, 138, -1, 140, -1, 998, 999, - 144, 800, 801, 147, 288, 804, -1, -1, 807, 808, - -1, 295, 296, -1, 813, 814, -1, -1, -1, 303, - 819, 820, 115, -1, 1189, 118, 119, 63, 64, 65, - 314, -1, 858, -1, 833, -1, -1, 836, 864, -1, - 63, 64, 65, -1, -1, -1, 845, 846, 63, 64, - 65, -1, -1, 146, -1, 148, -1, -1, 734, 735, - 1060, 1061, 1062, -1, -1, 349, 1066, 1067, -1, -1, - 354, 63, 64, 65, 1074, -1, -1, 876, -1, -1, - 116, 117, -1, -1, -1, -1, 957, -1, 887, 888, - 374, -1, 963, 116, 117, 1, -1, 3, 4, 5, - -1, 116, 117, 63, 64, 65, 12, -1, -1, -1, - -1, 395, -1, -1, -1, -1, 400, 401, -1, 403, - -1, -1, -1, -1, 116, 117, -1, -1, 804, 40, - 41, 42, 43, 44, 1134, -1, 812, 51, 1138, 53, - 54, 55, 56, 942, -1, 51, -1, -1, -1, 55, - 63, 64, 65, 952, 953, 69, 116, 117, -1, 443, - 444, 960, -1, -1, 1164, 1165, 1166, 63, 64, 65, - -1, -1, 998, 999, -1, 81, 460, -1, 101, 807, - 808, -1, 858, 859, -1, 813, 814, 471, -1, -1, - -1, -1, 991, 992, 993, 479, -1, -1, -1, 1070, - 1071, -1, -1, 116, 117, 489, 129, 130, 131, 132, - 133, 839, 840, 119, 842, 843, -1, -1, -1, -1, - 116, 117, -1, -1, -1, -1, -1, -1, 51, -1, - 53, 54, 55, 56, 1060, 1061, 1062, -1, 522, -1, - -1, 1067, -1, -1, -1, -1, 69, 531, 1074, 88, - 89, 1050, -1, 1052, -1, -1, 1055, -1, -1, -1, - -1, 545, 101, 547, -1, 1, -1, 3, 4, 5, - -1, 94, -1, 557, -1, -1, 12, 100, -1, -1, - 51, -1, 53, 54, 55, 56, -1, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, 69, -1, - 1171, -1, -1, -1, 210, -1, -1, -1, 1134, 88, - 89, -1, 1138, -1, 942, 51, -1, 1116, -1, 55, - -1, -1, 101, 94, 1195, 1196, -1, 1003, 612, 100, - 101, 102, 103, 1132, 1133, 44, -1, 965, 1164, 1165, - 1166, -1, -1, -1, -1, 81, -1, -1, -1, 128, - 129, 130, 131, 132, 133, -1, -1, 128, -1, -1, - 131, -1, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, -1, 288, 119, -1, -1, 1185, 1186, 1187, 295, - 296, -1, 101, 88, 89, -1, 680, 303, -1, -1, - 1199, 1200, -1, -1, -1, -1, 101, 51, 314, 53, - 54, 55, 56, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 69, 51, -1, 53, 54, - 55, 56, 716, 142, 129, 130, 131, 132, 133, 83, - 1116, -1, -1, 349, 69, -1, -1, -1, 354, -1, - 94, -1, -1, -1, -1, -1, 100, 101, 102, 103, - -1, -1, 51, -1, 53, 54, 55, 56, 374, 94, - -1, -1, -1, -1, 210, 100, -1, 121, -1, -1, - 69, -1, -1, -1, 128, -1, -1, 131, 51, 395, - 53, 54, 55, 56, 400, 401, -1, 403, -1, -1, - 144, -1, -1, -1, -1, 94, 69, -1, 792, -1, - -1, 100, 101, 102, 103, 799, 800, 801, -1, -1, - -1, -1, -1, 807, -1, -1, -1, -1, -1, 813, - 814, 94, -1, -1, -1, 819, 820, 443, 444, 128, - -1, -1, 131, -1, -1, -1, -1, -1, -1, 833, - -1, -1, 288, -1, 460, 144, -1, -1, -1, 295, - 296, 845, 846, -1, -1, 471, -1, 303, -1, -1, - -1, -1, 51, 479, 53, 54, 55, 56, 314, -1, - 864, -1, -1, 489, -1, -1, -1, -1, -1, -1, - 69, -1, 876, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 887, 888, -1, -1, -1, -1, -1, - -1, -1, -1, 349, -1, 94, 522, -1, 354, -1, - -1, 100, 101, 102, 103, 531, -1, -1, -1, -1, - 914, -1, -1, -1, -1, 919, -1, -1, 374, 545, - -1, 547, -1, 1, -1, 3, 4, 5, 6, 128, - -1, 557, 131, -1, 12, -1, -1, -1, 942, 395, - -1, -1, -1, 142, 400, 401, -1, 403, 952, 953, - -1, -1, 956, -1, -1, -1, 960, 51, -1, 53, - 54, 55, 56, -1, -1, -1, -1, 51, -1, 53, - 54, 55, 56, 51, -1, 69, -1, 55, 51, -1, - 53, 54, 55, 56, -1, 69, 612, 443, 444, 993, - -1, 85, -1, -1, 998, 999, 69, -1, -1, 83, - 94, -1, -1, 81, 460, -1, 100, 101, 102, 103, - 94, -1, 85, -1, -1, 471, 100, 101, 102, 103, - -1, 94, -1, 479, -1, -1, -1, 100, 101, 102, - 103, -1, -1, 489, 128, -1, -1, 131, -1, -1, - -1, 119, -1, -1, 128, -1, 1050, 131, 1052, -1, - -1, 1055, -1, -1, 680, 128, 1060, 1061, 131, -1, - 144, -1, -1, 1067, -1, -1, 522, 0, -1, -1, - 1074, -1, -1, -1, -1, 531, -1, -1, -1, -1, - 13, 14, 15, 16, 17, 18, -1, 20, -1, 545, - 716, 547, 25, 26, 27, -1, -1, -1, -1, -1, - -1, 557, -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, 1132, 1133, - 1134, -1, 210, -1, 1138, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, - -1, 53, 54, 55, 56, -1, 612, 90, -1, -1, - 1164, 1165, 1166, -1, -1, -1, 792, 69, -1, -1, - -1, -1, 105, 799, 800, 801, -1, -1, -1, -1, - -1, 807, 115, 1187, -1, 118, 119, 813, 814, -1, - -1, -1, 94, 819, 820, 1199, 1200, -1, -1, 101, - 102, 103, -1, -1, -1, 138, 139, 833, -1, -1, - 288, 144, 145, 146, 147, 148, -1, 295, 296, 845, - 846, -1, -1, -1, 680, 303, 128, -1, -1, 51, - -1, 53, 54, 55, 56, -1, 314, -1, 864, -1, - -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, - 876, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 716, 887, 888, 85, -1, -1, -1, -1, -1, -1, - -1, 349, 94, -1, -1, -1, 354, -1, 100, 101, - 102, 103, -1, -1, -1, -1, -1, -1, 914, -1, - -1, -1, -1, 919, -1, -1, 374, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 128, -1, -1, 131, - -1, -1, -1, -1, -1, -1, 942, 395, -1, -1, - -1, -1, 400, 401, -1, -1, 952, 953, -1, -1, - 956, -1, -1, -1, 960, -1, 792, -1, 1, -1, - 3, -1, -1, 799, 800, 801, -1, -1, -1, 12, - -1, 807, -1, -1, -1, -1, -1, 813, 814, -1, - -1, -1, -1, 819, 820, -1, -1, 993, -1, -1, - -1, -1, 998, 999, -1, -1, -1, 833, -1, -1, - -1, -1, 460, -1, -1, -1, -1, -1, 51, 845, - 846, -1, -1, 471, -1, -1, -1, -1, -1, -1, - -1, 479, -1, -1, -1, -1, -1, -1, 864, -1, - -1, 489, -1, -1, -1, -1, -1, -1, -1, -1, - 876, -1, -1, -1, 1050, -1, 1052, -1, -1, 1055, - -1, 887, 888, -1, 1060, 1061, -1, -1, -1, -1, - -1, 1067, -1, -1, 522, -1, -1, -1, 1074, -1, - -1, -1, -1, 531, -1, -1, 119, -1, 914, -1, - -1, -1, -1, 919, 1, -1, 3, 545, -1, 547, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 557, - 80, 81, -1, -1, -1, -1, 942, -1, 88, 89, - -1, -1, -1, -1, -1, -1, 952, 953, -1, -1, - 956, 101, -1, -1, 960, -1, 1132, 1133, 1134, -1, - -1, -1, 1138, -1, 51, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 612, -1, -1, 993, 1164, 1165, - 1166, -1, 998, 999, -1, -1, -1, 210, -1, -1, + 1, 26, 379, 8, 9, 86, 87, 81, 88, 14, + 6, 27, 285, 272, 490, 118, 481, 13, 388, 20, + 390, 504, 403, 14, 9, 508, 15, 16, 21, 14, + 19, 27, 13, 3, 55, 763, 1, 222, 3, 4, + 5, 332, 791, 8, 9, 508, 27, 12, 6, 14, + 15, 16, 53, 54, 19, 597, 51, 68, 443, 444, + 594, 57, 65, 1015, 53, 54, 74, 1, 859, 3, + 547, 307, 73, 74, 319, 311, 539, 68, 431, 27, + 858, 594, 435, 433, 314, 438, 51, 865, 74, 26, + 55, 15, 16, 20, 21, 19, 669, 670, 333, 57, + 65, 336, 79, 338, 26, 340, 459, 342, 458, 587, + 111, 104, 117, 591, 1040, 26, 81, 57, 374, 26, + 57, 474, 296, 476, 1072, 475, 371, 29, 270, 18, + 272, 20, 485, 25, 484, 612, 122, 218, 51, 395, + 15, 16, 15, 16, 19, 25, 19, 692, 229, 126, + 57, 696, 117, 90, 119, 0, 26, 25, 703, 59, + 60, 61, 62, 1008, 306, 103, 25, 115, 105, 144, + 118, 119, 525, 60, 34, 93, 63, 104, 53, 90, + 28, 121, 25, 403, 111, 112, 25, 25, 25, 102, + 128, 51, 90, 106, 105, 16, 1148, 550, 146, 549, + 148, 138, 129, 140, 460, 213, 214, 144, 126, 290, + 147, 113, 213, 214, 58, 59, 138, 1008, 223, 224, + 107, 755, 144, 443, 444, 1173, 400, 138, 214, 140, + 1156, 138, 1077, 144, 768, 316, 147, 144, 223, 224, + 314, 791, 755, 15, 16, 210, 242, 19, 821, 147, + 142, 734, 735, 61, 513, 768, 64, 65, 223, 224, + 92, 252, 142, 18, 144, 4, 5, 558, 138, 270, + 25, 272, 735, 12, 142, 276, 144, 57, 90, 284, + 285, 53, 54, 142, 242, 138, 1077, 298, 1037, 121, + 279, 1040, 1020, 1071, 115, 306, 307, 118, 119, 142, + 311, 296, 90, 142, 142, 142, 551, 298, 116, 117, + 691, 276, 92, 791, 279, 90, 55, 547, 90, 284, + 285, 556, 799, 288, 90, 146, 55, 148, 92, 812, + 295, 296, 121, 142, 92, 147, 90, 90, 303, 105, + 51, 121, 81, 121, 55, 350, 351, 352, 353, 314, + 355, 356, 121, 142, 457, 279, 16, 121, 51, 147, + 90, 295, 904, 121, 898, 350, 351, 352, 353, 303, + 512, 513, 147, 92, 908, 92, 377, 90, 379, 349, + 401, 147, 612, 848, 349, 350, 351, 352, 353, 354, + 355, 356, 105, 147, 147, 398, 90, 587, 775, 144, + 403, 276, 121, 276, 279, 400, 279, 1156, 92, 374, + 780, 781, 782, 90, 784, 349, 786, 147, 90, 125, + 354, 55, 807, 142, 680, 325, 119, 140, 813, 814, + 395, 144, 433, 398, 147, 400, 401, 121, 403, 435, + 443, 444, 438, 92, 61, 121, 594, 64, 65, 597, + 803, 724, 805, 147, 804, 115, 461, 458, 118, 119, + 37, 38, 92, 459, 92, 466, 1011, 609, 433, 728, + 147, 545, 121, 547, 475, 147, 20, 502, 443, 444, + 476, 25, 142, 484, 1034, 55, 146, 1037, 148, 485, + 1040, 121, 1042, 458, 25, 460, 461, 16, 92, 116, + 117, 142, 92, 1037, 276, 521, 471, 279, 435, 745, + 475, 512, 513, 92, 479, 504, 92, 659, 20, 484, + 511, 522, 90, 398, 489, 521, 92, 121, 403, 525, + 1013, 121, 459, 806, 719, 1011, 792, 105, 612, 142, + 521, 622, 121, 920, 921, 121, 57, 536, 549, 476, + 1013, 138, 142, 101, 550, 121, 1034, 522, 485, 1037, + 433, 946, 1040, 819, 1042, 145, 531, 121, 1118, 799, + 665, 55, 140, 668, 141, 314, 142, 719, 139, 147, + 545, 801, 547, 142, 549, 458, 728, 807, 522, 1134, + 57, 686, 557, 813, 814, 288, 115, 531, 525, 118, + 119, 791, 475, 296, 605, 92, 1156, 755, 1158, 90, + 1160, 484, 1162, 92, 121, 640, 1150, 890, 493, 584, + 768, 92, 121, 550, 105, 884, 1160, 146, 51, 148, + 53, 54, 55, 56, 121, 891, 17, 18, 603, 101, + 1118, 26, 121, 791, 101, 1195, 69, 612, 58, 59, + 121, 73, 74, 142, 1024, 1025, 1026, 1027, 659, 140, + 51, 433, 401, 656, 665, 142, 147, 668, 669, 670, + 16, 142, 665, 142, 679, 668, 549, 810, 1156, 864, + 1158, 142, 1160, 816, 1162, 686, 458, 40, 41, 90, + 691, 692, 51, 689, 679, 696, 121, 122, 714, 121, + 122, 957, 703, 475, 105, 90, 115, 400, 713, 118, + 119, 584, 484, 142, 679, 680, 51, 1195, 714, 142, + 105, 92, 121, 319, 142, 799, 946, 728, 713, 656, + 603, 689, 504, 714, 745, 51, 508, 817, 665, 140, + 1117, 668, 884, 916, 917, 734, 147, 99, 713, 15, + 121, 716, 13, 138, 121, 140, 904, 684, 62, 686, + 64, 65, 147, 121, 536, 90, 16, 539, 92, 115, + 63, 142, 118, 119, 775, 371, 961, 549, 471, 1132, + 105, 1131, 967, 1153, 115, 15, 479, 118, 119, 145, + 145, 213, 214, 142, 139, 26, 489, 121, 801, 142, + 146, 142, 148, 804, 807, 808, 545, 15, 547, 805, + 813, 814, 116, 117, 15, 140, 691, 148, 142, 142, + 821, 44, 147, 812, 121, 90, 141, 792, 141, 18, + 831, 836, 15, 834, 799, 800, 801, 139, 141, 804, + 105, 90, 807, 808, 1034, 141, 15, 1037, 813, 814, + 1040, 836, 1042, 139, 819, 820, 105, 858, 859, 90, + 37, 38, 141, 139, 557, 142, 800, 57, 833, 858, + 859, 836, 90, 612, 105, 140, 1149, 215, 805, 44, + 845, 846, 147, 884, 222, 142, 16, 105, 142, 1037, + 142, 140, 1040, 858, 142, 1080, 1081, 319, 147, 980, + 865, 44, 90, 15, 14, 101, 93, 138, 15, 140, + 40, 41, 15, 144, 55, 880, 147, 105, 51, 920, + 921, 259, 140, 51, 145, 142, 891, 892, 1118, 147, + 142, 804, 1, 26, 3, 131, 132, 133, 115, 8, + 9, 118, 119, 946, 142, 14, 15, 16, 142, 371, + 19, 26, 140, 918, 15, 551, 716, 115, 923, 147, + 118, 119, 734, 735, 925, 926, 1156, 142, 1158, 146, + 1160, 148, 1162, 63, 64, 65, 1057, 716, 142, 142, + 142, 946, 51, 858, 580, 115, 141, 15, 118, 119, + 139, 956, 957, 998, 999, 960, 65, 90, 15, 964, + 15, 597, 90, 55, 600, 1195, 1191, 141, 1156, 974, + 1011, 349, 105, 998, 999, 90, 146, 105, 148, 142, + 142, 1206, 1207, 139, 142, 363, 116, 117, 142, 142, + 105, 51, 804, 998, 999, 1000, 62, 15, 64, 65, + 812, 1006, 1007, 381, 1009, 138, 142, 140, 117, 55, + 119, 144, 140, 51, 147, 53, 54, 55, 56, 147, + 799, 51, 139, 138, 126, 140, 126, 443, 444, 144, + 15, 69, 147, 1098, 90, 139, 1037, 144, 90, 69, + 51, 1082, 53, 54, 55, 56, 858, 859, 55, 105, + 116, 117, 142, 105, 57, 1060, 93, 1062, 69, 142, + 1065, 477, 478, 142, 142, 865, 1071, 1072, 1073, 1175, + 1176, 101, 102, 103, 300, 142, 1117, 142, 304, 1084, + 142, 142, 15, 94, 140, 15, 865, 820, 140, 551, + 1131, 147, 1133, 1134, 142, 147, 1132, 142, 128, 1205, + 833, 210, 480, 481, 142, 144, 1212, 1213, 141, 15, + 526, 142, 845, 846, 223, 224, 90, 15, 40, 522, + 1121, 1122, 1123, 41, 1125, 1126, 1131, 12, 5, 791, + 1134, 105, 1148, 818, 1175, 1176, 1141, 1142, 1143, 918, + 1143, 1084, 1147, 1006, 923, 859, 1133, 880, 88, 89, + 6, 254, 587, 531, 1034, 791, 1037, 1202, 1203, 892, + 538, 101, -1, 57, 1205, 1132, 140, 276, 1173, 1174, + 279, 1212, 1213, 147, 974, 284, 285, 1202, 1203, 288, + -1, 960, 1183, 1184, 1185, 1186, 295, 296, 128, 129, + 130, 131, 132, 133, 303, 974, 1201, 1202, 1203, 26, + 90, 1013, 90, 1204, 101, 1210, 1211, 1007, 1, 1009, + 3, 4, 5, -1, -1, 105, -1, 105, 1131, 12, + -1, 115, 90, 956, 118, 119, -1, 1006, 1007, 123, + 1009, 964, 129, 130, 131, 132, 133, 105, -1, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 90, + 140, -1, 140, -1, 148, -1, -1, 147, 51, 147, + -1, -1, 55, 90, 105, 374, -1, 1000, 904, -1, + 906, 1071, 140, 1073, 910, -1, -1, -1, 105, 147, + -1, -1, -1, 509, 1084, -1, 395, -1, 81, 398, + 516, 400, 1071, 1072, 403, -1, -1, -1, -1, 140, + 678, -1, 528, -1, 716, 1084, 147, 63, 64, 65, + -1, 138, -1, 140, -1, -1, -1, 144, -1, 1131, + 147, -1, -1, -1, 433, -1, 119, 1060, -1, 1062, + -1, -1, 1065, -1, 443, 444, 63, 64, 65, -1, + -1, 719, -1, 1143, -1, -1, -1, 1147, -1, 458, + -1, 460, 461, -1, -1, 581, 582, 63, 64, 65, + 116, 117, 471, -1, 1143, 716, 475, -1, 1147, -1, + 479, -1, -1, -1, 1174, 484, 63, 64, 65, -1, + 489, -1, 1018, 1019, -1, 611, -1, -1, -1, 116, + 117, 807, 808, -1, 1173, 1174, -1, 813, 814, 777, + -1, 63, 64, 65, 1040, -1, 1042, -1, 1141, 1142, + 116, 117, -1, 522, -1, -1, -1, 210, -1, -1, + -1, -1, 531, 839, 840, -1, 842, 843, -1, 116, + 117, 63, 64, 65, 16, 63, 64, 65, 88, 89, + 549, -1, -1, -1, -1, 823, 858, 859, 557, -1, + -1, 101, -1, 865, 116, 117, -1, -1, 40, 41, + 115, -1, 688, 118, 119, -1, -1, -1, 1201, 1105, + 848, -1, 1108, -1, -1, 584, -1, 1210, 1211, 129, + 130, 131, 132, 133, 116, 117, 864, -1, 116, 117, + 145, 146, -1, 148, 603, 288, 115, -1, -1, 118, + 119, 115, 295, 296, 118, 119, -1, 858, 90, 115, + 303, 93, 118, 119, 865, -1, 1152, -1, 744, -1, + 1156, 314, 1158, 105, -1, -1, 1162, 146, 142, 148, + 946, -1, 146, 115, 148, -1, 118, 119, 764, -1, + 146, -1, 148, -1, 126, 51, -1, 53, 54, 55, + 56, -1, -1, 969, -1, -1, 349, -1, 140, 1195, + 142, 354, 974, 69, 146, 147, 148, -1, -1, -1, + 679, 680, -1, -1, -1, 51, -1, 53, 54, 55, + 56, 374, -1, 961, 40, 41, 42, 43, 44, 967, + -1, -1, -1, 69, 1006, 1007, 1008, 1009, -1, -1, + -1, -1, 395, -1, 713, -1, -1, 400, 401, -1, + 403, -1, -1, -1, -1, -1, -1, -1, 94, -1, + -1, -1, -1, 974, -1, 101, 102, 103, 51, -1, + 53, 54, 55, 56, -1, -1, 51, -1, 53, 54, + 55, 56, -1, -1, -1, -1, 69, -1, -1, -1, + 443, 444, 128, -1, 69, 1006, 1007, 883, 1009, 1071, + 1072, 1073, -1, -1, -1, 1077, -1, 460, -1, -1, + -1, 94, 1084, 899, -1, -1, -1, 100, 471, 94, + -1, -1, -1, 792, -1, 100, 479, -1, -1, -1, + -1, 800, 801, -1, -1, 804, 489, -1, 807, 808, + -1, -1, 1080, 1081, 813, 814, -1, -1, -1, -1, + 819, 820, -1, -1, -1, 1, -1, 3, 4, 5, + 1071, 1072, 1073, -1, 833, -1, 12, 836, -1, 522, + -1, 1143, -1, 1084, -1, 1147, 845, 846, 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1187, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1199, 1200, -1, -1, -1, -1, -1, - -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1050, -1, 1052, -1, -1, 1055, - -1, -1, 680, -1, 1060, 1061, -1, -1, -1, -1, - -1, 1067, -1, -1, 44, -1, -1, -1, 1074, -1, - -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, - -1, -1, 295, 296, -1, -1, -1, -1, 716, -1, - 303, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + -1, -1, 545, -1, 547, 51, -1, 53, 54, 55, + 56, 1173, 1174, -1, 557, 51, -1, -1, -1, 55, + -1, 880, -1, 69, -1, -1, -1, -1, -1, -1, + -1, -1, 891, 892, -1, -1, -1, -1, -1, -1, + -1, -1, 1143, -1, -1, 81, 1147, -1, 94, -1, + -1, -1, -1, -1, 100, 101, 102, 103, -1, -1, + -1, -1, -1, 1191, -1, -1, -1, -1, -1, 612, + -1, -1, 1173, 1174, -1, -1, -1, -1, 1206, 1207, + 88, 89, 128, 119, -1, 131, -1, 946, -1, 0, + -1, -1, -1, 101, -1, -1, 142, 956, 957, -1, + -1, -1, 13, 14, 15, 964, 17, 18, -1, 20, + -1, -1, -1, -1, 25, 26, -1, -1, 126, 127, + 128, 129, 130, 131, 132, 133, 37, 38, -1, 40, + 41, 42, 43, 44, -1, -1, -1, 680, -1, 998, + 999, 1000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, -1, 210, -1, -1, 1132, 1133, 1134, -1, - -1, -1, 1138, -1, -1, -1, 349, -1, -1, -1, - -1, 354, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, 1164, 1165, - 1166, 374, -1, -1, 792, -1, -1, -1, -1, -1, - -1, 799, 800, -1, -1, -1, -1, -1, -1, -1, - -1, 1187, 395, -1, -1, -1, -1, 400, -1, -1, - 403, 819, 820, 1199, 1200, -1, -1, -1, -1, -1, - -1, 288, -1, -1, -1, 833, -1, -1, 295, 296, - -1, -1, -1, -1, -1, -1, 303, 845, 846, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 443, 444, -1, -1, -1, -1, 864, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 460, 876, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 471, 887, - 888, -1, 349, -1, -1, -1, 479, 354, -1, -1, - -1, -1, -1, -1, -1, -1, 489, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 914, 374, -1, -1, - -1, 919, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, 395, 522, - 88, 89, -1, 400, -1, -1, 403, -1, 531, -1, - -1, -1, -1, 101, 952, 953, -1, -1, 956, -1, - -1, -1, 960, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 557, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 443, 444, -1, -1, - -1, -1, -1, -1, -1, 993, -1, -1, -1, -1, - 998, 999, -1, 460, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, 479, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 489, -1, 80, 81, -1, -1, -1, -1, - -1, -1, 88, 89, -1, -1, -1, -1, 16, -1, - -1, -1, 1050, -1, 1052, 101, -1, 1055, 26, -1, - -1, -1, 1060, 1061, -1, 522, -1, -1, -1, 1067, - -1, -1, 40, 41, 531, -1, 1074, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 680, -1, -1, - 557, -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, 1132, 1133, 1134, 105, -1, -1, - 1138, -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, 1164, 1165, 1166, -1, - 138, 139, 140, 141, 142, -1, 144, -1, 146, 147, - 148, -1, -1, -1, -1, -1, -1, -1, -1, 1187, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1199, 1200, -1, -1, -1, -1, -1, -1, 792, - -1, -1, -1, -1, -1, -1, -1, 800, 801, -1, - -1, -1, -1, 680, 807, -1, -1, -1, -1, -1, - 813, 814, -1, 8, 9, -1, 819, 820, -1, 14, - 15, 16, -1, -1, 19, -1, -1, -1, -1, -1, - 833, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 716, 210, -1, -1, 88, 89, 90, + -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, 1060, -1, 1062, 115, -1, 1065, 118, 119, -1, + 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, -1, -1, 138, 139, 140, + -1, 142, -1, -1, 145, 146, 147, 148, -1, -1, + -1, -1, -1, 51, -1, 53, 54, 55, 56, 792, + -1, -1, 288, -1, -1, -1, 799, 800, 801, 295, + 296, 69, -1, -1, 807, -1, -1, 303, -1, -1, + 813, 814, 1131, -1, -1, 83, 819, 820, 314, -1, + -1, -1, 1141, 1142, -1, -1, 94, -1, -1, -1, + 833, -1, 100, 101, 102, 103, -1, -1, -1, -1, -1, -1, 845, 846, -1, -1, -1, -1, -1, -1, - -1, 46, 47, 48, 49, -1, -1, -1, 53, 54, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 65, 66, -1, 876, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 887, 888, -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, 792, -1, -1, -1, -1, - -1, -1, 117, 800, 801, -1, -1, -1, -1, -1, - 807, -1, -1, -1, -1, -1, 813, 814, -1, 942, - -1, -1, 819, 820, -1, -1, -1, -1, -1, 952, - 953, -1, -1, 956, -1, -1, 833, 960, 51, 52, - -1, -1, 55, -1, -1, -1, -1, -1, 845, 846, - -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, - 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, - 993, -1, -1, 86, 87, 88, 89, -1, -1, 876, - -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, - 887, 888, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, 135, 136, -1, -1, -1, 1050, -1, 1052, - 143, 144, 1055, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 44, -1, 942, -1, 262, 263, 264, - 265, -1, -1, -1, -1, 952, 953, -1, -1, -1, - -1, 276, -1, 960, 279, -1, -1, -1, -1, 284, - 285, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, - 72, 73, 74, 75, 76, 77, 993, -1, 80, 81, - 101, -1, -1, -1, -1, -1, 88, 89, -1, 1132, - 1133, -1, -1, -1, -1, -1, -1, -1, -1, 101, - -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, 350, 351, 352, 353, -1, - 355, 356, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 1050, -1, 1052, -1, -1, 1055, -1, - 375, -1, -1, -1, 1187, -1, -1, -1, -1, -1, - -1, 386, -1, -1, -1, -1, 1199, 1200, -1, -1, - -1, -1, -1, 398, -1, -1, -1, -1, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, -1, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, -1, -1, 433, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 443, 444, - -1, -1, -1, -1, -1, 1132, 1133, -1, -1, -1, - -1, -1, -1, 458, -1, -1, 461, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, - 475, -1, 477, 478, -1, -1, -1, -1, -1, 484, - -1, -1, -1, -1, -1, -1, -1, -1, 493, -1, - -1, 496, 497, -1, -1, -1, 501, -1, -1, 504, - 1187, 506, -1, 508, 509, -1, -1, -1, -1, -1, - -1, -1, 1199, 1200, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 566, 567, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 584, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 603, -1, - -1, 606, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -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, 859, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 875, -1, -1, -1, 879, -1, -1, 51, 52, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 896, 897, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 909, 910, 80, 81, -1, -1, - -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, - 925, -1, -1, -1, -1, -1, 100, 101, 102, -1, - 935, 936, -1, -1, -1, -1, -1, 942, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 965, 135, 136, -1, -1, -1, -1, -1, 973, 143, - 144, -1, -1, -1, -1, -1, 981, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 991, 992, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1003, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 0, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, - -1, -1, -1, -1, 19, -1, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, 1062, -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, 1116, 97, 98, -1, 100, -1, -1, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, 0, 114, - 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, - -1, 13, 14, 15, 16, 17, 18, -1, 20, 134, - 135, 136, -1, 25, 26, 27, 28, -1, -1, -1, - -1, 146, -1, 148, -1, 37, 38, -1, 40, 41, - 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, - 1185, 1186, -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, -1, -1, 349, -1, -1, -1, -1, 354, -1, + 128, -1, 865, 131, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 144, 880, 374, -1, + -1, -1, 1201, 1202, 1203, -1, -1, -1, 891, 892, + -1, 1210, 1211, -1, -1, -1, -1, -1, -1, 395, + -1, -1, -1, -1, 400, 401, -1, 403, -1, -1, + -1, -1, -1, -1, -1, 918, -1, -1, -1, -1, + 923, -1, -1, -1, -1, -1, -1, -1, 1, -1, + 3, 4, 5, -1, -1, -1, -1, -1, -1, 12, + -1, -1, -1, 946, -1, -1, -1, 443, 444, -1, + -1, -1, -1, 956, 957, -1, -1, 960, -1, -1, + -1, 964, -1, -1, 460, -1, -1, -1, -1, -1, + -1, 974, -1, -1, 0, 471, -1, -1, 51, -1, + -1, -1, 55, 479, -1, -1, -1, 13, 14, 15, + 16, 17, 18, 489, 20, -1, -1, 1000, -1, 25, + 26, 27, -1, 1006, 1007, -1, 1009, -1, 81, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, + -1, -1, -1, -1, 51, 531, 53, 54, 55, 56, + -1, -1, -1, -1, -1, -1, 119, -1, -1, 545, + -1, 547, 69, -1, -1, -1, -1, 1060, -1, 1062, + -1, 557, 1065, -1, 90, -1, 83, -1, 1071, 1072, + -1, -1, -1, -1, -1, -1, -1, 94, -1, 105, + -1, 1084, -1, 100, 101, 102, 103, -1, -1, 115, + -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, + -1, 128, 138, 139, 131, -1, 612, -1, 144, 145, + 146, 147, 148, -1, -1, -1, -1, 144, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 210, 1141, 1142, + 1143, -1, -1, -1, 1147, -1, -1, -1, -1, -1, + 1, -1, 3, -1, 51, -1, 53, 54, 55, 56, + -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, + 1173, 1174, 69, -1, -1, 51, -1, 53, 54, 55, + 56, -1, -1, -1, 680, -1, -1, -1, -1, -1, + -1, -1, -1, 69, -1, -1, -1, 94, 1201, -1, + 51, -1, -1, 100, 101, 102, 103, 1210, 1211, 85, + -1, -1, -1, -1, -1, 288, -1, -1, 94, -1, + 716, -1, 295, 296, 100, 101, 102, 103, -1, -1, + 303, 128, -1, 1, 131, 3, 4, 5, 6, -1, + -1, 314, -1, -1, 12, -1, -1, 144, -1, -1, + -1, -1, 128, -1, -1, 131, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, + -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, + -1, 354, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, 792, -1, -1, -1, + -1, 374, -1, 799, 800, 801, -1, -1, -1, -1, + -1, 807, -1, 81, -1, -1, -1, 813, 814, -1, + -1, -1, 395, 819, 820, -1, -1, 400, 401, -1, + 403, -1, -1, -1, -1, -1, -1, 833, -1, -1, + 51, -1, 53, 54, 55, 56, -1, -1, -1, 845, + 846, 119, -1, -1, -1, -1, -1, -1, 69, 210, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 865, + 443, 444, -1, -1, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, 880, -1, -1, 460, -1, 100, + 101, 102, 103, -1, -1, 891, 892, -1, 471, -1, + -1, -1, -1, -1, -1, 51, 479, 53, 54, 55, + 56, -1, -1, -1, -1, -1, 489, 128, -1, -1, + 131, -1, 918, 69, -1, -1, -1, 923, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 288, -1, 85, + -1, -1, 210, -1, 295, 296, -1, -1, 94, 522, + 946, -1, 303, -1, 100, 101, 102, 103, 531, -1, + 956, 957, -1, -1, 960, -1, -1, -1, 964, -1, + -1, -1, 545, -1, 547, -1, -1, -1, 974, -1, + -1, -1, 128, -1, 557, 131, -1, -1, -1, -1, + -1, 51, -1, 53, 54, 55, 56, -1, 349, -1, + -1, -1, -1, 354, 1000, -1, -1, -1, -1, 69, + 1006, 1007, -1, 1009, -1, -1, -1, -1, -1, -1, + 288, -1, -1, 374, -1, -1, -1, 295, 296, -1, + -1, -1, -1, -1, 94, 303, -1, -1, -1, 612, + 100, 101, 102, 103, 395, -1, 314, -1, -1, 400, + -1, -1, 403, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1060, -1, 1062, -1, 128, 1065, + -1, 131, -1, -1, -1, 1071, 1072, -1, -1, -1, + -1, 349, -1, -1, -1, -1, 354, -1, 1084, -1, + -1, -1, 443, 444, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 374, 680, -1, 460, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 471, -1, -1, -1, -1, -1, -1, 395, 479, -1, + -1, -1, 400, 401, -1, -1, -1, -1, 489, -1, + -1, -1, -1, 716, -1, 1141, 1142, 1143, -1, -1, + -1, 1147, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 522, -1, -1, -1, -1, -1, 1173, 1174, -1, + 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 460, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 471, -1, 1201, 557, -1, -1, -1, + -1, 479, -1, -1, 1210, 1211, -1, -1, -1, 792, + -1, 489, -1, -1, -1, -1, 799, 800, 801, -1, + -1, -1, -1, -1, 807, -1, -1, -1, -1, -1, + 813, 814, -1, -1, -1, -1, 819, 820, -1, -1, + -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, + 833, -1, -1, 531, -1, -1, -1, -1, -1, -1, + -1, -1, 845, 846, -1, -1, -1, 545, -1, 547, + -1, -1, -1, -1, -1, -1, -1, -1, 1, 557, + 3, -1, 865, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 880, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 891, 892, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 680, + -1, -1, -1, 44, -1, -1, -1, -1, 51, -1, + -1, -1, -1, -1, 612, 918, -1, -1, -1, -1, + 923, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 946, -1, -1, -1, 88, 89, -1, + -1, -1, -1, 956, 957, -1, -1, 960, -1, -1, + 101, 964, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 974, -1, -1, -1, -1, 119, -1, -1, -1, + -1, 122, 680, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, -1, -1, 1000, -1, -1, + -1, 142, -1, 1006, 1007, -1, 1009, -1, -1, -1, + -1, 792, -1, -1, -1, -1, -1, -1, 716, 800, + 801, -1, -1, -1, -1, -1, 807, -1, -1, -1, + -1, -1, 813, 814, -1, -1, -1, -1, 819, 820, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 833, -1, -1, -1, -1, 1060, -1, 1062, + -1, -1, 1065, -1, 845, 846, -1, 210, 1071, 1072, + -1, 72, 73, 74, 75, 76, 77, 78, -1, 80, + 81, 1084, -1, -1, -1, -1, -1, 88, 89, -1, + -1, -1, -1, -1, 792, -1, -1, -1, -1, 880, + 101, 799, 800, -1, -1, -1, -1, -1, -1, -1, + 891, 892, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 819, 820, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, 833, -1, -1, 1141, 1142, + 1143, -1, -1, -1, 1147, 288, -1, 845, 846, -1, + -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, + 303, -1, -1, -1, -1, 946, -1, 865, -1, -1, + 1173, 1174, -1, -1, -1, 956, 957, -1, -1, 960, + -1, -1, 880, 964, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 891, 892, -1, -1, -1, 1201, -1, + -1, -1, -1, -1, -1, -1, 349, 1210, 1211, -1, + 44, 354, -1, -1, -1, -1, -1, -1, -1, 1000, + 918, -1, -1, -1, -1, 923, -1, -1, -1, -1, + -1, 374, -1, -1, -1, -1, -1, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, 395, -1, 88, 89, -1, 400, 956, 957, + 403, -1, 960, -1, -1, -1, 964, 101, -1, -1, + -1, -1, -1, -1, -1, -1, 974, -1, -1, 1060, + -1, 1062, -1, -1, 1065, -1, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 443, 444, 1000, -1, -1, -1, -1, -1, 1006, 1007, + -1, 1009, -1, -1, -1, -1, -1, 460, -1, 51, + 52, -1, -1, 55, -1, -1, -1, -1, 471, -1, + -1, -1, -1, -1, -1, -1, 479, -1, 70, 71, + 72, 73, 74, 75, 76, 77, 489, -1, 80, 81, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + 1141, 1142, 1060, -1, 1062, -1, -1, 1065, 100, 101, + 102, -1, -1, 1071, 1072, -1, -1, -1, -1, 522, + -1, -1, -1, -1, -1, -1, 1084, -1, 531, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, + -1, 143, 144, -1, 557, -1, -1, -1, -1, -1, + 1201, -1, -1, -1, -1, -1, -1, -1, -1, 1210, + 1211, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1141, 1142, 1143, -1, -1, -1, 1147, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1173, 1174, -1, -1, -1, + -1, -1, -1, -1, -1, 8, 9, -1, -1, -1, + 16, 14, 15, 16, -1, -1, 19, -1, -1, -1, + 26, -1, -1, 1201, -1, -1, -1, -1, -1, -1, + -1, -1, 1210, 1211, 40, 41, -1, -1, -1, -1, + -1, -1, -1, 46, 47, 48, 49, -1, -1, -1, + 53, 54, -1, -1, -1, -1, -1, 680, -1, -1, + -1, -1, 65, 66, -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, 93, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, + -1, -1, 118, 119, 117, 121, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, 139, 140, 141, 142, -1, 144, -1, + 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 792, + -1, -1, -1, -1, -1, -1, -1, 800, 801, -1, + -1, 16, -1, -1, 807, -1, -1, -1, -1, -1, + 813, 814, -1, -1, -1, -1, 819, 820, -1, -1, + -1, -1, -1, -1, -1, 40, 41, -1, -1, -1, + 833, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 223, 224, 845, 846, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 90, -1, 880, 93, 262, + 263, 264, 265, -1, -1, -1, 101, -1, 891, 892, + 105, -1, -1, 276, -1, -1, 279, -1, -1, -1, + 115, 284, 285, 118, 119, -1, -1, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, -1, + -1, 146, 147, 148, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 946, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 956, 957, -1, -1, -1, -1, -1, + -1, 964, -1, -1, -1, -1, -1, 350, 351, 352, + 353, -1, 355, 356, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 375, -1, -1, -1, -1, 1000, -1, -1, + -1, -1, -1, 386, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 398, -1, -1, -1, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, -1, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, -1, + 433, -1, -1, -1, -1, -1, -1, 1060, -1, 1062, + 443, 444, 1065, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 458, -1, -1, 461, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 473, -1, 475, -1, 477, 478, -1, -1, -1, -1, + -1, 484, -1, -1, -1, -1, -1, -1, -1, -1, + 493, -1, -1, 496, 497, -1, -1, -1, 501, -1, + -1, 504, -1, 506, -1, 508, 509, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1141, 1142, + -1, -1, -1, 526, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 536, -1, -1, 539, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 549, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, 566, 567, -1, -1, -1, -1, 88, + 89, -1, -1, -1, -1, -1, -1, -1, 1201, -1, + -1, 584, 101, -1, -1, -1, -1, 1210, 1211, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 603, -1, -1, 606, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 13, 14, 15, + 16, 17, 18, -1, 20, -1, -1, -1, -1, 25, + -1, 27, 28, 29, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, 679, -1, -1, -1, + -1, 57, -1, -1, -1, -1, -1, -1, 691, -1, + -1, 694, 695, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + 713, -1, 88, 89, 90, -1, -1, 93, -1, -1, + -1, -1, 725, 99, -1, 101, -1, -1, -1, 105, + -1, 734, 735, -1, -1, -1, -1, 113, -1, 115, + -1, -1, 118, 119, -1, -1, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 16, -1, + -1, -1, -1, 139, 140, 141, 142, -1, -1, 145, + 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 796, -1, -1, -1, -1, 801, 802, + -1, 804, -1, -1, 807, 808, -1, -1, -1, 812, + 813, 814, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, 836, -1, 93, 839, 840, -1, 842, + 843, -1, -1, 101, -1, -1, -1, 105, -1, -1, + -1, -1, -1, -1, -1, 858, 859, 115, -1, -1, + 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 879, -1, -1, -1, + 883, 139, 140, 141, 142, -1, -1, -1, 146, 147, + 148, -1, -1, -1, -1, -1, -1, 900, 901, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, + 913, 914, -1, -1, -1, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 929, -1, 101, -1, + -1, -1, -1, -1, -1, -1, 939, 940, -1, -1, + -1, -1, -1, 946, -1, -1, -1, -1, -1, -1, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, -1, 969, -1, -1, -1, + -1, -1, -1, -1, -1, 978, -1, -1, -1, -1, + -1, -1, -1, -1, 987, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 998, 999, 0, 1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 1013, -1, -1, -1, -1, -1, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + 1073, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1131, -1, + -1, 134, 135, 136, 0, -1, -1, -1, -1, -1, + -1, -1, -1, 146, -1, 148, -1, 13, 14, 15, + 16, 17, 18, -1, 20, -1, -1, -1, -1, 25, + 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1202, + 1203, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, + -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 0, -1, -1, 139, 140, 141, 142, -1, -1, 145, + 0, -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, 18, -1, - 20, -1, -1, -1, -1, 25, 26, 27, 28, -1, + 20, -1, -1, -1, -1, 25, -1, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, -1, -1, -1, 99, + 90, -1, 92, 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, -1, 122, -1, 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, + -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, -1, 27, 28, -1, -1, -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, @@ -5617,21 +5656,21 @@ static const yytype_int16 yycheck[] = -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, + -1, -1, 0, -1, 138, 139, 140, 141, 142, -1, + 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, + 18, -1, 20, -1, -1, -1, -1, 25, -1, 27, + 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -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, 121, 122, -1, 124, 125, 126, 127, + 118, 119, -1, -1, 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, + -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, @@ -5853,7 +5892,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, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, 127, -1, -1, -1, -1, -1, @@ -6366,22 +6405,6 @@ static const yytype_int16 yycheck[] = -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, @@ -6400,7 +6423,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, 100, -1, -1, -1, 104, -1, + -1, 97, 98, -1, 100, -1, 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 127, -1, -1, -1, -1, -1, 19, 134, 21, @@ -6410,11 +6433,11 @@ static const yytype_int16 yycheck[] = 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, -1, -1, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, + 8, 9, 10, 11, -1, 127, -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, @@ -6422,8 +6445,8 @@ static const yytype_int16 yycheck[] = 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, + 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, @@ -6446,9 +6469,9 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, + 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, 127, -1, -1, + 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, @@ -6460,7 +6483,7 @@ static const yytype_int16 yycheck[] = -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, + -1, 127, -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, @@ -6489,35 +6512,55 @@ static const yytype_int16 yycheck[] = -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, 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, + 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, -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, + 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, 139, 140, -1, - 142, -1, 144, -1, 146, 147, 148, 51, 52, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + 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, 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, @@ -6658,55 +6701,47 @@ static const yytype_int16 yycheck[] = 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, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, 144, -1, 146, 147, 148, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, - 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, -1, -1, -1, 139, 140, 141, 142, - -1, -1, -1, 146, 147, 148, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, 90, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, -1, 139, 140, -1, 142, -1, -1, -1, - 146, 147, 148, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, 140, -1, -1, -1, -1, -1, -1, 147, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, 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, -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, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, + -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, + 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + -1, 139, 140, 141, 142, -1, 144, -1, 146, 147, + 148, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, + -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, + 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, -1, -1, -1, 139, 140, + 141, 142, -1, -1, -1, 146, 147, 148, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 115, -1, -1, 118, 119, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, + -1, -1, 146, 147, 148, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -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, + -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, -1, -1, 140, -1, -1, -1, -1, -1, -1, + 147, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -6722,11 +6757,19 @@ static const yytype_int16 yycheck[] = 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, + 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, + 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, @@ -6734,11 +6777,24 @@ static const yytype_int16 yycheck[] = -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, 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 + 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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -6753,11 +6809,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, 269, - 270, 271, 275, 276, 277, 283, 284, 285, 287, 288, - 289, 290, 291, 292, 328, 341, 0, 154, 21, 22, + 176, 177, 179, 180, 189, 203, 220, 241, 242, 272, + 273, 274, 278, 279, 280, 286, 287, 288, 290, 291, + 292, 293, 294, 295, 331, 344, 0, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 164, 166, 181, 182, 203, 220, 289, 292, 328, + 134, 164, 166, 181, 182, 203, 220, 292, 295, 331, 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, @@ -6765,107 +6821,108 @@ 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, 291, 323, - 204, 91, 163, 164, 166, 167, 180, 189, 220, 289, - 290, 292, 167, 210, 212, 69, 91, 173, 180, 220, - 225, 289, 292, 33, 34, 35, 36, 48, 49, 50, - 51, 55, 106, 183, 184, 185, 285, 115, 118, 119, - 146, 148, 167, 279, 280, 281, 334, 338, 339, 340, + 133, 135, 136, 143, 144, 183, 187, 188, 294, 326, + 204, 91, 163, 164, 166, 167, 180, 189, 220, 292, + 293, 295, 167, 210, 212, 69, 91, 173, 180, 220, + 225, 292, 295, 33, 34, 35, 36, 48, 49, 50, + 51, 55, 106, 183, 184, 185, 288, 115, 118, 119, + 146, 148, 167, 282, 283, 284, 337, 341, 342, 343, 51, 69, 100, 102, 103, 135, 172, 189, 195, 198, - 201, 271, 326, 327, 195, 195, 144, 192, 193, 196, - 197, 341, 192, 197, 144, 335, 184, 155, 138, 189, + 201, 274, 329, 330, 195, 195, 144, 192, 193, 196, + 197, 344, 192, 197, 144, 338, 184, 155, 138, 189, 220, 189, 189, 189, 55, 1, 94, 157, 158, 160, - 174, 175, 341, 205, 207, 190, 201, 326, 341, 189, - 325, 326, 341, 91, 142, 179, 220, 289, 292, 208, - 53, 54, 56, 63, 69, 107, 183, 286, 63, 64, - 65, 116, 117, 272, 273, 61, 272, 62, 272, 63, - 272, 63, 272, 58, 59, 168, 189, 189, 334, 340, + 174, 175, 344, 205, 207, 190, 201, 329, 344, 189, + 328, 329, 344, 91, 142, 179, 220, 292, 295, 208, + 53, 54, 56, 63, 69, 107, 183, 289, 63, 64, + 65, 116, 117, 275, 276, 61, 275, 62, 275, 63, + 275, 63, 275, 58, 59, 168, 189, 189, 337, 343, 40, 41, 42, 43, 44, 37, 38, 51, 53, 54, 55, 56, 69, 83, 94, 100, 101, 102, 103, 128, - 131, 144, 295, 296, 297, 298, 299, 302, 303, 304, - 305, 307, 308, 309, 310, 312, 313, 314, 317, 318, - 319, 320, 321, 341, 295, 297, 28, 240, 121, 142, + 131, 144, 298, 299, 300, 301, 302, 305, 306, 307, + 308, 310, 311, 312, 313, 315, 316, 317, 320, 321, + 322, 323, 324, 344, 298, 300, 28, 240, 121, 142, 94, 100, 176, 121, 72, 73, 74, 75, 76, 77, 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, 332, 90, 332, 333, 26, - 138, 244, 271, 92, 92, 192, 197, 244, 163, 51, - 55, 181, 58, 59, 296, 125, 293, 90, 140, 332, - 219, 324, 90, 147, 331, 156, 157, 55, 295, 295, - 16, 221, 338, 121, 90, 140, 332, 92, 92, 221, - 167, 167, 55, 90, 140, 332, 25, 107, 142, 282, - 334, 115, 281, 20, 246, 338, 57, 57, 189, 189, - 189, 93, 142, 199, 200, 341, 57, 199, 200, 85, - 194, 195, 201, 326, 341, 195, 163, 334, 336, 163, - 339, 159, 138, 157, 90, 332, 92, 160, 174, 145, - 334, 340, 336, 160, 336, 141, 200, 337, 340, 200, - 337, 139, 337, 55, 176, 177, 178, 142, 90, 140, - 332, 144, 237, 307, 312, 63, 272, 274, 278, 279, - 63, 273, 61, 62, 63, 63, 101, 101, 154, 167, - 167, 167, 167, 160, 163, 163, 57, 121, 57, 338, - 311, 85, 307, 312, 121, 156, 189, 142, 322, 341, - 51, 142, 322, 338, 142, 306, 189, 142, 306, 51, - 142, 306, 51, 121, 156, 239, 100, 168, 189, 201, + 133, 90, 105, 140, 147, 335, 90, 335, 336, 26, + 138, 244, 274, 92, 92, 192, 197, 244, 163, 51, + 55, 181, 58, 59, 299, 125, 296, 90, 140, 335, + 219, 327, 90, 147, 334, 156, 157, 55, 298, 298, + 16, 221, 341, 121, 90, 140, 335, 92, 92, 221, + 167, 167, 55, 90, 140, 335, 25, 107, 142, 285, + 337, 115, 284, 20, 246, 341, 57, 57, 189, 189, + 189, 93, 142, 199, 200, 344, 57, 199, 200, 85, + 194, 195, 201, 329, 344, 195, 163, 337, 339, 163, + 342, 159, 138, 157, 90, 335, 92, 160, 174, 145, + 337, 343, 339, 160, 339, 141, 200, 340, 343, 200, + 340, 139, 340, 55, 176, 177, 178, 142, 90, 140, + 335, 144, 237, 310, 315, 63, 275, 277, 281, 282, + 63, 276, 61, 62, 63, 63, 101, 101, 154, 167, + 167, 167, 167, 160, 163, 163, 57, 121, 57, 341, + 314, 85, 310, 315, 121, 156, 189, 142, 325, 344, + 51, 142, 325, 341, 142, 309, 189, 142, 309, 51, + 142, 309, 51, 121, 156, 239, 100, 168, 189, 201, 202, 174, 142, 179, 142, 161, 162, 168, 180, 189, - 191, 202, 220, 292, 189, 189, 189, 189, 189, 189, + 191, 202, 220, 295, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 51, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 51, 52, 55, 187, 192, 329, 330, 194, 201, - 51, 52, 55, 187, 192, 329, 51, 55, 329, 245, - 243, 162, 189, 191, 162, 191, 99, 171, 217, 294, - 216, 51, 55, 181, 329, 194, 329, 156, 163, 165, - 15, 13, 265, 341, 121, 121, 157, 16, 51, 55, - 194, 51, 55, 157, 27, 222, 338, 222, 51, 55, + 189, 51, 52, 55, 187, 192, 332, 333, 194, 201, + 51, 52, 55, 187, 192, 332, 51, 55, 332, 245, + 243, 162, 189, 191, 162, 191, 99, 171, 217, 297, + 216, 51, 55, 181, 332, 194, 332, 156, 163, 165, + 15, 13, 268, 344, 121, 121, 157, 16, 51, 55, + 194, 51, 55, 157, 27, 222, 341, 222, 51, 55, 194, 51, 55, 214, 186, 157, 25, 246, 189, 201, - 15, 189, 189, 189, 335, 100, 189, 198, 326, 189, - 327, 336, 145, 334, 200, 200, 336, 145, 184, 152, - 139, 191, 336, 160, 206, 326, 176, 178, 51, 55, - 194, 51, 55, 307, 209, 142, 63, 157, 279, 189, - 189, 51, 69, 100, 226, 312, 336, 336, 142, 172, - 189, 15, 51, 69, 299, 304, 321, 85, 305, 310, - 317, 319, 312, 314, 319, 51, 312, 172, 189, 15, - 79, 126, 231, 233, 341, 189, 200, 336, 178, 142, - 44, 121, 44, 90, 140, 332, 335, 92, 92, 192, + 15, 189, 189, 189, 338, 100, 189, 198, 329, 189, + 330, 339, 145, 337, 200, 200, 339, 145, 184, 152, + 139, 191, 339, 160, 206, 329, 176, 178, 51, 55, + 194, 51, 55, 310, 209, 142, 63, 157, 282, 189, + 189, 51, 69, 100, 226, 315, 339, 339, 142, 172, + 189, 15, 51, 69, 302, 307, 324, 85, 308, 313, + 320, 322, 315, 317, 322, 51, 315, 172, 189, 15, + 79, 126, 231, 233, 344, 189, 200, 339, 178, 142, + 44, 121, 44, 90, 140, 335, 338, 92, 92, 192, 197, 141, 200, 92, 92, 193, 197, 193, 197, 231, - 231, 170, 338, 167, 156, 141, 15, 336, 183, 189, - 202, 266, 341, 18, 224, 341, 17, 223, 224, 92, + 231, 170, 341, 167, 156, 141, 15, 339, 183, 189, + 202, 269, 344, 18, 224, 344, 17, 223, 224, 92, 92, 141, 92, 92, 224, 211, 213, 141, 167, 184, 139, 34, 35, 36, 51, 55, 63, 91, 97, 98, - 100, 127, 220, 249, 250, 252, 253, 254, 255, 258, - 259, 264, 284, 288, 15, 200, 221, 189, 199, 85, - 326, 139, 336, 337, 141, 234, 335, 29, 113, 238, - 139, 142, 309, 336, 142, 85, 44, 44, 322, 338, - 142, 306, 142, 306, 142, 306, 142, 306, 306, 44, - 44, 228, 230, 232, 298, 300, 301, 304, 312, 313, - 315, 316, 319, 321, 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, 338, 15, 93, 267, 341, 157, - 14, 268, 341, 167, 15, 92, 15, 157, 157, 222, - 55, 51, 91, 100, 141, 220, 252, 256, 257, 258, - 51, 102, 139, 260, 261, 262, 263, 284, 51, 51, - 90, 40, 41, 221, 252, 258, 142, 93, 126, 142, - 189, 157, 336, 200, 145, 146, 156, 157, 227, 142, - 100, 336, 189, 189, 312, 319, 312, 312, 189, 189, - 234, 234, 91, 220, 142, 322, 322, 142, 229, 220, + 100, 102, 127, 220, 252, 253, 255, 256, 257, 258, + 261, 262, 264, 265, 266, 267, 287, 291, 15, 200, + 221, 189, 199, 85, 329, 139, 339, 340, 141, 234, + 338, 29, 113, 238, 139, 142, 312, 339, 142, 85, + 44, 44, 325, 341, 142, 309, 142, 309, 142, 309, + 142, 309, 309, 44, 44, 228, 230, 232, 301, 303, + 304, 307, 315, 316, 318, 319, 322, 324, 156, 100, + 189, 178, 160, 189, 51, 55, 194, 51, 55, 57, + 123, 162, 191, 168, 191, 171, 92, 162, 191, 162, + 191, 171, 244, 240, 156, 157, 231, 218, 341, 15, + 93, 270, 344, 157, 14, 271, 344, 167, 15, 92, + 15, 157, 157, 222, 57, 55, 51, 91, 100, 141, + 220, 255, 259, 260, 261, 287, 51, 102, 139, 263, + 264, 266, 287, 51, 34, 51, 51, 90, 40, 41, + 221, 51, 255, 261, 142, 93, 126, 142, 142, 93, + 189, 157, 339, 200, 145, 146, 156, 157, 227, 142, + 100, 339, 189, 189, 315, 322, 315, 315, 189, 189, + 234, 234, 91, 220, 142, 325, 325, 142, 229, 220, 142, 229, 142, 229, 15, 189, 141, 189, 189, 162, - 191, 15, 139, 157, 156, 91, 180, 220, 289, 292, - 221, 157, 221, 15, 15, 215, 55, 51, 90, 141, - 142, 142, 57, 34, 51, 139, 142, 93, 51, 55, - 167, 167, 157, 142, 142, 51, 254, 251, 252, 224, - 246, 247, 51, 235, 236, 308, 15, 139, 312, 312, - 142, 309, 306, 142, 306, 306, 306, 126, 126, 55, - 90, 300, 304, 142, 228, 229, 316, 319, 312, 315, - 319, 312, 139, 15, 55, 90, 140, 332, 157, 157, - 157, 55, 252, 258, 257, 249, 51, 102, 262, 263, - 284, 249, 221, 221, 25, 224, 248, 251, 142, 142, - 335, 142, 312, 142, 312, 55, 322, 142, 229, 142, - 229, 142, 229, 142, 229, 229, 51, 55, 194, 51, - 55, 265, 223, 15, 142, 142, 57, 34, 51, 157, - 157, 249, 15, 252, 236, 312, 306, 312, 319, 312, - 312, 141, 257, 248, 248, 40, 41, 221, 229, 142, - 229, 229, 229, 15, 15, 167, 167, 157, 312, 221, - 221, 248, 229, 157, 157, 248, 248 + 191, 15, 139, 157, 156, 91, 180, 220, 292, 295, + 221, 157, 221, 15, 15, 215, 255, 55, 51, 90, + 141, 142, 142, 57, 34, 51, 139, 142, 51, 55, + 167, 167, 157, 142, 142, 51, 257, 254, 255, 51, + 265, 266, 287, 255, 224, 246, 247, 51, 235, 236, + 311, 15, 139, 315, 315, 142, 312, 309, 142, 309, + 309, 309, 126, 126, 55, 90, 303, 307, 142, 228, + 229, 319, 322, 315, 318, 322, 315, 139, 15, 55, + 90, 140, 335, 157, 157, 157, 55, 255, 261, 260, + 266, 221, 221, 25, 224, 248, 254, 142, 142, 338, + 142, 315, 142, 315, 55, 325, 142, 229, 142, 229, + 142, 229, 142, 229, 229, 51, 55, 194, 51, 55, + 268, 223, 15, 142, 142, 157, 157, 252, 15, 255, + 236, 315, 309, 315, 322, 315, 315, 141, 260, 248, + 248, 249, 250, 251, 229, 142, 229, 229, 229, 15, + 15, 221, 40, 41, 315, 157, 167, 167, 229, 248, + 221, 221, 157, 157, 248, 248 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -6913,32 +6970,33 @@ static const yytype_int16 yyr1[] = 232, 233, 233, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, 239, 240, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, - 244, 245, 244, 246, 247, 247, 248, 248, 248, 248, - 249, 249, 249, 249, 249, 249, 250, 250, 251, 251, - 252, 252, 253, 253, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 255, 255, 256, - 256, 256, 256, 256, 257, 257, 258, 258, 259, 259, - 260, 260, 260, 261, 261, 262, 262, 262, 263, 263, - 263, 264, 265, 265, 266, 266, 266, 267, 267, 268, - 268, 269, 269, 269, 269, 270, 270, 271, 271, 271, - 271, 272, 272, 273, 274, 273, 273, 273, 275, 275, - 276, 276, 277, 278, 278, 279, 279, 280, 280, 281, - 282, 281, 283, 283, 284, 284, 284, 285, 286, 286, - 286, 286, 286, 286, 287, 287, 288, 288, 288, 288, - 289, 289, 289, 289, 289, 290, 290, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 292, 292, 293, 294, - 293, 295, 295, 296, 296, 296, 297, 297, 297, 297, - 298, 298, 299, 299, 300, 300, 301, 301, 302, 302, - 303, 303, 304, 304, 305, 305, 305, 305, 306, 306, - 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 308, 308, 308, 308, 308, - 309, 309, 310, 311, 310, 312, 312, 313, 314, 315, - 316, 316, 317, 317, 318, 318, 319, 319, 320, 320, - 321, 321, 322, 322, 323, 324, 323, 325, 325, 326, - 326, 327, 327, 327, 327, 327, 327, 327, 327, 328, - 328, 328, 329, 329, 329, 329, 330, 330, 330, 331, - 331, 332, 332, 333, 333, 334, 334, 335, 335, 336, - 337, 337, 337, 338, 338, 339, 339, 340, 340, 341 + 244, 245, 244, 246, 247, 247, 248, 249, 248, 250, + 248, 251, 248, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 253, 253, 254, 254, 255, 255, 256, 256, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 258, 258, 259, 259, 259, 259, 259, + 260, 260, 261, 261, 262, 262, 263, 263, 263, 264, + 264, 265, 265, 265, 266, 266, 266, 267, 268, 268, + 269, 269, 269, 270, 270, 271, 271, 272, 272, 272, + 272, 273, 273, 274, 274, 274, 274, 275, 275, 276, + 277, 276, 276, 276, 278, 278, 279, 279, 280, 281, + 281, 282, 282, 283, 283, 284, 285, 284, 286, 286, + 287, 287, 287, 288, 289, 289, 289, 289, 289, 289, + 290, 290, 291, 291, 291, 291, 292, 292, 292, 292, + 292, 293, 293, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 295, 295, 296, 297, 296, 298, 298, 299, + 299, 299, 300, 300, 300, 300, 301, 301, 302, 302, + 303, 303, 304, 304, 305, 305, 306, 306, 307, 307, + 308, 308, 308, 308, 309, 309, 310, 310, 310, 310, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 310, 311, 311, 311, 311, 311, 312, 312, 313, 314, + 313, 315, 315, 316, 317, 318, 319, 319, 320, 320, + 321, 321, 322, 322, 323, 323, 324, 324, 325, 325, + 326, 327, 326, 328, 328, 329, 329, 330, 330, 330, + 330, 330, 330, 330, 330, 331, 331, 331, 332, 332, + 332, 332, 333, 333, 333, 334, 334, 335, 335, 336, + 336, 337, 337, 338, 338, 339, 340, 340, 340, 341, + 341, 342, 342, 343, 343, 344 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -6986,32 +7044,33 @@ static const yytype_int8 yyr2[] = 0, 4, 1, 4, 1, 4, 1, 3, 1, 1, 4, 1, 3, 3, 0, 5, 2, 4, 5, 5, 2, 4, 4, 3, 3, 3, 2, 1, 4, 0, - 5, 0, 5, 5, 1, 1, 1, 5, 7, 7, - 1, 2, 2, 4, 1, 3, 2, 3, 1, 3, - 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 1, 1, 2, 3, 2, 1, - 3, 5, 1, 3, 1, 3, 2, 1, 3, 2, - 1, 3, 1, 1, 3, 3, 2, 3, 2, 2, - 1, 1, 6, 1, 1, 1, 1, 2, 1, 2, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, - 3, 1, 2, 1, 0, 4, 1, 2, 2, 3, - 2, 3, 1, 1, 2, 1, 2, 1, 2, 1, - 0, 4, 2, 3, 1, 4, 2, 2, 1, 1, - 1, 1, 1, 2, 2, 3, 1, 1, 2, 2, + 5, 0, 5, 5, 1, 1, 1, 0, 6, 0, + 8, 0, 8, 1, 2, 2, 4, 1, 3, 1, + 3, 1, 2, 3, 1, 3, 1, 3, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, + 1, 1, 2, 3, 2, 1, 3, 5, 1, 3, + 1, 3, 2, 1, 3, 2, 1, 3, 1, 1, + 3, 3, 2, 3, 2, 2, 1, 1, 6, 1, + 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 2, 3, 1, 2, 1, + 0, 4, 1, 2, 2, 3, 2, 3, 1, 1, + 2, 1, 2, 1, 2, 1, 0, 4, 2, 3, + 1, 4, 2, 2, 1, 1, 1, 1, 1, 2, + 2, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 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, 0, 0, 4, 1, 1, 3, + 5, 3, 1, 2, 4, 2, 2, 2, 2, 1, + 2, 1, 1, 3, 1, 3, 1, 1, 2, 1, + 4, 2, 2, 1, 2, 0, 6, 8, 4, 6, + 4, 6, 2, 4, 6, 2, 4, 2, 4, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 1, 3, 2, 2, 2, 1, 3, 1, 3, + 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, + 1, 0, 4, 1, 2, 1, 3, 3, 3, 2, + 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 2, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 2, 0 + 1, 0, 1, 0, 2, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 2, 0 }; @@ -7678,7 +7737,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7682 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7741 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -7896,7 +7955,7 @@ yyreduce: p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7959 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ @@ -7904,7 +7963,7 @@ yyreduce: { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7908 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7967 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ @@ -7912,7 +7971,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 7916 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7975 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ @@ -7920,7 +7979,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7924 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7983 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ @@ -7928,7 +7987,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7932 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7991 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ @@ -7936,7 +7995,7 @@ yyreduce: { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ @@ -7944,7 +8003,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 7948 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8007 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ @@ -7953,7 +8012,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 7957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8016 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ @@ -7964,7 +8023,7 @@ yyreduce: nvars_unnest(p); (yyval.nd) = 0; } -#line 7968 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8027 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ @@ -7989,7 +8048,7 @@ yyreduce: } } } -#line 7993 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8052 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ @@ -7997,7 +8056,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8001 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8060 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ @@ -8005,7 +8064,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, 0); } -#line 8009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8068 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ @@ -8013,7 +8072,7 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8076 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ @@ -8021,7 +8080,7 @@ yyreduce: { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 8025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ @@ -8029,13 +8088,13 @@ yyreduce: { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 8033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8092 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ #line 2256 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8039 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8098 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ @@ -8043,7 +8102,7 @@ yyreduce: { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 8047 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8106 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ @@ -8051,7 +8110,7 @@ yyreduce: { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 8055 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8114 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ @@ -8059,7 +8118,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 8063 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8122 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ @@ -8067,7 +8126,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 8071 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8130 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ @@ -8080,7 +8139,7 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8143 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ @@ -8093,7 +8152,7 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8097 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8156 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ @@ -8101,7 +8160,7 @@ yyreduce: { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8105 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8164 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ @@ -8110,7 +8169,7 @@ yyreduce: yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 8114 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8173 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ @@ -8118,7 +8177,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8122 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8181 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ @@ -8126,7 +8185,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8130 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8189 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ @@ -8134,7 +8193,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8138 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8197 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ @@ -8142,7 +8201,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" break; case 32: /* stmt: arg "=>" "local variable or method" */ @@ -8152,7 +8211,7 @@ yyreduce: assignable(p, lhs); (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); } -#line 8156 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8215 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: /* command_asgn: lhs '=' command_rhs */ @@ -8160,7 +8219,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8223 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: /* command_asgn: var_lhs tOP_ASGN command_rhs */ @@ -8168,7 +8227,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8172 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8231 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ @@ -8176,7 +8235,7 @@ yyreduce: { (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 8180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8239 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ @@ -8184,7 +8243,7 @@ yyreduce: { (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 8188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8247 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ @@ -8192,7 +8251,7 @@ yyreduce: { (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 8196 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8255 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ @@ -8201,7 +8260,7 @@ yyreduce: yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8264 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ @@ -8209,7 +8268,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8213 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8272 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ @@ -8222,7 +8281,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ @@ -8235,7 +8294,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8298 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ @@ -8248,7 +8307,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8252 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8311 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ @@ -8261,7 +8320,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8265 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8324 "mrbgems/mruby-compiler/core/y.tab.c" break; case 45: /* command_asgn: backref tOP_ASGN command_rhs */ @@ -8270,7 +8329,7 @@ yyreduce: backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8274 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 47: /* command_rhs: command_call "'rescue' modifier" stmt */ @@ -8278,7 +8337,7 @@ yyreduce: { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8282 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8341 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: /* expr: expr "'and'" expr */ @@ -8286,7 +8345,7 @@ yyreduce: { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8349 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: /* expr: expr "'or'" expr */ @@ -8294,7 +8353,7 @@ yyreduce: { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8298 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: /* expr: "'not'" opt_nl expr */ @@ -8302,7 +8361,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8306 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: /* expr: '!' command_call */ @@ -8310,7 +8369,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8314 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: /* defn_head: "'def'" fname */ @@ -8321,7 +8380,7 @@ yyreduce: p->in_def++; nvars_block(p); } -#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8384 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: /* $@4: %empty */ @@ -8329,7 +8388,7 @@ yyreduce: { p->lstate = EXPR_FNAME; } -#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8392 "mrbgems/mruby-compiler/core/y.tab.c" break; case 57: /* defs_head: "'def'" singleton dot_or_colon $@4 fname */ @@ -8342,7 +8401,7 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 8346 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8405 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: /* expr_value: expr */ @@ -8353,7 +8412,7 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); } } -#line 8357 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8416 "mrbgems/mruby-compiler/core/y.tab.c" break; case 62: /* block_command: block_call call_op2 operation2 command_args */ @@ -8361,7 +8420,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8365 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8424 "mrbgems/mruby-compiler/core/y.tab.c" break; case 63: /* $@5: %empty */ @@ -8370,7 +8429,7 @@ yyreduce: local_nest(p); nvars_nest(p); } -#line 8374 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8433 "mrbgems/mruby-compiler/core/y.tab.c" break; case 64: /* cmd_brace_block: "{" $@5 opt_block_param compstmt '}' */ @@ -8380,7 +8439,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 8384 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: /* command: operation command_args */ @@ -8388,7 +8447,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: /* command: operation command_args cmd_brace_block */ @@ -8397,7 +8456,7 @@ yyreduce: args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 8401 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8460 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: /* command: primary_value call_op operation2 command_args */ @@ -8405,7 +8464,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8409 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8468 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: /* command: primary_value call_op operation2 command_args cmd_brace_block */ @@ -8414,7 +8473,7 @@ yyreduce: 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 8418 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8477 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: /* command: primary_value "::" operation2 command_args */ @@ -8422,7 +8481,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8426 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8485 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: /* command: primary_value "::" operation2 command_args cmd_brace_block */ @@ -8431,7 +8490,7 @@ yyreduce: 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 8435 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8494 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: /* command: "'super'" command_args */ @@ -8439,7 +8498,7 @@ yyreduce: { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8502 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: /* command: "'yield'" command_args */ @@ -8447,7 +8506,7 @@ yyreduce: { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8510 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: /* command: "'return'" call_args */ @@ -8455,7 +8514,7 @@ yyreduce: { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8518 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: /* command: "'break'" call_args */ @@ -8463,7 +8522,7 @@ yyreduce: { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8467 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8526 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: /* command: "'next'" call_args */ @@ -8471,7 +8530,7 @@ yyreduce: { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8475 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8534 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: /* mlhs: mlhs_basic */ @@ -8479,7 +8538,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 8483 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8542 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: /* mlhs: tLPAREN mlhs_inner rparen */ @@ -8487,7 +8546,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8491 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8550 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: /* mlhs_inner: tLPAREN mlhs_inner rparen */ @@ -8495,7 +8554,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 8499 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8558 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: /* mlhs_basic: mlhs_list */ @@ -8503,7 +8562,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8507 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8566 "mrbgems/mruby-compiler/core/y.tab.c" break; case 81: /* mlhs_basic: mlhs_list mlhs_item */ @@ -8511,7 +8570,7 @@ yyreduce: { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 8515 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8574 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: /* mlhs_basic: mlhs_list "*" mlhs_node */ @@ -8519,7 +8578,7 @@ yyreduce: { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8523 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8582 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ @@ -8527,7 +8586,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8531 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8590 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: /* mlhs_basic: mlhs_list "*" */ @@ -8535,7 +8594,7 @@ yyreduce: { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8539 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8598 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ @@ -8543,7 +8602,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 8547 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8606 "mrbgems/mruby-compiler/core/y.tab.c" break; case 86: /* mlhs_basic: "*" mlhs_node */ @@ -8551,7 +8610,7 @@ yyreduce: { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8555 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8614 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ @@ -8559,7 +8618,7 @@ yyreduce: { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8563 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: /* mlhs_basic: "*" */ @@ -8567,7 +8626,7 @@ yyreduce: { (yyval.nd) = list2(0, new_nil(p)); } -#line 8571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: /* mlhs_basic: "*" ',' mlhs_post */ @@ -8575,7 +8634,7 @@ yyreduce: { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 8579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: /* mlhs_item: tLPAREN mlhs_inner rparen */ @@ -8583,7 +8642,7 @@ yyreduce: { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 8587 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: /* mlhs_list: mlhs_item ',' */ @@ -8591,7 +8650,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 8595 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8654 "mrbgems/mruby-compiler/core/y.tab.c" break; case 93: /* mlhs_list: mlhs_list mlhs_item ',' */ @@ -8599,7 +8658,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 8603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8662 "mrbgems/mruby-compiler/core/y.tab.c" break; case 94: /* mlhs_post: mlhs_item */ @@ -8607,7 +8666,7 @@ yyreduce: { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8670 "mrbgems/mruby-compiler/core/y.tab.c" break; case 95: /* mlhs_post: mlhs_list mlhs_item */ @@ -8615,7 +8674,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8619 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8678 "mrbgems/mruby-compiler/core/y.tab.c" break; case 96: /* mlhs_node: variable */ @@ -8623,7 +8682,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 8627 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8686 "mrbgems/mruby-compiler/core/y.tab.c" break; case 97: /* mlhs_node: primary_value '[' opt_call_args ']' */ @@ -8631,7 +8690,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8635 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8694 "mrbgems/mruby-compiler/core/y.tab.c" break; case 98: /* mlhs_node: primary_value call_op "local variable or method" */ @@ -8639,7 +8698,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8643 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8702 "mrbgems/mruby-compiler/core/y.tab.c" break; case 99: /* mlhs_node: primary_value "::" "local variable or method" */ @@ -8647,7 +8706,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8651 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8710 "mrbgems/mruby-compiler/core/y.tab.c" break; case 100: /* mlhs_node: primary_value call_op "constant" */ @@ -8655,7 +8714,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8659 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8718 "mrbgems/mruby-compiler/core/y.tab.c" break; case 101: /* mlhs_node: primary_value "::" "constant" */ @@ -8665,7 +8724,7 @@ yyreduce: yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8669 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8728 "mrbgems/mruby-compiler/core/y.tab.c" break; case 102: /* mlhs_node: tCOLON3 "constant" */ @@ -8675,7 +8734,7 @@ yyreduce: yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8738 "mrbgems/mruby-compiler/core/y.tab.c" break; case 103: /* mlhs_node: backref */ @@ -8684,7 +8743,7 @@ yyreduce: backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8688 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8747 "mrbgems/mruby-compiler/core/y.tab.c" break; case 104: /* lhs: variable */ @@ -8692,7 +8751,7 @@ yyreduce: { assignable(p, (yyvsp[0].nd)); } -#line 8696 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8755 "mrbgems/mruby-compiler/core/y.tab.c" break; case 105: /* lhs: primary_value '[' opt_call_args ']' */ @@ -8700,7 +8759,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8763 "mrbgems/mruby-compiler/core/y.tab.c" break; case 106: /* lhs: primary_value call_op "local variable or method" */ @@ -8708,7 +8767,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8712 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8771 "mrbgems/mruby-compiler/core/y.tab.c" break; case 107: /* lhs: primary_value "::" "local variable or method" */ @@ -8716,7 +8775,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8720 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8779 "mrbgems/mruby-compiler/core/y.tab.c" break; case 108: /* lhs: primary_value call_op "constant" */ @@ -8724,7 +8783,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8728 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8787 "mrbgems/mruby-compiler/core/y.tab.c" break; case 109: /* lhs: primary_value "::" "constant" */ @@ -8734,7 +8793,7 @@ yyreduce: yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8738 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8797 "mrbgems/mruby-compiler/core/y.tab.c" break; case 110: /* lhs: tCOLON3 "constant" */ @@ -8744,7 +8803,7 @@ yyreduce: yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8807 "mrbgems/mruby-compiler/core/y.tab.c" break; case 111: /* lhs: backref */ @@ -8753,7 +8812,7 @@ yyreduce: backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: /* lhs: "numbered parameter" */ @@ -8761,7 +8820,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8765 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8824 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: /* cname: "local variable or method" */ @@ -8769,7 +8828,7 @@ yyreduce: { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: /* cpath: tCOLON3 cname */ @@ -8777,7 +8836,7 @@ yyreduce: { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: /* cpath: cname */ @@ -8785,7 +8844,7 @@ yyreduce: { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 117: /* cpath: primary_value "::" cname */ @@ -8794,7 +8853,7 @@ yyreduce: void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), sym_to_node((yyvsp[0].id))); } -#line 8798 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8857 "mrbgems/mruby-compiler/core/y.tab.c" break; case 121: /* fname: op */ @@ -8803,7 +8862,7 @@ yyreduce: p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8866 "mrbgems/mruby-compiler/core/y.tab.c" break; case 122: /* fname: reswords */ @@ -8812,7 +8871,7 @@ yyreduce: p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8875 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: /* undef_list: fsym */ @@ -8820,13 +8879,13 @@ yyreduce: { (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); } -#line 8824 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8883 "mrbgems/mruby-compiler/core/y.tab.c" break; case 126: /* $@6: %empty */ #line 2746 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8830 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" break; case 127: /* undef_list: undef_list ',' $@6 fsym */ @@ -8834,187 +8893,187 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); } -#line 8838 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" break; case 128: /* op: '|' */ #line 2752 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(or); } -#line 8844 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8903 "mrbgems/mruby-compiler/core/y.tab.c" break; case 129: /* op: '^' */ #line 2753 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(xor); } -#line 8850 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 130: /* op: '&' */ #line 2754 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 8856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8915 "mrbgems/mruby-compiler/core/y.tab.c" break; case 131: /* op: "<=>" */ #line 2755 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(cmp); } -#line 8862 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8921 "mrbgems/mruby-compiler/core/y.tab.c" break; case 132: /* op: "==" */ #line 2756 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eq); } -#line 8868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8927 "mrbgems/mruby-compiler/core/y.tab.c" break; case 133: /* op: "===" */ #line 2757 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eqq); } -#line 8874 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8933 "mrbgems/mruby-compiler/core/y.tab.c" break; case 134: /* op: "=~" */ #line 2758 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(match); } -#line 8880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8939 "mrbgems/mruby-compiler/core/y.tab.c" break; case 135: /* op: "!~" */ #line 2759 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(nmatch); } -#line 8886 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8945 "mrbgems/mruby-compiler/core/y.tab.c" break; case 136: /* op: '>' */ #line 2760 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(gt); } -#line 8892 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8951 "mrbgems/mruby-compiler/core/y.tab.c" break; case 137: /* op: ">=" */ #line 2761 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(ge); } -#line 8898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8957 "mrbgems/mruby-compiler/core/y.tab.c" break; case 138: /* op: '<' */ #line 2762 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lt); } -#line 8904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8963 "mrbgems/mruby-compiler/core/y.tab.c" break; case 139: /* op: "<=" */ #line 2763 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(le); } -#line 8910 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8969 "mrbgems/mruby-compiler/core/y.tab.c" break; case 140: /* op: "!=" */ #line 2764 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neq); } -#line 8916 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8975 "mrbgems/mruby-compiler/core/y.tab.c" break; case 141: /* op: "<<" */ #line 2765 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lshift); } -#line 8922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 142: /* op: ">>" */ #line 2766 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(rshift); } -#line 8928 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8987 "mrbgems/mruby-compiler/core/y.tab.c" break; case 143: /* op: '+' */ #line 2767 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(add); } -#line 8934 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 144: /* op: '-' */ #line 2768 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(sub); } -#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 145: /* op: '*' */ #line 2769 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 8946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9005 "mrbgems/mruby-compiler/core/y.tab.c" break; case 146: /* op: "*" */ #line 2770 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 8952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9011 "mrbgems/mruby-compiler/core/y.tab.c" break; case 147: /* op: '/' */ #line 2771 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(div); } -#line 8958 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" break; case 148: /* op: '%' */ #line 2772 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mod); } -#line 8964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9023 "mrbgems/mruby-compiler/core/y.tab.c" break; case 149: /* op: tPOW */ #line 2773 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 8970 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9029 "mrbgems/mruby-compiler/core/y.tab.c" break; case 150: /* op: "**" */ #line 2774 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 8976 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9035 "mrbgems/mruby-compiler/core/y.tab.c" break; case 151: /* op: '!' */ #line 2775 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(not); } -#line 8982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" break; case 152: /* op: '~' */ #line 2776 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neg); } -#line 8988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9047 "mrbgems/mruby-compiler/core/y.tab.c" break; case 153: /* op: "unary plus" */ #line 2777 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(plus); } -#line 8994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9053 "mrbgems/mruby-compiler/core/y.tab.c" break; case 154: /* op: "unary minus" */ #line 2778 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(minus); } -#line 9000 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9059 "mrbgems/mruby-compiler/core/y.tab.c" break; case 155: /* op: tAREF */ #line 2779 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aref); } -#line 9006 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" break; case 156: /* op: tASET */ #line 2780 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aset); } -#line 9012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9071 "mrbgems/mruby-compiler/core/y.tab.c" break; case 157: /* op: '`' */ #line 2781 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(tick); } -#line 9018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9077 "mrbgems/mruby-compiler/core/y.tab.c" break; case 198: /* arg: lhs '=' arg_rhs */ @@ -9022,7 +9081,7 @@ yyreduce: { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9085 "mrbgems/mruby-compiler/core/y.tab.c" break; case 199: /* arg: var_lhs tOP_ASGN arg_rhs */ @@ -9030,7 +9089,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 9034 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" break; case 200: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ @@ -9038,7 +9097,7 @@ yyreduce: { (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 9042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9101 "mrbgems/mruby-compiler/core/y.tab.c" break; case 201: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ @@ -9046,7 +9105,7 @@ yyreduce: { (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 9050 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9109 "mrbgems/mruby-compiler/core/y.tab.c" break; case 202: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ @@ -9054,7 +9113,7 @@ yyreduce: { (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 9058 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9117 "mrbgems/mruby-compiler/core/y.tab.c" break; case 203: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ @@ -9062,7 +9121,7 @@ yyreduce: { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 9066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9125 "mrbgems/mruby-compiler/core/y.tab.c" break; case 204: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ @@ -9071,7 +9130,7 @@ yyreduce: yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9134 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ @@ -9080,7 +9139,7 @@ yyreduce: yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9143 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: /* arg: backref tOP_ASGN arg_rhs */ @@ -9089,7 +9148,7 @@ yyreduce: backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9152 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: /* arg: arg ".." arg */ @@ -9097,7 +9156,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9101 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9160 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: /* arg: arg ".." */ @@ -9105,7 +9164,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9109 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: /* arg: tBDOT2 arg */ @@ -9113,7 +9172,7 @@ yyreduce: { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 9117 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9176 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: /* arg: arg "..." arg */ @@ -9121,7 +9180,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9125 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9184 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: /* arg: arg "..." */ @@ -9129,7 +9188,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9133 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9192 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: /* arg: tBDOT3 arg */ @@ -9137,7 +9196,7 @@ yyreduce: { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 9141 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9200 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: /* arg: arg '+' arg */ @@ -9145,7 +9204,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 9149 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9208 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: /* arg: arg '-' arg */ @@ -9153,7 +9212,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 9157 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9216 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: /* arg: arg '*' arg */ @@ -9161,7 +9220,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 9165 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9224 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: /* arg: arg '/' arg */ @@ -9169,7 +9228,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 9173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9232 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: /* arg: arg '%' arg */ @@ -9177,7 +9236,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 9181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9240 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: /* arg: arg tPOW arg */ @@ -9185,7 +9244,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 9189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9248 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ @@ -9193,7 +9252,7 @@ yyreduce: { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9256 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: /* arg: tUMINUS_NUM "float literal" tPOW arg */ @@ -9201,7 +9260,7 @@ yyreduce: { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9264 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: /* arg: "unary plus" arg */ @@ -9209,7 +9268,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 9213 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9272 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: /* arg: "unary minus" arg */ @@ -9217,7 +9276,7 @@ yyreduce: { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9221 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9280 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: /* arg: arg '|' arg */ @@ -9225,7 +9284,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 9229 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9288 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: /* arg: arg '^' arg */ @@ -9233,7 +9292,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 9237 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9296 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: /* arg: arg '&' arg */ @@ -9241,7 +9300,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 9245 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9304 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: /* arg: arg "<=>" arg */ @@ -9249,7 +9308,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 9253 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9312 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: /* arg: arg '>' arg */ @@ -9257,7 +9316,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 9261 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9320 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: /* arg: arg ">=" arg */ @@ -9265,7 +9324,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 9269 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9328 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: /* arg: arg '<' arg */ @@ -9273,7 +9332,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 9277 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9336 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: /* arg: arg "<=" arg */ @@ -9281,7 +9340,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 9285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9344 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: /* arg: arg "==" arg */ @@ -9289,7 +9348,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 9293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9352 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: /* arg: arg "===" arg */ @@ -9297,7 +9356,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 9301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9360 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: /* arg: arg "!=" arg */ @@ -9305,7 +9364,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 9309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9368 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: /* arg: arg "=~" arg */ @@ -9313,7 +9372,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 9317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9376 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: /* arg: arg "!~" arg */ @@ -9321,7 +9380,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 9325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9384 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: /* arg: '!' arg */ @@ -9329,7 +9388,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 9333 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9392 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: /* arg: '~' arg */ @@ -9337,7 +9396,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 9341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9400 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: /* arg: arg "<<" arg */ @@ -9345,7 +9404,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 9349 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9408 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: /* arg: arg ">>" arg */ @@ -9353,7 +9412,7 @@ yyreduce: { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 9357 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9416 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: /* arg: arg "&&" arg */ @@ -9361,7 +9420,7 @@ yyreduce: { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9365 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9424 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: /* arg: arg "||" arg */ @@ -9369,7 +9428,7 @@ yyreduce: { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9373 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9432 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: /* arg: arg '?' arg opt_nl ':' arg */ @@ -9377,7 +9436,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9381 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9440 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: /* arg: arg '?' arg opt_nl "label" arg */ @@ -9385,7 +9444,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9448 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: /* arg: defn_head f_opt_arglist_paren '=' arg */ @@ -9398,7 +9457,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9402 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9461 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ @@ -9411,7 +9470,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9415 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9474 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: /* arg: defs_head f_opt_arglist_paren '=' arg */ @@ -9424,7 +9483,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9428 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9487 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ @@ -9437,7 +9496,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9441 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9500 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: /* arg: primary */ @@ -9445,7 +9504,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9449 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9508 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: /* aref_args: args trailer */ @@ -9453,7 +9512,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9457 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9516 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: /* aref_args: args comma assocs trailer */ @@ -9461,7 +9520,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9524 "mrbgems/mruby-compiler/core/y.tab.c" break; case 252: /* aref_args: assocs trailer */ @@ -9469,7 +9528,7 @@ yyreduce: { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9532 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: /* arg_rhs: arg */ @@ -9477,7 +9536,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9540 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: /* arg_rhs: arg "'rescue' modifier" arg */ @@ -9486,7 +9545,7 @@ yyreduce: void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9549 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: /* paren_args: '(' opt_call_args ')' */ @@ -9494,7 +9553,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9498 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9557 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: /* paren_args: '(' args comma tBDOT3 rparen */ @@ -9507,7 +9566,7 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: /* paren_args: '(' tBDOT3 rparen */ @@ -9526,7 +9585,7 @@ yyreduce: (yyval.nd) = 0; } } -#line 9530 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9589 "mrbgems/mruby-compiler/core/y.tab.c" break; case 262: /* opt_call_args: args comma */ @@ -9534,7 +9593,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9597 "mrbgems/mruby-compiler/core/y.tab.c" break; case 263: /* opt_call_args: args comma assocs comma */ @@ -9542,7 +9601,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9546 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9605 "mrbgems/mruby-compiler/core/y.tab.c" break; case 264: /* opt_call_args: assocs comma */ @@ -9550,7 +9609,7 @@ yyreduce: { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: /* call_args: command */ @@ -9559,7 +9618,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } -#line 9563 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: /* call_args: args opt_block_arg */ @@ -9567,7 +9626,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: /* call_args: assocs opt_block_arg */ @@ -9575,7 +9634,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: /* call_args: args comma assocs opt_block_arg */ @@ -9583,7 +9642,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9587 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: /* call_args: block_arg */ @@ -9591,7 +9650,7 @@ yyreduce: { (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } -#line 9595 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" break; case 270: /* @7: %empty */ @@ -9600,7 +9659,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 9604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 271: /* command_args: @7 call_args */ @@ -9609,7 +9668,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 272: /* block_arg: "&" arg */ @@ -9617,7 +9676,7 @@ yyreduce: { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 9621 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9680 "mrbgems/mruby-compiler/core/y.tab.c" break; case 273: /* block_arg: "&" */ @@ -9625,7 +9684,7 @@ yyreduce: { (yyval.nd) = new_block_arg(p, 0); } -#line 9629 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9688 "mrbgems/mruby-compiler/core/y.tab.c" break; case 274: /* opt_block_arg: comma block_arg */ @@ -9633,7 +9692,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 9637 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9696 "mrbgems/mruby-compiler/core/y.tab.c" break; case 275: /* opt_block_arg: none */ @@ -9641,7 +9700,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 9645 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9704 "mrbgems/mruby-compiler/core/y.tab.c" break; case 277: /* args: arg */ @@ -9650,7 +9709,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9713 "mrbgems/mruby-compiler/core/y.tab.c" break; case 278: /* args: "*" */ @@ -9658,7 +9717,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9662 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9721 "mrbgems/mruby-compiler/core/y.tab.c" break; case 279: /* args: "*" arg */ @@ -9666,7 +9725,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9729 "mrbgems/mruby-compiler/core/y.tab.c" break; case 280: /* args: args comma arg */ @@ -9675,7 +9734,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9738 "mrbgems/mruby-compiler/core/y.tab.c" break; case 281: /* args: args comma "*" */ @@ -9683,7 +9742,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } -#line 9687 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9746 "mrbgems/mruby-compiler/core/y.tab.c" break; case 282: /* args: args comma "*" arg */ @@ -9691,7 +9750,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9695 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" break; case 283: /* mrhs: args comma arg */ @@ -9700,7 +9759,7 @@ yyreduce: void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9763 "mrbgems/mruby-compiler/core/y.tab.c" break; case 284: /* mrhs: args comma "*" arg */ @@ -9708,7 +9767,7 @@ yyreduce: { (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 9712 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9771 "mrbgems/mruby-compiler/core/y.tab.c" break; case 285: /* mrhs: "*" arg */ @@ -9716,7 +9775,7 @@ yyreduce: { (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 9720 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9779 "mrbgems/mruby-compiler/core/y.tab.c" break; case 287: /* primary: string */ @@ -9724,7 +9783,7 @@ yyreduce: { (yyval.nd) = new_str(p, (yyvsp[0].nd)); } -#line 9728 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9787 "mrbgems/mruby-compiler/core/y.tab.c" break; case 288: /* primary: xstring */ @@ -9732,7 +9791,7 @@ yyreduce: { (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); } -#line 9736 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9795 "mrbgems/mruby-compiler/core/y.tab.c" break; case 293: /* primary: "method" */ @@ -9740,7 +9799,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 9744 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9803 "mrbgems/mruby-compiler/core/y.tab.c" break; case 294: /* @8: %empty */ @@ -9749,7 +9808,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9753 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9812 "mrbgems/mruby-compiler/core/y.tab.c" break; case 295: /* primary: "'begin'" @8 bodystmt "'end'" */ @@ -9758,7 +9817,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); } -#line 9762 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9821 "mrbgems/mruby-compiler/core/y.tab.c" break; case 296: /* @9: %empty */ @@ -9767,13 +9826,13 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9771 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9830 "mrbgems/mruby-compiler/core/y.tab.c" break; case 297: /* $@10: %empty */ #line 3236 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9777 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9836 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: /* primary: "(" @9 stmt $@10 rparen */ @@ -9782,13 +9841,13 @@ yyreduce: p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 9786 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9845 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: /* $@11: %empty */ #line 3241 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9792 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9851 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: /* primary: "(" $@11 rparen */ @@ -9796,7 +9855,7 @@ yyreduce: { (yyval.nd) = new_nil(p); } -#line 9800 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9859 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: /* primary: tLPAREN compstmt ')' */ @@ -9804,7 +9863,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 9808 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9867 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: /* primary: primary_value "::" "constant" */ @@ -9812,7 +9871,7 @@ yyreduce: { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 9816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9875 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: /* primary: tCOLON3 "constant" */ @@ -9820,7 +9879,7 @@ yyreduce: { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9824 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9883 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: /* primary: "[" aref_args ']' */ @@ -9828,7 +9887,7 @@ yyreduce: { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9891 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: /* primary: tLBRACE assoc_list '}' */ @@ -9836,7 +9895,7 @@ yyreduce: { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9899 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: /* primary: "'return'" */ @@ -9844,7 +9903,7 @@ yyreduce: { (yyval.nd) = new_return(p, 0); } -#line 9848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9907 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: /* primary: "'yield'" opt_paren_args */ @@ -9852,7 +9911,7 @@ yyreduce: { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9915 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: /* primary: "'not'" '(' expr rparen */ @@ -9860,7 +9919,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9864 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9923 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: /* primary: "'not'" '(' rparen */ @@ -9868,7 +9927,7 @@ yyreduce: { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9872 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9931 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: /* primary: operation brace_block */ @@ -9876,7 +9935,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9880 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9939 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: /* primary: method_call brace_block */ @@ -9885,7 +9944,7 @@ yyreduce: call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: /* @12: %empty */ @@ -9896,7 +9955,7 @@ yyreduce: (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9959 "mrbgems/mruby-compiler/core/y.tab.c" break; case 314: /* @13: %empty */ @@ -9905,7 +9964,7 @@ yyreduce: (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9968 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: /* primary: "->" @12 f_larglist @13 lambda_body */ @@ -9918,7 +9977,7 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9981 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ @@ -9927,7 +9986,7 @@ yyreduce: (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9931 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9990 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ @@ -9936,19 +9995,19 @@ yyreduce: (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd), (yyvsp[-2].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9999 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: /* $@14: %empty */ #line 3328 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10005 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: /* $@15: %empty */ #line 3328 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9952 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10011 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: /* primary: "'while'" $@14 expr_value do $@15 compstmt "'end'" */ @@ -9957,19 +10016,19 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10020 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: /* $@16: %empty */ #line 3335 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9967 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10026 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: /* $@17: %empty */ #line 3335 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9973 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10032 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: /* primary: "'until'" $@16 expr_value do $@17 compstmt "'end'" */ @@ -9978,7 +10037,7 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10041 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ @@ -9986,7 +10045,7 @@ yyreduce: { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10049 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: /* primary: "'case'" opt_terms case_body "'end'" */ @@ -9994,7 +10053,7 @@ yyreduce: { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 9998 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ @@ -10003,7 +10062,7 @@ yyreduce: 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 10007 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10066 "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'" */ @@ -10012,7 +10071,7 @@ yyreduce: 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 10016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10075 "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'" */ @@ -10021,19 +10080,19 @@ yyreduce: 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 10025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: /* $@18: %empty */ #line 3380 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 10031 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10090 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: /* $@19: %empty */ #line 3382 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 10037 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10096 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: /* primary: "'for'" for_var "'in'" $@18 expr_value do $@19 compstmt "'end'" */ @@ -10042,7 +10101,7 @@ yyreduce: (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 10046 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10105 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: /* @20: %empty */ @@ -10053,7 +10112,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10116 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: /* primary: "'class'" cpath superclass @20 bodystmt "'end'" */ @@ -10064,7 +10123,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 10068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10127 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: /* @21: %empty */ @@ -10073,7 +10132,7 @@ yyreduce: (yyval.num) = p->in_def; p->in_def = 0; } -#line 10077 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10136 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: /* @22: %empty */ @@ -10083,7 +10142,7 @@ yyreduce: nvars_block(p); p->in_single = 0; } -#line 10087 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10146 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: /* primary: "'class'" "<<" expr @21 term @22 bodystmt "'end'" */ @@ -10096,7 +10155,7 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 10100 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10159 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: /* @23: %empty */ @@ -10107,7 +10166,7 @@ yyreduce: (yyval.nd) = local_switch(p); nvars_block(p); } -#line 10111 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10170 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: /* primary: "'module'" cpath @23 bodystmt "'end'" */ @@ -10118,7 +10177,7 @@ yyreduce: local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 10122 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10181 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: /* primary: defn_head f_arglist bodystmt "'end'" */ @@ -10129,7 +10188,7 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 10133 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10192 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: /* primary: defs_head f_arglist bodystmt "'end'" */ @@ -10141,7 +10200,7 @@ yyreduce: p->in_def--; p->in_single--; } -#line 10145 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10204 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: /* primary: "'break'" */ @@ -10149,7 +10208,7 @@ yyreduce: { (yyval.nd) = new_break(p, 0); } -#line 10153 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10212 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: /* primary: "'next'" */ @@ -10157,7 +10216,7 @@ yyreduce: { (yyval.nd) = new_next(p, 0); } -#line 10161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10220 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: /* primary: "'redo'" */ @@ -10165,7 +10224,7 @@ yyreduce: { (yyval.nd) = new_redo(p); } -#line 10169 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10228 "mrbgems/mruby-compiler/core/y.tab.c" break; case 344: /* primary: "'retry'" */ @@ -10173,7 +10232,7 @@ yyreduce: { (yyval.nd) = new_retry(p); } -#line 10177 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10236 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: /* primary_value: primary */ @@ -10182,7 +10241,7 @@ yyreduce: (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 10186 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10245 "mrbgems/mruby-compiler/core/y.tab.c" break; case 352: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ @@ -10190,7 +10249,7 @@ yyreduce: { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10194 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10253 "mrbgems/mruby-compiler/core/y.tab.c" break; case 354: /* opt_else: "'else'" compstmt */ @@ -10198,7 +10257,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10202 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10261 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: /* for_var: lhs */ @@ -10206,7 +10265,7 @@ yyreduce: { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 10210 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10269 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: /* f_margs: f_arg */ @@ -10214,7 +10273,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 10218 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10277 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: /* f_margs: f_arg ',' "*" f_norm_arg */ @@ -10222,7 +10281,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 10226 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 359: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ @@ -10230,7 +10289,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10234 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10293 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: /* f_margs: f_arg ',' "*" */ @@ -10239,7 +10298,7 @@ yyreduce: local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), int_to_node(-1), 0); } -#line 10243 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10302 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" ',' f_arg */ @@ -10247,7 +10306,7 @@ yyreduce: { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 10251 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10310 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: /* f_margs: "*" f_norm_arg */ @@ -10255,7 +10314,7 @@ yyreduce: { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 10259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10318 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: /* f_margs: "*" f_norm_arg ',' f_arg */ @@ -10263,7 +10322,7 @@ yyreduce: { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10326 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: /* f_margs: "*" */ @@ -10272,7 +10331,7 @@ yyreduce: local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 10276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10335 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: /* $@24: %empty */ @@ -10280,7 +10339,7 @@ yyreduce: { local_add_f(p, intern_op(mul)); } -#line 10284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10343 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: /* f_margs: "*" ',' $@24 f_arg */ @@ -10288,7 +10347,7 @@ yyreduce: { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 10292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10351 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ @@ -10296,7 +10355,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10359 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: /* block_args_tail: f_block_kwarg opt_f_block_arg */ @@ -10304,7 +10363,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 10308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10367 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: /* block_args_tail: f_kwrest opt_f_block_arg */ @@ -10312,7 +10371,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10375 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: /* block_args_tail: f_block_arg */ @@ -10320,7 +10379,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 10324 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10383 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: /* opt_block_args_tail: ',' block_args_tail */ @@ -10328,7 +10387,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10391 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: /* opt_block_args_tail: %empty */ @@ -10336,7 +10395,7 @@ yyreduce: { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 10340 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10399 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ @@ -10344,7 +10403,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10348 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10407 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -10352,7 +10411,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10415 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ @@ -10360,7 +10419,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10423 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ @@ -10368,7 +10427,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10372 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10431 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ @@ -10376,7 +10435,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10380 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10439 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: /* block_param: f_arg ',' opt_block_args_tail */ @@ -10384,7 +10443,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10447 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -10392,7 +10451,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10396 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10455 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: /* block_param: f_arg opt_block_args_tail */ @@ -10400,7 +10459,7 @@ yyreduce: { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10463 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ @@ -10408,7 +10467,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10471 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ @@ -10416,7 +10475,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10420 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10479 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: /* block_param: f_block_optarg opt_block_args_tail */ @@ -10424,7 +10483,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10428 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10487 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ @@ -10432,7 +10491,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10436 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10495 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: /* block_param: f_rest_arg opt_block_args_tail */ @@ -10440,7 +10499,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10444 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10503 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ @@ -10448,7 +10507,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10452 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10511 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: /* block_param: block_args_tail */ @@ -10456,7 +10515,7 @@ yyreduce: { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 10460 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10519 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: /* opt_block_param: none */ @@ -10465,7 +10524,7 @@ yyreduce: local_add_blk(p); (yyval.nd) = 0; } -#line 10469 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10528 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: /* opt_block_param: block_param_def */ @@ -10474,13 +10533,13 @@ yyreduce: p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10537 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: /* $@25: %empty */ #line 3667 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p);} -#line 10484 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10543 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: /* block_param_def: '|' $@25 opt_bv_decl '|' */ @@ -10488,7 +10547,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10492 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10551 "mrbgems/mruby-compiler/core/y.tab.c" break; case 392: /* block_param_def: "||" */ @@ -10497,7 +10556,7 @@ yyreduce: local_add_blk(p); (yyval.nd) = 0; } -#line 10501 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10560 "mrbgems/mruby-compiler/core/y.tab.c" break; case 393: /* block_param_def: '|' block_param opt_bv_decl '|' */ @@ -10505,7 +10564,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-2].nd); } -#line 10509 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10568 "mrbgems/mruby-compiler/core/y.tab.c" break; case 394: /* opt_bv_decl: opt_nl */ @@ -10513,7 +10572,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10517 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10576 "mrbgems/mruby-compiler/core/y.tab.c" break; case 395: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ @@ -10521,7 +10580,7 @@ yyreduce: { (yyval.nd) = 0; } -#line 10525 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10584 "mrbgems/mruby-compiler/core/y.tab.c" break; case 398: /* bvar: "local variable or method" */ @@ -10530,7 +10589,7 @@ yyreduce: local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 10534 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10593 "mrbgems/mruby-compiler/core/y.tab.c" break; case 400: /* f_larglist: '(' f_args opt_bv_decl ')' */ @@ -10538,7 +10597,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-2].nd); } -#line 10542 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10601 "mrbgems/mruby-compiler/core/y.tab.c" break; case 401: /* f_larglist: f_args */ @@ -10546,7 +10605,7 @@ yyreduce: { (yyval.nd) = (yyvsp[0].nd); } -#line 10550 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10609 "mrbgems/mruby-compiler/core/y.tab.c" break; case 402: /* lambda_body: tLAMBEG compstmt '}' */ @@ -10554,7 +10613,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10558 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10617 "mrbgems/mruby-compiler/core/y.tab.c" break; case 403: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ @@ -10562,7 +10621,7 @@ yyreduce: { (yyval.nd) = (yyvsp[-1].nd); } -#line 10566 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10625 "mrbgems/mruby-compiler/core/y.tab.c" break; case 404: /* @26: %empty */ @@ -10572,7 +10631,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10576 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10635 "mrbgems/mruby-compiler/core/y.tab.c" break; case 405: /* do_block: "'do' for block" @26 opt_block_param bodystmt "'end'" */ @@ -10583,7 +10642,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10587 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: /* block_call: command do_block */ @@ -10592,7 +10651,7 @@ yyreduce: call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10655 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: /* block_call: block_call call_op2 operation2 opt_paren_args */ @@ -10600,7 +10659,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10663 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ @@ -10609,7 +10668,7 @@ yyreduce: (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 10613 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10672 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: /* block_call: block_call call_op2 operation2 command_args do_block */ @@ -10618,7 +10677,7 @@ yyreduce: (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 10622 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10681 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: /* method_call: operation paren_args */ @@ -10626,7 +10685,7 @@ yyreduce: { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 10630 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10689 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: /* method_call: primary_value call_op operation2 opt_paren_args */ @@ -10634,7 +10693,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10638 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10697 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: /* method_call: primary_value "::" operation2 paren_args */ @@ -10642,7 +10701,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 10646 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10705 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: /* method_call: primary_value "::" operation3 */ @@ -10650,7 +10709,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 10654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10713 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: /* method_call: primary_value call_op paren_args */ @@ -10658,7 +10717,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 10662 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10721 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: /* method_call: primary_value "::" paren_args */ @@ -10666,7 +10725,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); } -#line 10670 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10729 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: /* method_call: "'super'" paren_args */ @@ -10674,7 +10733,7 @@ yyreduce: { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10678 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10737 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: /* method_call: "'super'" */ @@ -10682,7 +10741,7 @@ yyreduce: { (yyval.nd) = new_zsuper(p); } -#line 10686 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10745 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: /* method_call: primary_value '[' opt_call_args ']' */ @@ -10690,7 +10749,7 @@ yyreduce: { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 10694 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10753 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: /* @27: %empty */ @@ -10700,7 +10759,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10704 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10763 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: /* brace_block: '{' @27 opt_block_param compstmt '}' */ @@ -10711,7 +10770,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10715 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10774 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: /* @28: %empty */ @@ -10721,7 +10780,7 @@ yyreduce: nvars_nest(p); (yyval.num) = p->lineno; } -#line 10725 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10784 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: /* brace_block: "'do'" @28 opt_block_param bodystmt "'end'" */ @@ -10732,7 +10791,7 @@ yyreduce: local_unnest(p); nvars_unnest(p); } -#line 10736 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10795 "mrbgems/mruby-compiler/core/y.tab.c" break; case 423: /* case_body: "'when'" args then compstmt cases */ @@ -10740,7 +10799,7 @@ yyreduce: { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10744 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10803 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: /* cases: opt_else */ @@ -10753,569 +10812,614 @@ yyreduce: (yyval.nd) = 0; } } -#line 10757 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 426: /* in_clauses: opt_else */ -#line 3852 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; - } -#line 10765 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 427: /* in_clauses: "'in'" p_expr then compstmt in_clauses */ -#line 3856 "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 10774 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 428: /* in_clauses: "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses */ -#line 3861 "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 10783 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 429: /* in_clauses: "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses */ -#line 3866 "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 10792 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 431: /* p_expr: p_args_head p_as */ -#line 3876 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); - } -#line 10800 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 432: /* p_expr: p_args_head p_rest */ -#line 3880 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); - } -#line 10808 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 433: /* p_expr: p_args_head p_rest ',' p_args_post */ -#line 3884 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); - } #line 10816 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 434: /* p_expr: p_rest */ -#line 3888 "mrbgems/mruby-compiler/core/parse.y" + case 426: /* in_clauses: opt_else */ +#line 3853 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); + (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } #line 10824 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 435: /* p_expr: p_rest ',' p_args_post */ -#line 3892 "mrbgems/mruby-compiler/core/parse.y" + case 427: /* $@29: %empty */ +#line 3856 "mrbgems/mruby-compiler/core/parse.y" + {p->in_kwarg--;} +#line 10830 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 428: /* in_clauses: "'in'" p_expr $@29 then compstmt in_clauses */ +#line 3857 "mrbgems/mruby-compiler/core/parse.y" + { + node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-1].nd), FALSE); + (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); + } +#line 10839 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 429: /* $@30: %empty */ +#line 3861 "mrbgems/mruby-compiler/core/parse.y" + {p->in_kwarg--;} +#line 10845 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 430: /* in_clauses: "'in'" p_expr $@30 "'if' modifier" expr_value then compstmt in_clauses */ +#line 3862 "mrbgems/mruby-compiler/core/parse.y" + { + node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), FALSE); + (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); + } +#line 10854 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 431: /* $@31: %empty */ +#line 3866 "mrbgems/mruby-compiler/core/parse.y" + {p->in_kwarg--;} +#line 10860 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 432: /* in_clauses: "'in'" p_expr $@31 "'unless' modifier" expr_value then compstmt in_clauses */ +#line 3867 "mrbgems/mruby-compiler/core/parse.y" + { + node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), TRUE); + (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); + } +#line 10869 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 434: /* p_expr: p_args_head p_as */ +#line 3878 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); + } +#line 10877 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 435: /* p_expr: p_args_head p_rest */ +#line 3882 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); + } +#line 10885 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 436: /* p_expr: p_args_head p_rest ',' p_args_post */ +#line 3886 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10893 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 437: /* p_expr: p_rest */ +#line 3890 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); + } +#line 10901 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 438: /* p_expr: p_rest ',' p_args_post */ +#line 3894 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10909 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 436: /* p_args_head: p_as ',' */ -#line 3899 "mrbgems/mruby-compiler/core/parse.y" + case 439: /* p_expr: p_hash_elems */ +#line 3898 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[-1].nd)); + /* Brace-less hash pattern: in a:, b: x */ + (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10918 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 437: /* p_args_head: p_args_head p_as ',' */ + case 440: /* p_expr: p_hash_elems ',' p_kwrest */ #line 3903 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); + /* Brace-less hash pattern with kwrest: in a:, **rest */ + (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10927 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 438: /* p_args_post: p_as */ -#line 3910 "mrbgems/mruby-compiler/core/parse.y" + case 441: /* p_expr: p_kwrest */ +#line 3908 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 10856 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 439: /* p_args_post: p_args_post ',' p_as */ -#line 3914 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 10864 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 441: /* p_as: p_alt "=>" "local variable or method" */ -#line 3921 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); - } -#line 10872 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 443: /* p_alt: p_alt '|' p_value */ -#line 3928 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 10880 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 445: /* p_value: numeric */ -#line 3935 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10888 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 446: /* p_value: symbol */ -#line 3939 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10896 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 447: /* p_value: tSTRING */ -#line 3943 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10904 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 448: /* p_value: "'nil'" */ -#line 3947 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_nil(p)); - } -#line 10912 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 449: /* p_value: "'true'" */ -#line 3951 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_true(p)); - } -#line 10920 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 450: /* p_value: "'false'" */ -#line 3955 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_false(p)); - } -#line 10928 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 451: /* p_value: "constant" */ -#line 3959 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); + /* Brace-less kwrest only: in **rest */ + (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } #line 10936 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 452: /* p_value: primary_value "::" "constant" */ -#line 3963 "mrbgems/mruby-compiler/core/parse.y" + case 442: /* p_args_head: p_as ',' */ +#line 3916 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); + (yyval.nd) = list1((yyvsp[-1].nd)); } #line 10944 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 453: /* p_value: tCOLON3 "constant" */ -#line 3967 "mrbgems/mruby-compiler/core/parse.y" + case 443: /* p_args_head: p_args_head p_as ',' */ +#line 3920 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } #line 10952 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 456: /* p_value: '^' "local variable or method" */ -#line 3973 "mrbgems/mruby-compiler/core/parse.y" + case 444: /* p_args_post: p_as */ +#line 3927 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 10960 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 457: /* p_array: "[" p_array_body ']' */ -#line 3980 "mrbgems/mruby-compiler/core/parse.y" + case 445: /* p_args_post: p_args_post ',' p_as */ +#line 3931 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[-1].nd); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 10968 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 458: /* p_array: "[" ']' */ -#line 3984 "mrbgems/mruby-compiler/core/parse.y" + case 447: /* p_as: p_alt "=>" "local variable or method" */ +#line 3938 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_array(p, 0, 0, 0); + (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); } #line 10976 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 459: /* p_array_body: p_array_elems */ -#line 3991 "mrbgems/mruby-compiler/core/parse.y" + case 449: /* p_alt: p_alt '|' p_value */ +#line 3945 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10984 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 451: /* p_value: numeric */ +#line 3952 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 10992 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 452: /* p_value: symbol */ +#line 3956 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 11000 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 453: /* p_value: tSTRING */ +#line 3960 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 11008 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 454: /* p_value: "'nil'" */ +#line 3964 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_nil(p)); + } +#line 11016 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 455: /* p_value: "'true'" */ +#line 3968 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_true(p)); + } +#line 11024 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 456: /* p_value: "'false'" */ +#line 3972 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_false(p)); + } +#line 11032 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 457: /* p_value: "constant" */ +#line 3976 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); + } +#line 11040 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 458: /* p_value: primary_value "::" "constant" */ +#line 3980 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); + } +#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 459: /* p_value: tCOLON3 "constant" */ +#line 3984 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); + } +#line 11056 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 462: /* p_value: '^' "local variable or method" */ +#line 3990 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); + } +#line 11064 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 463: /* p_array: "[" p_array_body ']' */ +#line 3997 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 11072 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 464: /* p_array: "[" ']' */ +#line 4001 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, 0, 0, 0); + } +#line 11080 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 465: /* p_array_body: p_array_elems */ +#line 4008 "mrbgems/mruby-compiler/core/parse.y" { /* Just pre elements, no rest */ (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); } -#line 10985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11089 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: /* p_array_body: p_array_elems ',' p_rest */ -#line 3996 "mrbgems/mruby-compiler/core/parse.y" + case 466: /* p_array_body: p_array_elems ',' p_rest */ +#line 4013 "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 10994 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11098 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 461: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ -#line 4001 "mrbgems/mruby-compiler/core/parse.y" + case 467: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ +#line 4018 "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 11003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11107 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 462: /* p_array_body: p_rest */ -#line 4006 "mrbgems/mruby-compiler/core/parse.y" + case 468: /* p_array_body: p_rest */ +#line 4023 "mrbgems/mruby-compiler/core/parse.y" { /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } -#line 11012 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11116 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 463: /* p_array_body: p_rest ',' p_array_elems */ -#line 4011 "mrbgems/mruby-compiler/core/parse.y" + case 469: /* p_array_body: p_rest ',' p_array_elems */ +#line 4028 "mrbgems/mruby-compiler/core/parse.y" { /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11021 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11125 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 464: /* p_array_elems: p_as */ -#line 4019 "mrbgems/mruby-compiler/core/parse.y" + case 470: /* p_array_elems: p_as */ +#line 4036 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11029 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11133 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 465: /* p_array_elems: p_array_elems ',' p_as */ -#line 4023 "mrbgems/mruby-compiler/core/parse.y" + case 471: /* p_array_elems: p_array_elems ',' p_as */ +#line 4040 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11037 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11141 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 466: /* p_rest: "*" "local variable or method" */ -#line 4030 "mrbgems/mruby-compiler/core/parse.y" + case 472: /* p_rest: "*" "local variable or method" */ +#line 4047 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11045 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11149 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 467: /* p_rest: "*" */ -#line 4034 "mrbgems/mruby-compiler/core/parse.y" + case 473: /* p_rest: "*" */ +#line 4051 "mrbgems/mruby-compiler/core/parse.y" { /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 11054 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11158 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 468: /* p_hash: tLBRACE p_hash_body '}' */ -#line 4042 "mrbgems/mruby-compiler/core/parse.y" + case 474: /* p_hash: tLBRACE p_hash_body '}' */ +#line 4059 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11166 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 469: /* p_hash: tLBRACE '}' */ -#line 4046 "mrbgems/mruby-compiler/core/parse.y" + case 475: /* p_hash: tLBRACE '}' */ +#line 4063 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 11070 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11174 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 470: /* p_hash_body: p_hash_elems */ -#line 4053 "mrbgems/mruby-compiler/core/parse.y" + case 476: /* p_hash_body: p_hash_elems */ +#line 4070 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 11078 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11182 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 471: /* p_hash_body: p_hash_elems ',' p_kwrest */ -#line 4057 "mrbgems/mruby-compiler/core/parse.y" + case 477: /* p_hash_body: p_hash_elems ',' p_kwrest */ +#line 4074 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11086 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11190 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 472: /* p_hash_body: p_kwrest */ -#line 4061 "mrbgems/mruby-compiler/core/parse.y" + case 478: /* p_hash_body: p_kwrest */ +#line 4078 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 11094 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11198 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 473: /* p_hash_elems: p_hash_elem */ -#line 4068 "mrbgems/mruby-compiler/core/parse.y" + case 479: /* p_hash_elems: p_hash_elem */ +#line 4085 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11206 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 474: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ -#line 4072 "mrbgems/mruby-compiler/core/parse.y" + case 480: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ +#line 4089 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11110 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11214 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 475: /* p_hash_elem: "local variable or method" "label" p_expr */ -#line 4079 "mrbgems/mruby-compiler/core/parse.y" + case 481: /* p_hash_elem: "local variable or method" "label" p_as */ +#line 4097 "mrbgems/mruby-compiler/core/parse.y" { /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 11119 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11223 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 476: /* p_hash_elem: "local variable or method" "label" */ -#line 4084 "mrbgems/mruby-compiler/core/parse.y" + case 482: /* p_hash_elem: "local variable or method" "label" */ +#line 4102 "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 11128 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11232 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 477: /* p_hash_elem: symbol "=>" p_expr */ -#line 4089 "mrbgems/mruby-compiler/core/parse.y" + case 483: /* p_hash_elem: symbol "=>" p_as */ +#line 4107 "mrbgems/mruby-compiler/core/parse.y" { /* {:"key" => pattern} or {:key => pattern} */ (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11137 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11241 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 478: /* p_kwrest: "**" "local variable or method" */ -#line 4097 "mrbgems/mruby-compiler/core/parse.y" + case 484: /* p_kwrest: "**" "local variable or method" */ +#line 4115 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11145 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11249 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 479: /* p_kwrest: "**" "'nil'" */ -#line 4101 "mrbgems/mruby-compiler/core/parse.y" + case 485: /* p_kwrest: "**" "'nil'" */ +#line 4119 "mrbgems/mruby-compiler/core/parse.y" { /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 11154 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11258 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 480: /* p_kwrest: "**" */ -#line 4106 "mrbgems/mruby-compiler/core/parse.y" + case 486: /* p_kwrest: "**" */ +#line 4124 "mrbgems/mruby-compiler/core/parse.y" { /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 11163 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 481: /* p_var: "local variable or method" */ -#line 4113 "mrbgems/mruby-compiler/core/parse.y" + case 487: /* p_var: "local variable or method" */ +#line 4131 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11171 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11275 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 482: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ -#line 4121 "mrbgems/mruby-compiler/core/parse.y" + case 488: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ +#line 4139 "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 11180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11284 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 484: /* exc_list: arg */ -#line 4129 "mrbgems/mruby-compiler/core/parse.y" + case 490: /* exc_list: arg */ +#line 4147 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11292 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 487: /* exc_var: "=>" lhs */ -#line 4137 "mrbgems/mruby-compiler/core/parse.y" + case 493: /* exc_var: "=>" lhs */ +#line 4155 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11196 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11300 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 489: /* opt_ensure: "'ensure'" compstmt */ -#line 4144 "mrbgems/mruby-compiler/core/parse.y" + case 495: /* opt_ensure: "'ensure'" compstmt */ +#line 4162 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11204 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11308 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 496: /* string: string string_fragment */ -#line 4158 "mrbgems/mruby-compiler/core/parse.y" + case 502: /* string: string string_fragment */ +#line 4176 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11316 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 497: /* string_fragment: "character literal" */ -#line 4164 "mrbgems/mruby-compiler/core/parse.y" + case 503: /* string_fragment: "character literal" */ +#line 4182 "mrbgems/mruby-compiler/core/parse.y" { /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11221 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11325 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 498: /* string_fragment: tSTRING */ -#line 4169 "mrbgems/mruby-compiler/core/parse.y" + case 504: /* string_fragment: tSTRING */ +#line 4187 "mrbgems/mruby-compiler/core/parse.y" { /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11334 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 499: /* string_fragment: "string literal" tSTRING */ -#line 4174 "mrbgems/mruby-compiler/core/parse.y" + case 505: /* string_fragment: "string literal" tSTRING */ +#line 4192 "mrbgems/mruby-compiler/core/parse.y" { /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11239 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11343 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 500: /* string_fragment: "string literal" string_rep tSTRING */ -#line 4179 "mrbgems/mruby-compiler/core/parse.y" + case 506: /* string_fragment: "string literal" string_rep tSTRING */ +#line 4197 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11247 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11351 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 502: /* string_rep: string_rep string_interp */ -#line 4186 "mrbgems/mruby-compiler/core/parse.y" + case 508: /* string_rep: string_rep string_interp */ +#line 4204 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11359 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 503: /* string_interp: tSTRING_MID */ -#line 4192 "mrbgems/mruby-compiler/core/parse.y" + case 509: /* string_interp: tSTRING_MID */ +#line 4210 "mrbgems/mruby-compiler/core/parse.y" { /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11368 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 504: /* @29: %empty */ -#line 4197 "mrbgems/mruby-compiler/core/parse.y" + case 510: /* @32: %empty */ +#line 4215 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11376 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 505: /* string_interp: tSTRING_PART @29 compstmt '}' */ -#line 4202 "mrbgems/mruby-compiler/core/parse.y" + case 511: /* string_interp: tSTRING_PART @32 compstmt '}' */ +#line 4220 "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 11283 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11387 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: /* string_interp: tLITERAL_DELIM */ -#line 4209 "mrbgems/mruby-compiler/core/parse.y" + case 512: /* string_interp: tLITERAL_DELIM */ +#line 4227 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11291 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11395 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 507: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 4213 "mrbgems/mruby-compiler/core/parse.y" + case 513: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ +#line 4231 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11299 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11403 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 508: /* xstring: tXSTRING_BEG tXSTRING */ -#line 4219 "mrbgems/mruby-compiler/core/parse.y" + case 514: /* xstring: tXSTRING_BEG tXSTRING */ +#line 4237 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 11307 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11411 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 509: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 4223 "mrbgems/mruby-compiler/core/parse.y" + case 515: /* xstring: tXSTRING_BEG string_rep tXSTRING */ +#line 4241 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11315 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11419 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 510: /* regexp: tREGEXP_BEG tREGEXP */ -#line 4229 "mrbgems/mruby-compiler/core/parse.y" + case 516: /* regexp: tREGEXP_BEG tREGEXP */ +#line 4247 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11324,11 +11428,11 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 11328 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11432 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 4238 "mrbgems/mruby-compiler/core/parse.y" + case 517: /* regexp: tREGEXP_BEG string_rep tREGEXP */ +#line 4256 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11337,47 +11441,47 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 11341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11445 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 515: /* heredoc_body: tHEREDOC_END */ -#line 4256 "mrbgems/mruby-compiler/core/parse.y" + case 521: /* heredoc_body: tHEREDOC_END */ +#line 4274 "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 11351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11455 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 516: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 4262 "mrbgems/mruby-compiler/core/parse.y" + case 522: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ +#line 4280 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 11359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11463 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 519: /* heredoc_string_interp: tHD_STRING_MID */ -#line 4272 "mrbgems/mruby-compiler/core/parse.y" + case 525: /* heredoc_string_interp: tHD_STRING_MID */ +#line 4290 "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 11369 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11473 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 520: /* @30: %empty */ -#line 4278 "mrbgems/mruby-compiler/core/parse.y" + case 526: /* @33: %empty */ +#line 4296 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11377 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11481 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 521: /* heredoc_string_interp: tHD_STRING_PART @30 compstmt '}' */ -#line 4283 "mrbgems/mruby-compiler/core/parse.y" + case 527: /* heredoc_string_interp: tHD_STRING_PART @33 compstmt '}' */ +#line 4301 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); @@ -11385,37 +11489,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 11389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11493 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 522: /* words: tWORDS_BEG tSTRING */ -#line 4293 "mrbgems/mruby-compiler/core/parse.y" + case 528: /* words: tWORDS_BEG tSTRING */ +#line 4311 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11397 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11501 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 523: /* words: tWORDS_BEG string_rep tSTRING */ -#line 4297 "mrbgems/mruby-compiler/core/parse.y" + case 529: /* words: tWORDS_BEG string_rep tSTRING */ +#line 4315 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11407 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11511 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 524: /* symbol: basic_symbol */ -#line 4305 "mrbgems/mruby-compiler/core/parse.y" + case 530: /* symbol: basic_symbol */ +#line 4323 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11415 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11519 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 525: /* symbol: "symbol" "string literal" string_rep tSTRING */ -#line 4309 "mrbgems/mruby-compiler/core/parse.y" + case 531: /* symbol: "symbol" "string literal" string_rep tSTRING */ +#line 4327 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -11427,183 +11531,183 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11535 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 526: /* symbol: "symbol" "numbered parameter" */ -#line 4321 "mrbgems/mruby-compiler/core/parse.y" + case 532: /* symbol: "symbol" "numbered parameter" */ +#line 4339 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11440 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11544 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 527: /* basic_symbol: "symbol" sym */ -#line 4328 "mrbgems/mruby-compiler/core/parse.y" + case 533: /* basic_symbol: "symbol" sym */ +#line 4346 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11449 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11553 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 532: /* sym: tSTRING */ -#line 4339 "mrbgems/mruby-compiler/core/parse.y" + case 538: /* sym: tSTRING */ +#line 4357 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11457 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11561 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 533: /* sym: "string literal" tSTRING */ -#line 4343 "mrbgems/mruby-compiler/core/parse.y" + case 539: /* sym: "string literal" tSTRING */ +#line 4361 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11569 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 534: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 4349 "mrbgems/mruby-compiler/core/parse.y" + case 540: /* symbols: tSYMBOLS_BEG tSTRING */ +#line 4367 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11577 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 535: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 4353 "mrbgems/mruby-compiler/core/parse.y" + case 541: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ +#line 4371 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11483 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 538: /* numeric: tUMINUS_NUM "integer literal" */ -#line 4363 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_negate(p, (yyvsp[0].nd)); - } -#line 11491 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 539: /* numeric: tUMINUS_NUM "float literal" */ -#line 4367 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_negate(p, (yyvsp[0].nd)); - } -#line 11499 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 540: /* variable: "local variable or method" */ -#line 4373 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_lvar(p, (yyvsp[0].id)); - } -#line 11507 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 541: /* variable: "instance variable" */ -#line 4377 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_ivar(p, (yyvsp[0].id)); - } -#line 11515 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 542: /* variable: "global variable" */ -#line 4381 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_gvar(p, (yyvsp[0].id)); - } -#line 11523 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 543: /* variable: "class variable" */ -#line 4385 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_cvar(p, (yyvsp[0].id)); - } -#line 11531 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 544: /* variable: "constant" */ -#line 4389 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_const(p, (yyvsp[0].id)); - } -#line 11539 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 545: /* var_lhs: variable */ -#line 4395 "mrbgems/mruby-compiler/core/parse.y" - { - assignable(p, (yyvsp[0].nd)); - } -#line 11547 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 546: /* var_lhs: "numbered parameter" */ -#line 4399 "mrbgems/mruby-compiler/core/parse.y" - { - yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); - } -#line 11555 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 547: /* var_ref: variable */ -#line 4405 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = var_reference(p, (yyvsp[0].nd)); - } -#line 11563 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 548: /* var_ref: "numbered parameter" */ -#line 4409 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_nvar(p, (yyvsp[0].num)); - } -#line 11571 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 549: /* var_ref: "'nil'" */ -#line 4413 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_nil(p); - } -#line 11579 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 550: /* var_ref: "'self'" */ -#line 4417 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_self(p); - } #line 11587 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 551: /* var_ref: "'true'" */ -#line 4421 "mrbgems/mruby-compiler/core/parse.y" + case 544: /* numeric: tUMINUS_NUM "integer literal" */ +#line 4381 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_true(p); + (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } #line 11595 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 552: /* var_ref: "'false'" */ -#line 4425 "mrbgems/mruby-compiler/core/parse.y" + case 545: /* numeric: tUMINUS_NUM "float literal" */ +#line 4385 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_false(p); + (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } #line 11603 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 553: /* var_ref: "'__FILE__'" */ -#line 4429 "mrbgems/mruby-compiler/core/parse.y" + case 546: /* variable: "local variable or method" */ +#line 4391 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_lvar(p, (yyvsp[0].id)); + } +#line 11611 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 547: /* variable: "instance variable" */ +#line 4395 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_ivar(p, (yyvsp[0].id)); + } +#line 11619 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 548: /* variable: "global variable" */ +#line 4399 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_gvar(p, (yyvsp[0].id)); + } +#line 11627 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 549: /* variable: "class variable" */ +#line 4403 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_cvar(p, (yyvsp[0].id)); + } +#line 11635 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 550: /* variable: "constant" */ +#line 4407 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_const(p, (yyvsp[0].id)); + } +#line 11643 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 551: /* var_lhs: variable */ +#line 4413 "mrbgems/mruby-compiler/core/parse.y" + { + assignable(p, (yyvsp[0].nd)); + } +#line 11651 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 552: /* var_lhs: "numbered parameter" */ +#line 4417 "mrbgems/mruby-compiler/core/parse.y" + { + yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); + } +#line 11659 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 553: /* var_ref: variable */ +#line 4423 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = var_reference(p, (yyvsp[0].nd)); + } +#line 11667 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 554: /* var_ref: "numbered parameter" */ +#line 4427 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_nvar(p, (yyvsp[0].num)); + } +#line 11675 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 555: /* var_ref: "'nil'" */ +#line 4431 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_nil(p); + } +#line 11683 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 556: /* var_ref: "'self'" */ +#line 4435 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_self(p); + } +#line 11691 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 557: /* var_ref: "'true'" */ +#line 4439 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_true(p); + } +#line 11699 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 558: /* var_ref: "'false'" */ +#line 4443 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_false(p); + } +#line 11707 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 559: /* var_ref: "'__FILE__'" */ +#line 4447 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -11611,686 +11715,686 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11719 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 554: /* var_ref: "'__LINE__'" */ -#line 4437 "mrbgems/mruby-compiler/core/parse.y" + case 560: /* var_ref: "'__LINE__'" */ +#line 4455 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11626 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11730 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 555: /* var_ref: "'__ENCODING__'" */ -#line 4444 "mrbgems/mruby-compiler/core/parse.y" + case 561: /* var_ref: "'__ENCODING__'" */ +#line 4462 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 11634 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11738 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 558: /* superclass: %empty */ -#line 4454 "mrbgems/mruby-compiler/core/parse.y" + case 564: /* superclass: %empty */ +#line 4472 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 11642 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11746 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 559: /* $@31: %empty */ -#line 4458 "mrbgems/mruby-compiler/core/parse.y" + case 565: /* $@34: %empty */ +#line 4476 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11651 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11755 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 560: /* superclass: '<' $@31 expr_value term */ -#line 4463 "mrbgems/mruby-compiler/core/parse.y" + case 566: /* superclass: '<' $@34 expr_value term */ +#line 4481 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 11659 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 563: /* f_arglist_paren: '(' f_args rparen */ -#line 4479 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } -#line 11669 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 564: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ -#line 4485 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11677 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 565: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 4489 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11685 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 567: /* f_arglist: f_args term */ -#line 4496 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11693 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 568: /* f_arglist: f_arg ',' tBDOT3 term */ -#line 4500 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11701 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 569: /* f_arglist: "..." term */ -#line 4504 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11709 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 570: /* f_label: "local variable or method" "label" */ -#line 4510 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11717 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 571: /* f_label: "numbered parameter" "label" */ -#line 4514 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11725 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 572: /* f_kw: f_label arg */ -#line 4520 "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 11735 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 573: /* f_kw: f_label */ -#line 4526 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 11744 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 574: /* f_block_kw: f_label primary_value */ -#line 4533 "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 11754 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 575: /* f_block_kw: f_label */ -#line 4539 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } #line 11763 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 576: /* f_block_kwarg: f_block_kw */ -#line 4546 "mrbgems/mruby-compiler/core/parse.y" + case 569: /* f_arglist_paren: '(' f_args rparen */ +#line 4497 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; } -#line 11771 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11773 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 577: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ -#line 4550 "mrbgems/mruby-compiler/core/parse.y" + case 570: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ +#line 4503 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11779 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11781 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 578: /* f_kwarg: f_kw */ -#line 4556 "mrbgems/mruby-compiler/core/parse.y" + case 571: /* f_arglist_paren: '(' tBDOT3 rparen */ +#line 4507 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = new_args_dots(p, 0); } -#line 11787 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11789 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 579: /* f_kwarg: f_kwarg ',' f_kw */ -#line 4560 "mrbgems/mruby-compiler/core/parse.y" + case 573: /* f_arglist: f_args term */ +#line 4514 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-1].nd); } -#line 11795 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11797 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 582: /* f_kwrest: kwrest_mark "local variable or method" */ -#line 4570 "mrbgems/mruby-compiler/core/parse.y" + case 574: /* f_arglist: f_arg ',' tBDOT3 term */ +#line 4518 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = (yyvsp[0].id); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11803 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11805 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 583: /* f_kwrest: kwrest_mark */ -#line 4574 "mrbgems/mruby-compiler/core/parse.y" + case 575: /* f_arglist: "..." term */ +#line 4522 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = intern_op(pow); + (yyval.nd) = new_args_dots(p, 0); } -#line 11811 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11813 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 584: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 4580 "mrbgems/mruby-compiler/core/parse.y" + case 576: /* f_label: "local variable or method" "label" */ +#line 4528 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); + local_nest(p); } -#line 11819 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11821 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 585: /* args_tail: f_kwarg opt_f_block_arg */ -#line 4584 "mrbgems/mruby-compiler/core/parse.y" + case 577: /* f_label: "numbered parameter" "label" */ +#line 4532 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); + local_nest(p); } -#line 11827 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11829 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 586: /* args_tail: f_kwrest opt_f_block_arg */ -#line 4588 "mrbgems/mruby-compiler/core/parse.y" + case 578: /* f_kw: f_label arg */ +#line 4538 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); + 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 11835 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11839 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 587: /* args_tail: f_block_arg */ -#line 4592 "mrbgems/mruby-compiler/core/parse.y" + case 579: /* f_kw: f_label */ +#line 4544 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); } -#line 11843 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11848 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 588: /* opt_args_tail: ',' args_tail */ -#line 4598 "mrbgems/mruby-compiler/core/parse.y" + case 580: /* f_block_kw: f_label primary_value */ +#line 4551 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = (yyvsp[0].nd); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); + local_unnest(p); } -#line 11851 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11858 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 589: /* opt_args_tail: %empty */ -#line 4602 "mrbgems/mruby-compiler/core/parse.y" + case 581: /* f_block_kw: f_label */ +#line 4557 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, 0, 0, 0); - } -#line 11859 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 590: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4608 "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) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); } #line 11867 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 591: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4612 "mrbgems/mruby-compiler/core/parse.y" + case 582: /* f_block_kwarg: f_block_kw */ +#line 4564 "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)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 11875 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 592: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 4616 "mrbgems/mruby-compiler/core/parse.y" + case 583: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ +#line 4568 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 11883 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 593: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 4620 "mrbgems/mruby-compiler/core/parse.y" + case 584: /* f_kwarg: f_kw */ +#line 4574 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } #line 11891 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 594: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 4624 "mrbgems/mruby-compiler/core/parse.y" + case 585: /* f_kwarg: f_kwarg ',' f_kw */ +#line 4578 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } #line 11899 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 595: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4628 "mrbgems/mruby-compiler/core/parse.y" + case 588: /* f_kwrest: kwrest_mark "local variable or method" */ +#line 4588 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.id) = (yyvsp[0].id); } #line 11907 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 596: /* f_args: f_arg opt_args_tail */ -#line 4632 "mrbgems/mruby-compiler/core/parse.y" + case 589: /* f_kwrest: kwrest_mark */ +#line 4592 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + (yyval.id) = intern_op(pow); } #line 11915 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 597: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 4636 "mrbgems/mruby-compiler/core/parse.y" + case 590: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ +#line 4598 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } #line 11923 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 598: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4640 "mrbgems/mruby-compiler/core/parse.y" + case 591: /* args_tail: f_kwarg opt_f_block_arg */ +#line 4602 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } #line 11931 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* f_args: f_optarg opt_args_tail */ -#line 4644 "mrbgems/mruby-compiler/core/parse.y" + case 592: /* args_tail: f_kwrest opt_f_block_arg */ +#line 4606 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } #line 11939 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 600: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 4648 "mrbgems/mruby-compiler/core/parse.y" + case 593: /* args_tail: f_block_arg */ +#line 4610 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } #line 11947 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 601: /* f_args: f_rest_arg opt_args_tail */ -#line 4652 "mrbgems/mruby-compiler/core/parse.y" + case 594: /* opt_args_tail: ',' args_tail */ +#line 4616 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[0].nd); } #line 11955 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 602: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 4656 "mrbgems/mruby-compiler/core/parse.y" + case 595: /* opt_args_tail: %empty */ +#line 4620 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_tail(p, 0, 0, 0); } #line 11963 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 603: /* f_args: args_tail */ -#line 4660 "mrbgems/mruby-compiler/core/parse.y" + case 596: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ +#line 4626 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } #line 11971 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 604: /* f_args: %empty */ -#line 4664 "mrbgems/mruby-compiler/core/parse.y" + case 597: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4630 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11979 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 598: /* f_args: f_arg ',' f_optarg opt_args_tail */ +#line 4634 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 11987 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 599: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ +#line 4638 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11995 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 600: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ +#line 4642 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12003 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 601: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4646 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12011 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 602: /* f_args: f_arg opt_args_tail */ +#line 4650 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + } +#line 12019 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 603: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ +#line 4654 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12027 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 604: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4658 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12035 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 605: /* f_args: f_optarg opt_args_tail */ +#line 4662 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 12043 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 606: /* f_args: f_optarg ',' f_arg opt_args_tail */ +#line 4666 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12051 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 607: /* f_args: f_rest_arg opt_args_tail */ +#line 4670 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 12059 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 608: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ +#line 4674 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 12067 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 609: /* f_args: args_tail */ +#line 4678 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 12075 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 610: /* f_args: %empty */ +#line 4682 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 11980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12084 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 605: /* f_bad_arg: "constant" */ -#line 4671 "mrbgems/mruby-compiler/core/parse.y" + case 611: /* f_bad_arg: "constant" */ +#line 4689 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 11989 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12093 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: /* f_bad_arg: "instance variable" */ -#line 4676 "mrbgems/mruby-compiler/core/parse.y" + case 612: /* f_bad_arg: "instance variable" */ +#line 4694 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 11998 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12102 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 607: /* f_bad_arg: "global variable" */ -#line 4681 "mrbgems/mruby-compiler/core/parse.y" + case 613: /* f_bad_arg: "global variable" */ +#line 4699 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 12007 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12111 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 608: /* f_bad_arg: "class variable" */ -#line 4686 "mrbgems/mruby-compiler/core/parse.y" + case 614: /* f_bad_arg: "class variable" */ +#line 4704 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 12016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12120 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 609: /* f_bad_arg: "numbered parameter" */ -#line 4691 "mrbgems/mruby-compiler/core/parse.y" + case 615: /* f_bad_arg: "numbered parameter" */ +#line 4709 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 12025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12129 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 610: /* f_norm_arg: f_bad_arg */ -#line 4698 "mrbgems/mruby-compiler/core/parse.y" + case 616: /* f_norm_arg: f_bad_arg */ +#line 4716 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12137 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 611: /* f_norm_arg: "local variable or method" */ -#line 4702 "mrbgems/mruby-compiler/core/parse.y" + case 617: /* f_norm_arg: "local variable or method" */ +#line 4720 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 12042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12146 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: /* f_arg_item: f_norm_arg */ -#line 4709 "mrbgems/mruby-compiler/core/parse.y" + case 618: /* f_arg_item: f_norm_arg */ +#line 4727 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 12050 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12154 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 613: /* @32: %empty */ -#line 4713 "mrbgems/mruby-compiler/core/parse.y" + case 619: /* @35: %empty */ +#line 4731 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 12058 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12162 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 614: /* f_arg_item: tLPAREN @32 f_margs rparen */ -#line 4717 "mrbgems/mruby-compiler/core/parse.y" + case 620: /* f_arg_item: tLPAREN @35 f_margs rparen */ +#line 4735 "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 12068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12172 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 615: /* f_arg: f_arg_item */ -#line 4725 "mrbgems/mruby-compiler/core/parse.y" + case 621: /* f_arg: f_arg_item */ +#line 4743 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12076 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12180 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 616: /* f_arg: f_arg ',' f_arg_item */ -#line 4729 "mrbgems/mruby-compiler/core/parse.y" + case 622: /* f_arg: f_arg ',' f_arg_item */ +#line 4747 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12084 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12188 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 617: /* f_opt_asgn: "local variable or method" '=' */ -#line 4735 "mrbgems/mruby-compiler/core/parse.y" + case 623: /* f_opt_asgn: "local variable or method" '=' */ +#line 4753 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 12094 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12198 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 618: /* f_opt: f_opt_asgn arg */ -#line 4743 "mrbgems/mruby-compiler/core/parse.y" + case 624: /* f_opt: f_opt_asgn arg */ +#line 4761 "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 12104 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12208 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 619: /* f_block_opt: f_opt_asgn primary_value */ -#line 4751 "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 12114 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 620: /* f_block_optarg: f_block_opt */ -#line 4759 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 12122 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 621: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 4763 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 12130 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 622: /* f_optarg: f_opt */ + case 625: /* f_block_opt: f_opt_asgn primary_value */ #line 4769 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + 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 12138 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12218 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 623: /* f_optarg: f_optarg ',' f_opt */ -#line 4773 "mrbgems/mruby-compiler/core/parse.y" + case 626: /* f_block_optarg: f_block_opt */ +#line 4777 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 12226 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 627: /* f_block_optarg: f_block_optarg ',' f_block_opt */ +#line 4781 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12234 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 626: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4783 "mrbgems/mruby-compiler/core/parse.y" + case 628: /* f_optarg: f_opt */ +#line 4787 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 12242 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 629: /* f_optarg: f_optarg ',' f_opt */ +#line 4791 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 12250 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 632: /* f_rest_arg: restarg_mark "local variable or method" */ +#line 4801 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 12155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12259 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 627: /* f_rest_arg: restarg_mark */ -#line 4788 "mrbgems/mruby-compiler/core/parse.y" + case 633: /* f_rest_arg: restarg_mark */ +#line 4806 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 12164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12268 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 630: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4799 "mrbgems/mruby-compiler/core/parse.y" + case 636: /* f_block_arg: blkarg_mark "local variable or method" */ +#line 4817 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12172 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12276 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 631: /* f_block_arg: blkarg_mark */ -#line 4803 "mrbgems/mruby-compiler/core/parse.y" + case 637: /* f_block_arg: blkarg_mark */ +#line 4821 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 12180 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12284 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 632: /* opt_f_block_arg: ',' f_block_arg */ -#line 4809 "mrbgems/mruby-compiler/core/parse.y" + case 638: /* opt_f_block_arg: ',' f_block_arg */ +#line 4827 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12292 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 633: /* opt_f_block_arg: none */ -#line 4813 "mrbgems/mruby-compiler/core/parse.y" + case 639: /* opt_f_block_arg: none */ +#line 4831 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12196 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12300 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 634: /* singleton: var_ref */ -#line 4819 "mrbgems/mruby-compiler/core/parse.y" + case 640: /* singleton: var_ref */ +#line 4837 "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 12206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12310 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 635: /* $@33: %empty */ -#line 4824 "mrbgems/mruby-compiler/core/parse.y" + case 641: /* $@36: %empty */ +#line 4842 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 12212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12316 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 636: /* singleton: '(' $@33 expr rparen */ -#line 4825 "mrbgems/mruby-compiler/core/parse.y" + case 642: /* singleton: '(' $@36 expr rparen */ +#line 4843 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 12221 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12325 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 638: /* assoc_list: assocs trailer */ -#line 4833 "mrbgems/mruby-compiler/core/parse.y" + case 644: /* assoc_list: assocs trailer */ +#line 4851 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 12229 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12333 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 639: /* assocs: assoc */ -#line 4839 "mrbgems/mruby-compiler/core/parse.y" + case 645: /* assocs: assoc */ +#line 4857 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12237 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12341 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 640: /* assocs: assocs comma assoc */ -#line 4843 "mrbgems/mruby-compiler/core/parse.y" + case 646: /* assocs: assocs comma assoc */ +#line 4861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12245 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12349 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 641: /* assoc: arg "=>" arg */ -#line 4849 "mrbgems/mruby-compiler/core/parse.y" + case 647: /* assoc: arg "=>" arg */ +#line 4867 "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 12255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12359 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 642: /* assoc: "local variable or method" "label" arg */ -#line 4855 "mrbgems/mruby-compiler/core/parse.y" + case 648: /* assoc: "local variable or method" "label" arg */ +#line 4873 "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 12264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12368 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 643: /* assoc: "local variable or method" "label" */ -#line 4860 "mrbgems/mruby-compiler/core/parse.y" + case 649: /* assoc: "local variable or method" "label" */ +#line 4878 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 12272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12376 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 644: /* assoc: "numbered parameter" "label" */ -#line 4864 "mrbgems/mruby-compiler/core/parse.y" + case 650: /* assoc: "numbered parameter" "label" */ +#line 4882 "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 12281 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12385 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 645: /* assoc: "numbered parameter" "label" arg */ -#line 4869 "mrbgems/mruby-compiler/core/parse.y" + case 651: /* assoc: "numbered parameter" "label" arg */ +#line 4887 "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 12290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12394 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 646: /* assoc: string_fragment "label" arg */ -#line 4874 "mrbgems/mruby-compiler/core/parse.y" + case 652: /* assoc: string_fragment "label" arg */ +#line 4892 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -12306,75 +12410,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 12310 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12414 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 647: /* assoc: "**" arg */ -#line 4890 "mrbgems/mruby-compiler/core/parse.y" + case 653: /* assoc: "**" arg */ +#line 4908 "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 12319 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12423 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 648: /* assoc: "**" */ -#line 4895 "mrbgems/mruby-compiler/core/parse.y" + case 654: /* assoc: "**" */ +#line 4913 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 12327 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12431 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 661: /* call_op: '.' */ -#line 4921 "mrbgems/mruby-compiler/core/parse.y" + case 667: /* call_op: '.' */ +#line 4939 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 12335 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12439 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 662: /* call_op: "&." */ -#line 4925 "mrbgems/mruby-compiler/core/parse.y" + case 668: /* call_op: "&." */ +#line 4943 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 12343 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12447 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 664: /* call_op2: "::" */ -#line 4932 "mrbgems/mruby-compiler/core/parse.y" + case 670: /* call_op2: "::" */ +#line 4950 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 12351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12455 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 673: /* term: ';' */ -#line 4953 "mrbgems/mruby-compiler/core/parse.y" + case 679: /* term: ';' */ +#line 4971 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 12357 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12461 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 675: /* nl: '\n' */ -#line 4958 "mrbgems/mruby-compiler/core/parse.y" + case 681: /* nl: '\n' */ +#line 4976 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 12366 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12470 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 679: /* none: %empty */ -#line 4970 "mrbgems/mruby-compiler/core/parse.y" + case 685: /* none: %empty */ +#line 4988 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 12374 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12478 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 12378 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12482 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -12607,7 +12711,7 @@ yyreturnlab: return yyresult; } -#line 4974 "mrbgems/mruby-compiler/core/parse.y" +#line 4992 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) @@ -13030,7 +13134,7 @@ toklen(parser_state *p) #define IS_END() (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN) #define IS_BEG() (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS) #define IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c)) -#define IS_LABEL_POSSIBLE() ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG()) +#define IS_LABEL_POSSIBLE() ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG() || p->lstate == EXPR_VALUE) #define IS_LABEL_SUFFIX(n) (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1)) static int32_t @@ -14492,7 +14596,8 @@ parser_yylex(parser_state *p) } if (!space_seen && IS_END()) { pushback(p, c); - p->lstate = EXPR_BEG; + /* In pattern matching context, use EXPR_ARG so newlines are significant */ + p->lstate = p->in_kwarg ? EXPR_ARG : EXPR_BEG; return tLABEL_TAG; } if (IS_END() || ISSPACE(c) || c == '#') { @@ -14994,6 +15099,10 @@ parser_yylex(parser_state *p) return keyword_do_block; return keyword_do; } + if (kw->id[0] == keyword_in) { + /* Set in_kwarg for pattern matching context */ + p->in_kwarg++; + } if (state == EXPR_BEG || state == EXPR_VALUE || state == EXPR_CLASS) return kw->id[0]; else {