diff options
-rw-r--r-- | perly.act | 536 | ||||
-rw-r--r-- | perly.h | 175 | ||||
-rw-r--r-- | perly.tab | 1600 | ||||
-rw-r--r-- | perly.y | 17 | ||||
-rw-r--r-- | toke.c | 12 |
5 files changed, 1179 insertions, 1161 deletions
@@ -5,7 +5,7 @@ */ case 2: -#line 134 "perly.y" +#line 135 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -14,7 +14,7 @@ case 2: break; case 3: -#line 139 "perly.y" +#line 140 "perly.y" { newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval))); PL_compiling.cop_seq = 0; @@ -24,7 +24,7 @@ case 2: break; case 4: -#line 145 "perly.y" +#line 146 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: break; case 5: -#line 150 "perly.y" +#line 151 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -42,7 +42,7 @@ case 2: break; case 6: -#line 155 "perly.y" +#line 156 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: break; case 7: -#line 160 "perly.y" +#line 161 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -63,7 +63,7 @@ case 2: break; case 8: -#line 168 "perly.y" +#line 169 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: break; case 9: -#line 173 "perly.y" +#line 174 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -84,7 +84,7 @@ case 2: break; case 10: -#line 181 "perly.y" +#line 182 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: break; case 11: -#line 186 "perly.y" +#line 187 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -105,7 +105,7 @@ case 2: break; case 12: -#line 194 "perly.y" +#line 195 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: break; case 13: -#line 199 "perly.y" +#line 200 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -123,7 +123,7 @@ case 2: break; case 14: -#line 204 "perly.y" +#line 205 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: break; case 15: -#line 209 "perly.y" +#line 210 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -141,7 +141,7 @@ case 2: break; case 16: -#line 217 "perly.y" +#line 218 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval)); @@ -150,7 +150,7 @@ case 2: break; case 17: -#line 225 "perly.y" +#line 226 "perly.y" { if (parser->copline > (line_t)(ps[-6].val.ival)) parser->copline = (line_t)(ps[-6].val.ival); (yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval)); @@ -159,14 +159,14 @@ case 2: break; case 18: -#line 232 "perly.y" +#line 233 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; case 19: -#line 237 "perly.y" +#line 238 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval)); @@ -175,20 +175,20 @@ case 2: break; case 20: -#line 244 "perly.y" +#line 245 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; case 21: -#line 250 "perly.y" +#line 251 "perly.y" { (yyval.opval) = NULL; } break; case 22: -#line 252 "perly.y" +#line 253 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval)); PL_pad_reset_pending = TRUE; if ((ps[-1].val.opval) && (ps[0].val.opval)) @@ -198,13 +198,13 @@ case 2: break; case 23: -#line 261 "perly.y" +#line 262 "perly.y" { (yyval.opval) = NULL; } break; case 24: -#line 263 "perly.y" +#line 264 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval)); PL_pad_reset_pending = TRUE; if ((ps[-1].val.opval) && (ps[0].val.opval)) @@ -214,7 +214,7 @@ case 2: break; case 25: -#line 272 "perly.y" +#line 273 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } @@ -222,13 +222,13 @@ case 2: break; case 26: -#line 276 "perly.y" +#line 277 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 27: -#line 280 "perly.y" +#line 281 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -239,7 +239,7 @@ case 2: break; case 28: -#line 287 "perly.y" +#line 288 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -250,13 +250,13 @@ case 2: break; case 29: -#line 297 "perly.y" +#line 298 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 30: -#line 299 "perly.y" +#line 300 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -270,7 +270,7 @@ case 2: break; case 31: -#line 311 "perly.y" +#line 312 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -280,7 +280,7 @@ case 2: break; case 32: -#line 317 "perly.y" +#line 318 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -295,7 +295,7 @@ case 2: break; case 33: -#line 332 "perly.y" +#line 333 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -305,7 +305,7 @@ case 2: break; case 34: -#line 338 "perly.y" +#line 339 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-4].val.opval)->op_type == OP_CONST @@ -320,7 +320,7 @@ case 2: break; case 35: -#line 349 "perly.y" +#line 350 "perly.y" { package((ps[-1].val.opval)); if ((ps[-2].val.opval)) @@ -331,13 +331,13 @@ case 2: break; case 36: -#line 356 "perly.y" +#line 357 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; case 37: -#line 358 "perly.y" +#line 359 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval)); @@ -348,7 +348,7 @@ case 2: break; case 38: -#line 365 "perly.y" +#line 366 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); @@ -358,7 +358,7 @@ case 2: break; case 39: -#line 371 "perly.y" +#line 372 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); @@ -368,7 +368,7 @@ case 2: break; case 40: -#line 377 "perly.y" +#line 378 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0)); parser->copline = (line_t)(ps[-5].val.ival); @@ -377,19 +377,19 @@ case 2: break; case 41: -#line 382 "perly.y" +#line 383 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; case 42: -#line 384 "perly.y" +#line 385 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } break; case 43: -#line 386 "perly.y" +#line 387 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -400,7 +400,7 @@ case 2: break; case 44: -#line 393 "perly.y" +#line 394 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -411,19 +411,19 @@ case 2: break; case 45: -#line 400 "perly.y" +#line 401 "perly.y" { parser->expect = XTERM; } break; case 46: -#line 402 "perly.y" +#line 403 "perly.y" { parser->expect = XTERM; } break; case 47: -#line 405 "perly.y" +#line 406 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, @@ -442,7 +442,7 @@ case 2: break; case 48: -#line 420 "perly.y" +#line 421 "perly.y" { (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-8].val.ival); @@ -451,7 +451,7 @@ case 2: break; case 49: -#line 425 "perly.y" +#line 426 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); @@ -461,13 +461,13 @@ case 2: break; case 50: -#line 431 "perly.y" +#line 432 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; case 51: -#line 433 "perly.y" +#line 434 "perly.y" { (yyval.opval) = block_end( (ps[-7].val.ival), @@ -484,7 +484,7 @@ case 2: break; case 52: -#line 446 "perly.y" +#line 447 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP( 0, op_lvalue(newUNOP(OP_REFGEN, 0, @@ -496,7 +496,7 @@ case 2: break; case 53: -#line 454 "perly.y" +#line 455 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); @@ -506,7 +506,7 @@ case 2: break; case 54: -#line 460 "perly.y" +#line 461 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -516,7 +516,7 @@ case 2: break; case 55: -#line 466 "perly.y" +#line 467 "perly.y" { package((ps[-2].val.opval)); if ((ps[-3].val.opval)) { @@ -527,7 +527,7 @@ case 2: break; case 56: -#line 473 "perly.y" +#line 474 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -539,7 +539,7 @@ case 2: break; case 57: -#line 481 "perly.y" +#line 482 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -547,7 +547,7 @@ case 2: break; case 58: -#line 485 "perly.y" +#line 486 "perly.y" { (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -556,7 +556,7 @@ case 2: break; case 59: -#line 490 "perly.y" +#line 491 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -565,7 +565,7 @@ case 2: break; case 60: -#line 498 "perly.y" +#line 499 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -584,74 +584,74 @@ case 2: break; case 61: -#line 515 "perly.y" +#line 516 "perly.y" { (yyval.opval) = NULL; } break; case 62: -#line 517 "perly.y" +#line 518 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; case 64: -#line 525 "perly.y" +#line 526 "perly.y" { (yyval.opval) = NULL; } break; case 65: -#line 527 "perly.y" +#line 528 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 66: -#line 529 "perly.y" +#line 530 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 67: -#line 531 "perly.y" +#line 532 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 68: -#line 533 "perly.y" +#line 534 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; case 69: -#line 535 "perly.y" +#line 536 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 70: -#line 537 "perly.y" +#line 538 "perly.y" { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL); parser->copline = (line_t)(ps[-1].val.ival); } break; case 71: -#line 540 "perly.y" +#line 541 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; case 72: -#line 545 "perly.y" +#line 546 "perly.y" { (yyval.opval) = NULL; } break; case 73: -#line 547 "perly.y" +#line 548 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -660,7 +660,7 @@ case 2: break; case 74: -#line 552 "perly.y" +#line 553 "perly.y" { parser->copline = (line_t)(ps[-5].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), @@ -671,19 +671,19 @@ case 2: break; case 75: -#line 562 "perly.y" +#line 563 "perly.y" { (yyval.opval) = NULL; } break; case 76: -#line 564 "perly.y" +#line 565 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; case 77: -#line 569 "perly.y" +#line 570 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } @@ -691,13 +691,13 @@ case 2: break; case 78: -#line 575 "perly.y" +#line 576 "perly.y" { (yyval.opval) = NULL; } break; case 80: -#line 581 "perly.y" +#line 582 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } @@ -705,118 +705,118 @@ case 2: break; case 82: -#line 589 "perly.y" +#line 590 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; case 83: -#line 594 "perly.y" +#line 595 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; case 84: -#line 598 "perly.y" +#line 599 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; case 85: -#line 601 "perly.y" +#line 602 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 86: -#line 602 "perly.y" +#line 603 "perly.y" { (yyval.opval) = NULL; } break; case 87: -#line 606 "perly.y" +#line 607 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; case 88: -#line 612 "perly.y" +#line 613 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; case 89: -#line 617 "perly.y" +#line 618 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; case 92: -#line 628 "perly.y" +#line 629 "perly.y" { (yyval.opval) = NULL; } break; case 94: -#line 634 "perly.y" +#line 635 "perly.y" { (yyval.opval) = NULL; } break; case 95: -#line 636 "perly.y" +#line 637 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 96: -#line 638 "perly.y" +#line 639 "perly.y" { (yyval.opval) = NULL; } break; case 97: -#line 643 "perly.y" +#line 644 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 98: -#line 645 "perly.y" +#line 646 "perly.y" { (yyval.opval) = NULL; } break; case 99: -#line 656 "perly.y" +#line 657 "perly.y" { parser->in_my = 0; (yyval.opval) = NULL; } break; case 100: -#line 658 "perly.y" +#line 659 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; case 101: -#line 663 "perly.y" +#line 664 "perly.y" { (yyval.ival) = '@'; } break; case 102: -#line 665 "perly.y" +#line 666 "perly.y" { (yyval.ival) = '%'; } break; case 103: -#line 669 "perly.y" +#line 670 "perly.y" { I32 sigil = (ps[-2].val.ival); OP *var = (ps[-1].val.opval); @@ -836,25 +836,25 @@ case 2: break; case 104: -#line 688 "perly.y" +#line 689 "perly.y" { (yyval.opval) = NULL; } break; case 105: -#line 690 "perly.y" +#line 691 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; case 106: -#line 692 "perly.y" +#line 693 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 107: -#line 698 "perly.y" +#line 699 "perly.y" { OP *var = (ps[-1].val.opval); OP *defexpr = (ps[0].val.opval); @@ -919,25 +919,25 @@ case 2: break; case 108: -#line 763 "perly.y" +#line 764 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; case 109: -#line 765 "perly.y" +#line 766 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; case 110: -#line 771 "perly.y" +#line 772 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 111: -#line 773 "perly.y" +#line 774 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval)); } @@ -945,43 +945,43 @@ case 2: break; case 112: -#line 777 "perly.y" +#line 778 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 113: -#line 782 "perly.y" +#line 783 "perly.y" { (yyval.opval) = NULL; } break; case 114: -#line 784 "perly.y" +#line 785 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 115: -#line 788 "perly.y" +#line 789 "perly.y" { (yyval.opval) = NULL; } break; case 116: -#line 790 "perly.y" +#line 791 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 117: -#line 794 "perly.y" +#line 795 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 118: -#line 797 "perly.y" +#line 798 "perly.y" { ENTER; SAVEIV(parser->sig_elems); @@ -996,7 +996,7 @@ case 2: break; case 119: -#line 808 "perly.y" +#line 809 "perly.y" { OP *sigops = (ps[0].val.opval); struct op_argcheck_aux *aux; @@ -1055,19 +1055,19 @@ case 2: break; case 120: -#line 865 "perly.y" +#line 866 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 121: -#line 866 "perly.y" +#line 867 "perly.y" { (yyval.opval) = NULL; } break; case 122: -#line 872 "perly.y" +#line 873 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1077,19 +1077,19 @@ case 2: break; case 123: -#line 882 "perly.y" +#line 883 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 124: -#line 883 "perly.y" +#line 884 "perly.y" { (yyval.opval) = NULL; } break; case 125: -#line 887 "perly.y" +#line 888 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1100,31 +1100,31 @@ case 2: break; case 126: -#line 898 "perly.y" +#line 899 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 127: -#line 900 "perly.y" +#line 901 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 128: -#line 902 "perly.y" +#line 903 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 130: -#line 908 "perly.y" +#line 909 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 131: -#line 910 "perly.y" +#line 911 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1133,7 +1133,7 @@ case 2: break; case 133: -#line 919 "perly.y" +#line 920 "perly.y" { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) ); } @@ -1141,7 +1141,7 @@ case 2: break; case 134: -#line 923 "perly.y" +#line 924 "perly.y" { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) ); } @@ -1149,7 +1149,7 @@ case 2: break; case 135: -#line 927 "perly.y" +#line 928 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)), @@ -1159,7 +1159,7 @@ case 2: break; case 136: -#line 933 "perly.y" +#line 934 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-2].val.opval)), newMETHOP(OP_METHOD, 0, (ps[0].val.opval)))); @@ -1168,7 +1168,7 @@ case 2: break; case 137: -#line 938 "perly.y" +#line 939 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), @@ -1178,7 +1178,7 @@ case 2: break; case 138: -#line 944 "perly.y" +#line 945 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)), @@ -1188,32 +1188,32 @@ case 2: break; case 139: -#line 950 "perly.y" +#line 951 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; case 140: -#line 952 "perly.y" +#line 953 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; case 141: -#line 954 "perly.y" +#line 955 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; case 142: -#line 956 "perly.y" +#line 957 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); } break; case 143: -#line 959 "perly.y" +#line 960 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval))); @@ -1222,20 +1222,20 @@ case 2: break; case 146: -#line 974 "perly.y" +#line 975 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; case 147: -#line 976 "perly.y" +#line 977 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; case 148: -#line 979 "perly.y" +#line 980 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1244,7 +1244,7 @@ case 2: break; case 149: -#line 984 "perly.y" +#line 985 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1253,14 +1253,14 @@ case 2: break; case 150: -#line 989 "perly.y" +#line 990 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; case 151: -#line 992 "perly.y" +#line 993 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } @@ -1268,7 +1268,7 @@ case 2: break; case 152: -#line 996 "perly.y" +#line 997 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } @@ -1276,7 +1276,7 @@ case 2: break; case 153: -#line 1000 "perly.y" +#line 1001 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1286,7 +1286,7 @@ case 2: break; case 154: -#line 1006 "perly.y" +#line 1007 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-4].val.opval))))); @@ -1297,7 +1297,7 @@ case 2: break; case 155: -#line 1014 "perly.y" +#line 1015 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-3].val.opval))))); @@ -1308,7 +1308,7 @@ case 2: break; case 156: -#line 1021 "perly.y" +#line 1022 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1318,37 +1318,37 @@ case 2: break; case 157: -#line 1027 "perly.y" +#line 1028 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; case 158: -#line 1029 "perly.y" +#line 1030 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; case 159: -#line 1031 "perly.y" +#line 1032 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; case 160: -#line 1036 "perly.y" +#line 1037 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; case 161: -#line 1038 "perly.y" +#line 1039 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 162: -#line 1040 "perly.y" +#line 1041 "perly.y" { if ((ps[-1].val.ival) != OP_REPEAT) scalar((ps[-2].val.opval)); (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval))); @@ -1357,183 +1357,183 @@ case 2: break; case 163: -#line 1045 "perly.y" +#line 1046 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 164: -#line 1047 "perly.y" +#line 1048 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 165: -#line 1049 "perly.y" +#line 1050 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 166: -#line 1051 "perly.y" +#line 1052 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 167: -#line 1053 "perly.y" +#line 1054 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 168: -#line 1055 "perly.y" +#line 1056 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 169: -#line 1057 "perly.y" +#line 1058 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 170: -#line 1059 "perly.y" +#line 1060 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 171: -#line 1061 "perly.y" +#line 1062 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 172: -#line 1063 "perly.y" +#line 1064 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 173: -#line 1065 "perly.y" +#line 1066 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 174: -#line 1069 "perly.y" +#line 1070 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; case 175: -#line 1071 "perly.y" +#line 1072 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 176: -#line 1073 "perly.y" +#line 1074 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 177: -#line 1075 "perly.y" +#line 1076 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 178: -#line 1079 "perly.y" +#line 1080 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 179: -#line 1081 "perly.y" +#line 1082 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 180: -#line 1085 "perly.y" +#line 1086 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; case 181: -#line 1087 "perly.y" +#line 1088 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 182: -#line 1089 "perly.y" +#line 1090 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 183: -#line 1091 "perly.y" +#line 1092 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 184: -#line 1095 "perly.y" +#line 1096 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 185: -#line 1097 "perly.y" +#line 1098 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 186: -#line 1102 "perly.y" +#line 1103 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; case 187: -#line 1104 "perly.y" +#line 1105 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 188: -#line 1107 "perly.y" +#line 1108 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; case 189: -#line 1109 "perly.y" +#line 1110 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; case 190: -#line 1111 "perly.y" +#line 1112 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; case 191: -#line 1114 "perly.y" +#line 1115 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; case 192: -#line 1117 "perly.y" +#line 1118 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1548,155 +1548,155 @@ case 2: break; case 193: -#line 1128 "perly.y" +#line 1129 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; case 194: -#line 1131 "perly.y" +#line 1132 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; case 195: -#line 1138 "perly.y" +#line 1139 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; case 196: -#line 1140 "perly.y" +#line 1141 "perly.y" { (yyval.opval) = newANONLIST(NULL);} break; case 197: -#line 1142 "perly.y" +#line 1143 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; case 198: -#line 1144 "perly.y" +#line 1145 "perly.y" { (yyval.opval) = newANONHASH(NULL); } break; case 199: -#line 1146 "perly.y" +#line 1147 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); } break; case 200: -#line 1149 "perly.y" +#line 1150 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); } break; case 201: -#line 1155 "perly.y" +#line 1156 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; case 202: -#line 1157 "perly.y" +#line 1158 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; case 207: -#line 1165 "perly.y" +#line 1166 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 208: -#line 1167 "perly.y" +#line 1168 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; case 209: -#line 1169 "perly.y" +#line 1170 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; case 210: -#line 1171 "perly.y" +#line 1172 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 211: -#line 1173 "perly.y" +#line 1174 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; case 212: -#line 1175 "perly.y" +#line 1176 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; case 213: -#line 1177 "perly.y" +#line 1178 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 214: -#line 1179 "perly.y" +#line 1180 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; case 215: -#line 1181 "perly.y" +#line 1182 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 216: -#line 1183 "perly.y" +#line 1184 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 217: -#line 1185 "perly.y" +#line 1186 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 218: -#line 1187 "perly.y" +#line 1188 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 219: -#line 1189 "perly.y" +#line 1190 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; case 220: -#line 1191 "perly.y" +#line 1192 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 221: -#line 1193 "perly.y" +#line 1194 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1710,7 +1710,7 @@ case 2: break; case 222: -#line 1203 "perly.y" +#line 1204 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1724,7 +1724,7 @@ case 2: break; case 223: -#line 1213 "perly.y" +#line 1214 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1738,7 +1738,7 @@ case 2: break; case 224: -#line 1223 "perly.y" +#line 1224 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1752,26 +1752,26 @@ case 2: break; case 225: -#line 1233 "perly.y" +#line 1234 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 226: -#line 1235 "perly.y" +#line 1236 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; case 227: -#line 1237 "perly.y" +#line 1238 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; case 228: -#line 1240 "perly.y" +#line 1241 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1780,7 +1780,7 @@ case 2: break; case 229: -#line 1245 "perly.y" +#line 1246 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } @@ -1788,130 +1788,130 @@ case 2: break; case 230: -#line 1249 "perly.y" +#line 1250 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; case 231: -#line 1251 "perly.y" +#line 1252 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; case 232: -#line 1253 "perly.y" +#line 1254 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; case 233: -#line 1255 "perly.y" +#line 1256 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; case 234: -#line 1258 "perly.y" +#line 1259 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; case 235: -#line 1260 "perly.y" +#line 1261 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; case 236: -#line 1263 "perly.y" +#line 1264 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; case 237: -#line 1265 "perly.y" +#line 1266 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; case 238: -#line 1267 "perly.y" +#line 1268 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; case 239: -#line 1269 "perly.y" +#line 1270 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; case 240: -#line 1271 "perly.y" +#line 1272 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; case 241: -#line 1273 "perly.y" +#line 1274 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; case 242: -#line 1275 "perly.y" +#line 1276 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; case 243: -#line 1277 "perly.y" +#line 1278 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; case 244: -#line 1279 "perly.y" +#line 1280 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; case 245: -#line 1282 "perly.y" +#line 1283 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; case 246: -#line 1284 "perly.y" +#line 1285 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; case 247: -#line 1286 "perly.y" +#line 1287 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 248: -#line 1288 "perly.y" +#line 1289 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; case 249: -#line 1290 "perly.y" +#line 1291 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; case 250: -#line 1292 "perly.y" +#line 1293 "perly.y" { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT) ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) : newOP((ps[-2].val.ival), OPf_SPECIAL); } @@ -1919,13 +1919,13 @@ case 2: break; case 251: -#line 1296 "perly.y" +#line 1297 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; case 252: -#line 1298 "perly.y" +#line 1299 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -1940,115 +1940,115 @@ case 2: break; case 253: -#line 1309 "perly.y" +#line 1310 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; case 257: -#line 1317 "perly.y" +#line 1318 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; case 258: -#line 1319 "perly.y" +#line 1320 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; case 259: -#line 1321 "perly.y" +#line 1322 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; case 260: -#line 1326 "perly.y" +#line 1327 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; case 261: -#line 1328 "perly.y" +#line 1329 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; case 262: -#line 1331 "perly.y" +#line 1332 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 263: -#line 1333 "perly.y" +#line 1334 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 264: -#line 1335 "perly.y" +#line 1336 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 265: -#line 1340 "perly.y" +#line 1341 "perly.y" { (yyval.opval) = NULL; } break; case 266: -#line 1342 "perly.y" +#line 1343 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 267: -#line 1346 "perly.y" +#line 1347 "perly.y" { (yyval.opval) = NULL; } break; case 268: -#line 1348 "perly.y" +#line 1349 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 269: -#line 1352 "perly.y" +#line 1353 "perly.y" { (yyval.opval) = NULL; } break; case 270: -#line 1354 "perly.y" +#line 1355 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 271: -#line 1360 "perly.y" +#line 1361 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; case 279: -#line 1377 "perly.y" +#line 1378 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; case 280: -#line 1381 "perly.y" +#line 1382 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; case 281: -#line 1385 "perly.y" +#line 1386 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } @@ -2056,7 +2056,7 @@ case 2: break; case 282: -#line 1391 "perly.y" +#line 1392 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } @@ -2064,61 +2064,61 @@ case 2: break; case 283: -#line 1397 "perly.y" +#line 1398 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; case 284: -#line 1399 "perly.y" +#line 1400 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; case 285: -#line 1403 "perly.y" +#line 1404 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; case 287: -#line 1408 "perly.y" +#line 1409 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; case 289: -#line 1413 "perly.y" +#line 1414 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; case 291: -#line 1418 "perly.y" +#line 1419 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; case 292: -#line 1423 "perly.y" +#line 1424 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; case 293: -#line 1425 "perly.y" +#line 1426 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; case 294: -#line 1427 "perly.y" +#line 1428 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; case 295: -#line 1430 "perly.y" +#line 1431 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2130,6 +2130,6 @@ case 2: /* Generated from: - * 491face02c08897e36ea2126d0fdaca15a924544759450fefcdd9947844c7b2f perly.y + * d555d290bc7bf474791b8fd853e445933bb75ff8ff453aca9f7ff3b05b614566 perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ @@ -76,92 +76,93 @@ extern int yydebug; PERLY_PLUS = 275, PERLY_SEMICOLON = 276, PERLY_SNAIL = 277, - BAREWORD = 278, - METHOD = 279, - FUNCMETH = 280, - THING = 281, - PMFUNC = 282, - PRIVATEREF = 283, - QWLIST = 284, - FUNC0OP = 285, - FUNC0SUB = 286, - UNIOPSUB = 287, - LSTOPSUB = 288, - PLUGEXPR = 289, - PLUGSTMT = 290, - LABEL = 291, - FORMAT = 292, - SUB = 293, - SIGSUB = 294, - ANONSUB = 295, - ANON_SIGSUB = 296, - PACKAGE = 297, - USE = 298, - WHILE = 299, - UNTIL = 300, - IF = 301, - UNLESS = 302, - ELSE = 303, - ELSIF = 304, - CONTINUE = 305, - FOR = 306, - GIVEN = 307, - WHEN = 308, - DEFAULT = 309, - LOOPEX = 310, - DOTDOT = 311, - YADAYADA = 312, - FUNC0 = 313, - FUNC1 = 314, - FUNC = 315, - UNIOP = 316, - LSTOP = 317, - MULOP = 318, - ADDOP = 319, - DOLSHARP = 320, - DO = 321, - HASHBRACK = 322, - NOAMP = 323, - LOCAL = 324, - MY = 325, - REQUIRE = 326, - COLONATTR = 327, - FORMLBRACK = 328, - FORMRBRACK = 329, - SUBLEXSTART = 330, - SUBLEXEND = 331, - PREC_LOW = 332, - OROP = 333, - DOROP = 334, - ANDOP = 335, - NOTOP = 336, - ASSIGNOP = 337, - PERLY_QUESTION_MARK = 338, - PERLY_COLON = 339, - OROR = 340, - DORDOR = 341, - ANDAND = 342, - BITOROP = 343, - BITANDOP = 344, - CHEQOP = 345, - NCEQOP = 346, - CHRELOP = 347, - NCRELOP = 348, - SHIFTOP = 349, - MATCHOP = 350, - PERLY_EXCLAMATION_MARK = 351, - PERLY_TILDE = 352, - UMINUS = 353, - REFGEN = 354, - POWOP = 355, - PREINC = 356, - PREDEC = 357, - POSTINC = 358, - POSTDEC = 359, - POSTJOIN = 360, - ARROW = 361, - PERLY_PAREN_CLOSE = 362, - PERLY_PAREN_OPEN = 363 + PERLY_STAR = 278, + BAREWORD = 279, + METHOD = 280, + FUNCMETH = 281, + THING = 282, + PMFUNC = 283, + PRIVATEREF = 284, + QWLIST = 285, + FUNC0OP = 286, + FUNC0SUB = 287, + UNIOPSUB = 288, + LSTOPSUB = 289, + PLUGEXPR = 290, + PLUGSTMT = 291, + LABEL = 292, + FORMAT = 293, + SUB = 294, + SIGSUB = 295, + ANONSUB = 296, + ANON_SIGSUB = 297, + PACKAGE = 298, + USE = 299, + WHILE = 300, + UNTIL = 301, + IF = 302, + UNLESS = 303, + ELSE = 304, + ELSIF = 305, + CONTINUE = 306, + FOR = 307, + GIVEN = 308, + WHEN = 309, + DEFAULT = 310, + LOOPEX = 311, + DOTDOT = 312, + YADAYADA = 313, + FUNC0 = 314, + FUNC1 = 315, + FUNC = 316, + UNIOP = 317, + LSTOP = 318, + MULOP = 319, + ADDOP = 320, + DOLSHARP = 321, + DO = 322, + HASHBRACK = 323, + NOAMP = 324, + LOCAL = 325, + MY = 326, + REQUIRE = 327, + COLONATTR = 328, + FORMLBRACK = 329, + FORMRBRACK = 330, + SUBLEXSTART = 331, + SUBLEXEND = 332, + PREC_LOW = 333, + OROP = 334, + DOROP = 335, + ANDOP = 336, + NOTOP = 337, + ASSIGNOP = 338, + PERLY_QUESTION_MARK = 339, + PERLY_COLON = 340, + OROR = 341, + DORDOR = 342, + ANDAND = 343, + BITOROP = 344, + BITANDOP = 345, + CHEQOP = 346, + NCEQOP = 347, + CHRELOP = 348, + NCRELOP = 349, + SHIFTOP = 350, + MATCHOP = 351, + PERLY_EXCLAMATION_MARK = 352, + PERLY_TILDE = 353, + UMINUS = 354, + REFGEN = 355, + POWOP = 356, + PREINC = 357, + PREDEC = 358, + POSTINC = 359, + POSTDEC = 360, + POSTJOIN = 361, + ARROW = 362, + PERLY_PAREN_CLOSE = 363, + PERLY_PAREN_OPEN = 364 }; #endif @@ -213,6 +214,6 @@ int yyparse (void); /* Generated from: - * 491face02c08897e36ea2126d0fdaca15a924544759450fefcdd9947844c7b2f perly.y + * d555d290bc7bf474791b8fd853e445933bb75ff8ff453aca9f7ff3b05b614566 perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ @@ -6,7 +6,7 @@ #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3111 +#define YYLAST 3189 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 112 @@ -18,7 +18,7 @@ #define YYNSTATES 573 #define YYUNDEFTOK 2 -#define YYMAXUTOK 363 +#define YYMAXUTOK 364 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -33,8 +33,8 @@ static const yytype_int8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 109, 2, 2, 2, - 2, 2, 110, 2, 2, 2, 2, 111, 2, 2, + 2, 2, 2, 2, 2, 2, 110, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 111, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -66,43 +66,43 @@ static const yytype_int8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108 + 105, 106, 107, 108, 109 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 134, 134, 133, 145, 144, 155, 154, 168, 167, - 181, 180, 194, 193, 204, 203, 216, 224, 232, 236, - 244, 250, 251, 261, 262, 271, 275, 279, 286, 296, - 298, 311, 308, 332, 327, 348, 356, 355, 364, 370, - 376, 381, 383, 385, 392, 400, 402, 399, 419, 424, - 431, 430, 445, 453, 459, 466, 465, 480, 484, 489, - 497, 515, 516, 520, 524, 526, 528, 530, 532, 534, - 536, 539, 545, 546, 551, 562, 563, 569, 575, 576, - 581, 584, 588, 593, 597, 601, 602, 606, 612, 617, - 622, 623, 628, 629, 634, 635, 637, 642, 644, 656, - 657, 662, 664, 668, 688, 689, 691, 697, 762, 764, - 770, 772, 776, 782, 783, 788, 789, 793, 797, 797, - 865, 866, 871, 882, 883, 886, 897, 899, 901, 903, - 907, 909, 914, 918, 922, 926, 932, 937, 943, 949, - 951, 953, 956, 955, 966, 967, 971, 975, 978, 983, - 988, 991, 995, 999, 1005, 1013, 1020, 1026, 1028, 1030, - 1035, 1037, 1039, 1044, 1046, 1048, 1050, 1052, 1054, 1056, - 1058, 1060, 1062, 1064, 1068, 1070, 1072, 1074, 1078, 1080, - 1084, 1086, 1088, 1090, 1094, 1096, 1101, 1103, 1106, 1108, - 1110, 1113, 1116, 1127, 1130, 1137, 1139, 1141, 1143, 1145, - 1148, 1154, 1156, 1160, 1161, 1162, 1163, 1164, 1166, 1168, - 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, - 1190, 1192, 1202, 1212, 1222, 1232, 1234, 1236, 1239, 1244, - 1248, 1250, 1252, 1254, 1257, 1259, 1262, 1264, 1266, 1268, - 1270, 1272, 1274, 1276, 1278, 1281, 1283, 1285, 1287, 1289, - 1291, 1295, 1298, 1297, 1310, 1311, 1312, 1316, 1318, 1320, - 1325, 1327, 1330, 1332, 1334, 1339, 1341, 1346, 1347, 1352, - 1353, 1359, 1363, 1364, 1365, 1368, 1369, 1372, 1373, 1376, - 1380, 1384, 1390, 1396, 1398, 1402, 1406, 1407, 1411, 1412, - 1416, 1417, 1422, 1424, 1426, 1429 + 0, 135, 135, 134, 146, 145, 156, 155, 169, 168, + 182, 181, 195, 194, 205, 204, 217, 225, 233, 237, + 245, 251, 252, 262, 263, 272, 276, 280, 287, 297, + 299, 312, 309, 333, 328, 349, 357, 356, 365, 371, + 377, 382, 384, 386, 393, 401, 403, 400, 420, 425, + 432, 431, 446, 454, 460, 467, 466, 481, 485, 490, + 498, 516, 517, 521, 525, 527, 529, 531, 533, 535, + 537, 540, 546, 547, 552, 563, 564, 570, 576, 577, + 582, 585, 589, 594, 598, 602, 603, 607, 613, 618, + 623, 624, 629, 630, 635, 636, 638, 643, 645, 657, + 658, 663, 665, 669, 689, 690, 692, 698, 763, 765, + 771, 773, 777, 783, 784, 789, 790, 794, 798, 798, + 866, 867, 872, 883, 884, 887, 898, 900, 902, 904, + 908, 910, 915, 919, 923, 927, 933, 938, 944, 950, + 952, 954, 957, 956, 967, 968, 972, 976, 979, 984, + 989, 992, 996, 1000, 1006, 1014, 1021, 1027, 1029, 1031, + 1036, 1038, 1040, 1045, 1047, 1049, 1051, 1053, 1055, 1057, + 1059, 1061, 1063, 1065, 1069, 1071, 1073, 1075, 1079, 1081, + 1085, 1087, 1089, 1091, 1095, 1097, 1102, 1104, 1107, 1109, + 1111, 1114, 1117, 1128, 1131, 1138, 1140, 1142, 1144, 1146, + 1149, 1155, 1157, 1161, 1162, 1163, 1164, 1165, 1167, 1169, + 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1189, + 1191, 1193, 1203, 1213, 1223, 1233, 1235, 1237, 1240, 1245, + 1249, 1251, 1253, 1255, 1258, 1260, 1263, 1265, 1267, 1269, + 1271, 1273, 1275, 1277, 1279, 1282, 1284, 1286, 1288, 1290, + 1292, 1296, 1299, 1298, 1311, 1312, 1313, 1317, 1319, 1321, + 1326, 1328, 1331, 1333, 1335, 1340, 1342, 1347, 1348, 1353, + 1354, 1360, 1364, 1365, 1366, 1369, 1370, 1373, 1374, 1377, + 1381, 1385, 1391, 1397, 1399, 1403, 1407, 1408, 1412, 1413, + 1417, 1418, 1423, 1425, 1427, 1430 }; #endif @@ -116,28 +116,28 @@ static const char *const yytname[] = "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE", "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS", - "PERLY_SEMICOLON", "PERLY_SNAIL", "BAREWORD", "METHOD", "FUNCMETH", - "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", - "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "FORMAT", "SUB", - "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", "WHILE", "UNTIL", - "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", - "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", - "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO", "HASHBRACK", - "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR", "FORMLBRACK", - "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PREC_LOW", "OROP", "DOROP", - "ANDOP", "NOTOP", "ASSIGNOP", "PERLY_QUESTION_MARK", "PERLY_COLON", - "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", - "CHRELOP", "NCRELOP", "SHIFTOP", "MATCHOP", "PERLY_EXCLAMATION_MARK", - "PERLY_TILDE", "UMINUS", "REFGEN", "POWOP", "PREINC", "PREDEC", - "POSTINC", "POSTDEC", "POSTJOIN", "ARROW", "PERLY_PAREN_CLOSE", - "PERLY_PAREN_OPEN", "'$'", "'*'", "'/'", "$accept", "grammar", "@1", - "@2", "@3", "@4", "@5", "@6", "@7", "block", "formblock", "remember", - "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt", - "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11", "$@12", "@13", - "$@14", "formline", "formarg", "condition", "sideff", "else", "cont", - "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", - "startsub", "startanonsub", "startformsub", "subname", "proto", - "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil", + "PERLY_SEMICOLON", "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHOD", + "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", + "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", + "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", + "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", + "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", + "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO", + "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR", + "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PREC_LOW", + "OROP", "DOROP", "ANDOP", "NOTOP", "ASSIGNOP", "PERLY_QUESTION_MARK", + "PERLY_COLON", "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP", + "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP", "SHIFTOP", "MATCHOP", + "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS", "REFGEN", "POWOP", + "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "ARROW", + "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "'$'", "'/'", "$accept", + "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block", + "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq", + "fullstmt", "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11", + "$@12", "@13", "$@14", "formline", "formarg", "condition", "sideff", + "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", + "formname", "startsub", "startanonsub", "startformsub", "subname", + "proto", "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist", "siglistornull", "optsubsignature", "subsignature", "subsigguts", "$@15", "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "expr", @@ -165,12 +165,12 @@ static const yytype_int16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 36, - 42, 47 + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 36, 47 }; # endif -#define YYPACT_NINF (-487) +#define YYPACT_NINF (-460) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -184,64 +184,64 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 1117, -487, -487, -487, -487, -487, -487, -487, 27, -487, - 2722, 38, 1420, 1327, -487, -487, -487, -487, 10, 1792, - 2722, 10, 2722, 10, -487, 10, 10, -487, -487, 26, - -46, -487, 2722, -487, -487, -487, -487, 2722, -33, -18, - -41, 1885, 1699, 10, 1885, 1978, 13, 2722, 28, 2722, - 2722, 2722, 2722, 2722, 2722, 2722, 2071, 10, 10, 108, - 56, -487, -4, -487, 22, 7, 48, 19, -487, -487, - -487, 2915, -487, -487, 33, 94, 138, 162, -487, 91, - 171, 234, 156, -487, -487, -487, -487, -487, -487, 13, - 13, 169, -487, 71, 119, 126, 132, 324, 136, 142, - 38, 243, 218, -487, 252, 433, 1327, -487, -487, -487, - 583, -487, 23, 676, -487, -487, -487, -487, -487, -487, - -6, 401, -487, 401, -487, 2722, 167, 237, 2722, 211, - 429, 38, 301, 260, 2915, 226, 2164, 2722, 1699, -487, - 429, 475, 56, -487, 362, 2722, -487, -487, 429, 336, - 245, -487, -487, 2722, 429, 2815, 2257, 285, -487, -487, - -487, 429, 56, 401, 401, 401, 282, 282, 348, 131, - -487, -487, 2722, 2722, 2722, 2722, 2722, 2722, 2350, -487, - -487, 2722, -487, -487, 2722, 2722, 2722, 2722, 2722, 2722, - 2722, 2722, 2722, 2722, 2722, 2722, 2722, 2722, 2722, 2722, - 2722, 2722, -487, -487, -487, 250, 2443, 2722, 2722, 2722, - 2722, 2722, 2722, 2722, -487, 347, -487, -487, 351, -487, - -487, -487, -487, -487, 279, 9, -487, -487, 281, -487, - -487, -487, -487, 38, -487, -487, 2722, 2722, 2722, 2722, - 2722, 2722, -487, -487, -487, -487, -487, 364, 364, -487, - -487, -487, 378, -487, -487, -487, 2722, 2722, 18, -487, - -487, -487, 260, 372, -487, -487, -487, 202, 334, 293, - 2722, 56, -487, 399, -487, 2536, 401, 285, 40, 45, - 52, -487, 380, 391, -487, 2722, 406, 344, 344, -487, - 2915, 262, 81, -487, 436, 429, 940, 3005, 1120, 90, - 2915, 2870, 568, 568, 661, 754, 847, 940, 940, 429, - 429, 1033, 401, 401, 327, 2722, 2722, 333, 353, -487, - 354, 2629, 12, 366, 326, -487, -487, 469, 289, 128, - 317, 157, 325, 163, 342, 769, -487, 418, -487, -487, - 59, 438, 2722, 2722, 2722, 2722, -487, 373, -487, -487, - 377, -487, -487, -487, -487, 1513, 24, -487, 2722, 2722, - -487, -487, 108, -487, 108, -487, -487, -487, -487, -487, - 412, 412, 23, 374, 15, -487, 2722, -487, -487, 387, - -487, -487, -487, -487, 493, -487, 11, 1111, -487, -487, - -487, 177, 2722, 476, -487, -487, 2722, -487, 350, 251, - -487, -487, -487, -487, 1204, -487, -487, 2722, -487, 485, - -487, 486, -487, 488, -487, 496, -487, -487, -487, 301, - 260, -487, -487, 487, 410, 108, 411, 420, 108, 423, - 417, -487, -487, -487, -487, 434, 515, 275, -487, 2722, - 435, 439, 2722, -487, -487, -487, -487, 2722, 464, -487, - 539, -487, -487, 541, -487, -487, 31, -487, 265, -487, - 2960, 544, -487, -487, 467, -487, -487, -487, -487, 556, - 260, 564, -487, 2722, -487, -487, 580, 580, 2722, 2722, - 580, -487, 484, 490, 580, 580, 2915, 108, -487, -487, - 491, -487, -487, -487, -487, 521, 578, -487, -487, -487, - -487, 590, 580, 580, -487, 114, 114, 526, 532, 218, - 2722, 2722, 580, -487, -487, 862, -487, 955, -487, -487, - -487, -487, 1048, -487, 218, 218, -487, 580, 538, -487, - -487, 580, 580, -487, 626, 558, 218, -487, -487, 68, - -487, -487, -487, 1141, -487, 2722, 218, 218, -487, 580, - -487, 650, 594, -487, -487, 562, -487, -487, -487, 218, - -487, -487, -487, 580, 1606, -487, 1234, 114, 563, -487, - -487, 580, -487 + 1015, -460, -460, -460, -460, -460, -460, -460, 26, -460, + 2825, 57, 1509, 1415, -460, -460, -460, -460, 8, 1885, + 2825, 8, 2825, 8, 8, -460, 8, 8, -460, -460, + 22, -30, -460, 2825, -460, -460, -460, -460, 2825, -24, + -21, -59, 1979, 1791, 8, 1979, 2073, 31, 2825, 78, + 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2167, 8, 103, + 83, -460, -1, -460, -2, 20, 13, 28, -460, -460, + -460, 2992, -460, -460, 14, 52, 58, 64, -460, 117, + 236, 239, 125, -460, -460, -460, -460, -460, -460, 31, + 31, 122, -460, 42, 68, 87, 99, 261, 118, 129, + 57, 240, 231, -460, 253, 1601, 1415, -460, -460, -460, + 663, -460, 2, 757, -460, -460, -460, -460, -460, -460, + 92, 299, -460, 299, -460, -460, 2825, 196, 207, 2825, + 198, 393, 57, 282, 242, 2992, 205, 2261, 2825, 1791, + -460, 393, 564, 83, -460, 466, 2825, -460, -460, 393, + 305, 81, -460, -460, 2825, 393, 2919, 2355, 245, -460, + -460, -460, 393, 83, 299, 299, 299, 153, 153, 307, + 155, -460, 2825, 2825, 2825, 2825, 2825, 2825, 2449, -460, + -460, 2825, -460, -460, 2825, 2825, 2825, 2825, 2825, 2825, + 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, + 2825, 2825, -460, -460, -460, 71, 2543, 2825, 2825, 2825, + 2825, 2825, 2825, 2825, -460, 302, -460, -460, 309, -460, + -460, -460, -460, -460, 254, 24, -460, -460, 214, -460, + -460, -460, -460, 57, -460, -460, 2825, 2825, 2825, 2825, + 2825, 2825, -460, -460, -460, -460, -460, 311, 311, -460, + -460, -460, 327, -460, -460, -460, 2825, 2825, 110, -460, + -460, -460, 242, 326, -460, -460, -460, 313, 289, 265, + 2825, 83, -460, 357, -460, 2637, 299, 245, 53, 59, + 90, -460, 344, 348, -460, 2825, 369, 306, 306, -460, + 2992, 165, 113, -460, 425, 393, 355, 3082, 1018, 930, + 2992, 2947, 501, 501, 648, 742, 836, 355, 355, 393, + 393, 420, 299, 299, 360, 2825, 2825, 365, 379, 388, + -460, 390, 2731, 29, 308, -460, -460, 460, 174, 130, + 191, 161, 300, 199, 317, 851, -460, 405, -460, -460, + 12, 404, 2825, 2825, 2825, 2825, -460, 319, -460, -460, + 321, -460, -460, -460, -460, 1603, 37, -460, 2825, 2825, + -460, -460, 103, -460, 103, -460, -460, -460, -460, -460, + 351, 351, 2, 329, 0, -460, 2825, -460, -460, 334, + -460, -460, -460, -460, 507, -460, 7, 519, -460, -460, + -460, 223, 2825, 423, -460, -460, 2825, -460, 328, 250, + -460, -460, -460, -460, -460, 553, -460, 2825, -460, 426, + -460, 432, -460, 433, -460, 435, -460, -460, -460, 282, + 242, -460, -460, 431, 359, 103, 361, 367, 103, 370, + 356, -460, -460, -460, -460, 374, 447, 310, -460, 2825, + 378, 382, 2825, -460, -460, -460, -460, 2825, 396, -460, + 481, -460, -460, 482, -460, -460, 41, -460, 297, -460, + 3037, 483, -460, -460, 399, -460, -460, -460, -460, 480, + 242, 487, -460, 2825, -460, -460, 499, 499, 2825, 2825, + 499, -460, 406, 409, 499, 499, 2992, 103, -460, -460, + 411, -460, -460, -460, -460, 453, 508, -460, -460, -460, + -460, 511, 499, 499, -460, 91, 91, 414, 427, 231, + 2825, 2825, 499, -460, -460, 945, -460, 1039, -460, -460, + -460, -460, 1133, -460, 231, 231, -460, 499, 429, -460, + -460, 499, 499, -460, 515, 440, 231, -460, -460, 30, + -460, -460, -460, 1227, -460, 2825, 231, 231, -460, 499, + -460, 547, 495, -460, -460, 467, -460, -460, -460, 231, + -460, -460, -460, 499, 1697, -460, 1321, 91, 468, -460, + -460, 499, -460 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -251,22 +251,22 @@ static const yytype_int16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 18, 267, 0, 0, 0, 21, 118, 1, 21, 0, 0, - 0, 0, 0, 0, 254, 0, 0, 225, 252, 213, - 247, 249, 243, 88, 256, 88, 88, 235, 245, 0, - 0, 238, 265, 0, 0, 0, 0, 0, 0, 241, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, + 0, 0, 0, 0, 0, 254, 0, 0, 225, 252, + 213, 247, 249, 243, 88, 256, 88, 88, 235, 245, + 0, 0, 238, 265, 0, 0, 0, 0, 0, 0, + 241, 0, 0, 0, 0, 0, 0, 0, 0, 268, 129, 255, 220, 203, 165, 174, 166, 180, 204, 205, 206, 132, 210, 5, 226, 215, 218, 217, 219, 216, 0, 0, 0, 18, 7, 64, 59, 29, 89, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 9, 0, 65, 0, 11, 26, 25, 0, 15, 113, 0, 292, 295, 294, 293, 279, 196, - 0, 186, 282, 187, 281, 265, 0, 0, 0, 0, - 244, 0, 92, 94, 236, 0, 0, 267, 267, 239, - 240, 292, 266, 139, 293, 0, 283, 202, 201, 0, - 0, 90, 91, 265, 211, 0, 0, 258, 262, 264, - 263, 242, 237, 188, 189, 208, 193, 194, 214, 0, - 280, 285, 0, 0, 0, 130, 0, 0, 0, 177, + 0, 186, 282, 187, 281, 285, 265, 0, 0, 0, + 0, 244, 0, 92, 94, 236, 0, 0, 267, 267, + 239, 240, 292, 266, 139, 293, 0, 283, 202, 201, + 0, 0, 90, 91, 265, 211, 0, 0, 258, 262, + 264, 263, 242, 237, 188, 189, 208, 193, 194, 214, + 0, 280, 0, 0, 0, 130, 0, 0, 0, 177, 176, 0, 183, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, 0, 0, 0, 0, @@ -280,8 +280,8 @@ static const yytype_int16 yydefact[] = 217, 261, 0, 98, 257, 0, 212, 127, 128, 126, 131, 0, 0, 156, 0, 179, 185, 169, 162, 163, 160, 0, 171, 172, 170, 168, 167, 184, 181, 178, - 175, 164, 173, 161, 0, 0, 0, 289, 287, 144, - 0, 0, 0, 291, 136, 145, 227, 0, 0, 0, + 175, 164, 173, 161, 0, 0, 0, 289, 287, 291, + 144, 0, 0, 0, 136, 145, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 31, 33, 0, 0, 80, 0, 0, 0, 277, 0, 278, 275, 0, 276, 272, 273, 274, 0, 0, 18, 0, 0, @@ -289,7 +289,7 @@ static const yytype_int16 yydefact[] = 104, 104, 110, 0, 269, 158, 265, 18, 95, 115, 200, 251, 141, 140, 0, 197, 214, 0, 259, 260, 97, 0, 0, 0, 149, 155, 0, 233, 0, 0, - 232, 231, 284, 153, 0, 230, 234, 267, 228, 0, + 232, 231, 234, 284, 153, 0, 230, 267, 228, 0, 147, 0, 221, 0, 222, 0, 16, 18, 30, 92, 94, 18, 35, 0, 0, 81, 0, 0, 83, 0, 0, 271, 18, 79, 84, 0, 0, 65, 50, 0, @@ -312,16 +312,16 @@ static const yytype_int16 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -487, -487, -487, -487, -487, -487, -487, -487, -487, 43, - -487, -5, 2417, -487, -17, -487, 662, 572, 5, -487, - -487, -487, -487, -487, -487, -487, -487, -487, 349, -341, - -486, -145, -465, -487, 173, 338, -333, 124, -487, -3, - 270, -487, 227, 271, -244, 427, 478, -487, -487, 361, - -487, 367, -487, -487, -487, -487, 288, -487, -487, 263, - -487, 277, -8, -37, -487, -487, -487, -487, -487, -487, - -487, -487, -487, -487, -487, -487, 103, -487, -487, 603, - -124, -122, -487, -487, 404, -487, -487, 537, 34, -45, - -42, -487, -487, -487, -487, -487, 228 + -460, -460, -460, -460, -460, -460, -460, -460, -460, 301, + -460, -5, -117, -460, -17, -460, 571, 497, 1, -460, + -460, -460, -460, -460, -460, -460, -460, -460, 342, -350, + -432, -83, -459, -460, 94, 258, -272, 49, -460, -58, + 229, -460, 179, 195, -244, 340, 371, -460, -460, 249, + -460, 251, -460, -460, -460, -460, 170, -460, -460, 134, + -460, 154, -8, -37, -460, -460, -460, -460, -460, -460, + -460, -460, -460, -460, -460, -460, 100, -460, -460, 470, + -125, -131, -460, -460, 275, -460, -460, 410, 18, -46, + -40, -460, -460, -460, -460, -460, 4 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -331,12 +331,12 @@ static const yytype_int16 yydefgoto[] = 418, 379, 505, 526, 110, 539, 244, 108, 109, 419, 420, 341, 510, 558, 482, 500, 553, 562, 361, 104, 529, 234, 502, 434, 424, 363, 427, 436, 337, 219, - 131, 215, 153, 262, 264, 284, 370, 248, 249, 443, + 132, 215, 154, 262, 264, 284, 370, 248, 249, 443, 250, 251, 252, 253, 453, 454, 111, 112, 520, 451, 498, 380, 105, 60, 61, 376, 324, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 127, 72, 157, - 143, 73, 448, 430, 349, 350, 227, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 170 + 65, 66, 67, 68, 69, 70, 71, 128, 72, 158, + 144, 73, 448, 430, 349, 350, 227, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 171 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -344,634 +344,648 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 113, 255, 59, 159, 17, 142, 160, 176, 254, 177, - 503, 120, 429, 162, 433, 268, 269, 103, 377, 18, - 530, 83, 435, 83, 285, 440, 441, 16, 21, 274, - 175, 23, 375, 114, 137, 114, 151, 150, 115, 128, - 115, 152, 245, 21, 392, 246, 23, 21, 169, 83, - 23, 207, 117, 208, 84, 117, -286, 117, -286, 117, - 117, 116, 129, -288, 116, -288, 116, 138, 116, 116, - 421, 175, 172, 173, 174, 135, 144, 117, 214, 348, - 422, 570, 158, -261, 139, 116, 116, 147, 142, 551, - 136, 117, 117, 564, 552, 394, 172, 173, 174, 181, - 116, 116, -290, -260, 178, 207, 483, 208, 271, 184, - 279, 243, -262, 280, 179, 180, 142, -264, 57, 57, - 258, 57, 405, 121, -263, 123, 447, 155, 267, 59, - 59, 228, 247, 57, 373, 130, 156, 57, 182, 183, - 134, 206, 410, 231, 140, 507, 508, 148, 282, -286, - 154, -286, 161, 186, 163, 164, 165, 166, 167, 172, - 173, 174, 527, 528, 287, 288, 289, 213, 291, 292, - 294, 412, 144, -288, 260, -288, 471, 414, 535, 220, - 353, 116, 209, 354, 210, 200, 172, 173, 174, 278, - 201, 457, 218, 202, 203, 204, 205, 335, 327, 328, - 329, 330, 331, 332, 333, 334, 172, 173, 174, 172, - 173, 174, 555, 338, 339, 342, 343, 344, 345, 347, - 374, 355, 356, 433, 358, 359, 496, 221, 362, 364, - 362, 362, 362, 362, 222, 172, 173, 174, 286, 325, - 223, 172, 173, 174, 229, 211, 118, 212, 59, 122, - 230, 124, 449, 125, 126, 172, 173, 174, 276, 352, - 314, 315, 384, 316, 232, 462, 273, 387, 233, 317, - 145, 146, 318, 235, 319, 256, 360, 391, 290, 492, - 172, 173, 174, 393, 295, 464, 171, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 132, 133, 398, 399, 381, - 409, 353, 257, 404, 354, 320, 216, 217, 259, 236, - 237, 238, 239, 172, 173, 174, 240, 261, 241, 172, - 173, 174, 263, 265, 425, 364, 428, 428, 411, 142, - 172, 173, 174, 172, 173, 174, 413, 437, 272, 501, - 428, 428, 439, 172, 173, 174, 117, 283, 321, 322, - 323, 285, -215, 415, 533, 116, 270, 172, 173, 174, - 336, 461, 450, 207, 340, 208, -215, -215, 346, 541, - 542, 431, -83, -215, 458, -291, -291, -291, 205, 357, - 352, 550, 369, 372, 224, 172, 173, 174, 378, 59, - 383, 556, 557, 172, 173, 174, -215, -215, -215, -215, - 382, 385, 469, -215, 565, -215, 472, 390, -215, 392, - 172, 173, 174, 225, 174, -215, -215, 479, 172, 173, - 174, 428, 226, 57, 407, 417, 142, 397, -215, 487, - -215, -215, -215, 400, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, -215, -215, -215, 172, 173, - 174, 423, -215, 401, 402, -215, -215, -215, -215, -215, - 428, 428, 515, -215, 517, -254, 406, 236, 237, 238, - 239, 446, 57, 522, 240, 432, 241, 389, 459, -254, - -254, 450, 186, 187, 442, 452, -254, 465, 466, 460, - 467, 201, 425, 428, 202, 203, 204, 205, 468, 543, - 473, 172, 173, 174, 172, 173, 174, 474, 475, -254, - -254, -254, -254, 199, 200, 478, -254, 476, -254, 201, - 477, -254, 202, 203, 204, 205, 481, 428, -254, -254, - 488, 480, 484, 395, 566, 486, 485, 172, 173, 174, - 489, -254, 491, -254, -254, -254, 493, -254, -254, -254, + 113, 255, 59, 160, 17, 433, 143, 268, 269, 161, + 176, 120, 177, 103, 163, 175, 503, 138, 377, 83, + 285, 245, 118, 421, 246, 122, 16, 124, 125, 274, + 126, 127, 114, 422, 18, 129, 117, 115, 151, 117, + 83, 117, 117, 21, 117, 117, 23, 146, 147, 170, + 139, 551, 406, 114, 392, 152, 21, 552, 115, 23, + 153, 145, 117, 207, 207, 208, 208, 159, 83, -286, + -286, -286, -286, 429, 530, -288, 117, -288, 214, 130, + -261, 314, 315, 435, 316, 136, 440, 441, 137, 143, + 317, 179, 180, 318, 319, 348, 320, 21, 175, 564, + 23, -288, 273, -288, 182, 183, 254, 243, 178, 271, + 279, 447, 247, 181, -260, 228, 280, 143, 58, 184, + 121, 258, 123, 206, 375, 373, -262, 394, -290, 267, + 59, 59, -264, 131, 58, 570, 213, 321, 135, 58, + 527, 528, 141, 270, 410, 149, 218, 58, 155, 282, + 162, 220, 164, 165, 166, 167, 168, 145, 338, 339, + 172, 173, 174, -263, 287, 288, 289, 483, 291, 292, + 294, 172, 173, 174, 278, 412, 471, 221, 156, 353, + 322, 323, 172, 173, 174, 354, 393, 157, 58, 172, + 173, 174, 172, 173, 174, 409, 222, 335, 327, 328, + 329, 330, 331, 332, 333, 334, 507, 508, 223, 172, + 173, 174, 411, 414, 433, 342, 343, 344, 345, 347, + 374, 355, 356, 325, 358, 359, 496, 229, 362, 364, + 362, 362, 362, 362, 172, 173, 174, 457, 230, 535, + 172, 173, 174, 352, 172, 173, 174, 209, 59, 210, + 211, 449, 212, 172, 173, 174, 276, -291, -291, -291, + 205, 232, 384, 286, 462, 133, 134, 387, 216, 217, + 172, 173, 174, 555, 235, 290, 464, 391, 172, 173, + 174, 295, 233, 257, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 172, 173, 174, 256, 259, 398, 399, 261, + 353, 492, 84, 265, 405, 263, 354, 272, 283, 116, + 285, 413, 116, 357, 116, 116, 336, 116, 116, 172, + 173, 174, 224, 340, 425, 364, 428, 428, 415, 143, + 369, 117, 372, 140, 116, 116, 148, 437, 501, 461, + 428, 428, 439, 378, 346, 236, 237, 238, 239, 116, + 506, 225, 240, 509, 241, 431, 382, 513, 514, 385, + 226, 58, 450, 383, 352, 390, 172, 173, 174, 172, + 173, 174, 392, 397, 458, 524, 525, 174, 400, 172, + 173, 174, 172, 173, 174, 536, 172, 173, 174, 59, + 201, 231, 401, 202, 203, 204, 205, 172, 173, 174, + 544, 402, 469, 403, 546, 547, 472, 407, -83, 186, + 187, 381, 417, 172, 173, 174, 533, 479, 423, 58, + 432, 428, 559, 260, 442, 459, 143, 446, 465, 487, + 116, 541, 542, 452, 466, 467, 567, 468, 197, 198, + 199, 200, 389, 550, 572, 473, 201, 186, 187, 202, + 203, 204, 205, 556, 557, 478, -215, 474, 481, 475, + 428, 428, 515, 488, 517, 476, 565, 207, 477, 208, + -215, -215, 480, 522, 186, 187, 484, -215, 199, 200, + 485, 450, 489, 491, 201, 493, 460, 202, 203, 204, + 205, 495, 425, 428, 172, 173, 174, 494, 497, 543, + 504, -215, -215, -215, -215, 511, 200, 512, -215, 516, + -215, 201, 531, -215, 202, 203, 204, 205, 518, 519, + -215, -215, 523, 395, 360, 532, 548, 428, 545, 172, + 173, 174, 486, -215, 566, -215, -215, -215, 549, -215, + -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, 560, -254, 186, 187, -215, 408, 561, + -215, -215, -215, -215, -215, 563, 571, -215, -254, -254, + 365, 366, 367, 368, 107, -254, 172, 173, 174, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 172, 173, + 174, 426, 201, 242, 534, 202, 203, 204, 205, -254, + -254, -254, -254, 568, 470, 455, -254, 388, -254, 371, + 444, -254, 490, 445, 116, 499, 277, 456, -254, -254, + 521, 438, 172, 173, 174, 351, 0, 0, 0, 0, + 0, -254, 0, -254, -254, -254, 0, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, - -254, 172, 173, 174, 494, -254, 408, 495, -254, -254, - -254, -254, -254, -13, 85, 497, -254, 365, 366, 367, - 368, 504, 511, 18, 83, 518, 19, 512, 516, 519, - 455, 20, 21, 22, 86, 23, 24, 25, 26, 27, - 28, 523, 29, 30, 31, 32, 33, 34, 87, 106, - 88, 89, 90, 35, 36, 91, 92, 93, 94, 95, - 96, 186, 187, 531, 97, 98, 99, 100, 37, 532, - 101, 38, 39, 40, 41, 42, 545, 548, 43, 44, - 45, 46, 47, 48, 49, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 50, 549, 560, 561, 201, 563, - 571, 202, 203, 204, 205, 107, -3, 85, 242, 51, - 52, 426, 53, 534, 54, 55, 18, 83, 568, 19, - 470, 56, 57, 58, 20, 21, 22, 86, 23, 24, - 25, 26, 27, 28, 388, 29, 30, 31, 32, 33, - 34, 87, 106, 88, 89, 90, 35, 36, 91, 92, - 93, 94, 95, 96, 186, 187, 371, 97, 98, 99, - 100, 37, 444, 101, 38, 39, 40, 41, 42, 445, - 490, 43, 44, 45, 46, 47, 48, 49, 499, 193, - 194, 195, 196, 197, 198, 199, 200, 50, 277, 521, - 438, 201, 351, 0, 202, 203, 204, 205, 0, 0, - 85, 0, 51, 52, 0, 53, 0, 54, 55, 18, - 83, 416, 19, 0, 56, 57, 58, 20, 21, 22, - 86, 23, 24, 25, 26, 27, 28, 0, 29, 30, - 31, 32, 33, 34, 87, 106, 88, 89, 90, 35, - 36, 91, 92, 93, 94, 95, 96, 186, 187, 0, - 97, 98, 99, 100, 37, 0, 101, 38, 39, 40, - 41, 42, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 194, 195, 196, 197, 198, 199, 200, - 50, 0, 0, 0, 201, 0, 0, 202, 203, 204, - 205, 0, 0, 85, 0, 51, 52, 0, 53, 0, - 54, 55, 18, 83, 537, 19, 0, 56, 57, 58, - 20, 21, 22, 86, 23, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 87, 106, 88, - 89, 90, 35, 36, 91, 92, 93, 94, 95, 96, - 186, 187, 0, 97, 98, 99, 100, 37, 0, 101, - 38, 39, 40, 41, 42, 0, 0, 43, 44, 45, - 46, 47, 48, 49, 0, 0, 0, 195, 196, 197, - 198, 199, 200, 50, 0, 0, 0, 201, 0, 0, - 202, 203, 204, 205, 0, 0, 85, 0, 51, 52, - 0, 53, 0, 54, 55, 18, 83, 538, 19, 0, - 56, 57, 58, 20, 21, 22, 86, 23, 24, 25, - 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, - 87, 106, 88, 89, 90, 35, 36, 91, 92, 93, - 94, 95, 96, 186, 187, 0, 97, 98, 99, 100, - 37, 0, 101, 38, 39, 40, 41, 42, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 197, 198, 199, 200, 50, 0, 0, 0, - 201, 0, 0, 202, 203, 204, 205, 0, 0, 85, - 0, 51, 52, 0, 53, 0, 54, 55, 18, 83, - 540, 19, 0, 56, 57, 58, 20, 21, 22, 86, - 23, 24, 25, 26, 27, 28, 0, 29, 30, 31, - 32, 33, 34, 87, 106, 88, 89, 90, 35, 36, + -254, 463, 0, -13, 85, -254, 0, 0, -254, -254, + -254, -254, -254, 18, 83, -254, 19, 0, 0, 0, + 0, 20, 21, 22, 86, 23, 24, 25, 26, 27, + 28, 29, 0, 30, 31, 32, 33, 34, 35, 87, + 106, 88, 89, 90, 36, 37, 91, 92, 93, 94, + 95, 96, 186, 187, 0, 97, 98, 99, 100, 38, + 0, 101, 39, 40, 41, 42, 43, 0, 0, 44, + 45, 46, 47, 48, 49, 50, 0, 193, 194, 195, + 196, 197, 198, 199, 200, 51, 0, 0, 0, 201, + 0, 0, 202, 203, 204, 205, 0, -3, 85, 0, + 52, 53, 0, 54, 0, 55, 56, 18, 83, 0, + 19, 0, 57, 58, 0, 20, 21, 22, 86, 23, + 24, 25, 26, 27, 28, 29, 0, 30, 31, 32, + 33, 34, 35, 87, 106, 88, 89, 90, 36, 37, 91, 92, 93, 94, 95, 96, 186, 187, 0, 97, - 98, 99, 100, 37, 0, 101, 38, 39, 40, 41, - 42, 0, 0, 43, 44, 45, 46, 47, 48, 49, - 1, 2, 3, 4, 5, 6, 7, 0, 200, 50, + 98, 99, 100, 38, 0, 101, 39, 40, 41, 42, + 43, 0, 0, 44, 45, 46, 47, 48, 49, 50, + 0, 0, 194, 195, 196, 197, 198, 199, 200, 51, 0, 0, 0, 201, 0, 0, 202, 203, 204, 205, - 0, 0, 85, 0, 51, 52, 0, 53, 0, 54, - 55, 18, 83, 554, 19, 0, 56, 57, 58, 20, - 21, 22, 86, 23, 24, 25, 26, 27, 28, 0, - 29, 30, 31, 32, 33, 34, 87, 106, 88, 89, - 90, 35, 36, 91, 92, 93, 94, 95, 96, 172, - 173, 174, 97, 98, 99, 100, 37, 0, 101, 38, - 39, 40, 41, 42, 0, 0, 43, 44, 45, 46, - 47, 48, 49, 0, 0, 200, 0, 0, 456, 0, - 201, 0, 50, 202, 203, 204, 205, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 0, 51, 52, 0, - 53, 0, 54, 55, 18, 83, 0, 19, 0, 56, - 57, 58, 20, 21, 22, 86, 23, 24, 25, 26, - 27, 28, 0, 29, 30, 31, 32, 33, 34, 87, - 106, 88, 89, 90, 35, 36, 91, 92, 93, 94, - 95, 96, 172, 173, 174, 97, 98, 99, 100, 37, - 0, 101, 38, 39, 40, 41, 42, 0, 0, 43, - 44, 45, 46, 47, 48, 49, 0, 0, 569, 0, - 0, 463, 0, 0, 0, 50, 0, 0, 0, 0, + 0, 0, 85, 0, 52, 53, 0, 54, 0, 55, + 56, 18, 83, 416, 19, 0, 57, 58, 0, 20, + 21, 22, 86, 23, 24, 25, 26, 27, 28, 29, + 0, 30, 31, 32, 33, 34, 35, 87, 106, 88, + 89, 90, 36, 37, 91, 92, 93, 94, 95, 96, + 186, 187, 0, 97, 98, 99, 100, 38, 0, 101, + 39, 40, 41, 42, 43, 0, 0, 44, 45, 46, + 47, 48, 49, 50, 0, 0, 0, 195, 196, 197, + 198, 199, 200, 51, 0, 0, 0, 201, 0, 0, + 202, 203, 204, 205, 0, 0, 85, 0, 52, 53, + 0, 54, 0, 55, 56, 18, 83, 537, 19, 0, + 57, 58, 0, 20, 21, 22, 86, 23, 24, 25, + 26, 27, 28, 29, 0, 30, 31, 32, 33, 34, + 35, 87, 106, 88, 89, 90, 36, 37, 91, 92, + 93, 94, 95, 96, 186, 0, 0, 97, 98, 99, + 100, 38, 0, 101, 39, 40, 41, 42, 43, 0, + 0, 44, 45, 46, 47, 48, 49, 50, 1, 2, + 3, 4, 5, 6, 7, 0, 200, 51, 0, 0, + 0, 201, 0, 0, 202, 203, 204, 205, 0, 0, + 85, 0, 52, 53, 0, 54, 0, 55, 56, 18, + 83, 538, 19, 0, 57, 58, 0, 20, 21, 22, + 86, 23, 24, 25, 26, 27, 28, 29, 0, 30, + 31, 32, 33, 34, 35, 87, 106, 88, 89, 90, + 36, 37, 91, 92, 93, 94, 95, 96, 0, 0, + 0, 97, 98, 99, 100, 38, 0, 101, 39, 40, + 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, + 49, 50, 0, 0, 200, 0, 0, 0, 0, 201, + 0, 51, 202, 203, 204, 205, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, 52, 53, 0, 54, + 0, 55, 56, 18, 83, 540, 19, 0, 57, 58, + 0, 20, 21, 22, 86, 23, 24, 25, 26, 27, + 28, 29, 0, 30, 31, 32, 33, 34, 35, 87, + 106, 88, 89, 90, 36, 37, 91, 92, 93, 94, + 95, 96, 0, 0, 0, 97, 98, 99, 100, 38, + 0, 101, 39, 40, 41, 42, 43, 0, 0, 44, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, - 51, 52, 0, 53, 0, 54, 55, 18, 83, 0, - 19, 0, 56, 57, 58, 20, 21, 22, 86, 23, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 87, 106, 88, 89, 90, 35, 36, 91, - 92, 93, 94, 95, 96, 0, 0, 0, 97, 98, - 99, 100, 37, 0, 101, 38, 39, 40, 41, 42, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 52, 53, 0, 54, 0, 55, 56, 18, 83, 554, + 19, 0, 57, 58, 0, 20, 21, 22, 86, 23, + 24, 25, 26, 27, 28, 29, 0, 30, 31, 32, + 33, 34, 35, 87, 106, 88, 89, 90, 36, 37, + 91, 92, 93, 94, 95, 96, 0, 0, 0, 97, + 98, 99, 100, 38, 0, 101, 39, 40, 41, 42, + 43, 0, 0, 44, 45, 46, 47, 48, 49, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 85, 0, 51, 52, 0, 53, 0, 54, 55, - 18, 83, 0, 19, 0, 56, 57, 58, 20, 21, - 22, 86, 23, 24, 25, 26, 27, 28, 0, 29, - 30, 31, 32, 33, 34, 87, 0, 88, 89, 90, - 35, 36, 91, 92, 93, 94, 95, 96, 0, 0, - 0, 97, 98, 99, 100, 37, 0, 101, 38, 39, - 40, 41, 42, 0, 0, 43, 44, 45, 46, 47, - 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 0, 51, 52, 0, 53, - 0, 54, 55, 18, 0, 0, 19, 0, 56, 57, - 58, 20, 21, 22, -78, 23, 24, 25, 26, 27, - 28, 0, 29, 30, 31, 32, 33, 34, 0, 0, - 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, - 0, 38, 39, 40, 41, 42, 0, 0, 43, 44, - 45, 46, 47, 48, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 85, 0, 51, - 52, 0, 53, 0, 54, 55, 18, 0, 0, 19, - 0, 56, 57, 58, 20, 21, 22, 0, 23, 24, - 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, - 34, 0, 0, 0, 0, 0, 35, 36, 0, 0, + 0, 0, 85, 0, 52, 53, 0, 54, 0, 55, + 56, 18, 83, 0, 19, 0, 57, 58, 0, 20, + 21, 22, 86, 23, 24, 25, 26, 27, 28, 29, + 0, 30, 31, 32, 33, 34, 35, 87, 106, 88, + 89, 90, 36, 37, 91, 92, 93, 94, 95, 96, + 0, 0, 0, 97, 98, 99, 100, 38, 0, 101, + 39, 40, 41, 42, 43, 0, 0, 44, 45, 46, + 47, 48, 49, 50, 0, 0, 569, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 85, 0, 52, 53, + 0, 54, 0, 55, 56, 18, 83, 0, 19, 0, + 57, 58, 0, 20, 21, 22, 86, 23, 24, 25, + 26, 27, 28, 29, 0, 30, 31, 32, 33, 34, + 35, 87, 106, 88, 89, 90, 36, 37, 91, 92, + 93, 94, 95, 96, 0, 0, 0, 97, 98, 99, + 100, 38, 0, 101, 39, 40, 41, 42, 43, 0, + 0, 44, 45, 46, 47, 48, 49, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 38, 39, 40, 41, 42, 0, - 0, 43, 44, 45, 46, 47, 48, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, + 85, 0, 52, 53, 0, 54, 0, 55, 56, 18, + 83, 0, 19, 0, 57, 58, 0, 20, 21, 22, + 86, 23, 24, 25, 26, 27, 28, 29, 0, 30, + 31, 32, 33, 34, 35, 87, 0, 88, 89, 90, + 36, 37, 91, 92, 93, 94, 95, 96, 0, 0, + 0, 97, 98, 99, 100, 38, 0, 101, 39, 40, + 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, + 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, 52, 53, 0, 54, + 0, 55, 56, 18, 0, 0, 19, 0, 57, 58, + 0, 20, 21, 22, -78, 23, 24, 25, 26, 27, + 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, + 0, 0, 0, 0, 36, 37, 236, 237, 238, 239, + 0, 0, 0, 240, 0, 241, 0, 0, 0, 38, + 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, + 172, 173, 174, 0, 0, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, + 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, + 19, 0, 57, 58, 0, 20, 21, 22, 0, 23, + 24, 25, 26, 27, 28, 29, 0, 30, 31, 32, + 33, 34, 35, 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 52, 0, 53, 0, 54, 55, 18, - 83, 0, 19, -78, 56, 57, 58, 20, 21, 22, - 0, 23, 141, 25, 26, 27, 28, 115, 29, 30, - 31, 32, 33, 34, 0, 0, 0, 0, 0, 35, - 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 37, 0, 0, 38, 39, 40, - 41, 42, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 52, 0, 53, 0, - 54, 55, 18, 0, 0, 19, 119, 56, 57, 58, - 20, 21, 22, 0, 23, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 0, 0, 0, - 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, - 38, 39, 40, 41, 42, 0, 0, 43, 44, 45, - 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, - 0, 53, 0, 54, 55, 18, 83, 0, 19, 0, - 56, 57, 58, 20, 21, 22, 0, 23, 24, 25, - 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, - 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 39, 40, 41, 42, + 43, 0, 0, 44, 45, 46, 47, 48, 49, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 37, 0, 0, 38, 39, 40, 41, 42, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 52, 53, 0, 54, 0, 55, + 56, 18, 83, 0, 19, -78, 57, 58, 0, 20, + 21, 22, 0, 23, 24, 142, 26, 27, 28, 29, + 115, 30, 31, 32, 33, 34, 35, 0, 0, 0, + 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 39, 40, 41, 42, 43, 0, 0, 44, 45, 46, + 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, + 0, 54, 0, 55, 56, 18, 0, 0, 19, 119, + 57, 58, 0, 20, 21, 22, 0, 23, 24, 25, + 26, 27, 28, 29, 0, 30, 31, 32, 33, 34, + 35, 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 52, 0, 53, 0, 54, 55, 18, 0, - 0, 19, 0, 56, 57, 58, 20, 21, 22, 149, - 23, 24, 25, 26, 27, 28, 0, 29, 30, 31, - 32, 33, 34, 0, 0, 0, 0, 0, 35, 36, + 0, 38, 0, 0, 39, 40, 41, 42, 43, 0, + 0, 44, 45, 46, 47, 48, 49, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 37, 0, 0, 38, 39, 40, 41, - 42, 0, 0, 43, 44, 45, 46, 47, 48, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 0, 0, 52, 53, 0, 54, 0, 55, 56, 18, + 83, 0, 19, 0, 57, 58, 0, 20, 21, 22, + 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, + 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, + 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 39, 40, + 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, + 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 53, 0, 54, + 0, 55, 56, 18, 0, 0, 19, 0, 57, 58, + 0, 20, 21, 22, 150, 23, 24, 25, 26, 27, + 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, + 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 52, 0, 53, 0, 54, - 55, 18, 0, 0, 19, 0, 56, 57, 58, 20, - 21, 22, 0, 23, 24, 25, 26, 27, 28, 0, - 29, 30, 31, 32, 33, 34, 0, 0, 0, 0, - 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 37, 0, 0, 38, - 39, 40, 41, 42, 0, 0, 43, 44, 45, 46, - 47, 48, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 52, 0, - 53, 0, 54, 55, 18, 0, 0, 19, 168, 56, - 57, 58, 20, 21, 22, 0, 23, 24, 25, 26, - 27, 28, 0, 29, 30, 31, 32, 33, 34, 0, - 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, - 0, 0, 38, 39, 40, 41, 42, 0, 0, 43, - 44, 45, 46, 47, 48, 49, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, + 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, + 19, 0, 57, 58, 0, 20, 21, 22, 0, 23, + 24, 25, 26, 27, 28, 29, 0, 30, 31, 32, + 33, 34, 35, 0, 0, 0, 0, 0, 36, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 39, 40, 41, 42, + 43, 0, 0, 44, 45, 46, 47, 48, 49, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 52, 0, 53, 0, 54, 55, 18, 0, 0, - 19, 266, 56, 57, 58, 20, 21, 22, 0, 23, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 0, 0, 0, 0, 0, 35, 36, 0, + 0, 0, 0, 0, 52, 53, 0, 54, 0, 55, + 56, 18, 0, 0, 19, 169, 57, 58, 0, 20, + 21, 22, 0, 23, 24, 25, 26, 27, 28, 29, + 0, 30, 31, 32, 33, 34, 35, 0, 0, 0, + 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 39, 40, 41, 42, 43, 0, 0, 44, 45, 46, + 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, + 0, 54, 0, 55, 56, 18, 0, 0, 19, 266, + 57, 58, 0, 20, 21, 22, 0, 23, 24, 25, + 26, 27, 28, 29, 0, 30, 31, 32, 33, 34, + 35, 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 37, 0, 0, 38, 39, 40, 41, 42, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 38, 0, 0, 39, 40, 41, 42, 43, 0, + 0, 44, 45, 46, 47, 48, 49, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 52, 0, 53, 0, 54, 55, - 18, 0, 0, 19, 281, 56, 57, 58, 20, 21, - 22, 0, 23, 24, 25, 26, 27, 28, 0, 29, - 30, 31, 32, 33, 34, 0, 0, 0, 0, 0, - 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 37, 0, 0, 38, 39, - 40, 41, 42, 0, 0, 43, 44, 45, 46, 47, - 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 52, 0, 53, - 0, 54, 55, 18, 0, 0, 19, 293, 56, 57, - 58, 20, 21, 22, 0, 23, 24, 25, 26, 27, - 28, 0, 29, 30, 31, 32, 33, 34, 0, 0, - 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, - 0, 38, 39, 40, 41, 42, 0, 0, 43, 44, - 45, 46, 47, 48, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 52, 53, 0, 54, 0, 55, 56, 18, + 0, 0, 19, 281, 57, 58, 0, 20, 21, 22, + 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, + 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, + 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 39, 40, + 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, + 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 53, 0, 54, + 0, 55, 56, 18, 0, 0, 19, 293, 57, 58, + 0, 20, 21, 22, 0, 23, 24, 25, 26, 27, + 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, + 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, + 19, 326, 57, 58, 0, 20, 21, 22, 0, 23, + 24, 25, 26, 27, 28, 29, 0, 30, 31, 32, + 33, 34, 35, 0, 0, 0, 0, 0, 36, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 39, 40, 41, 42, + 43, 0, 0, 44, 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 52, 0, 53, 0, 54, 55, 18, 0, 0, 19, - 326, 56, 57, 58, 20, 21, 22, 0, 23, 24, - 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, - 34, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 38, 39, 40, 41, 42, 0, - 0, 43, 44, 45, 46, 47, 48, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, + 0, 0, 0, 0, 52, 53, 0, 54, 0, 55, + 56, 18, 0, 0, 19, 386, 57, 58, 0, 20, + 21, 22, 0, 23, 24, 25, 26, 27, 28, 29, + 0, 30, 31, 32, 33, 34, 35, 0, 0, 0, + 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 39, 40, 41, 42, 43, 0, 0, 44, 45, 46, + 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, + 0, 54, 0, 55, 56, 18, 0, 0, 19, 404, + 57, 58, 0, 20, 21, 22, 0, 23, 24, 25, + 26, 27, 28, 29, 0, 30, 31, 32, 33, 34, + 35, 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 52, 0, 53, 0, 54, 55, 18, - 0, 0, 19, 386, 56, 57, 58, 20, 21, 22, - 0, 23, 24, 25, 26, 27, 28, 0, 29, 30, - 31, 32, 33, 34, 0, 0, 0, 0, 0, 35, - 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 37, 0, 0, 38, 39, 40, - 41, 42, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 52, 0, 53, 0, - 54, 55, 18, 0, 0, 19, 403, 56, 57, 58, - 20, 21, 22, 0, 23, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 0, 0, 0, - 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, - 38, 39, 40, 41, 42, 0, 0, 43, 44, 45, - 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, - 0, 53, 0, 54, 55, 18, 0, 0, 19, 0, - 56, 57, 58, 20, 21, 22, 0, 23, 24, 25, - 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, - 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, + 0, 38, 0, 0, 39, 40, 41, 42, 43, 0, + 0, 44, 45, 46, 47, 48, 49, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 37, 0, 0, 38, 39, 40, 41, 42, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 0, 0, 506, 0, 50, 509, 0, 0, - 0, 513, 514, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 52, 0, 53, 0, 54, 55, 0, 524, - 525, 0, 0, 275, 57, 58, 185, 0, 0, 536, - 0, 0, 0, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 0, 0, 0, 546, 547, - 0, 0, 188, 189, 396, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 559, 0, 0, 0, - 201, 185, 0, 202, 203, 204, 205, 0, 186, 187, - 567, 0, 0, 0, 0, 0, 0, 0, 572, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 189, 0, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 0, 0, 0, 201, 185, 0, 202, 203, - 204, 205, 0, 186, 187, 0, 0, 0, 0, 0, + 0, 0, 52, 53, 0, 54, 0, 55, 56, 18, + 0, 0, 19, 0, 57, 58, 0, 20, 21, 22, + 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, + 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, + 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 39, 40, + 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, + 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 185, 0, 0, 0, 0, 0, + 0, 186, 187, 0, 0, 0, 52, 53, 0, 54, + 0, 55, 56, 0, 0, 0, 0, 0, 275, 58, + 188, 189, 396, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 0, 0, 0, 201, 185, + 0, 202, 203, 204, 205, 0, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 0, 0, 0, - 201, -291, 0, 202, 203, 204, 205, 0, 186, 187, + 0, 0, 0, 0, 0, 188, 189, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 0, 0, 0, 201, 185, 0, 202, 203, 204, 205, + 0, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 189, 0, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 0, 0, 0, 201, -291, + 0, 202, 203, 204, 205, 0, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 0, 0, 0, 201, 0, 0, 202, 203, - 204, 205 + 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 0, 0, 0, 201, 0, 0, 202, 203, 204, 205 }; static const yytype_int16 yycheck[] = { - 17, 125, 10, 48, 9, 42, 48, 11, 14, 13, - 475, 19, 345, 50, 355, 137, 138, 12, 262, 10, - 506, 11, 355, 11, 13, 358, 359, 0, 19, 153, - 15, 22, 14, 23, 75, 23, 23, 45, 28, 13, - 28, 28, 19, 19, 13, 22, 22, 19, 56, 11, - 22, 11, 18, 13, 11, 21, 11, 23, 13, 25, - 26, 18, 108, 11, 21, 13, 23, 108, 25, 26, - 11, 15, 78, 79, 80, 108, 42, 43, 83, 70, - 21, 567, 48, 72, 41, 42, 43, 44, 125, 21, - 108, 57, 58, 558, 26, 14, 78, 79, 80, 92, - 57, 58, 11, 72, 108, 11, 439, 13, 145, 90, - 155, 106, 72, 155, 92, 93, 153, 72, 109, 109, - 128, 109, 110, 20, 72, 22, 111, 99, 136, 137, - 138, 97, 109, 109, 256, 32, 108, 109, 90, 91, - 37, 108, 14, 100, 41, 478, 479, 44, 156, 11, - 47, 13, 49, 63, 51, 52, 53, 54, 55, 78, - 79, 80, 48, 49, 172, 173, 174, 11, 176, 177, - 178, 14, 138, 11, 131, 13, 420, 14, 511, 108, - 225, 138, 11, 225, 13, 95, 78, 79, 80, 155, - 100, 14, 23, 103, 104, 105, 106, 214, 206, 207, - 208, 209, 210, 211, 212, 213, 78, 79, 80, 78, - 79, 80, 545, 216, 217, 220, 221, 222, 223, 224, - 257, 226, 227, 564, 229, 230, 470, 108, 236, 237, - 238, 239, 240, 241, 108, 78, 79, 80, 107, 205, - 108, 78, 79, 80, 108, 11, 18, 13, 256, 21, - 108, 23, 376, 25, 26, 78, 79, 80, 155, 225, - 10, 11, 270, 13, 21, 14, 21, 275, 50, 19, - 42, 43, 22, 21, 24, 108, 233, 285, 175, 14, - 78, 79, 80, 21, 181, 407, 58, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 35, 36, 315, 316, 107, - 21, 356, 75, 321, 356, 65, 89, 90, 107, 44, - 45, 46, 47, 78, 79, 80, 51, 26, 53, 78, - 79, 80, 72, 107, 342, 343, 344, 345, 21, 376, - 78, 79, 80, 78, 79, 80, 21, 355, 12, 473, - 358, 359, 357, 78, 79, 80, 322, 72, 108, 109, - 110, 13, 0, 21, 509, 322, 138, 78, 79, 80, - 23, 21, 377, 11, 23, 13, 14, 15, 99, 524, - 525, 347, 107, 21, 392, 103, 104, 105, 106, 108, - 356, 536, 28, 15, 70, 78, 79, 80, 26, 407, - 107, 546, 547, 78, 79, 80, 44, 45, 46, 47, - 76, 12, 417, 51, 559, 53, 421, 26, 56, 13, - 78, 79, 80, 99, 80, 63, 64, 432, 78, 79, - 80, 439, 108, 109, 108, 17, 473, 110, 76, 447, - 78, 79, 80, 110, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 78, 79, - 80, 23, 100, 110, 110, 103, 104, 105, 106, 107, - 478, 479, 489, 111, 491, 0, 110, 44, 45, 46, - 47, 107, 109, 500, 51, 108, 53, 107, 12, 14, - 15, 496, 63, 64, 82, 108, 21, 12, 12, 396, - 12, 100, 510, 511, 103, 104, 105, 106, 12, 526, - 23, 78, 79, 80, 78, 79, 80, 107, 107, 44, - 45, 46, 47, 94, 95, 108, 51, 107, 53, 100, - 107, 56, 103, 104, 105, 106, 21, 545, 63, 64, - 76, 107, 107, 107, 561, 442, 107, 78, 79, 80, - 11, 76, 11, 78, 79, 80, 12, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 78, 79, 80, 107, 100, 107, 21, 103, 104, - 105, 106, 107, 0, 1, 21, 111, 238, 239, 240, - 241, 11, 108, 10, 11, 74, 13, 107, 107, 21, - 107, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 21, 29, 30, 31, 32, 33, 34, 35, 36, + 17, 126, 10, 49, 9, 355, 43, 138, 139, 49, + 11, 19, 13, 12, 51, 15, 475, 76, 262, 11, + 13, 19, 18, 11, 22, 21, 0, 23, 24, 154, + 26, 27, 24, 21, 10, 13, 18, 29, 46, 21, + 11, 23, 24, 19, 26, 27, 22, 43, 44, 57, + 109, 21, 23, 24, 13, 24, 19, 27, 29, 22, + 29, 43, 44, 11, 11, 13, 13, 49, 11, 11, + 11, 13, 13, 345, 506, 11, 58, 13, 83, 109, + 73, 10, 11, 355, 13, 109, 358, 359, 109, 126, + 19, 93, 94, 22, 23, 71, 25, 19, 15, 558, + 22, 11, 21, 13, 91, 92, 14, 106, 109, 146, + 156, 111, 110, 93, 73, 97, 156, 154, 110, 91, + 20, 129, 22, 109, 14, 256, 73, 14, 11, 137, + 138, 139, 73, 33, 110, 567, 11, 66, 38, 110, + 49, 50, 42, 139, 14, 45, 24, 110, 48, 157, + 50, 109, 52, 53, 54, 55, 56, 139, 216, 217, + 79, 80, 81, 73, 172, 173, 174, 439, 176, 177, + 178, 79, 80, 81, 156, 14, 420, 109, 100, 225, + 109, 110, 79, 80, 81, 225, 21, 109, 110, 79, + 80, 81, 79, 80, 81, 21, 109, 214, 206, 207, + 208, 209, 210, 211, 212, 213, 478, 479, 109, 79, + 80, 81, 21, 14, 564, 220, 221, 222, 223, 224, + 257, 226, 227, 205, 229, 230, 470, 109, 236, 237, + 238, 239, 240, 241, 79, 80, 81, 14, 109, 511, + 79, 80, 81, 225, 79, 80, 81, 11, 256, 13, + 11, 376, 13, 79, 80, 81, 156, 104, 105, 106, + 107, 21, 270, 108, 14, 36, 37, 275, 89, 90, + 79, 80, 81, 545, 21, 175, 407, 285, 79, 80, + 81, 181, 51, 76, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 79, 80, 81, 109, 108, 315, 316, 27, + 356, 14, 11, 108, 322, 73, 356, 12, 73, 18, + 13, 21, 21, 109, 23, 24, 24, 26, 27, 79, + 80, 81, 71, 24, 342, 343, 344, 345, 21, 376, + 29, 323, 15, 42, 43, 44, 45, 355, 473, 21, + 358, 359, 357, 27, 100, 45, 46, 47, 48, 58, + 477, 100, 52, 480, 54, 347, 77, 484, 485, 12, + 109, 110, 377, 108, 356, 27, 79, 80, 81, 79, + 80, 81, 13, 23, 392, 502, 503, 81, 23, 79, + 80, 81, 79, 80, 81, 512, 79, 80, 81, 407, + 101, 100, 23, 104, 105, 106, 107, 79, 80, 81, + 527, 23, 417, 23, 531, 532, 421, 109, 108, 64, + 65, 108, 17, 79, 80, 81, 509, 432, 24, 110, + 109, 439, 549, 132, 83, 12, 473, 108, 12, 447, + 139, 524, 525, 109, 12, 12, 563, 12, 93, 94, + 95, 96, 108, 536, 571, 24, 101, 64, 65, 104, + 105, 106, 107, 546, 547, 109, 0, 108, 21, 108, + 478, 479, 489, 77, 491, 108, 559, 11, 108, 13, + 14, 15, 108, 500, 64, 65, 108, 21, 95, 96, + 108, 496, 11, 11, 101, 12, 396, 104, 105, 106, + 107, 21, 510, 511, 79, 80, 81, 108, 21, 526, + 11, 45, 46, 47, 48, 109, 96, 108, 52, 108, + 54, 101, 108, 57, 104, 105, 106, 107, 75, 21, + 64, 65, 21, 108, 233, 108, 21, 545, 109, 79, + 80, 81, 442, 77, 561, 79, 80, 81, 108, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 16, 0, 64, 65, 101, 108, 74, + 104, 105, 106, 107, 108, 108, 108, 111, 14, 15, + 238, 239, 240, 241, 13, 21, 79, 80, 81, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 79, 80, + 81, 343, 101, 106, 510, 104, 105, 106, 107, 45, + 46, 47, 48, 564, 419, 108, 52, 277, 54, 248, + 371, 57, 452, 372, 323, 471, 156, 108, 64, 65, + 496, 356, 79, 80, 81, 225, -1, -1, -1, -1, + -1, 77, -1, 79, 80, 81, -1, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 108, -1, 0, 1, 101, -1, -1, 104, 105, + 106, 107, 108, 10, 11, 111, 13, -1, -1, -1, + -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 63, 64, 107, 51, 52, 53, 54, 55, 107, - 57, 58, 59, 60, 61, 62, 108, 21, 65, 66, - 67, 68, 69, 70, 71, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 81, 107, 16, 73, 100, 107, - 107, 103, 104, 105, 106, 13, 0, 1, 106, 96, - 97, 343, 99, 510, 101, 102, 10, 11, 564, 13, - 419, 108, 109, 110, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 277, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 63, 64, 248, 51, 52, 53, - 54, 55, 371, 57, 58, 59, 60, 61, 62, 372, - 452, 65, 66, 67, 68, 69, 70, 71, 471, 88, - 89, 90, 91, 92, 93, 94, 95, 81, 155, 496, - 356, 100, 225, -1, 103, 104, 105, 106, -1, -1, - 1, -1, 96, 97, -1, 99, -1, 101, 102, 10, - 11, 12, 13, -1, 108, 109, 110, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 63, 64, -1, - 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, - 61, 62, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 81, -1, -1, -1, 100, -1, -1, 103, 104, 105, - 106, -1, -1, 1, -1, 96, 97, -1, 99, -1, - 101, 102, 10, 11, 12, 13, -1, 108, 109, 110, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 63, 64, -1, 51, 52, 53, 54, 55, -1, 57, - 58, 59, 60, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, -1, -1, 90, 91, 92, - 93, 94, 95, 81, -1, -1, -1, 100, -1, -1, - 103, 104, 105, 106, -1, -1, 1, -1, 96, 97, - -1, 99, -1, 101, 102, 10, 11, 12, 13, -1, - 108, 109, 110, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, + 47, 48, 64, 65, -1, 52, 53, 54, 55, 56, + -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 82, -1, -1, -1, 101, + -1, -1, 104, 105, 106, 107, -1, 0, 1, -1, + 97, 98, -1, 100, -1, 102, 103, 10, 11, -1, + 13, -1, 109, 110, -1, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 64, 65, -1, 52, + 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + -1, -1, 90, 91, 92, 93, 94, 95, 96, 82, + -1, -1, -1, 101, -1, -1, 104, 105, 106, 107, + -1, -1, 1, -1, 97, 98, -1, 100, -1, 102, + 103, 10, 11, 12, 13, -1, 109, 110, -1, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 64, 65, -1, 52, 53, 54, 55, 56, -1, 58, + 59, 60, 61, 62, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, -1, -1, -1, 91, 92, 93, + 94, 95, 96, 82, -1, -1, -1, 101, -1, -1, + 104, 105, 106, 107, -1, -1, 1, -1, 97, 98, + -1, 100, -1, 102, 103, 10, 11, 12, 13, -1, + 109, 110, -1, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 63, 64, -1, 51, 52, 53, 54, - 55, -1, 57, 58, 59, 60, 61, 62, -1, -1, - 65, 66, 67, 68, 69, 70, 71, -1, -1, -1, - -1, -1, 92, 93, 94, 95, 81, -1, -1, -1, - 100, -1, -1, 103, 104, 105, 106, -1, -1, 1, - -1, 96, 97, -1, 99, -1, 101, 102, 10, 11, - 12, 13, -1, 108, 109, 110, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 63, 64, -1, 51, - 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 3, 4, 5, 6, 7, 8, 9, -1, 95, 81, - -1, -1, -1, 100, -1, -1, 103, 104, 105, 106, - -1, -1, 1, -1, 96, 97, -1, 99, -1, 101, - 102, 10, 11, 12, 13, -1, 108, 109, 110, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 78, - 79, 80, 51, 52, 53, 54, 55, -1, 57, 58, - 59, 60, 61, 62, -1, -1, 65, 66, 67, 68, - 69, 70, 71, -1, -1, 95, -1, -1, 107, -1, - 100, -1, 81, 103, 104, 105, 106, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, 96, 97, -1, - 99, -1, 101, 102, 10, 11, -1, 13, -1, 108, - 109, 110, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, -1, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 78, 79, 80, 51, 52, 53, 54, 55, - -1, 57, 58, 59, 60, 61, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, -1, -1, 74, -1, - -1, 107, -1, -1, -1, 81, -1, -1, -1, -1, + 45, 46, 47, 48, 64, -1, -1, 52, 53, 54, + 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, + -1, 66, 67, 68, 69, 70, 71, 72, 3, 4, + 5, 6, 7, 8, 9, -1, 96, 82, -1, -1, + -1, 101, -1, -1, 104, 105, 106, 107, -1, -1, + 1, -1, 97, 98, -1, 100, -1, 102, 103, 10, + 11, 12, 13, -1, 109, 110, -1, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, -1, -1, + -1, 52, 53, 54, 55, 56, -1, 58, 59, 60, + 61, 62, 63, -1, -1, 66, 67, 68, 69, 70, + 71, 72, -1, -1, 96, -1, -1, -1, -1, 101, + -1, 82, 104, 105, 106, 107, -1, -1, -1, -1, + -1, -1, -1, -1, 1, -1, 97, 98, -1, 100, + -1, 102, 103, 10, 11, 12, 13, -1, 109, 110, + -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, -1, -1, -1, 52, 53, 54, 55, 56, + -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, - 96, 97, -1, 99, -1, 101, 102, 10, 11, -1, - 13, -1, 108, 109, 110, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, + 97, 98, -1, 100, -1, 102, 103, 10, 11, 12, + 13, -1, 109, 110, -1, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, 51, 52, - 53, 54, 55, -1, 57, 58, 59, 60, 61, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, + 43, 44, 45, 46, 47, 48, -1, -1, -1, 52, + 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, 96, 97, -1, 99, -1, 101, 102, - 10, 11, -1, 13, -1, 108, 109, 110, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - 30, 31, 32, 33, 34, 35, -1, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, - 60, 61, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, 96, 97, -1, 99, - -1, 101, 102, 10, -1, -1, 13, -1, 108, 109, - 110, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, -1, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, 40, 41, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, - -1, 58, 59, 60, 61, 62, -1, -1, 65, 66, - 67, 68, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, 96, - 97, -1, 99, -1, 101, 102, 10, -1, -1, 13, - -1, 108, 109, 110, 18, 19, 20, -1, 22, 23, - 24, 25, 26, 27, -1, 29, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + -1, -1, 1, -1, 97, 98, -1, 100, -1, 102, + 103, 10, 11, -1, 13, -1, 109, 110, -1, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + -1, -1, -1, 52, 53, 54, 55, 56, -1, 58, + 59, 60, 61, 62, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, -1, -1, 75, -1, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, 97, 98, + -1, 100, -1, 102, 103, 10, 11, -1, 13, -1, + 109, 110, -1, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, -1, -1, -1, 52, 53, 54, + 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, + -1, 66, 67, 68, 69, 70, 71, 72, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, -1, 58, 59, 60, 61, 62, -1, - -1, 65, 66, 67, 68, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, + 1, -1, 97, 98, -1, 100, -1, 102, 103, 10, + 11, -1, 13, -1, 109, 110, -1, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, + 31, 32, 33, 34, 35, 36, -1, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, -1, -1, + -1, 52, 53, 54, 55, 56, -1, 58, 59, 60, + 61, 62, 63, -1, -1, 66, 67, 68, 69, 70, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, -1, 97, 98, -1, 100, + -1, 102, 103, 10, -1, -1, 13, -1, 109, 110, + -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, -1, 30, 31, 32, 33, 34, 35, -1, + -1, -1, -1, -1, 41, 42, 45, 46, 47, 48, + -1, -1, -1, 52, -1, 54, -1, -1, -1, 56, + -1, -1, 59, 60, 61, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, + 79, 80, 81, -1, -1, 82, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, + 97, 98, -1, 100, -1, 102, 103, 10, -1, -1, + 13, -1, 109, 110, -1, 18, 19, 20, -1, 22, + 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 96, 97, -1, 99, -1, 101, 102, 10, - 11, -1, 13, 107, 108, 109, 110, 18, 19, 20, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, - 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, -1, -1, 58, 59, 60, - 61, 62, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 96, 97, -1, 99, -1, - 101, 102, 10, -1, -1, 13, 14, 108, 109, 110, - 18, 19, 20, -1, 22, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, - 58, 59, 60, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 96, 97, - -1, 99, -1, 101, 102, 10, 11, -1, 13, -1, - 108, 109, 110, 18, 19, 20, -1, 22, 23, 24, - 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, -1, 40, 41, -1, -1, -1, + -1, -1, -1, 56, -1, -1, 59, 60, 61, 62, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, 58, 59, 60, 61, 62, -1, -1, - 65, 66, 67, 68, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, + -1, -1, -1, -1, 97, 98, -1, 100, -1, 102, + 103, 10, 11, -1, 13, 108, 109, 110, -1, 18, + 19, 20, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, + 59, 60, 61, 62, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + -1, 100, -1, 102, 103, 10, -1, -1, 13, 14, + 109, 110, -1, 18, 19, 20, -1, 22, 23, 24, + 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 96, 97, -1, 99, -1, 101, 102, 10, -1, - -1, 13, -1, 108, 109, 110, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, + -1, 56, -1, -1, 59, 60, 61, 62, 63, -1, + -1, 66, 67, 68, 69, 70, 71, 72, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, -1, -1, 58, 59, 60, 61, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, + -1, -1, 97, 98, -1, 100, -1, 102, 103, 10, + 11, -1, 13, -1, 109, 110, -1, 18, 19, 20, + -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, + 61, 62, 63, -1, -1, 66, 67, 68, 69, 70, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 97, 98, -1, 100, + -1, 102, 103, 10, -1, -1, 13, -1, 109, 110, + -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, -1, 30, 31, 32, 33, 34, 35, -1, + -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + -1, -1, 59, 60, 61, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 96, 97, -1, 99, -1, 101, - 102, 10, -1, -1, 13, -1, 108, 109, 110, 18, - 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, - 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, 41, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 55, -1, -1, 58, - 59, 60, 61, 62, -1, -1, 65, 66, 67, 68, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 96, 97, -1, - 99, -1, 101, 102, 10, -1, -1, 13, 107, 108, - 109, 110, 18, 19, 20, -1, 22, 23, 24, 25, - 26, 27, -1, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, 40, 41, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - -1, -1, 58, 59, 60, 61, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, + 97, 98, -1, 100, -1, 102, 103, 10, -1, -1, + 13, -1, 109, 110, -1, 18, 19, 20, -1, 22, + 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 96, 97, -1, 99, -1, 101, 102, 10, -1, -1, - 13, 107, 108, 109, 110, 18, 19, 20, -1, 22, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, + -1, -1, -1, 56, -1, -1, 59, 60, 61, 62, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, -1, -1, 58, 59, 60, 61, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, + -1, -1, -1, -1, 97, 98, -1, 100, -1, 102, + 103, 10, -1, -1, 13, 108, 109, 110, -1, 18, + 19, 20, -1, 22, 23, 24, 25, 26, 27, 28, + -1, 30, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, + 59, 60, 61, 62, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + -1, 100, -1, 102, 103, 10, -1, -1, 13, 108, + 109, 110, -1, 18, 19, 20, -1, 22, 23, 24, + 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 96, 97, -1, 99, -1, 101, 102, - 10, -1, -1, 13, 107, 108, 109, 110, 18, 19, - 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, - 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, - 40, 41, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, -1, 58, 59, - 60, 61, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 96, 97, -1, 99, - -1, 101, 102, 10, -1, -1, 13, 107, 108, 109, - 110, 18, 19, 20, -1, 22, 23, 24, 25, 26, - 27, -1, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, 40, 41, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, - -1, 58, 59, 60, 61, 62, -1, -1, 65, 66, - 67, 68, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, - 97, -1, 99, -1, 101, 102, 10, -1, -1, 13, - 107, 108, 109, 110, 18, 19, 20, -1, 22, 23, - 24, 25, 26, 27, -1, 29, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + -1, 56, -1, -1, 59, 60, 61, 62, 63, -1, + -1, 66, 67, 68, 69, 70, 71, 72, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, -1, 58, 59, 60, 61, 62, -1, - -1, 65, 66, 67, 68, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, + -1, -1, 97, 98, -1, 100, -1, 102, 103, 10, + -1, -1, 13, 108, 109, 110, -1, 18, 19, 20, + -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, + 61, 62, 63, -1, -1, 66, 67, 68, 69, 70, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 97, 98, -1, 100, + -1, 102, 103, 10, -1, -1, 13, 108, 109, 110, + -1, 18, 19, 20, -1, 22, 23, 24, 25, 26, + 27, 28, -1, 30, 31, 32, 33, 34, 35, -1, + -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + -1, -1, 59, 60, 61, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 96, 97, -1, 99, -1, 101, 102, 10, - -1, -1, 13, 107, 108, 109, 110, 18, 19, 20, - -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, - 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, -1, -1, 58, 59, 60, - 61, 62, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 96, 97, -1, 99, -1, - 101, 102, 10, -1, -1, 13, 107, 108, 109, 110, - 18, 19, 20, -1, 22, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, - 58, 59, 60, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 96, 97, - -1, 99, -1, 101, 102, 10, -1, -1, 13, -1, - 108, 109, 110, 18, 19, 20, -1, 22, 23, 24, - 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, -1, 40, 41, -1, -1, -1, + 97, 98, -1, 100, -1, 102, 103, 10, -1, -1, + 13, 108, 109, 110, -1, 18, 19, 20, -1, 22, + 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, 58, 59, 60, 61, 62, -1, -1, - 65, 66, 67, 68, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, 477, -1, 81, 480, -1, -1, - -1, 484, 485, -1, -1, -1, -1, -1, -1, -1, - -1, 96, 97, -1, 99, -1, 101, 102, -1, 502, - 503, -1, -1, 108, 109, 110, 56, -1, -1, 512, - -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 527, -1, -1, -1, 531, 532, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 549, -1, -1, -1, - 100, 56, -1, 103, 104, 105, 106, -1, 63, 64, - 563, -1, -1, -1, -1, -1, -1, -1, 571, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, -1, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, -1, -1, -1, -1, 100, 56, -1, 103, 104, - 105, 106, -1, 63, 64, -1, -1, -1, -1, -1, + -1, -1, -1, 56, -1, -1, 59, 60, 61, 62, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 83, -1, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, -1, -1, -1, -1, - 100, 56, -1, 103, 104, 105, 106, -1, 63, 64, + -1, -1, -1, -1, 97, 98, -1, 100, -1, 102, + 103, 10, -1, -1, 13, 108, 109, 110, -1, 18, + 19, 20, -1, 22, 23, 24, 25, 26, 27, 28, + -1, 30, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, + 59, 60, 61, 62, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + -1, 100, -1, 102, 103, 10, -1, -1, 13, 108, + 109, 110, -1, 18, 19, 20, -1, 22, 23, 24, + 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, -1, -1, 59, 60, 61, 62, 63, -1, + -1, 66, 67, 68, 69, 70, 71, 72, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, -1, -1, -1, -1, 100, -1, -1, 103, 104, - 105, 106 + -1, -1, 97, 98, -1, 100, -1, 102, 103, 10, + -1, -1, 13, -1, 109, 110, -1, 18, 19, 20, + -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, + 61, 62, 63, -1, -1, 66, 67, 68, 69, 70, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, -1, -1, 57, -1, -1, -1, -1, -1, + -1, 64, 65, -1, -1, -1, 97, 98, -1, 100, + -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, -1, -1, -1, -1, 101, 57, + -1, 104, 105, 106, 107, -1, 64, 65, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 83, 84, -1, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, -1, + -1, -1, -1, 101, 57, -1, 104, 105, 106, 107, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, -1, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, -1, -1, -1, -1, 101, 57, + -1, 104, 105, 106, 107, -1, 64, 65, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, -1, + -1, -1, -1, 101, -1, -1, 104, 105, 106, 107 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -980,62 +994,62 @@ static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 113, 114, 115, 116, 117, 118, 119, 120, 0, 123, 10, 13, - 18, 19, 20, 22, 23, 24, 25, 26, 27, 29, - 30, 31, 32, 33, 34, 40, 41, 55, 58, 59, - 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, - 81, 96, 97, 99, 101, 102, 108, 109, 110, 174, + 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, + 30, 31, 32, 33, 34, 35, 41, 42, 56, 59, + 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, + 72, 82, 97, 98, 100, 102, 103, 109, 110, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 190, 193, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 11, 121, 1, 21, 35, 37, 38, - 39, 42, 43, 44, 45, 46, 47, 51, 52, 53, - 54, 57, 121, 130, 141, 174, 36, 128, 129, 130, - 126, 168, 169, 126, 23, 28, 121, 200, 208, 14, - 174, 188, 208, 188, 208, 208, 208, 189, 13, 108, - 188, 152, 152, 152, 188, 108, 108, 75, 108, 121, - 188, 23, 175, 192, 200, 208, 208, 121, 188, 21, - 174, 23, 28, 154, 188, 99, 108, 191, 200, 201, - 202, 188, 175, 188, 188, 188, 188, 188, 107, 174, - 208, 208, 78, 79, 80, 15, 11, 13, 108, 92, - 93, 92, 90, 91, 90, 56, 63, 64, 82, 83, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 100, 103, 104, 105, 106, 108, 11, 13, 11, - 13, 11, 13, 11, 123, 153, 154, 154, 23, 151, - 108, 108, 108, 108, 70, 99, 108, 198, 200, 108, - 108, 121, 21, 50, 143, 21, 44, 45, 46, 47, - 51, 53, 129, 130, 128, 19, 22, 109, 159, 160, - 162, 163, 164, 165, 14, 192, 108, 75, 174, 107, - 121, 26, 155, 72, 156, 107, 107, 174, 193, 193, - 208, 175, 12, 21, 192, 108, 188, 191, 200, 201, - 202, 107, 174, 72, 157, 13, 107, 174, 174, 174, - 188, 174, 174, 107, 174, 188, 188, 188, 188, 188, + 205, 206, 207, 11, 121, 1, 21, 36, 38, 39, + 40, 43, 44, 45, 46, 47, 48, 52, 53, 54, + 55, 58, 121, 130, 141, 174, 37, 128, 129, 130, + 126, 168, 169, 126, 24, 29, 121, 200, 208, 14, + 174, 188, 208, 188, 208, 208, 208, 208, 189, 13, + 109, 188, 152, 152, 152, 188, 109, 109, 76, 109, + 121, 188, 24, 175, 192, 200, 208, 208, 121, 188, + 21, 174, 24, 29, 154, 188, 100, 109, 191, 200, + 201, 202, 188, 175, 188, 188, 188, 188, 188, 108, + 174, 208, 79, 80, 81, 15, 11, 13, 109, 93, + 94, 93, 91, 92, 91, 57, 64, 65, 83, 84, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 101, 104, 105, 106, 107, 109, 11, 13, 11, + 13, 11, 13, 11, 123, 153, 154, 154, 24, 151, + 109, 109, 109, 109, 71, 100, 109, 198, 200, 109, + 109, 121, 21, 51, 143, 21, 45, 46, 47, 48, + 52, 54, 129, 130, 128, 19, 22, 110, 159, 160, + 162, 163, 164, 165, 14, 192, 109, 76, 174, 108, + 121, 27, 155, 73, 156, 108, 108, 174, 193, 193, + 208, 175, 12, 21, 192, 109, 188, 191, 200, 201, + 202, 108, 174, 73, 157, 13, 108, 174, 174, 174, + 188, 174, 174, 108, 174, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 10, 11, 13, 19, 22, 24, - 65, 108, 109, 110, 178, 200, 107, 174, 174, 174, - 174, 174, 174, 174, 174, 126, 23, 150, 151, 151, - 23, 133, 123, 123, 123, 123, 99, 123, 70, 196, - 197, 199, 200, 201, 202, 123, 123, 108, 123, 123, - 121, 140, 174, 147, 174, 140, 140, 140, 140, 28, - 158, 158, 15, 193, 175, 14, 177, 156, 26, 123, - 173, 107, 76, 107, 174, 12, 107, 174, 157, 107, - 26, 174, 13, 21, 14, 107, 84, 110, 174, 174, - 110, 110, 110, 107, 174, 110, 110, 108, 107, 21, + 188, 188, 188, 188, 10, 11, 13, 19, 22, 23, + 25, 66, 109, 110, 178, 200, 108, 174, 174, 174, + 174, 174, 174, 174, 174, 126, 24, 150, 151, 151, + 24, 133, 123, 123, 123, 123, 100, 123, 71, 196, + 197, 199, 200, 201, 202, 123, 123, 109, 123, 123, + 121, 140, 174, 147, 174, 140, 140, 140, 140, 29, + 158, 158, 15, 193, 175, 14, 177, 156, 27, 123, + 173, 108, 77, 108, 174, 12, 108, 174, 157, 108, + 27, 174, 13, 21, 14, 108, 85, 23, 174, 174, + 23, 23, 23, 23, 108, 174, 23, 109, 108, 21, 14, 21, 14, 21, 14, 21, 12, 17, 122, 131, - 132, 11, 21, 23, 146, 174, 147, 148, 174, 148, - 195, 200, 108, 141, 145, 148, 149, 174, 196, 123, - 148, 148, 82, 161, 161, 163, 107, 111, 194, 192, - 123, 171, 108, 166, 167, 107, 107, 14, 174, 12, - 188, 21, 14, 107, 193, 12, 12, 12, 12, 123, - 155, 156, 123, 23, 107, 107, 107, 107, 108, 123, - 107, 21, 136, 148, 107, 107, 188, 174, 76, 11, - 168, 11, 14, 12, 107, 21, 156, 21, 172, 173, + 132, 11, 21, 24, 146, 174, 147, 148, 174, 148, + 195, 200, 109, 141, 145, 148, 149, 174, 196, 123, + 148, 148, 83, 161, 161, 163, 108, 111, 194, 192, + 123, 171, 109, 166, 167, 108, 108, 14, 174, 12, + 188, 21, 14, 108, 193, 12, 12, 12, 12, 123, + 155, 156, 123, 24, 108, 108, 108, 108, 109, 123, + 108, 21, 136, 148, 108, 108, 188, 174, 77, 11, + 168, 11, 14, 12, 108, 21, 156, 21, 172, 173, 137, 192, 144, 144, 11, 124, 124, 148, 148, 124, - 134, 108, 107, 124, 124, 126, 107, 126, 74, 21, - 170, 171, 126, 21, 124, 124, 125, 48, 49, 142, - 142, 107, 107, 143, 146, 148, 124, 12, 12, 127, - 12, 143, 143, 126, 124, 108, 124, 124, 21, 107, - 143, 21, 26, 138, 12, 148, 143, 143, 135, 124, - 16, 73, 139, 107, 144, 143, 126, 124, 149, 74, - 142, 107, 124 + 134, 109, 108, 124, 124, 126, 108, 126, 75, 21, + 170, 171, 126, 21, 124, 124, 125, 49, 50, 142, + 142, 108, 108, 143, 146, 148, 124, 12, 12, 127, + 12, 143, 143, 126, 124, 109, 124, 124, 21, 108, + 143, 21, 27, 138, 12, 148, 143, 143, 135, 124, + 16, 74, 139, 108, 144, 143, 126, 124, 149, 75, + 142, 108, 124 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1120,28 +1134,28 @@ static const toketypes yy_type_tab[] = toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, + toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, - toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, @@ -1154,6 +1168,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 491face02c08897e36ea2126d0fdaca15a924544759450fefcdd9947844c7b2f perly.y + * d555d290bc7bf474791b8fd853e445933bb75ff8ff453aca9f7ff3b05b614566 perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ @@ -58,6 +58,7 @@ %token <ival> PERLY_PLUS %token <ival> PERLY_SEMICOLON %token <ival> PERLY_SNAIL +%token <ival> PERLY_STAR %token <opval> BAREWORD METHOD FUNCMETH THING PMFUNC PRIVATEREF QWLIST %token <opval> FUNC0OP FUNC0SUB UNIOPSUB LSTOPSUB @@ -1245,16 +1246,16 @@ term[product] : termbinop { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, $optlistexpr, scalar($subname))); } - | term[operand] ARROW '$' '*' + | term[operand] ARROW '$' PERLY_STAR { $$ = newSVREF($operand); } - | term[operand] ARROW PERLY_SNAIL '*' + | term[operand] ARROW PERLY_SNAIL PERLY_STAR { $$ = newAVREF($operand); } - | term[operand] ARROW PERLY_PERCENT_SIGN '*' + | term[operand] ARROW PERLY_PERCENT_SIGN PERLY_STAR { $$ = newHVREF($operand); } - | term[operand] ARROW PERLY_AMPERSAND '*' + | term[operand] ARROW PERLY_AMPERSAND PERLY_STAR { $$ = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF($PERLY_AMPERSAND,$operand))); } - | term[operand] ARROW '*' '*' %prec PERLY_PAREN_OPEN + | term[operand] ARROW PERLY_STAR PERLY_STAR %prec PERLY_PAREN_OPEN { $$ = newGVREF(0,$operand); } | LOOPEX /* loop exiting command (goto, last, dump, etc) */ { $$ = newOP($LOOPEX, OPf_SPECIAL); @@ -1395,11 +1396,11 @@ hsh : PERLY_PERCENT_SIGN indirob arylen : DOLSHARP indirob { $$ = newAVREF($indirob); } - | term ARROW DOLSHARP '*' + | term ARROW DOLSHARP PERLY_STAR { $$ = newAVREF($term); } ; -star : '*' indirob +star : PERLY_STAR indirob { $$ = newGVREF(0,$indirob); } ; @@ -1414,7 +1415,7 @@ kvslice : hsh ; gelem : star - | term ARROW '*' + | term ARROW PERLY_STAR { $$ = newGVREF(0,$term); } ; @@ -403,6 +403,7 @@ static struct debug_tokens { DEBUG_TOKEN (IVAL, PERLY_QUESTION_MARK), DEBUG_TOKEN (IVAL, PERLY_SEMICOLON), DEBUG_TOKEN (IVAL, PERLY_SNAIL), + DEBUG_TOKEN (IVAL, PERLY_STAR), DEBUG_TOKEN (IVAL, PERLY_TILDE), { PLUGEXPR, TOKENTYPE_OPVAL, "PLUGEXPR" }, { PLUGSTMT, TOKENTYPE_OPVAL, "PLUGSTMT" }, @@ -2055,6 +2056,7 @@ S_postderef(pTHX_ int const funny, char const next) || funny == PERLY_SNAIL || funny == PERLY_PERCENT_SIGN || funny == PERLY_AMPERSAND + || funny == PERLY_STAR ); if (next == '*') { PL_expect = XOPERATOR; @@ -2064,7 +2066,7 @@ S_postderef(pTHX_ int const funny, char const next) if (PERLY_SNAIL == funny) force_next(POSTJOIN); } - force_next(next); + force_next(PERLY_STAR); PL_bufptr+=2; } else { @@ -5700,15 +5702,15 @@ static int yyl_star(pTHX_ char *s) { if (PL_expect == XPOSTDEREF) - POSTDEREF('*'); + POSTDEREF(PERLY_STAR); if (PL_expect != XOPERATOR) { s = scan_ident(s, PL_tokenbuf, sizeof PL_tokenbuf, TRUE); PL_expect = XOPERATOR; - force_ident(PL_tokenbuf, '*'); + force_ident(PL_tokenbuf, PERLY_STAR); if (!*PL_tokenbuf) - PREREF('*'); - TERM('*'); + PREREF(PERLY_STAR); + TERM(PERLY_STAR); } s++; |