From 13ed0df282a4a21fc3f2d972ca28ed769cbb7dce Mon Sep 17 00:00:00 2001 From: Makhnev Petr <51853996+i582@users.noreply.github.com> Date: Sat, 31 Jul 2021 23:17:26 +0300 Subject: [PATCH] php8.1: grammar improvements (#16) Renamed 'possible_comma' with 'optional_comma' as in PHP-Parser Replace all 'identifier' with 'identifier_ex' and all 'T_STRING' with 'identifier' as in PHP-Parser --- internal/php8/php8.go | 5333 ++++++++++++++++++++--------------------- internal/php8/php8.y | 119 +- 2 files changed, 2723 insertions(+), 2729 deletions(-) diff --git a/internal/php8/php8.go b/internal/php8/php8.go index 88704d9..01e18ec 100644 --- a/internal/php8/php8.go +++ b/internal/php8/php8.go @@ -355,7 +355,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php8/php8.y:3452 +// line internal/php8/php8.y:3451 // line yacctab:1 var yyExca = [...]int{ @@ -364,1374 +364,1375 @@ var yyExca = [...]int{ -2, 0, -1, 2, 1, 1, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, -1, 43, - 58, 492, - 79, 492, - 142, 492, - 152, 492, - 158, 492, - -2, 488, - -1, 47, - 156, 498, - -2, 507, - -1, 83, - 79, 453, - -2, 496, + 58, 491, + 79, 491, + 142, 491, + 152, 491, + 158, 491, + -2, 487, + -1, 45, + 29, 80, + 155, 80, + -2, 97, + -1, 48, + 156, 497, + -2, 506, -1, 84, - 58, 497, - 142, 497, - 152, 497, - 158, 497, - -2, 477, - -1, 97, - 58, 494, - 79, 494, - 142, 494, - 152, 494, - 156, 500, - 158, 494, - -2, 475, - -1, 98, - 58, 495, - 79, 495, - 142, 495, - 152, 495, - 158, 495, + 79, 452, + -2, 495, + -1, 85, + 58, 496, + 142, 496, + 152, 496, + 158, 496, -2, 476, - -1, 102, - 79, 455, - -2, 479, - -1, 218, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 326, - 58, 492, - 79, 492, - 142, 492, - 152, 492, - 158, 492, - -2, 375, - -1, 329, - 156, 500, - -2, 494, - -1, 333, - 58, 492, - 79, 492, - 142, 492, - 152, 492, - 158, 492, - -2, 377, - -1, 396, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 450, - 116, 0, - 136, 0, - 137, 0, - 138, 0, - 139, 0, - -2, 399, - -1, 451, - 116, 0, - 136, 0, - 137, 0, - 138, 0, - 139, 0, - -2, 400, - -1, 452, - 116, 0, - 136, 0, - 137, 0, - 138, 0, - 139, 0, - -2, 401, - -1, 453, - 116, 0, - 136, 0, - 137, 0, - 138, 0, - 139, 0, - -2, 402, - -1, 454, - 140, 0, - 141, 0, - 175, 0, - 176, 0, - -2, 403, - -1, 455, - 140, 0, - 141, 0, - 175, 0, - 176, 0, - -2, 404, - -1, 456, - 140, 0, - 141, 0, - 175, 0, - 176, 0, - -2, 405, - -1, 457, - 140, 0, - 141, 0, - 175, 0, - 176, 0, - -2, 406, - -1, 458, - 116, 0, - 136, 0, - 137, 0, - 138, 0, - 139, 0, - -2, 407, - -1, 465, - 157, 188, - 168, 188, - -2, 492, - -1, 468, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 510, - 157, 536, - 159, 536, - 168, 536, - -2, 492, - -1, 515, + -1, 98, 58, 493, 79, 493, 142, 493, 152, 493, 156, 499, 158, 493, - -2, 409, - -1, 533, - 156, 524, - -2, 514, - -1, 536, - 156, 80, - -2, 82, - -1, 537, - 156, 81, - -2, 83, - -1, 563, - 155, 82, - -2, 98, - -1, 567, - 155, 13, - -2, 459, - -1, 569, - 155, 46, - -2, 428, - -1, 571, - 155, 73, - -2, 454, - -1, 572, - 155, 11, - -2, 109, - -1, 581, - 156, 440, - -2, 42, - -1, 583, - 155, 61, - -2, 487, - -1, 584, - 155, 62, - -2, 483, - -1, 585, - 155, 63, - -2, 485, - -1, 586, - 155, 64, - -2, 484, - -1, 587, - 155, 65, - -2, 480, - -1, 588, - 155, 66, - -2, 481, - -1, 589, - 155, 67, - -2, 482, - -1, 590, - 155, 68, - -2, 486, - -1, 591, - 156, 440, - -2, 69, - -1, 594, - 157, 245, - -2, 109, - -1, 596, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -2, 474, + -1, 99, + 58, 494, + 79, 494, + 142, 494, + 152, 494, + 158, 494, + -2, 475, + -1, 103, + 79, 454, + -2, 478, + -1, 220, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 623, - 157, 245, - -2, 109, - -1, 624, - 157, 245, - -2, 109, - -1, 634, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 649, + -1, 328, + 58, 491, + 79, 491, + 142, 491, + 152, 491, + 158, 491, + -2, 374, + -1, 331, 156, 499, -2, 493, - -1, 714, - 157, 215, - -2, 492, - -1, 724, - 157, 245, - -2, 109, - -1, 747, + -1, 335, + 58, 491, + 79, 491, + 142, 491, + 152, 491, + 158, 491, + -2, 376, + -1, 398, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 452, + 116, 0, + 136, 0, + 137, 0, + 138, 0, + 139, 0, + -2, 398, + -1, 453, + 116, 0, + 136, 0, + 137, 0, + 138, 0, + 139, 0, + -2, 399, + -1, 454, + 116, 0, + 136, 0, + 137, 0, + 138, 0, + 139, 0, + -2, 400, + -1, 455, + 116, 0, + 136, 0, + 137, 0, + 138, 0, + 139, 0, + -2, 401, + -1, 456, + 140, 0, + 141, 0, + 175, 0, + 176, 0, + -2, 402, + -1, 457, + 140, 0, + 141, 0, + 175, 0, + 176, 0, + -2, 403, + -1, 458, + 140, 0, + 141, 0, + 175, 0, + 176, 0, + -2, 404, + -1, 459, + 140, 0, + 141, 0, + 175, 0, + 176, 0, + -2, 405, + -1, 460, + 116, 0, + 136, 0, + 137, 0, + 138, 0, + 139, 0, + -2, 406, + -1, 467, + 157, 187, + 168, 187, + -2, 491, + -1, 470, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 512, 157, 535, 159, 535, 168, 535, - -2, 492, - -1, 765, - 157, 85, - -2, 109, - -1, 776, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -2, 491, + -1, 517, + 58, 492, + 79, 492, + 142, 492, + 152, 492, + 156, 498, + 158, 492, + -2, 408, + -1, 534, + 156, 521, + -2, 477, + -1, 535, + 156, 523, + -2, 513, + -1, 566, + 155, 13, + -2, 458, + -1, 568, + 155, 46, + -2, 427, + -1, 570, + 155, 73, + -2, 453, + -1, 571, + 155, 11, + -2, 108, + -1, 580, + 156, 439, + -2, 42, + -1, 582, + 155, 61, + -2, 486, + -1, 583, + 155, 62, + -2, 482, + -1, 584, + 155, 63, + -2, 484, + -1, 585, + 155, 64, + -2, 483, + -1, 586, + 155, 65, + -2, 479, + -1, 587, + 155, 66, + -2, 480, + -1, 588, + 155, 67, + -2, 481, + -1, 589, + 155, 68, + -2, 485, + -1, 590, + 156, 439, + -2, 69, + -1, 593, + 157, 244, + -2, 108, + -1, 595, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 786, - 157, 216, - -2, 492, - -1, 789, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -1, 622, + 157, 244, + -2, 108, + -1, 623, + 157, 244, + -2, 108, + -1, 633, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 810, - 53, 109, - 54, 109, - 55, 109, + -1, 648, + 156, 498, + -2, 492, + -1, 713, + 157, 214, + -2, 491, + -1, 723, + 157, 244, + -2, 108, + -1, 746, + 157, 534, + 159, 534, + 168, 534, + -2, 491, + -1, 764, + 157, 84, + -2, 108, + -1, 775, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 785, + 157, 215, + -2, 491, + -1, 788, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 809, + 53, 108, + 54, 108, + 55, 108, + 94, 239, + 95, 239, + 96, 239, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 853, + 157, 214, + -2, 491, + -1, 855, + 157, 217, + -2, 466, + -1, 867, + 37, 317, + 39, 317, + -2, 314, + -1, 881, + 53, 108, + 54, 108, + 55, 108, 94, 240, 95, 240, 96, 240, - 100, 109, - 101, 109, - 149, 109, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 854, - 157, 215, - -2, 492, - -1, 856, - 157, 218, - -2, 467, - -1, 868, - 37, 318, - 39, 318, - -2, 315, - -1, 882, - 53, 109, - 54, 109, - 55, 109, - 94, 241, - 95, 241, - 96, 241, - 100, 109, - 101, 109, - 149, 109, + -1, 914, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 915, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -1, 918, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 919, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 953, - 31, 231, - 32, 231, - 33, 231, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - 153, 231, - -2, 0, - -1, 961, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 990, - 79, 98, - -2, 80, - -1, 997, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, - -2, 0, - -1, 998, + -1, 952, 31, 230, 32, 230, 33, 230, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, 153, 230, -2, 0, - -1, 1003, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -1, 960, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 1008, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -1, 993, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, - -1, 1036, - 157, 245, - -2, 109, - -1, 1044, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -1, 994, + 31, 229, + 32, 229, + 33, 229, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + 153, 229, -2, 0, - -1, 1055, - 53, 109, - 54, 109, - 55, 109, - 100, 109, - 101, 109, - 149, 109, + -1, 999, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 1004, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 1032, + 157, 244, + -2, 108, + -1, 1040, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, + -2, 0, + -1, 1051, + 53, 108, + 54, 108, + 55, 108, + 100, 108, + 101, 108, + 149, 108, -2, 0, } const yyPrivate = 57344 -const yyLast = 9418 +const yyLast = 9473 var yyAct = [...]int{ - 30, 218, 822, 687, 729, 974, 870, 127, 965, 983, - 40, 100, 971, 850, 471, 733, 975, 909, 727, 734, - 817, 826, 713, 689, 226, 226, 226, 696, 695, 240, - 779, 977, 550, 725, 731, 529, 419, 559, 464, 237, - 538, 319, 414, 97, 125, 10, 78, 317, 98, 239, - 104, 413, 321, 325, 9, 84, 334, 335, 336, 337, - 338, 392, 236, 361, 339, 340, 341, 342, 343, 344, - 345, 501, 348, 232, 235, 356, 357, 358, 359, 2, - 412, 411, 216, 8, 7, 353, 43, 225, 45, 539, - 376, 377, 221, 379, 380, 39, 370, 329, 329, 562, - 277, 410, 330, 330, 6, 287, 208, 1026, 353, 327, - 327, 205, 229, 230, 365, 698, 207, 215, 99, 1015, - 1012, 980, 117, 244, 246, 245, 268, 353, 279, 211, - 362, 745, 934, 643, 933, 268, 367, 430, 405, 352, - 326, 333, 1013, 1009, 409, 944, 942, 5, 804, 621, - 270, 267, 903, 901, 804, 1006, 1014, 1010, 281, 893, - 404, 891, 888, 837, 772, 220, 242, 243, 254, 257, - 258, 259, 260, 261, 262, 264, 266, 254, 372, 765, - 600, 683, 678, 117, 502, 619, 117, 610, 431, 911, - 910, 428, 386, 388, 398, 269, 248, 252, 251, 228, - 102, 117, 432, 396, 247, 429, 249, 253, 255, 256, - 263, 265, 250, 309, 310, 528, 253, 255, 256, 508, - 416, 278, 900, 856, 421, 422, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 754, - 117, 750, 117, 433, 434, 435, 436, 437, 438, 439, + 30, 821, 686, 869, 563, 980, 970, 973, 728, 220, + 40, 128, 849, 732, 908, 473, 964, 816, 726, 825, + 712, 695, 733, 560, 228, 228, 228, 694, 421, 242, + 730, 551, 778, 531, 466, 688, 724, 539, 227, 416, + 415, 321, 10, 9, 319, 414, 394, 105, 8, 413, + 241, 209, 7, 323, 327, 217, 503, 336, 337, 338, + 339, 340, 234, 231, 232, 341, 342, 343, 344, 345, + 346, 347, 101, 350, 98, 363, 358, 359, 360, 361, + 412, 540, 2, 6, 238, 279, 289, 79, 697, 208, + 216, 378, 379, 367, 381, 382, 46, 372, 1022, 100, + 239, 223, 212, 1011, 39, 206, 1008, 977, 744, 270, + 933, 642, 932, 432, 407, 237, 943, 118, 1009, 1005, + 941, 902, 900, 803, 37, 1002, 803, 270, 364, 331, + 331, 270, 1010, 1006, 369, 411, 281, 620, 5, 283, + 218, 599, 354, 103, 892, 99, 433, 355, 406, 890, + 85, 256, 259, 260, 270, 400, 222, 430, 266, 268, + 434, 277, 428, 43, 405, 399, 887, 836, 771, 256, + 355, 431, 764, 256, 259, 260, 429, 682, 406, 400, + 254, 253, 219, 677, 118, 388, 390, 118, 374, 355, + 255, 257, 258, 265, 267, 252, 256, 118, 254, 253, + 332, 332, 254, 253, 855, 329, 329, 398, 255, 257, + 258, 618, 255, 257, 258, 609, 530, 252, 328, 335, + 510, 118, 418, 280, 365, 899, 423, 424, 753, 749, + 365, 664, 230, 659, 649, 255, 257, 258, 660, 219, + 636, 118, 653, 509, 316, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 426, - 460, 462, 665, 466, 235, 403, 468, 397, 295, 959, - 363, 650, 660, 427, 418, 637, 363, 661, 331, 404, - 507, 398, 1050, 1004, 1000, 917, 483, 485, 486, 487, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 420, 462, 464, 958, 468, 1046, 1000, 996, 916, + 915, 230, 906, 735, 736, 882, 470, 862, 794, 524, + 793, 783, 762, 759, 757, 748, 212, 402, 485, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 279, 39, 498, 226, 500, 329, 916, 321, 399, 367, - 330, 907, 211, 400, 511, 883, 503, 327, 653, 513, - 117, 654, 863, 321, 120, 118, 119, 795, 101, 794, - 281, 101, 472, 784, 763, 369, 543, 760, 226, 758, - 522, 749, 711, 700, 686, 524, 101, 651, 465, 642, - 393, 1036, 353, 353, 506, 314, 329, 545, 924, 859, - 546, 330, 268, 787, 548, 551, 552, 748, 327, 553, - 514, 534, 384, 459, 1054, 556, 1053, 505, 560, 967, - 321, 467, 477, 353, 724, 353, 537, 101, 708, 329, - 499, 709, 353, 353, 330, 389, 605, 911, 910, 510, - 378, 327, 375, 374, 254, 257, 258, 373, 347, 564, - 316, 264, 266, 387, 624, 268, 623, 608, 606, 594, - 544, 614, 512, 240, 523, 516, 479, 592, 480, 10, - 542, 237, 526, 252, 251, 478, 541, 311, 9, 315, - 521, 273, 530, 253, 255, 256, 263, 265, 250, 313, - 272, 279, 617, 823, 532, 312, 271, 254, 224, 363, - 223, 219, 121, 1043, 268, 596, 808, 8, 7, 632, - 655, 633, 615, 685, 634, 635, 631, 604, 802, 39, - 518, 519, 613, 845, 846, 482, 252, 251, 6, 618, - 802, 612, 276, 1022, 640, 598, 253, 255, 256, 321, - 645, 845, 846, 321, 211, 599, 254, 257, 258, 1021, - 395, 518, 394, 519, 1017, 802, 999, 954, 663, 918, - 519, 518, 913, 656, 906, 904, 667, 228, 842, 117, - 838, 5, 226, 670, 809, 252, 251, 783, 782, 780, - 644, 802, 778, 775, 609, 253, 255, 256, 802, 268, - 648, 39, 684, 595, 481, 469, 425, 325, 424, 356, - 357, 359, 423, 886, 884, 835, 770, 376, 377, 362, - 379, 380, 662, 370, 867, 677, 1028, 79, 675, 968, - 962, 639, 664, 922, 682, 641, 991, 885, 864, 79, - 869, 254, 257, 258, 858, 690, 805, 228, 969, 704, - 421, 706, 757, 517, 912, 671, 672, 710, 235, 728, - 699, 666, 692, 367, 79, 627, 331, 722, 723, 669, - 252, 251, 844, 935, 690, 690, 602, 274, 213, 10, - 253, 255, 256, 418, 746, 250, 705, 213, 9, 79, - 79, 874, 875, 876, 873, 872, 871, 79, 712, 879, - 222, 116, 752, 329, 329, 372, 799, 254, 330, 330, - 213, 79, 120, 118, 119, 327, 327, 8, 7, 551, - 946, 268, 402, 369, 560, 402, 762, 372, 726, 39, - 329, 288, 289, 351, 101, 330, 331, 209, 6, 210, - 877, 1025, 327, 290, 291, 776, 465, 714, 540, 756, - 364, 759, 732, 941, 228, 564, 372, 372, 321, 629, - 769, 761, 789, 254, 764, 773, 228, 39, 796, 363, - 771, 280, 116, 747, 213, 690, 601, 806, 801, 401, - 781, 5, 120, 118, 119, 810, 811, 803, 939, 321, - 889, 785, 702, 292, 294, 293, 547, 80, 821, 329, - 797, 209, 117, 210, 330, 788, 719, 79, 473, 1023, - 228, 327, 862, 363, 214, 212, 690, 736, 737, 421, - 1024, 742, 117, 214, 233, 774, 832, 520, 321, 824, - 383, 814, 402, 117, 793, 792, 812, 860, 283, 284, - 417, 839, 786, 929, 836, 928, 214, 878, 853, 390, - 882, 847, 751, 849, 801, 843, 117, 372, 222, 116, - 372, 736, 737, 930, 881, 840, 228, 354, 355, 329, - 730, 658, 738, 657, 330, 855, 626, 894, 79, 896, - 625, 327, 217, 371, 288, 289, 908, 354, 355, 120, - 118, 119, 887, 902, 915, 890, 892, 603, 372, 385, - 919, 120, 118, 119, 923, 905, 925, 476, 475, 39, - 214, 212, 854, 474, 697, 931, 833, 736, 737, 914, - 845, 846, 39, 926, 807, 832, 470, 927, 206, 821, - 938, 275, 801, 285, 940, 1, 372, 874, 875, 876, - 873, 872, 871, 39, 936, 120, 118, 119, 282, 937, - 286, 953, 117, 943, 868, 735, 766, 520, 117, 865, - 593, 947, 866, 948, 961, 79, 952, 798, 982, 851, - 956, 349, 960, 730, 630, 979, 966, 801, 360, 972, - 992, 825, 993, 791, 721, 228, 877, 801, 848, 845, - 846, 989, 816, 997, 998, 815, 61, 996, 994, 820, - 995, 120, 118, 119, 1003, 818, 861, 738, 628, 463, - 1008, 701, 949, 1052, 372, 39, 897, 354, 355, 1007, - 707, 1018, 554, 354, 355, 932, 834, 1011, 831, 898, - 895, 978, 1020, 117, 320, 1016, 736, 737, 391, 989, - 1005, 42, 122, 730, 117, 880, 693, 694, 39, 520, - 767, 768, 39, 1033, 14, 1030, 1035, 41, 966, 372, - 1034, 973, 972, 1032, 738, 549, 371, 1042, 1037, 372, - 1044, 1040, 1039, 964, 738, 963, 18, 829, 828, 827, - 1047, 970, 1041, 558, 17, 920, 39, 690, 1045, 238, - 1046, 652, 950, 1051, 39, 368, 1055, 1048, 354, 355, - 921, 851, 117, 48, 47, 103, 738, 350, 555, 354, - 355, 49, 504, 504, 228, 83, 531, 81, 72, 346, - 120, 118, 119, 830, 318, 62, 82, 366, 60, 987, - 39, 39, 986, 985, 984, 833, 39, 800, 738, 234, - 117, 39, 738, 231, 738, 381, 244, 246, 245, 268, - 44, 790, 718, 688, 420, 406, 3, 958, 945, 899, - 0, 0, 533, 0, 0, 736, 737, 354, 355, 372, - 0, 0, 0, 270, 267, 988, 0, 39, 0, 0, - 0, 0, 0, 738, 0, 738, 0, 0, 39, 242, - 243, 254, 257, 258, 259, 260, 261, 262, 264, 266, - 1001, 0, 0, 735, 382, 354, 355, 0, 0, 244, - 246, 245, 268, 0, 0, 0, 0, 813, 269, 248, - 252, 251, 0, 988, 0, 233, 0, 247, 0, 249, - 253, 255, 256, 263, 265, 250, 270, 267, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, - 118, 119, 242, 243, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 268, 730, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 777, 0, - 0, 269, 248, 252, 251, 0, 0, 0, 267, 0, - 247, 0, 249, 253, 255, 256, 263, 265, 250, 0, - 0, 0, 0, 0, 0, 254, 257, 258, 259, 260, - 261, 262, 264, 266, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 248, 252, 251, 0, 0, 668, 0, - 0, 504, 504, 673, 253, 255, 256, 263, 265, 250, - 0, 0, 0, 0, 0, 0, 0, 576, 577, 567, - 147, 94, 95, 563, 0, 117, 0, 0, 0, 0, - 371, 114, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 181, 182, 183, 184, 185, 173, 174, - 581, 591, 176, 177, 162, 163, 164, 570, 166, 167, - 168, 169, 170, 574, 575, 0, 193, 191, 192, 188, - 189, 0, 0, 565, 582, 187, 583, 584, 586, 585, - 587, 588, 0, 0, 0, 0, 0, 0, 96, 0, - 0, 0, 0, 190, 590, 589, 0, 561, 578, 579, - 580, 140, 141, 142, 143, 572, 566, 148, 149, 150, - 568, 569, 571, 129, 130, 131, 132, 133, 53, 54, - 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 498, 499, 270, 401, 500, 228, 502, 237, 369, 323, + 281, 734, 39, 283, 505, 710, 513, 386, 317, 474, + 699, 515, 735, 736, 685, 323, 650, 641, 315, 102, + 395, 885, 102, 1032, 314, 923, 910, 909, 331, 858, + 228, 786, 102, 501, 256, 259, 260, 526, 747, 544, + 723, 391, 707, 508, 461, 708, 469, 121, 119, 120, + 966, 534, 547, 525, 507, 479, 549, 552, 553, 516, + 546, 554, 896, 254, 253, 801, 380, 557, 518, 523, + 561, 654, 323, 255, 257, 258, 377, 376, 375, 331, + 218, 349, 318, 389, 472, 623, 622, 607, 604, 605, + 476, 477, 478, 593, 365, 514, 121, 119, 120, 332, + 482, 480, 313, 275, 329, 355, 355, 1039, 274, 481, + 273, 832, 331, 613, 226, 242, 591, 467, 10, 9, + 225, 504, 504, 545, 8, 221, 532, 122, 7, 1050, + 822, 1049, 597, 543, 844, 845, 355, 801, 355, 542, + 807, 684, 603, 801, 616, 355, 355, 844, 845, 630, + 332, 281, 484, 278, 397, 329, 396, 1018, 1017, 6, + 595, 631, 1013, 632, 80, 614, 995, 634, 512, 212, + 598, 537, 611, 987, 633, 520, 521, 953, 917, 617, + 39, 912, 905, 332, 239, 903, 639, 841, 329, 837, + 808, 323, 644, 801, 537, 323, 612, 782, 781, 779, + 777, 528, 774, 801, 608, 594, 520, 483, 521, 602, + 662, 218, 471, 427, 5, 521, 520, 666, 426, 425, + 883, 834, 769, 228, 669, 873, 874, 875, 872, 871, + 870, 661, 643, 230, 1024, 118, 80, 967, 961, 647, + 921, 884, 80, 683, 519, 968, 327, 863, 358, 359, + 361, 934, 39, 857, 80, 911, 378, 379, 364, 381, + 382, 668, 372, 804, 676, 638, 674, 214, 843, 640, + 118, 756, 727, 681, 876, 522, 655, 691, 118, 624, + 625, 670, 671, 626, 689, 601, 663, 276, 703, 423, + 705, 214, 80, 256, 230, 665, 709, 945, 270, 369, + 698, 878, 80, 224, 117, 721, 722, 420, 290, 291, + 214, 798, 404, 689, 689, 10, 9, 704, 210, 1021, + 211, 8, 333, 745, 230, 7, 353, 404, 652, 656, + 657, 224, 117, 711, 541, 356, 357, 210, 237, 211, + 256, 751, 294, 296, 295, 735, 736, 214, 366, 504, + 504, 940, 938, 374, 365, 888, 6, 725, 552, 292, + 293, 784, 731, 561, 628, 761, 600, 80, 121, 119, + 120, 282, 117, 331, 331, 374, 548, 39, 475, 371, + 861, 403, 1019, 734, 230, 1020, 760, 285, 286, 758, + 102, 755, 775, 768, 928, 365, 927, 323, 772, 773, + 331, 763, 404, 215, 374, 374, 795, 770, 592, 788, + 80, 5, 81, 333, 689, 39, 419, 800, 792, 791, + 805, 780, 701, 750, 385, 810, 802, 215, 323, 121, + 119, 120, 809, 290, 291, 796, 718, 820, 80, 235, + 118, 787, 696, 392, 332, 332, 215, 213, 118, 329, + 329, 741, 729, 522, 737, 689, 207, 219, 423, 121, + 119, 120, 467, 713, 538, 118, 813, 323, 831, 331, + 522, 332, 811, 1, 284, 859, 329, 126, 80, 838, + 823, 835, 287, 215, 213, 852, 842, 537, 288, 746, + 877, 867, 846, 800, 848, 118, 765, 881, 864, 373, + 383, 865, 979, 880, 351, 374, 629, 976, 374, 362, + 118, 854, 556, 356, 357, 387, 895, 893, 824, 121, + 119, 120, 118, 790, 720, 907, 815, 393, 118, 886, + 356, 357, 889, 891, 814, 901, 62, 819, 904, 331, + 332, 914, 922, 817, 924, 329, 374, 918, 118, 797, + 860, 930, 627, 352, 806, 729, 465, 39, 785, 384, + 356, 357, 925, 700, 926, 948, 1048, 831, 820, 937, + 39, 800, 706, 939, 555, 356, 357, 931, 839, 913, + 844, 845, 833, 935, 374, 936, 830, 356, 357, 737, + 942, 39, 897, 356, 357, 847, 844, 845, 952, 850, + 894, 322, 951, 946, 42, 947, 123, 692, 955, 693, + 332, 960, 974, 356, 357, 329, 800, 230, 986, 988, + 766, 989, 767, 14, 41, 729, 800, 879, 853, 972, + 550, 963, 962, 18, 969, 990, 559, 991, 17, 919, + 993, 994, 240, 651, 370, 49, 737, 48, 104, 50, + 84, 999, 533, 82, 73, 975, 737, 1004, 1014, 348, + 1012, 320, 374, 39, 986, 1016, 63, 1007, 735, 736, + 83, 929, 959, 368, 61, 984, 965, 1001, 983, 971, + 982, 981, 920, 373, 799, 236, 233, 44, 737, 1029, + 789, 717, 1031, 1028, 687, 974, 39, 992, 1030, 1026, + 39, 422, 866, 1038, 1036, 408, 1037, 374, 1033, 3, + 957, 944, 1035, 898, 1040, 1043, 0, 374, 868, 1003, + 737, 1044, 949, 689, 737, 1041, 737, 1042, 1047, 506, + 506, 850, 537, 0, 39, 0, 0, 0, 537, 0, + 1051, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 121, 119, 120, 965, 0, 985, 0, 971, + 0, 0, 0, 0, 0, 737, 0, 737, 0, 873, + 874, 875, 872, 871, 870, 39, 39, 0, 0, 535, + 537, 39, 997, 0, 537, 0, 39, 0, 0, 0, + 90, 91, 71, 0, 95, 96, 230, 0, 118, 0, + 0, 0, 0, 985, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 374, 537, 0, 0, 876, 0, + 0, 0, 39, 224, 117, 1034, 537, 0, 0, 0, + 78, 0, 0, 39, 0, 0, 88, 89, 0, 0, + 0, 537, 235, 729, 0, 0, 326, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 325, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 229, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 311, 312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 0, 0, + 0, 0, 60, 0, 52, 0, 0, 324, 57, 56, + 58, 59, 72, 102, 667, 0, 0, 506, 506, 672, + 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, + 0, 575, 576, 566, 148, 95, 96, 45, 0, 118, + 0, 0, 0, 0, 373, 115, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 182, 183, 184, + 185, 186, 174, 175, 580, 590, 177, 178, 163, 164, + 165, 569, 167, 168, 169, 170, 171, 573, 574, 0, + 194, 192, 193, 189, 190, 0, 0, 564, 581, 188, + 582, 583, 585, 584, 586, 587, 0, 0, 0, 0, + 0, 0, 97, 0, 0, 0, 0, 191, 589, 588, + 0, 562, 577, 578, 579, 141, 142, 143, 144, 571, + 565, 149, 150, 151, 567, 568, 570, 130, 131, 132, + 133, 134, 54, 55, 77, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 573, 79, 120, 118, - 119, 134, 204, 115, 73, 0, 0, 0, 0, 59, - 557, 51, 0, 0, 0, 56, 55, 57, 58, 71, - 101, 576, 577, 567, 147, 94, 95, 563, 0, 117, - 0, 0, 0, 0, 0, 114, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 181, 182, 183, - 184, 185, 173, 174, 581, 591, 176, 177, 162, 163, - 164, 570, 166, 167, 168, 169, 170, 574, 575, 0, - 193, 191, 192, 188, 189, 0, 0, 565, 582, 187, - 583, 584, 586, 585, 587, 588, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, 0, 190, 590, 589, - 0, 561, 578, 579, 580, 140, 141, 142, 143, 572, - 566, 148, 149, 150, 568, 569, 571, 129, 130, 131, - 132, 133, 53, 54, 76, 63, 64, 65, 66, 67, - 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 573, 79, 120, 118, 119, 134, 204, 115, 73, 0, - 0, 0, 0, 59, 0, 51, 0, 0, 0, 56, - 55, 57, 58, 71, 101, 4, 0, 89, 90, 70, - 46, 94, 95, 37, 0, 117, 0, 29, 0, 0, - 0, 114, 28, 20, 19, 0, 21, 0, 32, 0, - 33, 0, 0, 22, 0, 0, 0, 23, 24, 36, - 38, 116, 15, 25, 35, 0, 0, 77, 13, 0, - 26, 0, 31, 87, 88, 11, 0, 0, 0, 0, - 0, 0, 0, 50, 113, 0, 112, 108, 109, 110, - 105, 106, 0, 0, 0, 0, 0, 0, 96, 0, - 0, 0, 0, 12, 111, 107, 0, 0, 91, 92, - 93, 0, 0, 0, 0, 85, 52, 0, 0, 0, - 74, 75, 27, 0, 0, 0, 0, 0, 53, 54, - 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 86, 79, 120, 118, - 119, 0, 0, 115, 73, 16, 691, 34, 0, 59, - 0, 51, 0, 0, 0, 56, 55, 57, 58, 71, - 101, 4, 0, 89, 90, 70, 46, 94, 95, 37, - 0, 117, 0, 29, 0, 0, 0, 114, 28, 20, - 19, 0, 21, 0, 32, 0, 33, 0, 0, 22, - 0, 0, 0, 23, 24, 36, 38, 116, 15, 25, - 35, 0, 0, 77, 13, 0, 26, 0, 31, 87, - 88, 11, 0, 0, 0, 0, 0, 0, 0, 50, - 113, 0, 112, 108, 109, 110, 105, 106, 0, 0, - 0, 0, 0, 0, 96, 0, 0, 0, 0, 12, - 111, 107, 0, 0, 91, 92, 93, 0, 0, 0, - 0, 85, 52, 0, 0, 0, 74, 75, 27, 0, - 0, 0, 0, 0, 53, 54, 76, 63, 64, 65, - 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 86, 79, 120, 118, 119, 0, 0, 115, - 73, 16, 597, 34, 0, 59, 0, 51, 0, 0, - 0, 56, 55, 57, 58, 71, 101, 135, 136, 146, - 147, 0, 0, 536, 0, 117, 0, 0, 0, 0, - 0, 0, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 181, 182, 183, 184, 185, 173, 174, - 175, 202, 176, 177, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 0, 193, 191, 192, 188, - 189, 0, 0, 180, 186, 187, 194, 195, 197, 196, - 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 190, 201, 200, 0, 0, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 148, 149, 150, - 178, 179, 128, 129, 130, 131, 132, 133, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, - 0, 134, 204, 0, 0, 535, 4, 0, 89, 90, - 70, 46, 94, 95, 37, 0, 117, 0, 29, 0, - 101, 0, 114, 28, 20, 19, 0, 21, 0, 32, - 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, - 36, 38, 116, 15, 25, 35, 0, 0, 77, 13, - 0, 26, 0, 31, 87, 88, 11, 0, 0, 0, - 0, 0, 0, 0, 50, 113, 0, 112, 108, 109, - 110, 105, 106, 0, 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 12, 111, 107, 0, 0, 91, - 92, 93, 0, 0, 0, 0, 85, 52, 0, 0, - 0, 74, 75, 27, 0, 0, 0, 0, 0, 53, - 54, 76, 63, 64, 65, 66, 67, 68, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 86, 79, 120, - 118, 119, 0, 0, 115, 73, 16, 0, 34, 0, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 71, 101, 408, 0, 89, 90, 70, 46, 94, 95, - 37, 0, 117, 0, 29, 0, 0, 0, 114, 28, - 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, - 22, 0, 0, 0, 23, 24, 36, 38, 116, 0, - 25, 35, 0, 0, 77, 0, 0, 26, 0, 31, - 87, 88, 415, 0, 0, 0, 0, 0, 0, 0, - 50, 113, 0, 112, 108, 109, 110, 105, 106, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 111, 107, 0, 0, 91, 92, 93, 0, 0, - 0, 0, 85, 52, 0, 0, 0, 74, 75, 27, - 0, 0, 0, 0, 0, 53, 54, 76, 63, 64, - 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 79, 120, 118, 119, 0, 0, - 115, 73, 16, 1056, 34, 0, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 71, 101, 408, 0, - 89, 90, 70, 46, 94, 95, 37, 0, 117, 0, - 29, 0, 0, 0, 114, 28, 20, 19, 0, 21, - 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, - 23, 24, 36, 38, 116, 0, 25, 35, 0, 0, - 77, 0, 0, 26, 0, 31, 87, 88, 415, 0, - 0, 0, 0, 0, 0, 0, 50, 113, 0, 112, - 108, 109, 110, 105, 106, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 111, 107, 0, - 0, 91, 92, 93, 0, 0, 0, 0, 85, 52, - 0, 0, 0, 74, 75, 27, 0, 0, 0, 0, - 0, 53, 54, 76, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 79, 120, 118, 119, 0, 0, 115, 73, 16, 1049, - 34, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 71, 101, 408, 0, 89, 90, 70, 46, - 94, 95, 37, 0, 117, 0, 29, 0, 0, 0, - 114, 28, 20, 19, 0, 21, 0, 32, 0, 33, - 0, 0, 22, 0, 0, 0, 23, 24, 36, 38, - 116, 0, 25, 35, 0, 0, 77, 0, 0, 26, - 0, 31, 87, 88, 415, 0, 0, 0, 0, 0, - 0, 0, 50, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 27, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 16, 1031, 34, 0, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 71, 101, - 408, 0, 89, 90, 70, 46, 94, 95, 37, 0, - 117, 0, 29, 0, 0, 0, 114, 28, 20, 19, - 0, 21, 0, 32, 0, 33, 0, 0, 22, 0, - 0, 0, 23, 24, 36, 38, 116, 0, 25, 35, - 0, 0, 77, 0, 0, 26, 0, 31, 87, 88, - 415, 0, 0, 0, 0, 0, 0, 0, 50, 113, - 0, 112, 108, 109, 110, 105, 106, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 111, - 107, 0, 0, 91, 92, 93, 0, 0, 0, 0, - 85, 52, 0, 0, 0, 74, 75, 27, 0, 0, - 0, 0, 0, 53, 54, 76, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 79, 120, 118, 119, 0, 0, 115, 73, - 16, 1029, 34, 0, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 71, 101, 408, 0, 89, 90, - 70, 46, 94, 95, 37, 0, 117, 0, 29, 0, - 0, 0, 114, 28, 20, 19, 0, 21, 1027, 32, - 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, - 36, 38, 116, 0, 25, 35, 0, 0, 77, 0, - 0, 26, 0, 31, 87, 88, 415, 0, 0, 0, - 0, 0, 0, 0, 50, 113, 0, 112, 108, 109, - 110, 105, 106, 0, 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 111, 107, 0, 0, 91, - 92, 93, 0, 0, 0, 0, 85, 52, 0, 0, - 0, 74, 75, 27, 0, 0, 0, 0, 0, 53, - 54, 76, 63, 64, 65, 66, 67, 68, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 86, 79, 120, - 118, 119, 0, 0, 115, 73, 16, 0, 34, 0, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 71, 101, 408, 0, 89, 90, 70, 46, 94, 95, - 37, 0, 117, 0, 29, 0, 0, 0, 114, 28, - 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, - 22, 0, 0, 0, 23, 24, 36, 38, 116, 0, - 25, 35, 0, 0, 77, 0, 0, 26, 0, 31, - 87, 88, 415, 0, 0, 0, 0, 0, 0, 0, - 50, 113, 0, 112, 108, 109, 110, 105, 106, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 111, 107, 0, 0, 91, 92, 93, 0, 0, - 0, 0, 85, 52, 0, 0, 0, 74, 75, 27, - 0, 0, 0, 0, 0, 53, 54, 76, 63, 64, - 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 79, 120, 118, 119, 0, 0, - 115, 73, 16, 1002, 34, 0, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 71, 101, 408, 0, - 89, 90, 70, 46, 94, 95, 37, 0, 117, 0, - 29, 0, 0, 0, 114, 28, 20, 19, 0, 21, - 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, - 23, 24, 36, 38, 116, 0, 25, 35, 0, 0, - 77, 0, 0, 26, 0, 31, 87, 88, 415, 0, - 0, 0, 0, 0, 0, 0, 50, 113, 0, 112, - 108, 109, 110, 105, 106, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 111, 107, 0, - 0, 91, 92, 93, 0, 0, 0, 0, 85, 52, - 0, 0, 0, 74, 75, 27, 0, 0, 0, 0, - 0, 53, 54, 76, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 79, 120, 118, 119, 0, 0, 115, 73, 16, 957, - 34, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 71, 101, 408, 0, 89, 90, 70, 46, - 94, 95, 37, 0, 117, 0, 29, 0, 0, 0, - 114, 28, 20, 19, 0, 21, 0, 32, 955, 33, - 0, 0, 22, 0, 0, 0, 23, 24, 36, 38, - 116, 0, 25, 35, 0, 0, 77, 0, 0, 26, - 0, 31, 87, 88, 415, 0, 0, 0, 0, 0, - 0, 0, 50, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 27, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 16, 0, 34, 0, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 71, 101, - 408, 0, 89, 90, 70, 46, 94, 95, 37, 0, - 117, 0, 29, 0, 0, 0, 114, 28, 20, 19, - 0, 21, 0, 32, 0, 33, 857, 0, 22, 0, - 0, 0, 23, 24, 36, 38, 116, 0, 25, 35, - 0, 0, 77, 0, 0, 26, 0, 31, 87, 88, - 415, 0, 0, 0, 0, 0, 0, 0, 50, 113, - 0, 112, 108, 109, 110, 105, 106, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 111, - 107, 0, 0, 91, 92, 93, 0, 0, 0, 0, - 85, 52, 0, 0, 0, 74, 75, 27, 0, 0, - 0, 0, 0, 53, 54, 76, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 79, 120, 118, 119, 0, 0, 115, 73, - 16, 0, 34, 0, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 71, 101, 408, 0, 89, 90, - 70, 46, 94, 95, 37, 0, 117, 0, 29, 0, - 0, 0, 114, 28, 20, 19, 841, 21, 0, 32, - 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, - 36, 38, 116, 0, 25, 35, 0, 0, 77, 0, - 0, 26, 0, 31, 87, 88, 415, 0, 0, 0, - 0, 0, 0, 0, 50, 113, 0, 112, 108, 109, - 110, 105, 106, 0, 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 111, 107, 0, 0, 91, - 92, 93, 0, 0, 0, 0, 85, 52, 0, 0, - 0, 74, 75, 27, 0, 0, 0, 0, 0, 53, - 54, 76, 63, 64, 65, 66, 67, 68, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 86, 79, 120, - 118, 119, 0, 0, 115, 73, 16, 0, 34, 0, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 71, 101, 408, 0, 89, 90, 70, 46, 94, 95, - 37, 0, 117, 0, 29, 0, 0, 0, 114, 28, - 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, - 22, 0, 0, 0, 23, 24, 36, 38, 116, 0, - 25, 35, 0, 0, 77, 0, 0, 26, 0, 31, - 87, 88, 415, 0, 0, 0, 0, 0, 0, 0, - 50, 113, 0, 112, 108, 109, 110, 105, 106, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 111, 107, 0, 0, 91, 92, 93, 0, 0, - 0, 0, 85, 52, 0, 0, 741, 74, 75, 27, - 0, 0, 0, 0, 0, 53, 54, 76, 63, 64, - 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 79, 120, 118, 119, 0, 0, - 115, 73, 16, 0, 34, 0, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 71, 101, 408, 0, - 89, 90, 70, 46, 94, 95, 37, 0, 117, 0, - 29, 0, 0, 0, 114, 28, 20, 19, 0, 21, - 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, - 23, 24, 36, 38, 116, 0, 25, 35, 0, 0, - 77, 0, 0, 26, 0, 31, 87, 88, 415, 0, - 0, 0, 0, 0, 0, 0, 50, 113, 0, 112, - 108, 109, 110, 105, 106, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 111, 107, 0, - 0, 91, 92, 93, 0, 0, 0, 0, 85, 52, - 0, 0, 0, 74, 75, 27, 0, 0, 0, 0, - 0, 53, 54, 76, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 79, 120, 118, 119, 0, 0, 115, 73, 16, 622, - 34, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 71, 101, 408, 0, 89, 90, 70, 46, - 94, 95, 37, 0, 117, 0, 29, 0, 0, 0, - 114, 28, 20, 19, 0, 21, 0, 32, 0, 33, - 0, 0, 22, 0, 0, 0, 23, 24, 36, 38, - 116, 0, 25, 35, 0, 0, 77, 0, 0, 26, - 0, 31, 87, 88, 415, 0, 0, 0, 0, 0, - 0, 0, 50, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 27, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 16, 407, 34, 0, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 71, 101, - 408, 0, 89, 90, 70, 46, 94, 95, 37, 0, - 117, 0, 29, 0, 0, 0, 114, 28, 20, 19, - 0, 21, 0, 32, 0, 33, 0, 0, 22, 0, - 0, 0, 23, 24, 36, 38, 116, 0, 25, 35, - 0, 0, 77, 0, 0, 26, 0, 31, 87, 88, - 415, 0, 0, 0, 0, 0, 0, 0, 50, 113, - 0, 112, 108, 109, 110, 105, 106, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 111, - 107, 0, 0, 91, 92, 93, 0, 0, 0, 0, - 85, 52, 0, 0, 0, 74, 75, 27, 0, 0, - 0, 0, 0, 53, 54, 76, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 79, 120, 118, 119, 0, 0, 115, 73, - 16, 0, 34, 0, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 71, 101, 89, 90, 70, 46, - 94, 95, 37, 0, 117, 0, 29, 0, 0, 0, - 114, 28, 20, 19, 0, 21, 0, 32, 0, 33, - 0, 0, 22, 0, 0, 0, 23, 24, 36, 222, - 116, 0, 25, 35, 0, 0, 77, 0, 0, 26, - 0, 31, 87, 88, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 27, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 16, 0, 34, 852, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 71, 101, - 89, 90, 70, 46, 94, 95, 37, 0, 117, 0, - 29, 0, 0, 0, 114, 28, 20, 19, 0, 21, - 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, - 23, 24, 36, 222, 116, 0, 25, 35, 0, 0, - 77, 0, 0, 26, 0, 31, 87, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 113, 0, 112, - 108, 109, 110, 105, 106, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 111, 107, 0, - 0, 91, 92, 93, 0, 0, 0, 0, 85, 52, - 0, 0, 0, 74, 75, 27, 0, 0, 0, 0, - 0, 53, 54, 76, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 79, 120, 118, 119, 0, 0, 115, 73, 16, 0, - 34, 951, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 71, 101, 89, 90, 70, 46, 94, 95, - 37, 0, 117, 0, 29, 0, 0, 0, 114, 28, - 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, - 22, 0, 0, 0, 23, 24, 36, 222, 116, 0, - 25, 35, 0, 0, 77, 0, 0, 26, 0, 31, - 87, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 113, 0, 112, 108, 109, 110, 105, 106, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 111, 107, 0, 0, 91, 92, 93, 0, 0, - 0, 0, 85, 52, 0, 0, 0, 74, 75, 27, - 0, 0, 0, 0, 0, 53, 54, 76, 63, 64, - 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 79, 120, 118, 119, 0, 0, - 115, 73, 16, 0, 34, 743, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 71, 101, 89, 90, - 70, 46, 94, 95, 37, 0, 117, 0, 29, 0, - 0, 0, 114, 28, 20, 19, 0, 21, 0, 32, - 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, - 36, 222, 116, 0, 25, 35, 0, 0, 77, 0, - 0, 26, 0, 31, 87, 88, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 113, 0, 112, 108, 109, - 110, 105, 106, 0, 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 111, 107, 0, 0, 91, - 92, 93, 0, 0, 0, 0, 85, 52, 0, 0, - 0, 74, 75, 27, 0, 0, 0, 0, 0, 53, - 54, 76, 63, 64, 65, 66, 67, 68, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 86, 79, 120, - 118, 119, 0, 0, 115, 73, 16, 0, 34, 720, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 71, 101, 89, 90, 70, 46, 94, 95, 37, 0, - 117, 0, 29, 0, 0, 0, 114, 28, 20, 19, - 0, 21, 0, 32, 0, 33, 0, 0, 22, 0, - 0, 0, 23, 24, 36, 222, 116, 0, 25, 35, - 0, 0, 77, 0, 0, 26, 0, 31, 87, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 113, - 0, 112, 108, 109, 110, 105, 106, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 111, - 107, 0, 0, 91, 92, 93, 0, 0, 0, 0, - 85, 52, 0, 0, 0, 74, 75, 27, 0, 0, - 0, 0, 0, 53, 54, 76, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 79, 120, 118, 119, 0, 0, 115, 73, - 16, 0, 34, 703, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 71, 101, 89, 90, 70, 46, - 94, 95, 37, 0, 117, 0, 29, 0, 0, 0, - 114, 28, 20, 19, 0, 21, 0, 32, 0, 33, - 0, 0, 22, 0, 0, 0, 23, 24, 36, 222, - 116, 0, 25, 35, 0, 0, 77, 0, 0, 26, - 0, 31, 87, 88, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 27, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 16, 0, 34, 0, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 71, 101, - 135, 136, 146, 147, 0, 0, 990, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 181, 182, 183, 184, - 185, 173, 174, 175, 202, 176, 177, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 0, 193, - 191, 192, 188, 189, 0, 0, 180, 186, 187, 194, - 195, 197, 196, 198, 199, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 190, 201, 200, 0, - 0, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 148, 149, 150, 178, 179, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 0, 120, 118, 119, 134, 204, 0, 0, 0, 1019, - 135, 136, 146, 147, 0, 0, 990, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 181, 182, 183, 184, - 185, 173, 174, 175, 202, 176, 177, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 0, 193, - 191, 192, 188, 189, 0, 0, 180, 186, 187, 194, - 195, 197, 196, 198, 199, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 190, 201, 200, 0, - 0, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 148, 149, 150, 178, 179, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 0, 120, 118, 119, 134, 204, 0, 0, 0, 981, - 135, 136, 146, 147, 0, 0, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 181, 182, 183, 184, - 185, 173, 174, 175, 202, 176, 177, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 0, 193, - 191, 192, 188, 189, 0, 0, 180, 186, 187, 194, - 195, 197, 196, 198, 199, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 190, 201, 200, 0, - 0, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 148, 149, 150, 178, 179, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 136, 146, 147, 0, 203, - 976, 0, 126, 0, 134, 204, 0, 0, 123, 151, + 572, 80, 121, 119, 120, 135, 205, 116, 74, 0, + 0, 0, 0, 60, 558, 52, 0, 0, 0, 57, + 56, 58, 59, 72, 102, 575, 576, 566, 148, 95, + 96, 45, 0, 118, 0, 0, 0, 0, 0, 115, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 181, 182, 183, 184, 185, 173, 174, 175, 202, 176, - 177, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 0, 193, 191, 192, 188, 189, 0, 0, - 180, 186, 187, 194, 195, 197, 196, 198, 199, 0, + 162, 182, 183, 184, 185, 186, 174, 175, 580, 590, + 177, 178, 163, 164, 165, 569, 167, 168, 169, 170, + 171, 573, 574, 0, 194, 192, 193, 189, 190, 0, + 0, 564, 581, 188, 582, 583, 585, 584, 586, 587, + 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, + 0, 191, 589, 588, 0, 562, 577, 578, 579, 141, + 142, 143, 144, 571, 565, 149, 150, 151, 567, 568, + 570, 130, 131, 132, 133, 134, 54, 55, 77, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 190, 201, 200, 0, 0, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 148, 149, 150, 178, 179, 128, - 129, 130, 131, 132, 133, 0, 0, 0, 0, 0, + 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 572, 80, 121, 119, 120, 135, + 205, 116, 74, 0, 0, 0, 0, 60, 0, 52, + 0, 0, 0, 57, 56, 58, 59, 72, 102, 4, + 0, 90, 91, 71, 47, 95, 96, 45, 0, 118, + 0, 29, 0, 735, 736, 115, 28, 20, 19, 0, + 21, 0, 32, 0, 33, 0, 0, 22, 0, 0, + 0, 23, 24, 36, 38, 117, 15, 25, 35, 0, + 0, 78, 13, 0, 26, 0, 31, 88, 89, 11, + 0, 0, 0, 0, 828, 827, 826, 51, 114, 0, + 113, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 97, 0, 0, 0, 0, 12, 112, 108, + 0, 0, 92, 93, 94, 0, 0, 0, 0, 86, + 53, 0, 0, 0, 75, 76, 27, 121, 119, 120, + 829, 0, 54, 55, 77, 64, 65, 66, 67, 68, + 69, 70, 832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 135, 136, 146, 147, 0, - 0, 1038, 0, 203, 0, 0, 0, 0, 134, 204, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 181, 182, 183, 184, 185, 173, 174, 175, 202, - 176, 177, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 0, 193, 191, 192, 188, 189, 0, - 0, 180, 186, 187, 194, 195, 197, 196, 198, 199, + 87, 80, 121, 119, 120, 0, 0, 116, 74, 16, + 690, 34, 0, 60, 0, 52, 0, 0, 0, 57, + 56, 58, 59, 72, 102, 4, 0, 90, 91, 71, + 47, 95, 96, 45, 0, 118, 0, 29, 0, 0, + 0, 115, 28, 20, 19, 0, 21, 0, 32, 0, + 33, 0, 0, 22, 0, 0, 0, 23, 24, 36, + 38, 117, 15, 25, 35, 0, 0, 78, 13, 0, + 26, 0, 31, 88, 89, 11, 0, 0, 0, 0, + 0, 0, 0, 51, 114, 0, 113, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 97, 0, + 0, 0, 0, 12, 112, 108, 0, 0, 92, 93, + 94, 0, 0, 0, 0, 86, 53, 0, 0, 0, + 75, 76, 27, 0, 0, 0, 0, 0, 54, 55, + 77, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 201, 200, 0, 0, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 148, 149, 150, 178, 179, - 874, 875, 876, 873, 872, 871, 89, 90, 70, 0, - 94, 95, 228, 0, 117, 0, 0, 0, 0, 0, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, - 116, 0, 0, 0, 203, 0, 77, 0, 0, 877, - 204, 0, 87, 88, 0, 0, 0, 0, 0, 0, - 0, 0, 324, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 323, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 227, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 230, 0, 118, + 0, 0, 0, 0, 0, 0, 87, 80, 121, 119, + 120, 0, 0, 116, 74, 16, 596, 34, 0, 60, + 0, 52, 0, 0, 0, 57, 56, 58, 59, 72, + 102, 136, 137, 147, 148, 0, 0, 219, 0, 118, + 0, 0, 0, 0, 0, 0, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 182, 183, 184, + 185, 186, 174, 175, 176, 203, 177, 178, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 0, + 194, 192, 193, 189, 190, 0, 333, 181, 187, 188, + 195, 196, 198, 197, 199, 200, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 202, 201, + 0, 0, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 149, 150, 151, 179, 180, 129, 130, 131, 132, + 133, 134, 121, 119, 120, 0, 0, 0, 0, 0, + 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 0, 135, 205, 0, 0, 536, + 4, 0, 90, 91, 71, 47, 95, 96, 45, 0, + 118, 0, 29, 0, 102, 0, 115, 28, 20, 19, + 0, 21, 0, 32, 0, 33, 0, 0, 22, 0, + 0, 0, 23, 24, 36, 38, 117, 15, 25, 35, + 0, 0, 78, 13, 0, 26, 0, 31, 88, 89, + 11, 0, 0, 0, 0, 0, 0, 0, 51, 114, + 0, 113, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 97, 0, 0, 0, 0, 12, 112, + 108, 0, 0, 92, 93, 94, 0, 0, 0, 0, + 86, 53, 0, 0, 0, 75, 76, 27, 0, 0, + 0, 0, 0, 54, 55, 77, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 0, 0, 0, 0, 59, 0, - 51, 0, 0, 322, 56, 55, 57, 58, 71, 101, - 89, 90, 70, 0, 94, 95, 228, 0, 117, 0, - 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 819, - 0, 0, 0, 222, 116, 0, 0, 0, 0, 0, - 77, 0, 0, 0, 0, 0, 87, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 113, 0, 112, - 108, 109, 110, 105, 106, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 111, 107, 0, - 0, 91, 92, 93, 0, 0, 0, 0, 85, 52, - 0, 0, 0, 74, 75, 227, 0, 0, 0, 0, - 0, 53, 54, 76, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 79, 120, 118, 119, 0, 0, 115, 73, 0, 0, - 0, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 71, 101, 89, 90, 70, 0, 94, 95, - 228, 0, 117, 0, 0, 0, 0, 0, 114, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 222, 116, 0, - 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, - 87, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 647, 113, 0, 112, 108, 109, 110, 105, 106, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 111, 107, 0, 0, 91, 92, 93, 0, 0, - 0, 0, 85, 52, 0, 0, 0, 74, 75, 227, - 0, 0, 0, 0, 0, 53, 54, 76, 63, 64, - 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, + 0, 87, 80, 121, 119, 120, 0, 0, 116, 74, + 16, 0, 34, 0, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 72, 102, 410, 0, 90, 91, + 71, 47, 95, 96, 45, 0, 118, 0, 29, 0, + 0, 0, 115, 28, 20, 19, 0, 21, 0, 32, + 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, + 36, 38, 117, 0, 25, 35, 0, 0, 78, 0, + 0, 26, 0, 31, 88, 89, 417, 0, 0, 0, + 0, 0, 0, 0, 51, 114, 0, 113, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 97, + 0, 0, 0, 0, 0, 112, 108, 0, 0, 92, + 93, 94, 0, 0, 0, 0, 86, 53, 0, 0, + 0, 75, 76, 27, 0, 0, 0, 0, 0, 54, + 55, 77, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 79, 120, 118, 119, 0, 0, - 115, 73, 0, 0, 0, 0, 59, 0, 51, 0, - 0, 646, 56, 55, 57, 58, 71, 101, 89, 90, - 70, 0, 94, 95, 228, 525, 117, 0, 0, 0, - 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 222, 116, 0, 0, 0, 0, 0, 77, 0, - 0, 0, 0, 0, 87, 88, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 113, 0, 112, 108, 109, - 110, 105, 106, 0, 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 111, 107, 0, 0, 91, - 92, 93, 0, 0, 0, 0, 85, 52, 0, 0, - 0, 74, 75, 227, 0, 0, 0, 0, 0, 53, - 54, 76, 63, 64, 65, 66, 67, 68, 69, 0, + 0, 0, 0, 0, 0, 0, 0, 87, 80, 121, + 119, 120, 0, 0, 116, 74, 16, 1052, 34, 0, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 72, 102, 410, 0, 90, 91, 71, 47, 95, 96, + 45, 0, 118, 0, 29, 0, 0, 0, 115, 28, + 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, + 22, 0, 0, 0, 23, 24, 36, 38, 117, 0, + 25, 35, 0, 0, 78, 0, 0, 26, 0, 31, + 88, 89, 417, 0, 0, 0, 0, 0, 0, 0, + 51, 114, 0, 113, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, + 0, 112, 108, 0, 0, 92, 93, 94, 0, 0, + 0, 0, 86, 53, 0, 0, 0, 75, 76, 27, + 0, 0, 0, 0, 0, 54, 55, 77, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 86, 79, 120, - 118, 119, 0, 0, 115, 73, 0, 0, 0, 0, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 71, 101, 89, 90, 70, 0, 94, 95, 228, 0, - 117, 0, 0, 0, 0, 0, 114, 0, 0, 0, + 0, 0, 0, 87, 80, 121, 119, 120, 0, 0, + 116, 74, 16, 1045, 34, 0, 60, 0, 52, 0, + 0, 0, 57, 56, 58, 59, 72, 102, 410, 0, + 90, 91, 71, 47, 95, 96, 45, 0, 118, 0, + 29, 0, 0, 0, 115, 28, 20, 19, 0, 21, + 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, + 23, 24, 36, 38, 117, 0, 25, 35, 0, 0, + 78, 0, 0, 26, 0, 31, 88, 89, 417, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 27, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 222, 116, 0, 0, 0, - 0, 0, 77, 0, 0, 0, 0, 0, 87, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 113, - 0, 112, 108, 109, 110, 105, 106, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 111, - 107, 0, 0, 91, 92, 93, 0, 0, 0, 0, - 85, 52, 0, 0, 0, 74, 75, 227, 0, 0, - 0, 0, 0, 53, 54, 76, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 16, 1027, + 34, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 410, 0, 90, 91, 71, 47, + 95, 96, 45, 0, 118, 0, 29, 0, 0, 0, + 115, 28, 20, 19, 0, 21, 0, 32, 0, 33, + 0, 0, 22, 0, 0, 0, 23, 24, 36, 38, + 117, 0, 25, 35, 0, 0, 78, 0, 0, 26, + 0, 31, 88, 89, 417, 0, 0, 0, 0, 0, + 0, 0, 51, 114, 0, 113, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 0, 0, 0, 112, 108, 0, 0, 92, 93, 94, + 0, 0, 0, 0, 86, 53, 0, 0, 0, 75, + 76, 27, 0, 0, 0, 0, 0, 54, 55, 77, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 79, 120, 118, 119, 0, 0, 115, 73, - 0, 0, 0, 0, 59, 0, 51, 0, 0, 484, - 56, 55, 57, 58, 71, 101, 89, 90, 70, 0, - 94, 95, 228, 0, 117, 0, 0, 0, 0, 0, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, - 116, 0, 0, 0, 0, 0, 77, 0, 0, 0, - 0, 0, 87, 88, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 113, 0, 112, 108, 109, 110, 105, - 106, 0, 0, 0, 0, 0, 0, 96, 0, 0, - 0, 0, 0, 111, 107, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 85, 52, 0, 0, 0, 74, - 75, 227, 0, 0, 0, 0, 0, 53, 54, 76, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 80, 121, 119, 120, + 0, 0, 116, 74, 16, 1025, 34, 0, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 72, 102, + 410, 0, 90, 91, 71, 47, 95, 96, 45, 0, + 118, 0, 29, 0, 0, 0, 115, 28, 20, 19, + 0, 21, 1023, 32, 0, 33, 0, 0, 22, 0, + 0, 0, 23, 24, 36, 38, 117, 0, 25, 35, + 0, 0, 78, 0, 0, 26, 0, 31, 88, 89, + 417, 0, 0, 0, 0, 0, 0, 0, 51, 114, + 0, 113, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 112, + 108, 0, 0, 92, 93, 94, 0, 0, 0, 0, + 86, 53, 0, 0, 0, 75, 76, 27, 0, 0, + 0, 0, 0, 54, 55, 77, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 79, 120, 118, 119, - 0, 0, 115, 73, 0, 0, 0, 461, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 71, 101, - 89, 90, 70, 0, 94, 95, 228, 0, 117, 0, - 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, + 0, 87, 80, 121, 119, 120, 0, 0, 116, 74, + 16, 0, 34, 0, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 72, 102, 410, 0, 90, 91, + 71, 47, 95, 96, 45, 0, 118, 0, 29, 0, + 0, 0, 115, 28, 20, 19, 0, 21, 0, 32, + 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, + 36, 38, 117, 0, 25, 35, 0, 0, 78, 0, + 0, 26, 0, 31, 88, 89, 417, 0, 0, 0, + 0, 0, 0, 0, 51, 114, 0, 113, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 97, + 0, 0, 0, 0, 0, 112, 108, 0, 0, 92, + 93, 94, 0, 0, 0, 0, 86, 53, 0, 0, + 0, 75, 76, 27, 0, 0, 0, 0, 0, 54, + 55, 77, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 222, 116, 0, 0, 0, 0, 0, - 77, 0, 0, 0, 0, 0, 87, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 113, 0, 112, - 108, 109, 110, 105, 106, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 111, 107, 0, - 0, 91, 92, 93, 0, 0, 0, 0, 85, 52, - 0, 0, 0, 74, 75, 227, 0, 0, 0, 0, - 0, 53, 54, 76, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 244, 246, 245, 268, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 79, 120, 118, 119, 0, 0, 115, 73, 270, 267, - 0, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 71, 101, 242, 243, 254, 257, 258, 259, - 260, 261, 262, 264, 266, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 755, 244, 246, 245, - 268, 0, 0, 269, 248, 252, 251, 0, 0, 0, - 0, 0, 247, 0, 249, 253, 255, 256, 263, 265, - 250, 0, 0, 0, 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 242, 243, 254, 257, 258, 259, 260, 261, 262, 264, - 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 753, 244, 246, 245, 268, 0, 0, 269, - 248, 252, 251, 0, 0, 0, 0, 0, 247, 0, - 249, 253, 255, 256, 263, 265, 250, 0, 0, 0, - 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 243, 254, 257, - 258, 259, 260, 261, 262, 264, 266, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 744, 244, - 246, 245, 268, 0, 0, 269, 248, 252, 251, 0, - 0, 0, 0, 0, 247, 0, 249, 253, 255, 256, - 263, 265, 250, 0, 0, 0, 270, 267, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 87, 80, 121, + 119, 120, 0, 0, 116, 74, 16, 998, 34, 0, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 72, 102, 410, 0, 90, 91, 71, 47, 95, 96, + 45, 0, 118, 0, 29, 0, 0, 0, 115, 28, + 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, + 22, 0, 0, 0, 23, 24, 36, 38, 117, 0, + 25, 35, 0, 0, 78, 0, 0, 26, 0, 31, + 88, 89, 417, 0, 0, 0, 0, 0, 0, 0, + 51, 114, 0, 113, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, + 0, 112, 108, 0, 0, 92, 93, 94, 0, 0, + 0, 0, 86, 53, 0, 0, 0, 75, 76, 27, + 0, 0, 0, 0, 0, 54, 55, 77, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 243, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 246, 245, 268, 0, 0, 740, 0, - 0, 269, 248, 252, 251, 0, 0, 0, 0, 0, - 247, 0, 249, 253, 255, 256, 263, 265, 250, 270, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 242, 243, 254, 257, 258, - 259, 260, 261, 262, 264, 266, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 244, 246, 245, 268, 0, - 0, 739, 0, 0, 269, 248, 252, 251, 0, 0, - 0, 0, 0, 247, 0, 249, 253, 255, 256, 263, - 265, 250, 270, 267, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 242, 243, - 254, 257, 258, 259, 260, 261, 262, 264, 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 681, 244, 246, 245, 268, 0, 0, 269, 248, 252, - 251, 0, 0, 0, 0, 0, 247, 0, 249, 253, - 255, 256, 263, 265, 250, 0, 0, 0, 270, 267, + 0, 0, 0, 87, 80, 121, 119, 120, 0, 0, + 116, 74, 16, 956, 34, 0, 60, 0, 52, 0, + 0, 0, 57, 56, 58, 59, 72, 102, 410, 0, + 90, 91, 71, 47, 95, 96, 45, 0, 118, 0, + 29, 0, 0, 0, 115, 28, 20, 19, 0, 21, + 0, 32, 954, 33, 0, 0, 22, 0, 0, 0, + 23, 24, 36, 38, 117, 0, 25, 35, 0, 0, + 78, 0, 0, 26, 0, 31, 88, 89, 417, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 27, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 243, 254, 257, 258, 259, - 260, 261, 262, 264, 266, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 246, 245, 268, 0, 0, - 680, 0, 0, 269, 248, 252, 251, 0, 0, 0, - 0, 0, 247, 0, 249, 253, 255, 256, 263, 265, - 250, 270, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 242, 243, 254, - 257, 258, 259, 260, 261, 262, 264, 266, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 244, 246, 245, - 268, 0, 0, 679, 0, 0, 269, 248, 252, 251, - 0, 0, 0, 0, 0, 247, 0, 249, 253, 255, - 256, 263, 265, 250, 270, 267, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 16, 0, + 34, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 410, 0, 90, 91, 71, 47, + 95, 96, 45, 0, 118, 0, 29, 0, 0, 0, + 115, 28, 20, 19, 0, 21, 0, 32, 0, 33, + 856, 0, 22, 0, 0, 0, 23, 24, 36, 38, + 117, 0, 25, 35, 0, 0, 78, 0, 0, 26, + 0, 31, 88, 89, 417, 0, 0, 0, 0, 0, + 0, 0, 51, 114, 0, 113, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 0, 0, 0, 112, 108, 0, 0, 92, 93, 94, + 0, 0, 0, 0, 86, 53, 0, 0, 0, 75, + 76, 27, 0, 0, 0, 0, 0, 54, 55, 77, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 242, 243, 254, 257, 258, 259, 260, 261, 262, 264, - 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 246, 245, 268, 0, 0, 676, 0, 0, 269, - 248, 252, 251, 0, 0, 0, 0, 0, 247, 0, - 249, 253, 255, 256, 263, 265, 250, 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 242, 243, 254, 257, 258, 259, 260, - 261, 262, 264, 266, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 244, 246, 245, 268, 0, 0, 674, - 0, 0, 269, 248, 252, 251, 0, 0, 0, 0, - 0, 247, 0, 249, 253, 255, 256, 263, 265, 250, - 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 243, 254, 257, - 258, 259, 260, 261, 262, 264, 266, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 659, 244, - 246, 245, 268, 0, 0, 269, 248, 252, 251, 0, - 0, 0, 0, 0, 247, 0, 249, 253, 255, 256, - 263, 265, 250, 0, 0, 0, 270, 267, 0, 0, + 0, 0, 0, 0, 0, 87, 80, 121, 119, 120, + 0, 0, 116, 74, 16, 0, 34, 0, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 72, 102, + 410, 0, 90, 91, 71, 47, 95, 96, 45, 0, + 118, 0, 29, 0, 0, 0, 115, 28, 20, 19, + 840, 21, 0, 32, 0, 33, 0, 0, 22, 0, + 0, 0, 23, 24, 36, 38, 117, 0, 25, 35, + 0, 0, 78, 0, 0, 26, 0, 31, 88, 89, + 417, 0, 0, 0, 0, 0, 0, 0, 51, 114, + 0, 113, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 112, + 108, 0, 0, 92, 93, 94, 0, 0, 0, 0, + 86, 53, 0, 0, 0, 75, 76, 27, 0, 0, + 0, 0, 0, 54, 55, 77, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 243, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 246, 245, 268, 0, 0, 649, 0, - 0, 269, 248, 252, 251, 0, 0, 0, 0, 0, - 247, 0, 249, 253, 255, 256, 263, 265, 250, 270, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 242, 243, 254, 257, 258, - 259, 260, 261, 262, 264, 266, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 638, 244, 246, - 245, 268, 620, 0, 269, 248, 252, 251, 0, 0, - 0, 0, 0, 247, 0, 249, 253, 255, 256, 263, - 265, 250, 0, 0, 0, 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 242, 243, 254, 257, 258, 259, 260, 261, 262, - 264, 266, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 244, 246, 245, 268, 0, 0, 636, 0, 0, - 269, 248, 252, 251, 0, 0, 0, 0, 0, 247, - 0, 249, 253, 255, 256, 263, 265, 250, 270, 267, + 0, 87, 80, 121, 119, 120, 0, 0, 116, 74, + 16, 0, 34, 0, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 72, 102, 410, 0, 90, 91, + 71, 47, 95, 96, 45, 0, 118, 0, 29, 0, + 0, 0, 115, 28, 20, 19, 0, 21, 0, 32, + 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, + 36, 38, 117, 0, 25, 35, 0, 0, 78, 0, + 0, 26, 0, 31, 88, 89, 417, 0, 0, 0, + 0, 0, 0, 0, 51, 114, 0, 113, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 97, + 0, 0, 0, 0, 0, 112, 108, 0, 0, 92, + 93, 94, 0, 0, 0, 0, 86, 53, 0, 0, + 740, 75, 76, 27, 0, 0, 0, 0, 0, 54, + 55, 77, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 243, 254, 257, 258, 259, - 260, 261, 262, 264, 266, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 246, 245, 268, 0, 0, - 0, 0, 0, 269, 248, 252, 251, 0, 0, 0, - 0, 0, 247, 0, 249, 253, 255, 256, 263, 265, - 250, 270, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 242, 243, 254, - 257, 258, 259, 260, 261, 262, 264, 266, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 244, 246, 245, - 268, 616, 0, 0, 0, 0, 269, 248, 252, 251, - 0, 0, 0, 0, 0, 247, 0, 249, 253, 255, - 256, 263, 265, 250, 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 242, 243, 254, 257, 258, 259, 260, 261, 262, 264, - 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 246, 245, 268, 0, 0, 611, 0, 0, 269, - 248, 252, 251, 0, 0, 0, 0, 0, 247, 0, - 249, 253, 255, 256, 263, 265, 250, 270, 267, 0, + 0, 0, 0, 0, 0, 0, 0, 87, 80, 121, + 119, 120, 0, 0, 116, 74, 16, 0, 34, 0, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 72, 102, 410, 0, 90, 91, 71, 47, 95, 96, + 45, 0, 118, 0, 29, 0, 0, 0, 115, 28, + 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, + 22, 0, 0, 0, 23, 24, 36, 38, 117, 0, + 25, 35, 0, 0, 78, 0, 0, 26, 0, 31, + 88, 89, 417, 0, 0, 0, 0, 0, 0, 0, + 51, 114, 0, 113, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, + 0, 112, 108, 0, 0, 92, 93, 94, 0, 0, + 0, 0, 86, 53, 0, 0, 0, 75, 76, 27, + 0, 0, 0, 0, 0, 54, 55, 77, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 242, 243, 254, 257, 258, 259, 260, - 261, 262, 264, 266, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 244, 246, 245, 268, 0, 0, 607, - 0, 0, 269, 248, 252, 251, 0, 0, 0, 0, - 0, 247, 0, 249, 253, 255, 256, 263, 265, 250, - 270, 267, 0, 0, 0, 0, 0, 509, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 243, 254, 257, - 258, 259, 260, 261, 262, 264, 266, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 246, 245, 268, - 0, 0, 515, 0, 0, 269, 248, 252, 251, 0, - 0, 0, 0, 0, 247, 0, 249, 253, 255, 256, - 263, 265, 250, 270, 267, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, - 243, 254, 257, 258, 259, 260, 261, 262, 264, 266, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, - 246, 245, 268, 0, 0, 0, 0, 0, 269, 248, - 252, 251, 0, 0, 0, 0, 0, 247, 0, 249, - 253, 255, 256, 263, 265, 250, 270, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 243, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 241, 244, 246, 245, 268, - 0, 269, 248, 252, 251, 0, 0, 0, 0, 0, - 247, 0, 249, 253, 255, 256, 263, 265, 250, 0, - 0, 0, 0, 270, 267, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, - 243, 254, 257, 258, 259, 260, 261, 262, 264, 266, + 0, 0, 0, 87, 80, 121, 119, 120, 0, 0, + 116, 74, 16, 621, 34, 0, 60, 0, 52, 0, + 0, 0, 57, 56, 58, 59, 72, 102, 410, 0, + 90, 91, 71, 47, 95, 96, 45, 0, 118, 0, + 29, 0, 0, 0, 115, 28, 20, 19, 0, 21, + 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, + 23, 24, 36, 38, 117, 0, 25, 35, 0, 0, + 78, 0, 0, 26, 0, 31, 88, 89, 417, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 27, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 246, 245, 268, 0, 0, 0, 0, 0, 269, 248, - 252, 251, 0, 0, 0, 0, 0, 247, 0, 249, - 253, 255, 256, 263, 265, 250, 270, 267, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 16, 409, + 34, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 410, 0, 90, 91, 71, 47, + 95, 96, 45, 0, 118, 0, 29, 0, 0, 0, + 115, 28, 20, 19, 0, 21, 0, 32, 0, 33, + 0, 0, 22, 0, 0, 0, 23, 24, 36, 38, + 117, 0, 25, 35, 0, 0, 78, 0, 0, 26, + 0, 31, 88, 89, 417, 0, 0, 0, 0, 0, + 0, 0, 51, 114, 0, 113, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 0, 0, 0, 112, 108, 0, 0, 92, 93, 94, + 0, 0, 0, 0, 86, 53, 0, 0, 0, 75, + 76, 27, 0, 0, 0, 0, 0, 54, 55, 77, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 243, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 245, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 269, 248, 252, 251, 0, 0, 0, 270, 267, - 247, 0, 249, 253, 255, 256, 263, 265, 250, 527, - 0, 0, 0, 0, 242, 243, 254, 257, 258, 259, - 260, 261, 262, 264, 266, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 80, 121, 119, 120, + 0, 0, 116, 74, 16, 0, 34, 0, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 72, 102, + 90, 91, 71, 47, 95, 96, 45, 0, 118, 0, + 29, 0, 0, 0, 115, 28, 20, 19, 0, 21, + 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, + 23, 24, 36, 224, 117, 0, 25, 35, 0, 0, + 78, 0, 0, 26, 0, 31, 88, 89, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 27, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 268, 0, 269, 248, 252, 251, 0, 0, 0, - 0, 0, 247, 0, 249, 253, 255, 256, 263, 265, - 250, 0, 0, 0, 0, 270, 267, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 16, 0, + 34, 851, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 90, 91, 71, 47, 95, 96, + 45, 0, 118, 0, 29, 0, 0, 0, 115, 28, + 20, 19, 0, 21, 0, 32, 0, 33, 0, 0, + 22, 0, 0, 0, 23, 24, 36, 224, 117, 0, + 25, 35, 0, 0, 78, 0, 0, 26, 0, 31, + 88, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 114, 0, 113, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, + 0, 112, 108, 0, 0, 92, 93, 94, 0, 0, + 0, 0, 86, 53, 0, 0, 0, 75, 76, 27, + 0, 0, 0, 0, 0, 54, 55, 77, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 242, 243, 254, 257, 258, 259, 260, 261, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 80, 121, 119, 120, 0, 0, + 116, 74, 16, 0, 34, 950, 60, 0, 52, 0, + 0, 0, 57, 56, 58, 59, 72, 102, 90, 91, + 71, 47, 95, 96, 45, 0, 118, 0, 29, 0, + 0, 0, 115, 28, 20, 19, 0, 21, 0, 32, + 0, 33, 0, 0, 22, 0, 0, 0, 23, 24, + 36, 224, 117, 0, 25, 35, 0, 0, 78, 0, + 0, 26, 0, 31, 88, 89, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 114, 0, 113, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 97, + 0, 0, 0, 0, 0, 112, 108, 0, 0, 92, + 93, 94, 0, 0, 0, 0, 86, 53, 0, 0, + 0, 75, 76, 27, 0, 0, 0, 0, 0, 54, + 55, 77, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 87, 80, 121, + 119, 120, 0, 0, 116, 74, 16, 0, 34, 742, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 72, 102, 90, 91, 71, 47, 95, 96, 45, 0, + 118, 0, 29, 0, 0, 0, 115, 28, 20, 19, + 0, 21, 0, 32, 0, 33, 0, 0, 22, 0, + 0, 0, 23, 24, 36, 224, 117, 0, 25, 35, + 0, 0, 78, 0, 0, 26, 0, 31, 88, 89, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 114, + 0, 113, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 112, + 108, 0, 0, 92, 93, 94, 0, 0, 0, 0, + 86, 53, 0, 0, 0, 75, 76, 27, 0, 0, + 0, 0, 0, 54, 55, 77, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 87, 80, 121, 119, 120, 0, 0, 116, 74, + 16, 0, 34, 719, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 72, 102, 90, 91, 71, 47, + 95, 96, 45, 0, 118, 0, 29, 0, 0, 0, + 115, 28, 20, 19, 0, 21, 0, 32, 0, 33, + 0, 0, 22, 0, 0, 0, 23, 24, 36, 224, + 117, 0, 25, 35, 0, 0, 78, 0, 0, 26, + 0, 31, 88, 89, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 114, 0, 113, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 0, 0, 0, 112, 108, 0, 0, 92, 93, 94, + 0, 0, 0, 0, 86, 53, 0, 0, 0, 75, + 76, 27, 0, 0, 0, 0, 0, 54, 55, 77, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 80, 121, 119, 120, + 0, 0, 116, 74, 16, 0, 34, 702, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 72, 102, + 90, 91, 71, 47, 95, 96, 45, 0, 118, 0, + 29, 0, 0, 0, 115, 28, 20, 19, 0, 21, + 0, 32, 0, 33, 0, 0, 22, 0, 0, 0, + 23, 24, 36, 224, 117, 0, 25, 35, 0, 0, + 78, 0, 0, 26, 0, 31, 88, 89, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 27, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 16, 0, + 34, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 136, 137, 147, 148, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 182, 183, 184, 185, 186, 174, 175, 176, 203, 177, + 178, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 0, 194, 192, 193, 189, 190, 0, 0, + 181, 187, 188, 195, 196, 198, 197, 199, 200, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 202, 201, 0, 0, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 149, 150, 151, 179, 180, 129, + 130, 131, 132, 133, 134, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 204, 0, 121, 119, 120, 135, 205, + 0, 0, 0, 1015, 136, 137, 147, 148, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 182, 183, 184, 185, 186, 174, 175, 176, 203, 177, + 178, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 0, 194, 192, 193, 189, 190, 0, 0, + 181, 187, 188, 195, 196, 198, 197, 199, 200, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 202, 201, 0, 0, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 149, 150, 151, 179, 180, 129, + 130, 131, 132, 133, 134, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 204, 0, 121, 119, 120, 135, 205, + 0, 0, 0, 978, 136, 137, 147, 148, 0, 0, + 125, 0, 0, 0, 0, 0, 0, 0, 0, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 182, 183, 184, 185, 186, 174, 175, 176, 203, 177, + 178, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 0, 194, 192, 193, 189, 190, 0, 0, + 181, 187, 188, 195, 196, 198, 197, 199, 200, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 202, 201, 0, 0, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 149, 150, 151, 179, 180, 129, + 130, 131, 132, 133, 134, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 136, 137, + 147, 148, 0, 204, 219, 0, 127, 0, 135, 205, + 0, 0, 124, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 182, 183, 184, 185, 186, 174, + 175, 176, 203, 177, 178, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 0, 194, 192, 193, + 189, 190, 0, 0, 181, 187, 188, 195, 196, 198, + 197, 199, 200, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 202, 201, 0, 0, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 149, 150, + 151, 179, 180, 129, 130, 131, 132, 133, 134, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, + 137, 147, 148, 0, 0, 219, 0, 204, 0, 0, + 0, 0, 135, 205, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 182, 183, 184, 185, 186, + 174, 175, 176, 203, 177, 178, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 0, 194, 192, + 193, 189, 190, 0, 0, 181, 187, 188, 195, 196, + 198, 197, 199, 200, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 202, 201, 0, 0, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 149, + 150, 151, 179, 180, 873, 874, 875, 872, 871, 870, + 90, 91, 71, 0, 95, 96, 230, 0, 118, 0, + 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, + 0, 0, 0, 224, 117, 0, 0, 0, 204, 0, + 78, 0, 0, 876, 205, 0, 88, 89, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 229, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 0, 0, + 0, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 90, 91, 71, 0, 95, 96, + 230, 0, 118, 0, 0, 0, 0, 0, 115, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 224, 117, 0, + 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, + 88, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 646, 114, 0, 113, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, + 0, 112, 108, 0, 0, 92, 93, 94, 0, 0, + 0, 0, 86, 53, 0, 0, 0, 75, 76, 229, + 0, 0, 0, 0, 0, 54, 55, 77, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 80, 121, 119, 120, 0, 0, + 116, 74, 0, 0, 0, 0, 60, 0, 52, 0, + 0, 645, 57, 56, 58, 59, 72, 102, 90, 91, + 71, 0, 95, 96, 230, 527, 118, 0, 0, 0, + 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 224, 117, 0, 0, 0, 0, 0, 78, 0, + 0, 0, 0, 0, 88, 89, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 114, 0, 113, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 97, + 0, 0, 0, 0, 0, 112, 108, 0, 0, 92, + 93, 94, 0, 0, 0, 0, 86, 53, 0, 0, + 0, 75, 76, 229, 0, 0, 0, 0, 0, 54, + 55, 77, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 87, 80, 121, + 119, 120, 0, 0, 116, 74, 0, 0, 0, 0, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 72, 102, 90, 91, 71, 0, 95, 96, 230, 0, + 118, 0, 0, 0, 0, 0, 115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 224, 117, 0, 0, 0, + 0, 0, 78, 0, 0, 0, 0, 0, 88, 89, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 114, + 0, 113, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 112, + 108, 0, 0, 92, 93, 94, 0, 0, 0, 0, + 86, 53, 0, 0, 0, 75, 76, 229, 0, 0, + 0, 0, 0, 54, 55, 77, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 87, 80, 121, 119, 120, 0, 0, 116, 74, + 0, 0, 0, 0, 60, 0, 52, 0, 0, 486, + 57, 56, 58, 59, 72, 102, 90, 91, 71, 0, + 95, 96, 230, 0, 118, 0, 0, 0, 0, 0, + 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 117, 0, 0, 0, 0, 0, 78, 0, 0, 0, + 0, 0, 88, 89, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 114, 0, 113, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 0, 0, 0, 112, 108, 0, 0, 92, 93, 94, + 0, 0, 0, 0, 86, 53, 0, 0, 0, 75, + 76, 229, 0, 0, 0, 0, 0, 54, 55, 77, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 80, 121, 119, 120, + 0, 0, 116, 74, 0, 0, 0, 463, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 72, 102, + 90, 91, 71, 0, 95, 96, 230, 0, 118, 0, + 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 117, 0, 0, 0, 0, 0, + 78, 0, 0, 0, 0, 0, 88, 89, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 114, 0, 113, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 112, 108, 0, + 0, 92, 93, 94, 0, 0, 0, 0, 86, 53, + 0, 0, 0, 75, 76, 229, 0, 0, 0, 0, + 0, 54, 55, 77, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 246, 248, 247, 270, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 80, 121, 119, 120, 0, 0, 116, 74, 272, 269, + 0, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 72, 102, 244, 245, 256, 259, 260, 261, + 262, 263, 264, 266, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 910, 909, 246, + 248, 247, 270, 271, 250, 254, 253, 0, 0, 0, + 0, 0, 249, 0, 251, 255, 257, 258, 265, 267, + 252, 0, 0, 0, 0, 0, 272, 269, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 244, 245, 256, 259, 260, 261, 262, 263, 264, 266, 268, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 246, 248, 247, 270, 0, 0, 0, 0, + 812, 271, 250, 254, 253, 0, 0, 0, 0, 0, + 249, 0, 251, 255, 257, 258, 265, 267, 252, 272, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 244, 245, 256, 259, 260, + 261, 262, 263, 264, 266, 268, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 246, 248, 247, 270, 0, + 0, 776, 0, 0, 271, 250, 254, 253, 0, 0, + 0, 0, 0, 249, 0, 251, 255, 257, 258, 265, + 267, 252, 272, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, + 256, 259, 260, 261, 262, 263, 264, 266, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 269, 248, 252, 251, 0, 0, 270, 267, 0, 247, - 0, 249, 253, 255, 256, 263, 265, 250, 0, 0, - 0, 0, 242, 243, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 268, 0, 0, 0, 0, 0, 0, + 754, 246, 248, 247, 270, 0, 0, 271, 250, 254, + 253, 0, 0, 0, 0, 0, 249, 0, 251, 255, + 257, 258, 265, 267, 252, 0, 0, 0, 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 269, 248, 252, 251, 0, 0, 270, 267, 0, - 247, 0, 249, 253, 255, 256, 263, 265, 250, 0, - 0, 0, 0, 242, 243, 254, 257, 258, 259, 260, - 261, 262, 264, 266, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 244, 245, 256, 259, 260, 261, + 262, 263, 264, 266, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 752, 246, 248, 247, + 270, 0, 0, 271, 250, 254, 253, 0, 0, 0, + 0, 0, 249, 0, 251, 255, 257, 258, 265, 267, + 252, 0, 0, 0, 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 248, 252, 251, 0, 0, 0, 267, - 0, 247, 0, 249, 253, 255, 256, 263, 265, 250, - 0, 0, 0, 0, 0, 243, 254, 257, 258, 259, - 260, 261, 262, 264, 266, 268, 0, 0, 0, 0, + 244, 245, 256, 259, 260, 261, 262, 263, 264, 266, + 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 743, 246, 248, 247, 270, 0, 0, 271, + 250, 254, 253, 0, 0, 0, 0, 0, 249, 0, + 251, 255, 257, 258, 265, 267, 252, 0, 0, 0, + 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 245, 256, 259, + 260, 261, 262, 263, 264, 266, 268, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 246, 248, 247, 270, + 0, 0, 739, 0, 0, 271, 250, 254, 253, 0, + 0, 0, 0, 0, 249, 0, 251, 255, 257, 258, + 265, 267, 252, 272, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 245, 256, 259, 260, 261, 262, 263, 264, 266, 268, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, + 248, 247, 270, 0, 0, 738, 0, 0, 271, 250, + 254, 253, 0, 0, 0, 0, 0, 249, 0, 251, + 255, 257, 258, 265, 267, 252, 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 252, 251, 0, 0, 0, - 267, 0, 247, 0, 249, 253, 255, 256, 263, 265, - 250, 0, 0, 0, 0, 0, 0, 254, 257, 258, - 259, 260, 261, 262, 264, 266, 268, 0, 0, 0, + 0, 0, 244, 245, 256, 259, 260, 261, 262, 263, + 264, 266, 268, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 680, 246, 248, 247, 270, 0, + 0, 271, 250, 254, 253, 0, 0, 0, 0, 0, + 249, 0, 251, 255, 257, 258, 265, 267, 252, 0, + 0, 0, 272, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, + 256, 259, 260, 261, 262, 263, 264, 266, 268, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 246, 248, + 247, 270, 0, 0, 679, 0, 0, 271, 250, 254, + 253, 0, 0, 0, 0, 0, 249, 0, 251, 255, + 257, 258, 265, 267, 252, 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 268, 0, 0, 248, 252, 251, 0, 0, - 0, 267, 0, 247, 0, 249, 253, 255, 256, 263, - 265, 250, 0, 0, 0, 0, 0, 267, 254, 257, - 258, 259, 260, 261, 262, 264, 266, 0, 0, 0, - 0, 0, 0, 0, 254, 257, 258, 259, 260, 261, - 262, 264, 266, 228, 0, 117, 248, 252, 251, 0, - 0, 114, 0, 0, 0, 0, 249, 253, 255, 256, - 263, 265, 250, 252, 251, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 255, 256, 263, 265, 250, 0, - 228, 0, 117, 0, 0, 0, 0, 0, 114, 0, - 0, 0, 0, 716, 113, 0, 112, 108, 109, 110, - 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 111, 107, 0, 0, 0, 0, + 0, 244, 245, 256, 259, 260, 261, 262, 263, 264, + 266, 268, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 246, 248, 247, 270, 0, 0, 678, 0, 0, + 271, 250, 254, 253, 0, 0, 0, 0, 0, 249, + 0, 251, 255, 257, 258, 265, 267, 252, 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 331, 112, 108, 109, 110, 105, 106, 0, + 0, 0, 0, 0, 244, 245, 256, 259, 260, 261, + 262, 263, 264, 266, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 246, 248, 247, 270, 0, 0, + 675, 0, 0, 271, 250, 254, 253, 0, 0, 0, + 0, 0, 249, 0, 251, 255, 257, 258, 265, 267, + 252, 272, 269, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 244, 245, 256, + 259, 260, 261, 262, 263, 264, 266, 268, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 246, 248, 247, + 270, 0, 0, 673, 0, 0, 271, 250, 254, 253, + 0, 0, 0, 0, 0, 249, 0, 251, 255, 257, + 258, 265, 267, 252, 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 111, 107, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, - 0, 0, 0, 0, 0, 0, 0, 0, 120, 118, - 119, 0, 0, 115, 0, 0, 0, 0, 0, 328, - 0, 717, 0, 0, 715, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 120, 118, 119, 0, 0, - 115, 0, 0, 0, 0, 0, 328, 0, 332, 0, - 0, 0, 0, 0, 0, 0, 0, 101, + 244, 245, 256, 259, 260, 261, 262, 263, 264, 266, + 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 658, 246, 248, 247, 270, 0, 0, 271, + 250, 254, 253, 0, 0, 0, 0, 0, 249, 0, + 251, 255, 257, 258, 265, 267, 252, 0, 0, 0, + 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 245, 256, 259, + 260, 261, 262, 263, 264, 266, 268, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 246, 248, 247, 270, + 0, 0, 648, 0, 0, 271, 250, 254, 253, 0, + 0, 0, 0, 0, 249, 0, 251, 255, 257, 258, + 265, 267, 252, 272, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 245, 256, 259, 260, 261, 262, 263, 264, 266, 268, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 637, 246, 248, 247, 270, 619, 0, 271, 250, + 254, 253, 0, 0, 0, 0, 0, 249, 0, 251, + 255, 257, 258, 265, 267, 252, 0, 0, 0, 272, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 244, 245, 256, 259, 260, + 261, 262, 263, 264, 266, 268, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 246, 248, 247, 270, 0, + 0, 635, 0, 0, 271, 250, 254, 253, 0, 0, + 0, 0, 0, 249, 0, 251, 255, 257, 258, 265, + 267, 252, 272, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, + 256, 259, 260, 261, 262, 263, 264, 266, 268, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 246, 248, + 247, 270, 0, 0, 0, 0, 0, 271, 250, 254, + 253, 0, 0, 0, 0, 0, 249, 0, 251, 255, + 257, 258, 265, 267, 252, 272, 269, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 244, 245, 256, 259, 260, 261, 262, 263, 264, + 266, 268, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 246, 248, 247, 270, 615, 0, 0, 0, 0, + 271, 250, 254, 253, 0, 0, 0, 0, 0, 249, + 0, 251, 255, 257, 258, 265, 267, 252, 272, 269, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 244, 245, 256, 259, 260, 261, + 262, 263, 264, 266, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 246, 248, 247, 270, 0, 0, + 610, 0, 0, 271, 250, 254, 253, 0, 0, 0, + 0, 0, 249, 0, 251, 255, 257, 258, 265, 267, + 252, 272, 269, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 244, 245, 256, + 259, 260, 261, 262, 263, 264, 266, 268, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 246, 248, 247, + 270, 0, 0, 606, 0, 0, 271, 250, 254, 253, + 0, 0, 0, 0, 0, 249, 0, 251, 255, 257, + 258, 265, 267, 252, 272, 269, 0, 0, 0, 0, + 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, + 244, 245, 256, 259, 260, 261, 262, 263, 264, 266, + 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 246, 248, 247, 270, 0, 0, 517, 0, 0, 271, + 250, 254, 253, 0, 0, 0, 0, 0, 249, 0, + 251, 255, 257, 258, 265, 267, 252, 272, 269, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 244, 245, 256, 259, 260, 261, 262, + 263, 264, 266, 268, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 246, 248, 247, 270, 0, 0, 0, + 0, 0, 271, 250, 254, 253, 0, 0, 0, 0, + 0, 249, 0, 251, 255, 257, 258, 265, 267, 252, + 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 245, 256, 259, + 260, 261, 262, 263, 264, 266, 268, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, + 246, 248, 247, 270, 0, 271, 250, 254, 253, 0, + 0, 0, 0, 0, 249, 0, 251, 255, 257, 258, + 265, 267, 252, 0, 0, 0, 0, 272, 269, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 244, 245, 256, 259, 260, 261, 262, + 263, 264, 266, 268, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 248, 247, 270, 0, 0, 0, + 0, 0, 271, 250, 254, 253, 0, 0, 0, 0, + 0, 249, 0, 251, 255, 257, 258, 265, 267, 252, + 272, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 245, 256, 259, + 260, 261, 262, 263, 264, 266, 268, 247, 270, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 271, 250, 254, 253, 0, + 0, 0, 272, 269, 249, 0, 251, 255, 257, 258, + 265, 267, 252, 529, 0, 0, 0, 0, 244, 245, + 256, 259, 260, 261, 262, 263, 264, 266, 268, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 270, 0, 271, 250, 254, + 253, 0, 0, 0, 0, 0, 249, 0, 251, 255, + 257, 258, 265, 267, 252, 0, 0, 0, 0, 272, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 244, 245, 256, 259, 260, + 261, 262, 263, 264, 266, 268, 270, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 271, 250, 254, 253, 0, 0, + 272, 269, 0, 249, 0, 251, 255, 257, 258, 265, + 267, 252, 0, 0, 0, 0, 244, 245, 256, 259, + 260, 261, 262, 263, 264, 266, 268, 270, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 271, 250, 254, 253, 0, + 0, 272, 269, 0, 249, 0, 251, 255, 257, 258, + 265, 267, 252, 0, 0, 0, 0, 244, 245, 256, + 259, 260, 261, 262, 263, 264, 266, 268, 270, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 250, 254, 253, + 0, 0, 0, 269, 0, 249, 0, 251, 255, 257, + 258, 265, 267, 252, 0, 0, 0, 0, 0, 245, + 256, 259, 260, 261, 262, 263, 264, 266, 268, 270, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 254, + 253, 0, 0, 0, 269, 0, 249, 0, 251, 255, + 257, 258, 265, 267, 252, 0, 0, 0, 0, 0, + 0, 256, 259, 260, 261, 262, 263, 264, 266, 268, + 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 254, 253, 0, 0, 0, 269, 0, 249, 0, 251, + 255, 257, 258, 265, 267, 252, 0, 0, 0, 0, + 0, 0, 256, 259, 260, 261, 262, 263, 264, 266, + 268, 270, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, + 250, 254, 253, 0, 0, 0, 269, 0, 0, 0, + 251, 255, 257, 258, 265, 267, 252, 0, 0, 0, + 0, 0, 269, 256, 259, 260, 261, 262, 263, 264, + 266, 268, 0, 0, 0, 0, 0, 0, 0, 256, + 259, 260, 261, 262, 263, 264, 266, 268, 230, 0, + 118, 250, 254, 253, 0, 0, 115, 0, 0, 0, + 0, 0, 255, 257, 258, 265, 267, 252, 254, 253, + 0, 0, 0, 0, 0, 0, 0, 0, 255, 257, + 258, 265, 267, 252, 0, 230, 0, 118, 0, 0, + 0, 0, 0, 115, 0, 0, 0, 0, 715, 114, + 0, 113, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, + 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 333, 113, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 112, 108, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, + 0, 0, 0, 121, 119, 120, 0, 0, 116, 0, + 0, 0, 0, 0, 330, 0, 716, 0, 0, 714, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 121, 119, 120, 0, 0, 116, 0, 0, 0, 0, + 0, 330, 0, 334, 0, 0, 0, 0, 0, 0, + 0, 0, 102, } var yyPact = [...]int{ - -1000, -1000, 2124, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 316, 5896, 724, -1000, 832, -1000, -1000, -1000, 315, - 5432, 314, 312, 7246, 7246, 7246, 171, 781, 7246, -1000, - 8561, 310, 304, 295, -1000, 485, 881, 347, 60, 694, - 744, 609, 659, 108, -1000, -1000, 291, -1000, -1000, 307, - 264, 6262, 7246, 9250, 9250, 7246, 7246, 7246, 7246, 7246, - -1000, -1000, -1000, 7246, 7246, 7246, 7246, 7246, 7246, 7246, - 262, 7246, -1000, 1050, 7246, 7246, 7246, 7246, -1000, 597, - -1000, -1000, 631, -1000, -1000, 527, 261, 257, 256, 7246, - 7246, 254, 7246, 7246, -1000, -1000, 1088, -1000, -1000, -1000, - -1000, 230, 267, 267, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 249, -1000, 981, 60, -1000, -1000, -1000, - -1000, 203, 368, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 2098, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 291, 5870, 620, -1000, 767, -1000, -1000, -1000, 289, + 5406, 284, 278, 7056, 7056, 7056, 185, 586, 7056, -1000, + 8565, 274, 272, 267, -1000, 455, 767, 318, 62, 654, + 653, 585, 568, 1116, -1000, -1000, -1000, 266, -1000, -1000, + 186, 246, 1106, 7056, 9305, 9305, 7056, 7056, 7056, 7056, + 7056, -1000, -1000, -1000, 7056, 7056, 7056, 7056, 7056, 7056, + 7056, 245, 7056, -1000, 856, 7056, 7056, 7056, 7056, -1000, + 634, -1000, -1000, 589, -1000, -1000, 543, 242, 241, 240, + 7056, 7056, 230, 7056, 7056, -1000, -1000, 803, -1000, -1000, + -1000, -1000, 175, 247, 247, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 205, -1000, 830, 62, -1000, -1000, + -1000, -1000, 183, 322, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -1739,112 +1740,112 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 123, 628, 656, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 121, -1000, -32, 4282, 7246, - 779, 623, 60, 7246, 7246, 418, 8628, 623, -1000, 414, - 412, 115, -1000, -1000, 37, -1000, -1000, -33, 34, -1000, - 8628, -1000, 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, - 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, - 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, 189, 7082, - 7246, 9250, 7246, 832, -1000, 411, -1000, 876, -1000, -1000, - 60, -1000, 715, 863, 858, 857, 591, -1000, -1000, -1000, - 289, 5432, 282, 410, 340, 6918, 7246, 7246, 7246, 7246, - 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, 7246, -1000, - -1000, 7246, 7246, 7246, 174, 174, 6262, 131, 51, -1000, - -1000, 8498, 9250, 7246, 276, -1000, -1000, -1000, 7246, -1000, - -1000, -1000, 6262, -1000, 534, 534, 590, 534, 8435, 534, - 534, 534, 534, 534, 534, 534, -1000, 7246, 534, 462, - 750, 900, -1000, 292, 6754, 9250, 8861, 8810, 8861, 8628, - 47, -1000, 267, -1000, 1973, 267, -1000, 629, 288, 7246, - 703, -1000, 505, 7246, 7246, 7246, 8628, 8628, 7246, 8628, - 8628, 906, -1000, 992, 7246, -1000, -1000, 1313, -1000, 6262, - 770, 750, 273, 409, -1000, -1000, 1809, -1000, 628, 26, - 653, 484, 847, -1000, 832, 7246, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 272, 8372, 271, -1000, 400, - 19, 8628, 8309, -1000, -1000, -1000, -1000, 171, -1000, 804, - 7246, -1000, 7246, 8963, 9014, 8691, 8861, 8743, 9065, 9081, - 1132, 383, 44, 44, 590, 534, 590, 590, 334, 334, - 281, 281, 281, 281, 468, 468, 468, 468, 281, -1000, - 8246, 7246, 8912, 17, -1000, -1000, 8183, -8, 4116, -1000, - 270, 268, 830, 826, 473, 663, 331, -1000, 7246, -1000, - 7246, -1000, -1000, 8861, 7246, 8861, 8861, 8861, 8861, 8861, - 8861, 8861, 8861, 8861, 8861, 8861, 8861, 8861, 8120, 126, - 8054, 267, -1000, 7246, -1000, 267, 202, -37, 6262, 6590, - -1000, 8628, 6262, 7991, 122, -1000, 200, -1000, -1000, -1000, - -1000, 318, 823, 821, 7925, 129, 429, 7246, 597, 113, - -1000, 267, -1000, -1000, -1000, 7246, -1000, -1000, -1000, -1000, - 171, 7246, 7246, 174, 174, 171, 7862, 267, 7799, 14, - -1000, 8628, 7736, 7673, -1000, -1000, 7607, -1000, 13, -1000, - 8628, 7246, 328, -1000, -1000, 264, 7246, 262, 7246, 7246, - 7246, 623, 527, 261, 257, 256, 7246, 7246, 254, 7246, - 7246, 60, 249, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 60, 197, -1000, 505, -1000, 1643, -1000, -1000, 763, - -1000, 470, 660, -1000, -1000, 8628, 196, 5268, 7246, 7246, - 7246, 246, -1000, -1000, 8628, -1000, 7246, 8912, 195, 9250, - 9213, 5104, -1000, 505, 505, 238, 632, -1000, 467, 704, - 655, 1064, 7544, 7481, 3950, 9081, 4940, -1000, -1000, -1000, - 7415, -1000, -39, 7246, -1000, 8628, 9250, 221, 194, -1000, - -1000, -1000, 82, -1000, -1000, 799, -1000, -1000, -1000, -1000, - -1000, 7246, -1000, 8861, -1000, -1000, -1000, 7349, -1000, 80, - 7283, -1000, -1000, -1000, -1000, 632, 460, 192, 7246, -1000, - -1000, -1000, 190, 1477, 8628, 7246, -1000, 187, 11, -1000, - -1000, -1000, 637, 423, -4, -1000, -1000, 637, 756, -1000, - 399, -1000, -1000, -1000, 1081, 398, 8628, -1000, 395, 394, - 8912, 393, -1000, 186, 692, 9250, 217, 6262, -1000, -1000, - -1000, 752, 182, 180, 505, 655, 704, 513, -1000, -14, - -1000, 454, 704, -1000, -1000, -1000, -1000, -1000, -1000, 5432, - 321, 390, -1000, -1000, -1000, 7246, 8861, -1000, 6262, -39, - -1000, -1000, 1018, -1000, -1000, -1000, 655, 6426, -1000, -1000, - -1000, -1000, 8628, 308, -1000, 505, 935, 422, -5, -1000, - 386, -1000, 660, -1000, 815, -1000, 3784, 384, 7246, 479, - -1000, 917, -1000, -1000, 4612, 9213, -1000, 6262, 64, 3618, - -1000, -1000, 452, 213, 308, 727, 175, 446, -1000, -1000, - -1000, 552, 704, 506, 704, -1000, -14, -1000, -1000, -1000, - 4448, 8861, 168, 421, 445, 420, -6, -1000, 691, -7, - -9, 8628, -1000, 816, -1000, -1000, 61, -1000, -1000, -1000, - -1000, -1000, -16, 760, -17, 381, -1000, 637, -1000, -1000, - -1000, 380, -1000, 164, -1000, 7246, 253, 461, 378, 848, - -1000, -1000, -1000, 159, -1000, 138, -1000, 375, -1000, 704, - 441, 308, 212, 308, -1000, 716, 766, 813, 798, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -20, -1000, - -1000, 480, 4448, -39, -1000, -1000, -1000, -1000, 6426, 7246, - 689, -1000, -1000, 7246, 654, -1000, -23, 1064, -24, 596, - -1000, 760, -1000, 760, -1000, -1000, -1000, 4776, 35, -1000, - -1000, -1000, -1000, -1000, 373, 3452, 4612, -1000, -1000, 3286, - 110, -1000, -1000, 438, 228, 437, 455, 804, 6030, 60, - -49, -1000, -1000, -1000, 5746, -1000, 443, -1000, 8628, 7246, - 8628, 7246, 1064, -1000, 1064, 804, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 4448, -1000, 372, -1000, -1000, 137, 704, - -1000, 3120, -1000, 136, -13, -1000, -1000, 804, -1000, -1000, - -11, -1000, -50, -12, -1000, -51, -1000, -1000, 6030, 370, - 7246, -1000, 5596, -1000, 365, 349, 723, 751, 622, -1000, - -1000, -1000, 8628, 8628, -1000, -1000, -63, 2954, 4448, -1000, - 434, -1000, -1000, 2788, -1000, -1000, 228, -1000, 2622, -1000, - 804, -1000, 7246, -1000, 6030, 7246, 205, -1000, 8628, -1000, - -1000, -1000, -1000, 704, 6161, 6030, 7246, 319, -1000, -1000, - -1000, -1000, -1000, 8628, -1000, 8628, 505, -14, -1000, -1000, - 6030, -1000, 8628, -1000, 2456, -1000, -1000, 135, -1000, -1000, - 308, 232, -1000, -1000, -1000, 2290, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 11, 657, 618, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 10, -1000, -56, -1000, + 4256, 7056, 715, 614, 62, 7056, 7056, 385, 8632, 614, + -1000, 384, 379, 8, -1000, -1000, 3, -1000, -1000, -57, + -8, -1000, 8632, -1000, 7056, 7056, 7056, 7056, 7056, 7056, + 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, + 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, + 1907, 6892, 7056, 9305, 7056, 767, -1000, 378, -1000, 767, + -1000, -1000, 62, -1000, 645, 767, 767, 767, 528, -1000, + -1000, -1000, 265, 5406, 264, 373, 317, 6728, 7056, 7056, + 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, 7056, + 7056, -1000, -1000, 7056, 7056, 7056, 172, 172, 1106, 84, + 52, -1000, -1000, 8502, 9305, 7056, 259, -1000, -1000, -1000, + 7056, -1000, -1000, -1000, 1106, -1000, 480, 480, 527, 480, + 8439, 480, 480, 480, 480, 480, 480, 480, -1000, 7056, + 480, 413, 836, 773, -1000, 231, 6564, 9305, 8865, 8814, + 8865, 8632, 48, -1000, 247, -1000, 1947, 247, -1000, 575, + 301, 7056, 643, -1000, 430, 7056, 7056, 7056, 8632, 8632, + 7056, 8632, 8632, 818, -1000, 756, 7056, -1000, -1000, 1287, + -1000, 1106, 578, 836, 257, 371, -1000, -1000, 1783, -1000, + 657, -13, 603, 453, 767, -1000, 767, 7056, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 253, 8376, 251, + -1000, 370, 47, 8632, 8313, -1000, -1000, -1000, -1000, 185, + -1000, 748, 7056, -1000, 7056, 8967, 9018, 8695, 8865, 8747, + 9069, 9136, 9120, 221, 63, 63, 527, 480, 527, 527, + 36, 36, 18, 18, 18, 18, 40, 40, 40, 40, + 18, -1000, 8250, 7056, 8916, 43, -1000, -1000, 8187, -20, + 4090, -1000, 250, 249, 767, 767, 451, 628, 314, -1000, + 7056, -1000, 7056, -1000, -1000, 8865, 7056, 8865, 8865, 8865, + 8865, 8865, 8865, 8865, 8865, 8865, 8865, 8865, 8865, 8865, + 8124, 81, 8058, 247, -1000, 7056, -1000, 247, 180, -59, + 1106, 6400, -1000, 8632, 1106, 7995, 75, -1000, 179, -1000, + -1000, -1000, -1000, 229, 767, 767, 7929, 80, 398, 7056, + 634, 72, -1000, 247, -1000, -1000, 7056, -1000, -1000, -1000, + -1000, 185, 7056, 7056, 172, 172, 185, 7866, 247, 7803, + 15, -1000, 8632, 7740, 7677, -1000, -1000, 7611, -1000, 9, + -1000, 8632, 7056, 306, 246, 7056, 245, 7056, 7056, 7056, + 614, 543, 242, 241, 240, 7056, 7056, 230, 7056, 7056, + 62, 205, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 62, 177, -1000, 430, -1000, 1617, -1000, -1000, 693, -1000, + 445, 601, -1000, -1000, 8632, 173, 5242, 7056, 7056, 7056, + 210, -1000, -1000, 8632, -1000, 7056, 8916, 168, 9305, 9268, + 5078, -1000, 430, 430, 204, 621, -1000, 440, 694, 625, + 604, 7548, 7485, 3924, 9136, 4914, -1000, -1000, -1000, 7419, + -1000, -62, 7056, -1000, 8632, 9305, 202, 138, -1000, -1000, + -1000, 70, -1000, -1000, 730, -1000, -1000, -1000, -1000, -1000, + 7056, -1000, 8865, -1000, -1000, -1000, 7353, -1000, 69, 7287, + -1000, -1000, -1000, -1000, 621, 439, 137, 7056, -1000, -1000, + -1000, 136, 1451, 8632, 7056, -1000, 135, 4, -1000, -1000, + -1000, 577, 389, 0, -1000, -1000, 577, 690, -1000, 368, + -1000, -1000, -1000, 7224, 366, 8632, -1000, 365, 364, 8916, + 363, -1000, 134, 622, 9305, 195, 1106, -1000, -1000, -1000, + 696, 133, 131, 430, 625, 694, 478, -1000, -45, -1000, + 431, 694, -1000, -1000, -1000, -1000, -1000, -1000, 5406, 305, + 356, -1000, -1000, -1000, 7056, 8865, -1000, 1106, -62, -1000, + -1000, 7161, -1000, -1000, -1000, 625, 6236, -1000, -1000, -1000, + -1000, 8632, 295, -1000, 430, 1572, 388, -1, -1000, 355, + -1000, 601, -1000, 767, -1000, 3758, 353, 7056, 435, -1000, + 884, -1000, -1000, 4586, 9268, -1000, 1106, 45, 3592, -1000, + -1000, 421, 193, 295, 655, 130, 415, -1000, -1000, -1000, + 990, 694, 468, 694, -1000, -45, -1000, -1000, -1000, 4422, + 8865, 128, 387, 409, 188, -2, -1000, 616, -19, -24, + 8632, -1000, 222, -1000, -1000, 64, -1000, -1000, -1000, -1000, + -1000, -47, 927, -48, 351, -1000, 577, -1000, -1000, -1000, + 348, -1000, 125, -1000, 7056, 192, 422, 347, 868, -1000, + -1000, -1000, 123, -1000, 122, -1000, 344, -1000, 694, 408, + 295, 189, 295, -1000, 271, 677, 767, 446, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -42, -1000, -1000, + 418, 4422, -62, -1000, -1000, -1000, -1000, 6236, 7056, 613, + -1000, -1000, 7056, 612, -1000, -49, 604, -53, 533, -1000, + 927, -1000, 927, -1000, -1000, -1000, 4750, 7093, -1000, -1000, + -1000, -1000, -1000, 343, 3426, 4586, -1000, -1000, 3260, 105, + -1000, -1000, 406, 209, 405, 412, 748, 6004, 62, -63, + -1000, -1000, -1000, 5720, -1000, 340, -1000, 8632, 7056, 8632, + 7056, 604, -1000, 604, 748, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 4422, -1000, 332, -1000, -1000, 121, 694, -1000, + 3094, -1000, 120, -43, -1000, -1000, 748, -1000, -1000, -35, + -1000, -64, -36, -1000, -67, 6004, 328, 7056, -1000, 5570, + -1000, 324, 323, 656, 676, 560, -1000, -1000, 8632, 8632, + -1000, -1000, -72, 2928, 4422, -1000, 402, -1000, -1000, 2762, + -1000, -1000, 209, -1000, 2596, -1000, 748, -1000, 7056, -1000, + 6004, 7056, 187, -1000, 8632, -1000, -1000, -1000, -1000, 694, + 6135, 6004, 7056, 273, -1000, -1000, -1000, -1000, -1000, 8632, + -1000, 8632, 430, -45, -1000, -1000, 6004, -1000, 8632, -1000, + 2430, -1000, -1000, 119, -1000, -1000, 295, 297, -1000, -1000, + -1000, 2264, -1000, } var yyPgo = [...]int{ - 0, 1119, 1118, 61, 7, 31, 16, 99, 11, 1117, - 35, 17, 874, 1116, 200, 144, 101, 81, 80, 51, - 82, 1115, 36, 1114, 0, 87, 3, 1113, 1112, 1111, - 38, 86, 23, 37, 1110, 1103, 73, 1099, 62, 1097, - 9, 1094, 1093, 1092, 1089, 12, 49, 1088, 1087, 50, - 1086, 114, 757, 1085, 1084, 47, 1079, 1078, 8, 1077, - 1076, 71, 55, 48, 43, 1075, 1071, 1065, 1064, 1063, - 1055, 139, 1051, 1049, 1045, 4, 1044, 117, 1043, 1041, - 1036, 1035, 1033, 1025, 1021, 1017, 1014, 28, 106, 27, - 1011, 1010, 1007, 1006, 111, 5, 115, 1002, 116, 1001, - 994, 41, 32, 990, 15, 989, 2, 988, 19, 986, - 21, 105, 89, 40, 985, 980, 973, 13, 972, 971, - 118, 46, 969, 33, 34, 968, 966, 965, 959, 956, - 20, 955, 952, 944, 943, 941, 63, 938, 88, 42, - 935, 934, 6, 22, 693, 931, 30, 928, 79, 1, - 18, 922, 919, 916, 914, 910, 908, 10, 92, 895, - 14, + 0, 1033, 1031, 46, 11, 784, 124, 4, 72, 1030, + 33, 14, 762, 1029, 143, 135, 80, 49, 45, 40, + 55, 1025, 28, 1021, 0, 38, 2, 1014, 1011, 1010, + 34, 163, 35, 23, 1007, 1006, 62, 1005, 84, 1004, + 5, 1001, 1000, 998, 995, 6, 50, 994, 993, 47, + 990, 93, 732, 986, 981, 44, 979, 974, 16, 973, + 972, 56, 150, 145, 74, 970, 969, 968, 967, 965, + 964, 142, 963, 962, 959, 8, 958, 90, 956, 954, + 953, 952, 951, 950, 949, 944, 943, 27, 51, 21, + 942, 940, 929, 927, 105, 7, 88, 926, 89, 924, + 921, 41, 31, 920, 13, 912, 1, 906, 22, 902, + 19, 86, 81, 37, 897, 892, 886, 12, 885, 883, + 99, 87, 876, 36, 30, 872, 870, 863, 857, 856, + 17, 854, 846, 844, 843, 838, 75, 829, 96, 39, + 827, 826, 3, 20, 646, 824, 32, 822, 82, 9, + 18, 821, 818, 816, 811, 808, 794, 10, 101, 793, + 15, } var yyR1 = [...]int{ @@ -1856,34 +1857,34 @@ var yyR1 = [...]int{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 7, 7, 10, 10, 9, 9, 8, 148, - 148, 97, 97, 97, 96, 96, 98, 98, 14, 14, - 14, 14, 136, 136, 137, 137, 138, 158, 158, 157, - 157, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 12, 12, 86, 86, - 93, 92, 92, 91, 90, 90, 94, 94, 87, 87, - 89, 89, 88, 88, 77, 77, 149, 149, 21, 21, - 21, 21, 21, 21, 21, 21, 15, 15, 15, 15, + 6, 7, 7, 10, 10, 9, 9, 8, 148, 148, + 97, 97, 97, 96, 96, 98, 98, 14, 14, 14, + 14, 136, 136, 137, 137, 138, 158, 158, 157, 157, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 12, 12, 86, 86, 93, + 92, 92, 91, 90, 90, 94, 94, 87, 87, 89, + 89, 88, 88, 77, 77, 149, 149, 21, 21, 21, + 21, 21, 21, 21, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 133, - 133, 134, 74, 74, 29, 29, 122, 122, 30, 16, - 16, 1, 1, 2, 2, 156, 156, 155, 155, 111, - 111, 17, 18, 19, 139, 141, 141, 140, 140, 123, - 123, 125, 125, 124, 124, 143, 143, 143, 143, 118, - 118, 117, 117, 28, 28, 115, 115, 115, 115, 146, - 146, 146, 11, 11, 119, 119, 85, 85, 76, 76, - 99, 99, 80, 80, 26, 26, 27, 27, 153, 153, - 135, 135, 135, 135, 32, 32, 103, 103, 103, 104, - 104, 108, 108, 108, 105, 105, 109, 109, 107, 107, - 107, 110, 110, 106, 106, 112, 112, 78, 78, 33, - 33, 33, 35, 35, 36, 37, 37, 38, 38, 150, - 150, 39, 39, 39, 39, 39, 75, 75, 114, 114, - 114, 147, 147, 40, 40, 41, 42, 42, 42, 42, - 44, 44, 43, 116, 116, 152, 152, 151, 151, 154, - 154, 142, 142, 142, 142, 142, 142, 142, 79, 79, - 45, 45, 84, 84, 95, 20, 73, 73, 46, 22, - 22, 23, 23, 48, 47, 47, 127, 128, 128, 129, - 131, 131, 132, 132, 130, 130, 34, 34, 34, 34, + 15, 15, 15, 15, 15, 15, 15, 15, 133, 133, + 134, 74, 74, 29, 29, 122, 122, 30, 16, 16, + 1, 1, 2, 2, 156, 156, 155, 155, 111, 111, + 17, 18, 19, 139, 141, 141, 140, 140, 123, 123, + 125, 125, 124, 124, 143, 143, 143, 143, 118, 118, + 117, 117, 28, 28, 115, 115, 115, 115, 146, 146, + 146, 11, 11, 119, 119, 85, 85, 76, 76, 99, + 99, 80, 80, 26, 26, 27, 27, 153, 153, 135, + 135, 135, 135, 32, 32, 103, 103, 103, 104, 104, + 108, 108, 108, 105, 105, 109, 109, 107, 107, 107, + 110, 110, 106, 106, 112, 112, 78, 78, 33, 33, + 33, 35, 35, 36, 37, 37, 38, 38, 150, 150, + 39, 39, 39, 39, 39, 75, 75, 114, 114, 114, + 147, 147, 40, 40, 41, 42, 42, 42, 42, 44, + 44, 43, 116, 116, 152, 152, 151, 151, 154, 154, + 142, 142, 142, 142, 142, 142, 142, 79, 79, 45, + 45, 84, 84, 95, 20, 73, 73, 46, 22, 22, + 23, 23, 48, 47, 47, 127, 128, 128, 129, 131, + 131, 132, 132, 130, 130, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, @@ -1891,20 +1892,20 @@ var yyR1 = [...]int{ 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 121, 121, 120, 120, 160, - 3, 3, 126, 126, 81, 82, 82, 58, 58, 59, - 59, 59, 50, 50, 49, 49, 51, 51, 51, 56, - 56, 145, 145, 145, 113, 113, 64, 64, 64, 64, - 57, 57, 57, 57, 57, 57, 57, 57, 63, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 24, 24, - 25, 25, 65, 65, 65, 65, 66, 66, 67, 67, - 67, 68, 68, 68, 68, 68, 68, 31, 31, 31, - 31, 52, 52, 52, 69, 70, 70, 70, 70, 70, - 70, 70, 60, 60, 60, 61, 61, 61, 55, 101, - 101, 54, 54, 100, 100, 100, 100, 100, 100, 100, - 144, 144, 144, 144, 71, 71, 71, 71, 71, 71, - 71, 71, 72, 72, 72, 72, 53, 53, 53, 53, - 53, 53, 53, 83, 83, 102, + 34, 34, 34, 34, 121, 121, 120, 120, 160, 3, + 3, 126, 126, 81, 82, 82, 58, 58, 59, 59, + 59, 50, 50, 49, 49, 51, 51, 51, 56, 56, + 145, 145, 145, 113, 113, 64, 64, 64, 64, 57, + 57, 57, 57, 57, 57, 57, 57, 63, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 24, 24, 25, + 25, 65, 65, 65, 65, 66, 66, 67, 67, 67, + 68, 68, 68, 68, 68, 68, 31, 31, 31, 31, + 52, 52, 52, 69, 70, 70, 70, 70, 70, 70, + 70, 60, 60, 60, 61, 61, 61, 55, 101, 101, + 54, 54, 100, 100, 100, 100, 100, 100, 100, 144, + 144, 144, 144, 71, 71, 71, 71, 71, 71, 71, + 71, 72, 72, 72, 72, 53, 53, 53, 53, 53, + 53, 53, 83, 83, 102, } var yyR2 = [...]int{ @@ -1916,273 +1917,273 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 3, 4, 1, 2, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, - 5, 4, 3, 4, 1, 3, 1, 1, 8, 7, - 2, 3, 1, 2, 3, 1, 3, 1, 1, 2, - 1, 3, 1, 3, 3, 1, 2, 0, 1, 1, - 1, 1, 1, 1, 1, 4, 3, 1, 1, 5, - 7, 9, 5, 3, 3, 3, 3, 3, 3, 1, - 2, 6, 7, 9, 5, 1, 6, 3, 2, 0, - 2, 8, 1, 3, 0, 4, 1, 3, 1, 10, - 11, 0, 1, 0, 1, 0, 1, 1, 2, 1, - 1, 9, 6, 7, 8, 0, 2, 0, 2, 0, - 2, 0, 2, 0, 2, 1, 2, 4, 3, 1, - 4, 1, 4, 1, 4, 3, 4, 4, 5, 0, - 5, 4, 1, 1, 1, 4, 5, 6, 1, 3, - 6, 7, 3, 6, 2, 0, 1, 3, 0, 2, - 1, 1, 1, 1, 6, 8, 1, 2, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 1, 2, - 1, 0, 1, 0, 2, 2, 4, 1, 3, 1, - 2, 3, 3, 1, 1, 3, 1, 1, 3, 2, - 0, 5, 5, 10, 3, 5, 1, 3, 1, 2, - 3, 1, 2, 2, 2, 3, 3, 3, 4, 3, - 1, 1, 3, 1, 3, 1, 1, 0, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 2, 4, 3, 1, 4, 4, 3, 1, 1, 0, - 1, 3, 1, 8, 3, 2, 2, 3, 1, 7, - 0, 2, 1, 3, 3, 4, 6, 5, 3, 4, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 1, 1, 5, 4, 3, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 2, 1, 2, - 4, 2, 2, 1, 2, 1, 2, 11, 9, 0, - 0, 1, 0, 4, 2, 3, 1, 1, 2, 2, - 4, 2, 1, 1, 1, 1, 1, 1, 3, 0, - 3, 0, 1, 1, 0, 1, 4, 3, 1, 3, - 1, 1, 3, 2, 3, 1, 1, 1, 3, 1, + 1, 1, 1, 0, 1, 0, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 3, 1, 1, 1, 1, 1, 3, - 1, 1, 4, 4, 4, 4, 1, 1, 1, 3, - 3, 1, 4, 2, 3, 1, 4, 4, 3, 3, - 3, 3, 1, 3, 1, 1, 3, 1, 1, 0, - 1, 3, 1, 3, 1, 4, 2, 2, 6, 4, - 2, 2, 1, 2, 1, 4, 3, 3, 3, 3, - 6, 3, 1, 1, 2, 1, 5, 4, 2, 2, - 4, 2, 2, 1, 3, 1, + 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 3, 5, + 4, 3, 4, 1, 3, 1, 1, 8, 7, 2, + 3, 1, 2, 3, 1, 3, 1, 1, 2, 1, + 3, 1, 3, 3, 1, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 4, 3, 1, 1, 5, 7, + 9, 5, 3, 3, 3, 3, 3, 3, 1, 2, + 6, 7, 9, 5, 1, 6, 3, 2, 0, 2, + 8, 1, 3, 0, 4, 1, 3, 1, 10, 11, + 0, 1, 0, 1, 0, 1, 1, 2, 1, 1, + 9, 6, 7, 8, 0, 2, 0, 2, 0, 2, + 0, 2, 0, 2, 1, 2, 4, 3, 1, 4, + 1, 4, 1, 4, 3, 4, 4, 5, 0, 5, + 4, 1, 1, 1, 4, 5, 6, 1, 3, 6, + 7, 3, 6, 2, 0, 1, 3, 0, 2, 1, + 1, 1, 1, 6, 8, 1, 2, 1, 1, 1, + 1, 1, 1, 3, 3, 3, 3, 1, 2, 1, + 0, 1, 0, 2, 2, 4, 1, 3, 1, 2, + 3, 3, 1, 1, 3, 1, 1, 3, 2, 0, + 5, 5, 10, 3, 5, 1, 3, 1, 2, 3, + 1, 2, 2, 2, 3, 3, 3, 4, 3, 1, + 1, 3, 1, 3, 1, 1, 0, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, + 4, 3, 1, 4, 4, 3, 1, 1, 0, 1, + 3, 1, 8, 3, 2, 2, 3, 1, 7, 0, + 2, 1, 3, 3, 4, 6, 5, 3, 4, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, + 1, 5, 4, 3, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, + 2, 2, 1, 2, 1, 2, 11, 9, 0, 0, + 1, 0, 4, 2, 3, 1, 1, 2, 2, 4, + 2, 1, 1, 1, 1, 1, 1, 3, 0, 3, + 0, 1, 1, 0, 1, 4, 3, 1, 3, 1, + 1, 3, 2, 3, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, + 1, 4, 4, 4, 4, 1, 1, 1, 3, 3, + 1, 4, 2, 3, 1, 4, 4, 3, 3, 3, + 3, 1, 3, 1, 1, 3, 1, 1, 0, 1, + 3, 1, 3, 1, 4, 2, 2, 6, 4, 2, + 2, 1, 2, 1, 4, 3, 3, 3, 3, 6, + 3, 1, 1, 2, 1, 5, 4, 2, 2, 4, + 2, 2, 1, 3, 1, } var yyChk = [...]int{ -1000, -159, -148, -13, 2, -15, -16, -17, -18, -19, -139, 52, 80, 45, -86, 39, 152, -76, -80, 21, 20, 23, 30, 34, 35, 40, 47, 99, 19, 14, - -24, 49, 25, 27, 154, 41, 36, 10, 37, -158, - -157, -85, -99, -31, -34, -138, 7, -68, -69, -66, - 60, 158, 93, 105, 106, 163, 162, 164, 165, 156, - -47, -129, -53, 108, 109, 110, 111, 112, 113, 114, - 6, 166, -57, 151, 97, 98, 107, 44, -121, 144, - -52, -59, -50, -65, -62, 92, 143, 50, 51, 4, - 5, 85, 86, 87, 8, 9, 75, -64, -63, -120, - -8, 167, -14, -67, -49, 67, 68, 82, 64, 65, - 66, 81, 63, 61, 18, 150, 38, 12, 146, 147, - 145, 156, -97, 152, 10, -5, 146, -4, 99, 100, - 101, 102, 103, 104, 148, 4, 5, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 6, 7, 94, 95, - 96, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 35, 36, 37, 39, 40, 97, 98, - 60, 30, 31, 32, 33, 34, 61, 62, 56, 57, - 80, 54, 55, 53, 63, 64, 66, 65, 67, 68, - 82, 81, 38, 143, 149, -94, -12, -98, -88, 37, - 39, -96, 147, 10, 146, -77, -20, 10, -149, 156, - -15, -158, 37, 156, 156, -25, -24, 99, 10, -25, - -25, -35, -36, -52, -37, -121, -38, -8, -73, -46, - -24, 154, 131, 132, 88, 90, 89, 169, 161, 171, - 177, 163, 162, 172, 133, 173, 174, 134, 135, 136, - 137, 138, 139, 175, 140, 176, 141, 116, 91, 160, - 115, 156, 156, 156, 152, 10, 155, -3, 161, -138, - 37, -120, -156, 54, 55, 149, -155, -111, 100, 101, - 94, 95, 94, 96, 95, 170, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 105, - 106, 156, 158, 152, 58, 142, 156, -55, -54, -101, - -100, -24, 161, 84, 60, -24, -31, -62, 156, -64, - -63, 99, 158, -31, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -56, 156, -24, -145, - 17, -144, -71, -8, 77, 78, -24, -24, -24, -24, - -137, -136, -49, -14, 79, -51, -48, -49, -70, 156, - -157, -52, -158, 156, 156, 156, -24, -24, 156, -24, - -24, 17, 76, -144, 152, -52, -112, 156, -112, 156, - -144, 17, -3, 157, 154, 152, -148, 154, 168, -94, - -98, 83, 29, 154, 168, 170, -21, 153, 2, -15, - -16, -17, -18, -19, -139, 52, -24, 21, -3, -22, - -23, -24, -24, 154, 154, 154, 154, 168, 154, 168, - 170, 154, 168, -24, -24, -24, -24, -24, -24, -24, + -24, 49, 25, 27, 154, 41, 36, -6, 37, -158, + -157, -85, -99, -31, -34, 10, -138, 7, -68, -69, + -66, 60, 158, 93, 105, 106, 163, 162, 164, 165, + 156, -47, -129, -53, 108, 109, 110, 111, 112, 113, + 114, 6, 166, -57, 151, 97, 98, 107, 44, -121, + 144, -52, -59, -50, -65, -62, 92, 143, 50, 51, + 4, 5, 85, 86, 87, 8, 9, 75, -64, -63, + -120, -8, 167, -14, -67, -49, 67, 68, 82, 64, + 65, 66, 81, 63, 61, 18, 150, 38, 12, 146, + 147, 145, 156, -97, 152, 10, -5, 146, -4, 99, + 100, 101, 102, 103, 104, 148, 4, 5, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 6, 7, 94, + 95, 96, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 35, 36, 37, 39, 40, 97, + 98, 60, 30, 31, 32, 33, 34, 61, 62, 56, + 57, 80, 54, 55, 53, 63, 64, 66, 65, 67, + 68, 82, 81, 38, 143, 149, -94, -12, -98, -88, + 37, 39, -96, 147, 10, 146, -77, -20, -6, 10, + -149, 156, -15, -158, 37, 156, 156, -25, -24, 99, + 10, -25, -25, -35, -36, -52, -37, -121, -38, -8, + -73, -46, -24, 154, 131, 132, 88, 90, 89, 169, + 161, 171, 177, 163, 162, 172, 133, 173, 174, 134, + 135, 136, 137, 138, 139, 175, 140, 176, 141, 116, + 91, 160, 115, 156, 156, 156, 152, -6, 155, -3, + 161, -138, 37, -120, -156, 54, 55, 149, -155, -111, + 100, 101, 94, 95, 94, 96, 95, 170, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 105, 106, 156, 158, 152, 58, 142, 156, -55, + -54, -101, -100, -24, 161, 84, 60, -24, -31, -62, + 156, -64, -63, 99, 158, -31, -24, -24, -24, -24, + -24, -24, -24, -24, -24, -24, -24, -24, -56, 156, + -24, -145, 17, -144, -71, -8, 77, 78, -24, -24, + -24, -24, -137, -136, -49, -14, 79, -51, -48, -49, + -70, 156, -157, -52, -158, 156, 156, 156, -24, -24, + 156, -24, -24, 17, 76, -144, 152, -52, -112, 156, + -112, 156, -144, 17, -3, 157, 154, 152, -148, 154, + 168, -94, -98, 83, 29, 154, 168, 170, -21, 153, + 2, -15, -16, -17, -18, -19, -139, 52, -24, 21, + -3, -22, -23, -24, -24, 154, 154, 154, 154, 168, + 154, 168, 170, 154, 168, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -51, - -24, 155, -24, -122, -30, -31, -24, -77, -149, 154, - 10, -160, -3, 53, 10, 10, 10, -111, 156, -15, - 156, 154, 155, -24, 161, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -25, - -24, -61, 10, 152, -52, -61, -55, 159, 168, 59, - -31, -24, 156, -24, -55, 157, -25, 151, -71, -71, - 17, 158, 58, 142, -24, 11, -31, 59, 168, -10, - -112, -60, -7, -52, -6, 152, 10, -5, -113, -112, - 79, 158, 152, 58, 142, 79, -24, 53, -24, -83, - -102, -24, -24, -24, 76, 76, -24, 157, -78, -33, - -24, 84, -7, 10, -5, 60, 93, 6, 97, 98, - 44, 99, 92, 143, 50, 51, 4, 5, 85, 86, - 87, 37, 61, 63, 64, 66, 65, 67, 68, 82, - 81, 38, -55, 150, 156, 154, -148, 153, -88, -98, - 154, 83, 152, 10, -20, -24, 156, 157, 156, 154, - 168, 157, -36, -38, -24, -46, 155, -24, -10, 168, - 29, 157, 153, 156, 156, 10, 10, 152, -125, 56, - -141, 155, -24, -24, -149, -24, 157, 159, 153, -112, - -24, -112, 157, 170, -101, -24, 161, 60, -55, 157, - 159, 157, -72, 10, 13, 162, -8, 10, 10, 153, - 153, 158, 153, -24, -136, 159, -112, -24, -52, -25, - -24, -61, -61, -52, 157, -113, 157, -10, 168, 157, - 157, 153, -10, 168, -24, 155, 157, -26, -27, -32, - -157, 153, 152, -93, -92, -87, -89, -12, -96, -160, - 157, -119, -15, 155, -24, -22, -24, -115, 152, 155, - -24, 157, -30, -143, -31, 161, 60, 158, -28, -15, - 155, -133, -26, -26, 156, -123, 56, -150, 152, -75, - -14, -124, 57, -104, -108, 99, 61, 62, -14, 157, - 157, 96, -15, 155, 153, 170, -24, -31, 156, 157, - 159, 13, -24, 153, 159, 153, -123, 152, 157, -102, - 157, -33, -24, 157, -10, 168, -153, -91, -90, -89, - 153, -10, 168, -89, 29, 154, -149, 157, 154, -146, - 154, -146, 154, 154, 157, 59, -31, 156, -55, -149, - -29, -134, 43, 42, 157, 157, -26, -124, -14, 153, - -39, -157, 45, -150, 168, 152, -75, -15, 155, 154, - -149, -24, -55, 159, -124, -131, -132, -130, -127, 33, - -128, -24, -106, 155, -32, -135, -110, 104, 103, 102, - 148, -107, -108, 160, -109, 153, -10, 168, 154, -87, - 10, 22, 154, -22, 153, 32, 33, -146, 31, -146, - -117, -15, 155, -143, -31, -55, 159, 28, 152, 156, - -106, -126, 45, 157, 152, -152, -151, 32, -154, 48, - -142, 104, 103, 102, 99, 100, 101, 148, -75, 153, - -14, -150, -149, 157, 153, 152, 153, -10, 168, 59, - -10, 168, -10, 168, -160, -103, -104, 160, -105, -1, - 161, 169, -108, 169, 154, -89, 154, 157, -24, -11, - 155, 154, 153, 154, 31, -149, 157, 157, 154, -149, - -74, -14, 152, -106, 156, -106, -150, -110, 39, 37, - 10, -142, -114, 154, 152, 153, -150, -130, -24, 59, - -24, 59, 169, -104, 169, -2, 84, -108, -108, -118, - -15, 155, -11, -149, 154, 26, -117, 153, -9, 169, - -8, -149, 152, -81, -82, -58, -8, 161, 152, 153, - -79, -45, -8, -84, -95, -6, 10, -5, -3, -140, - 170, 153, -147, -40, -41, -42, -43, -44, -14, -6, - 10, 153, -24, -24, -104, -104, -8, -149, -149, 154, - 157, -14, 153, -149, 157, -10, 168, -8, -149, 154, - 168, -160, 170, 154, 168, 170, -6, 154, -24, 153, - -40, 154, 154, 46, 29, 79, 170, 24, 152, 153, - -58, 153, -45, -24, -95, -24, 156, -75, 10, -4, - -142, -6, -24, 154, -149, -160, -160, -26, -6, 153, - 157, -106, -116, 154, 152, -149, 153, + -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, + -24, -51, -24, 155, -24, -122, -30, -31, -24, -77, + -149, 154, -6, -160, -3, 53, -6, -6, -6, -111, + 156, -15, 156, 154, 155, -24, 161, -24, -24, -24, + -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, + -24, -25, -24, -61, -6, 152, -52, -61, -55, 159, + 168, 59, -31, -24, 156, -24, -55, 157, -25, 151, + -71, -71, 17, 158, 58, 142, -24, 11, -31, 59, + 168, -10, -112, -60, -7, -52, 152, -6, -5, -113, + -112, 79, 158, 152, 58, 142, 79, -24, 53, -24, + -83, -102, -24, -24, -24, 76, 76, -24, 157, -78, + -33, -24, 84, -7, 60, 93, 6, 97, 98, 44, + 99, 92, 143, 50, 51, 4, 5, 85, 86, 87, + 37, 61, 63, 64, 66, 65, 67, 68, 82, 81, + 38, -55, 150, 156, 154, -148, 153, -88, -98, 154, + 83, 152, -6, -20, -24, 156, 157, 156, 154, 168, + 157, -36, -38, -24, -46, 155, -24, -10, 168, 29, + 157, 153, 156, 156, -6, -6, 152, -125, 56, -141, + 155, -24, -24, -149, -24, 157, 159, 153, -112, -24, + -112, 157, 170, -101, -24, 161, 60, -55, 157, 159, + 157, -72, -6, 13, 162, -8, -6, -6, 153, 153, + 158, 153, -24, -136, 159, -112, -24, -52, -25, -24, + -61, -61, -52, 157, -113, 157, -10, 168, 157, 157, + 153, -10, 168, -24, 155, 157, -26, -27, -32, -157, + 153, 152, -93, -92, -87, -89, -12, -96, -160, 157, + -119, -15, 155, -24, -22, -24, -115, 152, 155, -24, + 157, -30, -143, -31, 161, 60, 158, -28, -15, 155, + -133, -26, -26, 156, -123, 56, -150, 152, -75, -14, + -124, 57, -104, -108, 99, 61, 62, -14, 157, 157, + 96, -15, 155, 153, 170, -24, -31, 156, 157, 159, + 13, -24, 153, 159, 153, -123, 152, 157, -102, 157, + -33, -24, 157, -10, 168, -153, -91, -90, -89, 153, + -10, 168, -89, 29, 154, -149, 157, 154, -146, 154, + -146, 154, 154, 157, 59, -31, 156, -55, -149, -29, + -134, 43, 42, 157, 157, -26, -124, -14, 153, -39, + -157, 45, -150, 168, 152, -75, -15, 155, 154, -149, + -24, -55, 159, -124, -131, -132, -130, -127, 33, -128, + -24, -106, 155, -32, -135, -110, 104, 103, 102, 148, + -107, -108, 160, -109, 153, -10, 168, 154, -87, -6, + 22, 154, -22, 153, 32, 33, -146, 31, -146, -117, + -15, 155, -143, -31, -55, 159, 28, 152, 156, -106, + -126, 45, 157, 152, -152, -151, 32, -154, 48, -142, + 104, 103, 102, 99, 100, 101, 148, -75, 153, -14, + -150, -149, 157, 153, 152, 153, -10, 168, 59, -10, + 168, -10, 168, -160, -103, -104, 160, -105, -1, 161, + 169, -108, 169, 154, -89, 154, 157, -24, -11, 155, + 154, 153, 154, 31, -149, 157, 157, 154, -149, -74, + -14, 152, -106, 156, -106, -150, -110, 39, 37, -6, + -142, -114, 154, 152, 153, -150, -130, -24, 59, -24, + 59, 169, -104, 169, -2, 84, -108, -108, -118, -15, + 155, -11, -149, 154, 26, -117, 153, -9, 169, -8, + -149, 152, -81, -82, -58, -8, 161, 152, 153, -79, + -45, -8, -84, -95, -7, -3, -140, 170, 153, -147, + -40, -41, -42, -43, -44, -14, -7, 153, -24, -24, + -104, -104, -8, -149, -149, 154, 157, -14, 153, -149, + 157, -10, 168, -8, -149, 154, 168, -160, 170, 154, + 168, 170, -7, 154, -24, 153, -40, 154, 154, 46, + 29, 79, 170, 24, 152, 153, -58, 153, -45, -24, + -95, -24, 156, -75, -6, -4, -142, -7, -24, 154, + -149, -160, -160, -26, -7, 153, 157, -106, -116, 154, + 152, -149, 153, } var yyDef = [...]int{ - 90, -2, -2, 89, 111, 112, 113, 114, 115, 116, - 117, 0, 0, 0, 124, 0, 147, 157, 158, 0, - 0, 0, 0, 490, 490, 490, 0, 454, 0, 169, - 0, 0, 0, 0, 175, 0, 0, 98, 440, 110, - 195, 238, 0, -2, 489, 107, 0, -2, 508, 0, - 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, - 410, 411, 415, 0, 0, 0, 0, 0, 0, 0, - 459, 0, 425, 461, 0, 428, 0, 0, 433, 0, - 501, 506, 0, -2, -2, 109, 0, 0, 0, 0, - 0, 0, 0, 0, 470, 471, 0, -2, -2, 435, - 511, 0, -2, 0, 452, 480, 481, 482, 483, 484, - 485, 486, 487, 0, 468, 0, 440, 88, 99, 100, - 101, 0, 0, 90, 91, 92, 93, 72, 73, 74, - 75, 76, 77, 78, 79, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 0, 0, 142, 137, 126, - 127, 96, 97, 94, 95, 0, 145, 0, -2, 0, - 0, 0, 440, 339, 0, 0, 491, 454, 98, 0, - 0, 0, 283, 284, 0, 434, 286, 287, 0, 337, - 338, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 89, -2, -2, 88, 110, 111, 112, 113, 114, 115, + 116, 0, 0, 0, 123, 0, 146, 156, 157, 0, + 0, 0, 0, 489, 489, 489, 0, 453, 0, 168, + 0, 0, 0, 0, 174, 0, 0, 0, 439, 109, + 194, 237, 0, -2, 488, -2, 106, 0, -2, 507, + 0, 0, 528, 0, 0, 0, 0, 0, 0, 0, + 0, 409, 410, 414, 0, 0, 0, 0, 0, 0, + 0, 458, 0, 424, 460, 0, 427, 0, 0, 432, + 0, 500, 505, 0, -2, -2, 108, 0, 0, 0, + 0, 0, 0, 0, 0, 469, 470, 0, -2, -2, + 434, 510, 0, -2, 0, 451, 479, 480, 481, 482, + 483, 484, 485, 486, 0, 467, 0, 439, 87, 98, + 99, 100, 0, 0, 89, 90, 91, 92, 72, 73, + 74, 75, 76, 77, 78, 79, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 0, 0, 141, 136, + 125, 126, 95, 96, 93, 94, 0, 144, 0, 80, + -2, 0, 0, 0, 439, 338, 0, 0, 490, 453, + 97, 0, 0, 0, 282, 283, 0, 433, 285, 286, + 0, 336, 337, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 0, 178, 439, 441, 108, - 440, 436, 0, 0, 0, 0, 196, 197, 199, 200, + 0, 0, 0, 0, 0, 0, 146, 0, 177, 438, + 440, 107, 439, 435, 0, 0, 0, 0, 195, 196, + 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, - 376, 0, 490, 0, 0, 0, 529, 0, 528, 532, - 530, 534, 0, 0, 0, 360, -2, 497, 0, -2, - 495, 454, 529, -2, 395, 396, 397, 398, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 490, 424, 0, - 462, 463, 542, 544, 0, 0, 427, 429, 431, 432, - 84, 104, 102, 455, 0, 464, 345, 456, 457, 0, - 0, 515, 110, 0, 0, 0, 558, 559, 0, 561, - 562, 0, 473, 0, 0, 513, 449, 0, 451, 529, - 0, 0, 0, 0, 119, 90, -2, 122, 0, 0, - 142, 0, 0, 125, 0, 0, 146, 156, 148, 149, - 150, 151, 152, 153, 154, 0, 0, 0, 439, 0, - 340, 342, 0, 163, 164, 165, 166, 0, 167, 0, - 0, 168, 0, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - -2, -2, -2, -2, -2, -2, -2, -2, -2, 408, - 0, 0, 414, 84, 186, -2, 0, 0, -2, 177, - 0, 0, 439, 0, 0, 211, 205, 198, 0, 239, - 0, 242, 147, 358, 0, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 0, - 0, 509, 525, 0, 527, 510, 0, 467, 529, 0, - -2, 537, 529, 0, 0, -2, 0, 426, 543, 540, - 541, 0, 0, 0, 0, 0, 492, 0, 85, 0, - 103, 0, 478, -2, 522, 0, -2, -2, 344, 465, - 0, 490, 0, 0, 0, 0, 0, 464, 0, 84, - 563, 565, 0, 0, 472, 474, 0, 275, 84, 277, - 279, 0, 0, -2, 83, 47, 12, -2, 45, -2, - 32, -2, -2, 70, 38, 39, 2, 3, 4, 5, - 6, -2, 53, -2, -2, -2, -2, -2, -2, -2, - -2, -2, 0, 469, -2, 118, -2, 121, 136, 142, - 123, 0, 0, 143, 144, 439, 0, 0, 0, 339, - 0, 0, 282, 285, 288, 336, 0, 413, 0, 85, - 0, 0, 179, -2, -2, 0, 209, 290, 0, 0, - 213, 0, 0, 0, -2, 359, 0, 502, 503, 504, - 0, 505, 0, 0, 531, 533, 0, 0, 0, -2, - 467, 460, 0, 552, 553, 0, 555, 546, 547, 548, - 549, 0, 551, 430, 105, 106, 450, 0, 520, 0, - 0, 518, 519, 521, 458, 209, 0, 0, 85, 557, - 560, 512, 0, 85, 280, 0, 466, 0, 84, 246, - 248, 120, 0, 0, 84, 132, 138, 0, 140, 335, - 0, 159, 234, 147, 0, 0, 341, 162, 229, 229, - 412, 0, 187, 0, -2, 0, 0, 529, 174, 223, - 147, 184, 0, 0, -2, 213, 0, 109, 290, 212, - 296, 0, 0, 206, 259, 260, 261, 262, 263, 0, - 0, 0, 236, 147, 526, 0, 357, -2, 529, 539, - 545, 554, 0, 523, 516, 517, 213, 350, 556, 564, - 276, 278, 281, 273, 244, -2, 271, 0, 84, 135, - 0, 130, 85, 139, 0, 155, -2, 0, 339, 0, - 229, 0, 229, 171, 0, 0, -2, 529, 0, -2, - 176, 180, 0, 0, 273, 442, 0, 0, 210, 202, - 289, 317, 0, 109, 0, 290, 214, 237, 147, 243, - -2, 356, 0, 0, 0, 0, 84, 352, 0, 84, - 84, 348, 439, 0, 247, 249, 191, 250, 251, 252, - 253, 272, 268, 0, 270, 0, 133, 85, 129, 131, - 141, 0, 160, 0, 225, 0, 0, 0, 0, 0, - 172, 221, 147, 0, -2, 0, -2, 0, 147, 0, - 0, 273, 0, 273, 290, 271, 0, 0, -2, 316, - 319, 321, 322, 323, 324, 325, 326, 327, 0, 203, - 297, 109, -2, 538, 550, 290, 349, 351, 85, 0, - 0, 85, 346, 85, 0, 274, 256, 0, 258, 193, - 192, 0, 269, 0, 128, 134, 235, 0, 0, 147, - 232, 233, 226, 227, 0, -2, 0, 217, 224, -2, - 86, 182, 147, 0, 0, 0, 109, 0, 0, 440, - 207, 320, 294, 298, 0, 204, 109, 353, 354, 0, - 347, 0, 0, 257, 0, 0, 194, 266, 267, 161, - 219, 147, 147, -2, 228, 0, 173, 185, 0, 0, - 87, -2, 147, 0, 84, 446, 447, 0, 147, 201, - 0, 329, 439, 0, 333, 0, 80, 81, 0, 0, - 0, 299, 0, 301, 0, 0, 311, 0, 0, 310, - -2, 343, 355, 438, 264, 265, 254, -2, -2, 222, - 0, 183, 189, -2, 443, 444, 85, 448, -2, 291, - 0, 330, 0, 292, 0, 0, 0, 295, 208, 300, - 302, 303, 304, 0, 0, 0, 0, 0, 147, 437, - 445, 190, 328, 439, 332, 439, -2, 305, 306, 307, - 309, 312, 255, 220, -2, 331, 334, 0, 308, 181, - 273, 0, 293, 313, 147, -2, 314, + 0, 373, 375, 0, 489, 0, 0, 0, 528, 0, + 527, 531, 529, 533, 0, 0, 0, 359, -2, 496, + 0, -2, 494, 453, 528, -2, 394, 395, 396, 397, + 0, 415, 416, 417, 418, 419, 420, 421, 422, 489, + 423, 0, 461, 462, 541, 543, 0, 0, 426, 428, + 430, 431, 83, 103, 101, 454, 0, 463, 344, 455, + 456, 0, 0, 514, 109, 0, 0, 0, 557, 558, + 0, 560, 561, 0, 472, 0, 0, 512, 448, 0, + 450, 528, 0, 0, 0, 0, 118, 89, -2, 121, + 0, 0, 141, 0, 0, 124, 0, 0, 145, 155, + 147, 148, 149, 150, 151, 152, 153, 0, 0, 0, + 438, 0, 339, 341, 0, 162, 163, 164, 165, 0, + 166, 0, 0, 167, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, -2, -2, -2, -2, -2, -2, -2, -2, + -2, 407, 0, 0, 413, 83, 185, -2, 0, 0, + -2, 176, 0, 0, 438, 0, 0, 210, 204, 197, + 0, 238, 0, 241, 146, 357, 0, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 508, 524, 0, 526, 509, 0, 466, + 528, 0, -2, 536, 528, 0, 0, -2, 0, 425, + 542, 539, 540, 0, 0, 0, 0, 0, 491, 0, + 84, 0, 102, 0, -2, -2, 0, 81, 82, 343, + 464, 0, 489, 0, 0, 0, 0, 0, 463, 0, + 83, 562, 564, 0, 0, 471, 473, 0, 274, 83, + 276, 278, 0, 0, 47, 12, -2, 45, -2, 32, + -2, -2, 70, 38, 39, 2, 3, 4, 5, 6, + -2, 53, -2, -2, -2, -2, -2, -2, -2, -2, + -2, 0, 468, -2, 117, -2, 120, 135, 141, 122, + 0, 0, 142, 143, 438, 0, 0, 0, 338, 0, + 0, 281, 284, 287, 335, 0, 412, 0, 84, 0, + 0, 178, -2, -2, 0, 208, 289, 0, 0, 212, + 0, 0, 0, -2, 358, 0, 501, 502, 503, 0, + 504, 0, 0, 530, 532, 0, 0, 0, -2, 466, + 459, 0, 551, 552, 0, 554, 545, 546, 547, 548, + 0, 550, 429, 104, 105, 449, 0, 519, 0, 0, + 517, 518, 520, 457, 208, 0, 0, 84, 556, 559, + 511, 0, 84, 279, 0, 465, 0, 83, 245, 247, + 119, 0, 0, 83, 131, 137, 0, 139, 334, 0, + 158, 233, 146, 0, 0, 340, 161, 228, 228, 411, + 0, 186, 0, -2, 0, 0, 528, 173, 222, 146, + 183, 0, 0, -2, 212, 0, 108, 289, 211, 295, + 0, 0, 205, 258, 259, 260, 261, 262, 0, 0, + 0, 235, 146, 525, 0, 356, -2, 528, 538, 544, + 553, 0, 522, 515, 516, 212, 349, 555, 563, 275, + 277, 280, 272, 243, -2, 270, 0, 83, 134, 0, + 129, 84, 138, 0, 154, -2, 0, 338, 0, 228, + 0, 228, 170, 0, 0, -2, 528, 0, -2, 175, + 179, 0, 0, 272, 441, 0, 0, 209, 201, 288, + 316, 0, 108, 0, 289, 213, 236, 146, 242, -2, + 355, 0, 0, 0, 0, 83, 351, 0, 83, 83, + 347, 438, 0, 246, 248, 190, 249, 250, 251, 252, + 271, 267, 0, 269, 0, 132, 84, 128, 130, 140, + 0, 159, 0, 224, 0, 0, 0, 0, 0, 171, + 220, 146, 0, -2, 0, -2, 0, 146, 0, 0, + 272, 0, 272, 289, 270, 0, 0, -2, 315, 318, + 320, 321, 322, 323, 324, 325, 326, 0, 202, 296, + 108, -2, 537, 549, 289, 348, 350, 84, 0, 0, + 84, 345, 84, 0, 273, 255, 0, 257, 192, 191, + 0, 268, 0, 127, 133, 234, 0, 0, 146, 231, + 232, 225, 226, 0, -2, 0, 216, 223, -2, 85, + 181, 146, 0, 0, 0, 108, 0, 0, 439, 206, + 319, 293, 297, 0, 203, 108, 352, 353, 0, 346, + 0, 0, 256, 0, 0, 193, 265, 266, 160, 218, + 146, 146, -2, 227, 0, 172, 184, 0, 0, 86, + -2, 146, 0, 83, 445, 446, 0, 146, 200, 0, + 328, 438, 0, 332, 0, 0, 0, 0, 298, 0, + 300, 0, 0, 310, 0, 0, 309, 342, 354, 437, + 263, 264, 253, -2, -2, 221, 0, 182, 188, -2, + 442, 443, 84, 447, -2, 290, 0, 329, 0, 291, + 0, 0, 0, 294, 207, 299, 301, 302, 303, 0, + 0, 0, 0, 0, 146, 436, 444, 189, 327, 438, + 331, 438, -2, 304, 305, 306, 308, 311, 254, 219, + -2, 330, 333, 0, 307, 180, 272, 0, 292, 312, + 146, -2, 313, } var yyTok1 = [...]int{ @@ -3047,7 +3048,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:341 + // line internal/php8/php8.y:344 { yyVAL.token = yyDollar[1].token } @@ -3058,55 +3059,55 @@ yydefault: yyVAL.token = yyDollar[1].token } case 83: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:346 + yyDollar = yyS[yypt-0 : yypt+1] + // line internal/php8/php8.y:349 { - yyVAL.token = yyDollar[1].token + yyVAL.token = nil } case 84: - yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:350 - { - yyVAL.token = nil - } - case 85: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:351 + // line internal/php8/php8.y:350 { yyVAL.token = yyDollar[1].token } - case 86: + case 85: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:355 + // line internal/php8/php8.y:354 { yyVAL.token = nil } + case 86: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:355 + { + yyVAL.token = yyDollar[1].token + } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:356 + // line internal/php8/php8.y:359 { yyVAL.token = yyDollar[1].token } case 88: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:360 - { - yyVAL.token = yyDollar[1].token - } - case 89: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:364 + // line internal/php8/php8.y:363 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } } - case 90: + case 89: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:369 + // line internal/php8/php8.y:368 { yyVAL.list = []ast.Vertex{} } + case 90: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:372 + { + yyVAL.node = yylex.(*Parser).builder.NewName(yyDollar[1].token) + } case 91: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:373 @@ -3117,121 +3118,121 @@ yydefault: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:374 { - yyVAL.node = yylex.(*Parser).builder.NewName(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewNameQualified(yyDollar[1].token) } case 93: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:375 + // line internal/php8/php8.y:378 { - yyVAL.node = yylex.(*Parser).builder.NewNameQualified(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewName(yyDollar[1].token) } case 94: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:379 { - yyVAL.node = yylex.(*Parser).builder.NewName(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewNameQualified(yyDollar[1].token) } case 95: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:380 + // line internal/php8/php8.y:383 { - yyVAL.node = yylex.(*Parser).builder.NewNameQualified(yyDollar[1].token) + yyVAL.node = yyDollar[1].node } case 96: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:384 { - yyVAL.node = yyDollar[1].node + yyVAL.node = yylex.(*Parser).builder.NewNameFullyQualified(yyDollar[1].token) } case 97: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:385 + // line internal/php8/php8.y:388 { - yyVAL.node = yylex.(*Parser).builder.NewNameFullyQualified(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewName(yyDollar[1].token) } case 98: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:389 { - yyVAL.node = yylex.(*Parser).builder.NewName(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewNameQualified(yyDollar[1].token) } case 99: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:390 { - yyVAL.node = yylex.(*Parser).builder.NewNameQualified(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewNameFullyQualified(yyDollar[1].token) } case 100: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:391 { - yyVAL.node = yylex.(*Parser).builder.NewNameFullyQualified(yyDollar[1].token) + yyVAL.node = yylex.(*Parser).builder.NewNameRelative(yyDollar[1].token) } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:392 - { - yyVAL.node = yylex.(*Parser).builder.NewNameRelative(yyDollar[1].token) - } - case 102: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:396 + // line internal/php8/php8.y:395 { yyVAL.node = yylex.(*Parser).builder.NewAttribute(yyDollar[1].node, nil) } - case 103: + case 102: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:397 + // line internal/php8/php8.y:396 { yyVAL.node = yylex.(*Parser).builder.NewAttribute(yyDollar[1].node, yyDollar[2].node) } - case 104: + case 103: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:401 + // line internal/php8/php8.y:400 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 105: + case 104: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:402 + // line internal/php8/php8.y:401 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 106: + case 105: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:407 + // line internal/php8/php8.y:406 { yyVAL.node = yylex.(*Parser).builder.NewAttributeGroup(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token, yyDollar[4].token) } - case 107: + case 106: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:411 + // line internal/php8/php8.y:410 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - case 108: + case 107: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:412 + // line internal/php8/php8.y:411 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 109: + case 108: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:416 + // line internal/php8/php8.y:415 { yyVAL.list = nil } - case 110: + case 109: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:417 + // line internal/php8/php8.y:416 { yyVAL.list = yyDollar[1].list } + case 110: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:420 + { + yyVAL.node = nil + } case 111: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:421 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 112: yyDollar = yyS[yypt-1 : yypt+1] @@ -3264,14 +3265,8 @@ yydefault: yyVAL.node = yyDollar[1].node } case 117: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:427 - { - yyVAL.node = yyDollar[1].node - } - case 118: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:429 + // line internal/php8/php8.y:428 { yyVAL.node = &ast.StmtHaltCompiler{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -3281,45 +3276,45 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 119: + case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:439 + // line internal/php8/php8.y:438 { yyVAL.node = yylex.(*Parser).builder.NewNamespace(yyDollar[1].token, yyDollar[2].node, nil, nil, nil, yyDollar[3].token) } - case 120: + case 119: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:441 + // line internal/php8/php8.y:440 { yyVAL.node = yylex.(*Parser).builder.NewNamespace(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token, yyDollar[4].list, yyDollar[5].token, nil) } - case 121: + case 120: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:443 + // line internal/php8/php8.y:442 { yyVAL.node = yylex.(*Parser).builder.NewNamespace(yyDollar[1].token, nil, yyDollar[2].token, yyDollar[3].list, yyDollar[4].token, nil) } - case 122: + case 121: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:446 + // line internal/php8/php8.y:445 { yyVAL.node = yylex.(*Parser).builder.NewUseList(yyDollar[1].token, nil, yyDollar[2].node, yyDollar[3].token) } - case 123: + case 122: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:448 + // line internal/php8/php8.y:447 { yyVAL.node = yylex.(*Parser).builder.NewUseList(yyDollar[1].token, yyDollar[2].token, yyDollar[3].node, yyDollar[4].token) } - case 124: + case 123: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:450 + // line internal/php8/php8.y:449 { yyVAL.node = yyDollar[1].node } - case 125: + case 124: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:453 + // line internal/php8/php8.y:452 { yyVAL.node = &ast.StmtConstList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -3329,6 +3324,12 @@ yydefault: SemiColonTkn: yyDollar[3].token, } } + case 125: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:464 + { + yyVAL.token = yyDollar[1].token + } case 126: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:465 @@ -3336,141 +3337,141 @@ yydefault: yyVAL.token = yyDollar[1].token } case 127: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:466 - { - yyVAL.token = yyDollar[1].token - } - case 128: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php8/php8.y:471 + // line internal/php8/php8.y:470 { yyVAL.node = yylex.(*Parser).builder.NewGroupUseList(yyDollar[1].token, yyDollar[2].token, yyDollar[3].node, yyDollar[4].token, yyDollar[5].token, yyDollar[6].node, yyDollar[7].token, yyDollar[8].token) } - case 129: + case 128: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php8/php8.y:473 + // line internal/php8/php8.y:472 { yyVAL.node = yylex.(*Parser).builder.NewGroupUseList(yyDollar[1].token, nil, yyDollar[2].node, yyDollar[3].token, yyDollar[4].token, yyDollar[5].node, yyDollar[6].token, yyDollar[7].token) } - case 130: + case 129: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:478 + // line internal/php8/php8.y:477 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, nil) } + case 130: + yyDollar = yyS[yypt-3 : yypt+1] + // line internal/php8/php8.y:482 + { + yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) + } case 131: - yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:483 - { - yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) - } - case 132: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:485 + // line internal/php8/php8.y:484 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 133: + case 132: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:490 + // line internal/php8/php8.y:489 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, nil) } - case 134: + case 133: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:495 + // line internal/php8/php8.y:494 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 135: + case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:497 + // line internal/php8/php8.y:496 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 136: + case 135: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:501 + // line internal/php8/php8.y:500 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } + case 136: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:501 + { + yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) + } case 137: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:502 - { - yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) - } - case 138: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:506 + // line internal/php8/php8.y:505 { yyVAL.node = yyDollar[1].node } - case 139: + case 138: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:507 + // line internal/php8/php8.y:506 { decl := yyDollar[2].node.(*ast.StmtUse) decl.Type = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) decl.Position = yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) yyVAL.node = yyDollar[2].node } - case 140: + case 139: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:516 + // line internal/php8/php8.y:515 { yyVAL.node = yylex.(*Parser).builder.NewUse(nil, yyDollar[1].node, nil, nil) } - case 141: + case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:517 + // line internal/php8/php8.y:516 { yyVAL.node = yylex.(*Parser).builder.NewUse(nil, yyDollar[1].node, yyDollar[2].token, yyDollar[3].token) } - case 142: + case 141: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:521 + // line internal/php8/php8.y:520 { yyVAL.node = yylex.(*Parser).builder.NewUse(nil, yyDollar[1].node, nil, nil) } + case 142: + yyDollar = yyS[yypt-3 : yypt+1] + // line internal/php8/php8.y:521 + { + yyVAL.node = yylex.(*Parser).builder.NewUse(nil, yyDollar[1].node, yyDollar[2].token, yyDollar[3].token) + } case 143: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:522 - { - yyVAL.node = yylex.(*Parser).builder.NewUse(nil, yyDollar[1].node, yyDollar[2].token, yyDollar[3].token) - } - case 144: - yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:526 + // line internal/php8/php8.y:525 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 145: + case 144: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:527 + // line internal/php8/php8.y:526 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 146: + case 145: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:531 + // line internal/php8/php8.y:530 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } } - case 147: + case 146: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:536 + // line internal/php8/php8.y:535 { yyVAL.list = []ast.Vertex{} } + case 147: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:539 + { + yyVAL.node = nil + } case 148: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:540 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 149: yyDollar = yyS[yypt-1 : yypt+1] @@ -3503,14 +3504,8 @@ yydefault: yyVAL.node = yyDollar[1].node } case 154: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:546 - { - yyVAL.node = yyDollar[1].node - } - case 155: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:548 + // line internal/php8/php8.y:547 { yyVAL.node = &ast.StmtHaltCompiler{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -3520,9 +3515,9 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 156: + case 155: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:560 + // line internal/php8/php8.y:559 { yyVAL.node = &ast.StmtStmtList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -3531,21 +3526,21 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } + case 156: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:568 + { + yyVAL.node = yyDollar[1].node + } case 157: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:569 + // line internal/php8/php8.y:572 { yyVAL.node = yyDollar[1].node } case 158: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:573 - { - yyVAL.node = yyDollar[1].node - } - case 159: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:577 + // line internal/php8/php8.y:576 { yyDollar[5].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].token @@ -3555,9 +3550,9 @@ yydefault: yyVAL.node = yyDollar[5].node } - case 160: + case 159: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php8/php8.y:587 + // line internal/php8/php8.y:586 { yyVAL.node = &ast.StmtDo{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), @@ -3570,9 +3565,9 @@ yydefault: SemiColonTkn: yyDollar[7].token, } } - case 161: + case 160: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php8/php8.y:600 + // line internal/php8/php8.y:599 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3589,9 +3584,9 @@ yydefault: yyVAL.node = yyDollar[9].node } - case 162: + case 161: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:617 + // line internal/php8/php8.y:616 { yyDollar[5].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].token @@ -3601,9 +3596,9 @@ yydefault: yyVAL.node = yyDollar[5].node } - case 163: + case 162: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:627 + // line internal/php8/php8.y:626 { yyVAL.node = &ast.StmtBreak{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -3612,9 +3607,9 @@ yydefault: SemiColonTkn: yyDollar[3].token, } } - case 164: + case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:636 + // line internal/php8/php8.y:635 { yyVAL.node = &ast.StmtContinue{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -3623,9 +3618,9 @@ yydefault: SemiColonTkn: yyDollar[3].token, } } - case 165: + case 164: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:645 + // line internal/php8/php8.y:644 { yyVAL.node = &ast.StmtReturn{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -3634,9 +3629,9 @@ yydefault: SemiColonTkn: yyDollar[3].token, } } - case 166: + case 165: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:654 + // line internal/php8/php8.y:653 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3644,9 +3639,9 @@ yydefault: yyVAL.node = yyDollar[2].node } - case 167: + case 166: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:662 + // line internal/php8/php8.y:661 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3654,9 +3649,9 @@ yydefault: yyVAL.node = yyDollar[2].node } - case 168: + case 167: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:670 + // line internal/php8/php8.y:669 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3664,9 +3659,9 @@ yydefault: yyVAL.node = yyDollar[2].node } - case 169: + case 168: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:678 + // line internal/php8/php8.y:677 { yyVAL.node = &ast.StmtInlineHtml{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -3674,15 +3669,15 @@ yydefault: Value: yyDollar[1].token.Value, } } - case 170: + case 169: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:686 + // line internal/php8/php8.y:685 { yyVAL.node = yylex.(*Parser).builder.NewExpressionStmt(yyDollar[1].node, yyDollar[2].token) } - case 171: + case 170: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:690 + // line internal/php8/php8.y:689 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3695,9 +3690,9 @@ yydefault: yyVAL.node = yyDollar[3].node } - case 172: + case 171: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php8/php8.y:703 + // line internal/php8/php8.y:702 { foreach := yyDollar[7].node.(*ast.StmtForeach) @@ -3716,9 +3711,9 @@ yydefault: yyVAL.node = foreach } - case 173: + case 172: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php8/php8.y:722 + // line internal/php8/php8.y:721 { foreach := yyDollar[9].node.(*ast.StmtForeach) @@ -3739,9 +3734,9 @@ yydefault: yyVAL.node = foreach } - case 174: + case 173: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:743 + // line internal/php8/php8.y:742 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3752,24 +3747,24 @@ yydefault: yyVAL.node = yyDollar[5].node } - case 175: + case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:754 + // line internal/php8/php8.y:753 { yyVAL.node = &ast.StmtNop{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } - case 176: + case 175: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:761 + // line internal/php8/php8.y:760 { yyVAL.node = yylex.(*Parser).builder.NewTry(yyDollar[1].token, yyDollar[2].token, yyDollar[3].list, yyDollar[4].token, yyDollar[5].node, yyDollar[6].node) } - case 177: + case 176: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:765 + // line internal/php8/php8.y:764 { yyVAL.node = &ast.StmtGoto{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -3782,9 +3777,9 @@ yydefault: SemiColonTkn: yyDollar[3].token, } } - case 178: + case 177: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:778 + // line internal/php8/php8.y:777 { yyVAL.node = &ast.StmtLabel{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), @@ -3796,45 +3791,45 @@ yydefault: ColonTkn: yyDollar[2].token, } } - case 179: + case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:791 + // line internal/php8/php8.y:790 { yyVAL.node = yylex.(*Parser).builder.NewEmptySeparatedList() } - case 180: + case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:792 + // line internal/php8/php8.y:791 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, nil, yyDollar[2].node) } - case 181: + case 180: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php8/php8.y:797 + // line internal/php8/php8.y:796 { yyVAL.node = yylex.(*Parser).builder.NewCatch(yyDollar[1].token, yyDollar[2].token, yyDollar[3].node, yyDollar[4].token, yyDollar[5].token, yyDollar[6].token, yyDollar[7].list, yyDollar[8].token) } - case 182: + case 181: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:801 + // line internal/php8/php8.y:800 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 183: + case 182: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:802 + // line internal/php8/php8.y:801 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 184: + case 183: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:807 + // line internal/php8/php8.y:806 { yyVAL.node = nil } - case 185: + case 184: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:811 + // line internal/php8/php8.y:810 { yyVAL.node = &ast.StmtFinally{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -3844,89 +3839,95 @@ yydefault: CloseCurlyBracketTkn: yyDollar[4].token, } } - case 186: + case 185: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:824 + // line internal/php8/php8.y:823 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, } } - case 187: + case 186: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:830 + // line internal/php8/php8.y:829 { yyDollar[1].node.(*ast.StmtUnset).Vars = append(yyDollar[1].node.(*ast.StmtUnset).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns, yyDollar[2].token) yyVAL.node = yyDollar[1].node } - case 188: + case 187: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:839 + // line internal/php8/php8.y:838 { yyVAL.node = yyDollar[1].node } - case 189: + case 188: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php8/php8.y:844 + // line internal/php8/php8.y:843 { yyVAL.node = yylex.(*Parser).builder.NewFunction(nil, yyDollar[1].token, yyDollar[2].token, yyDollar[3].token, yyDollar[4].token, yyDollar[5].node, yyDollar[6].token, yyDollar[7].node, yyDollar[8].token, yyDollar[9].list, yyDollar[10].token) } - case 190: + case 189: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php8/php8.y:847 + // line internal/php8/php8.y:846 { yyVAL.node = yylex.(*Parser).builder.NewFunction(yyDollar[1].list, yyDollar[2].token, yyDollar[3].token, yyDollar[4].token, yyDollar[5].token, yyDollar[6].node, yyDollar[7].token, yyDollar[8].node, yyDollar[9].token, yyDollar[10].list, yyDollar[11].token) } - case 191: + case 190: yyDollar = yyS[yypt-0 : yypt+1] + // line internal/php8/php8.y:850 + { + yyVAL.token = nil + } + case 191: + yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:851 { - yyVAL.token = nil + yyVAL.token = yyDollar[1].token } case 192: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:852 - { - yyVAL.token = yyDollar[1].token - } - case 193: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:856 + // line internal/php8/php8.y:855 { yyVAL.token = nil } - case 194: + case 193: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:857 + // line internal/php8/php8.y:856 { yyVAL.token = yyDollar[1].token } - case 195: + case 194: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:861 + // line internal/php8/php8.y:860 { yyVAL.list = nil } - case 196: + case 195: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:862 + // line internal/php8/php8.y:861 { yyVAL.list = yyDollar[1].list } - case 197: + case 196: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:866 + // line internal/php8/php8.y:865 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - case 198: + case 197: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:867 + // line internal/php8/php8.y:866 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } + case 198: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:870 + { + yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) + } case 199: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:871 @@ -3934,68 +3935,62 @@ yydefault: yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) } case 200: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:872 - { - yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) - } - case 201: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php8/php8.y:878 + // line internal/php8/php8.y:877 { yyVAL.node = yylex.(*Parser).builder.NewClass(yyDollar[1].list, yyDollar[2].list, yyDollar[3].token, yyDollar[4].token, yyDollar[5].node, yyDollar[6].node, yyDollar[7].token, yyDollar[8].list, yyDollar[9].token) } - case 202: + case 201: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:884 + // line internal/php8/php8.y:883 { yyVAL.node = yylex.(*Parser).builder.NewTrait(yyDollar[1].list, yyDollar[2].token, yyDollar[3].token, yyDollar[4].token, yyDollar[5].list, yyDollar[6].token) } - case 203: + case 202: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php8/php8.y:890 + // line internal/php8/php8.y:889 { yyVAL.node = yylex.(*Parser).builder.NewInterface(yyDollar[1].list, yyDollar[2].token, yyDollar[3].token, yyDollar[4].node, yyDollar[5].token, yyDollar[6].list, yyDollar[7].token) } - case 204: + case 203: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php8/php8.y:896 + // line internal/php8/php8.y:895 { yyVAL.node = yylex.(*Parser).builder.NewEnum(yyDollar[1].list, yyDollar[2].token, yyDollar[3].token, yyDollar[4].node, yyDollar[5].node, yyDollar[6].token, yyDollar[7].list, yyDollar[8].token) } - case 205: + case 204: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:900 + // line internal/php8/php8.y:899 { yyVAL.node = nil } - case 206: + case 205: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:901 + // line internal/php8/php8.y:900 { yyVAL.node = yylex.(*Parser).builder.NewEnumType(yyDollar[1].token, yyDollar[2].node) } - case 207: + case 206: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:904 + // line internal/php8/php8.y:903 { yyVAL.node = nil } - case 208: + case 207: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:905 + // line internal/php8/php8.y:904 { yyVAL.node = yylex.(*Parser).builder.NewEnumExpr(yyDollar[1].token, yyDollar[2].node) } - case 209: + case 208: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:909 + // line internal/php8/php8.y:908 { yyVAL.node = nil } - case 210: + case 209: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:913 + // line internal/php8/php8.y:912 { yyVAL.node = &ast.StmtClass{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -4003,15 +3998,15 @@ yydefault: Extends: yyDollar[2].node, } } - case 211: + case 210: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:924 + // line internal/php8/php8.y:923 { yyVAL.node = nil } - case 212: + case 211: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:928 + // line internal/php8/php8.y:927 { yyVAL.node = &ast.StmtInterface{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ParserSeparatedList).Items), @@ -4020,15 +4015,15 @@ yydefault: ExtendsSeparatorTkns: yyDollar[2].node.(*ParserSeparatedList).SeparatorTkns, } } - case 213: + case 212: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:940 + // line internal/php8/php8.y:939 { yyVAL.node = nil } - case 214: + case 213: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:944 + // line internal/php8/php8.y:943 { yyVAL.node = &ast.StmtClass{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ParserSeparatedList).Items), @@ -4037,15 +4032,15 @@ yydefault: ImplementsSeparatorTkns: yyDollar[2].node.(*ParserSeparatedList).SeparatorTkns, } } - case 215: + case 214: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:956 + // line internal/php8/php8.y:955 { yyVAL.node = yyDollar[1].node } - case 216: + case 215: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:960 + // line internal/php8/php8.y:959 { yyVAL.node = &ast.StmtForeach{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -4053,9 +4048,9 @@ yydefault: Var: yyDollar[2].node, } } - case 217: + case 216: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:968 + // line internal/php8/php8.y:967 { yyVAL.node = &ast.ExprList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4066,9 +4061,9 @@ yydefault: CloseBracketTkn: yyDollar[4].token, } } - case 218: + case 217: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:979 + // line internal/php8/php8.y:978 { yyVAL.node = &ast.ExprList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -4078,18 +4073,18 @@ yydefault: CloseBracketTkn: yyDollar[3].token, } } - case 219: + case 218: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:992 + // line internal/php8/php8.y:991 { yyVAL.node = &ast.StmtFor{ Position: yylex.(*Parser).builder.Pos.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } - case 220: + case 219: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:999 + // line internal/php8/php8.y:998 { yyVAL.node = &ast.StmtFor{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4102,18 +4097,18 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 221: + case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1015 + // line internal/php8/php8.y:1014 { yyVAL.node = &ast.StmtForeach{ Position: yylex.(*Parser).builder.Pos.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } - case 222: + case 221: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1022 + // line internal/php8/php8.y:1021 { yyVAL.node = &ast.StmtForeach{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4126,18 +4121,18 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 223: + case 222: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1038 + // line internal/php8/php8.y:1037 { yyVAL.node = &ast.StmtDeclare{ Position: yylex.(*Parser).builder.Pos.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } - case 224: + case 223: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1045 + // line internal/php8/php8.y:1044 { yyVAL.node = &ast.StmtDeclare{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4150,9 +4145,9 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 225: + case 224: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1061 + // line internal/php8/php8.y:1060 { yyVAL.node = &ast.StmtSwitch{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -4161,9 +4156,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } - case 226: + case 225: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1070 + // line internal/php8/php8.y:1069 { yyVAL.node = &ast.StmtSwitch{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4173,9 +4168,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[4].token, } } - case 227: + case 226: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1080 + // line internal/php8/php8.y:1079 { yyVAL.node = &ast.StmtSwitch{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4185,9 +4180,9 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 228: + case 227: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1090 + // line internal/php8/php8.y:1089 { yyVAL.node = &ast.StmtSwitch{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), @@ -4198,15 +4193,15 @@ yydefault: SemiColonTkn: yyDollar[5].token, } } - case 229: + case 228: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1104 + // line internal/php8/php8.y:1103 { yyVAL.list = nil } - case 230: + case 229: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1108 + // line internal/php8/php8.y:1107 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), @@ -4216,9 +4211,9 @@ yydefault: Stmts: yyDollar[5].list, }) } - case 231: + case 230: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1118 + // line internal/php8/php8.y:1117 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), @@ -4227,6 +4222,12 @@ yydefault: Stmts: yyDollar[4].list, }) } + case 231: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:1128 + { + yyVAL.token = yyDollar[1].token + } case 232: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:1129 @@ -4235,22 +4236,16 @@ yydefault: } case 233: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1130 - { - yyVAL.token = yyDollar[1].token - } - case 234: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1135 + // line internal/php8/php8.y:1134 { yyVAL.node = &ast.StmtWhile{ Position: yylex.(*Parser).builder.Pos.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } - case 235: + case 234: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1142 + // line internal/php8/php8.y:1141 { yyVAL.node = &ast.StmtWhile{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -4263,9 +4258,9 @@ yydefault: SemiColonTkn: yyDollar[4].token, } } - case 236: + case 235: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1158 + // line internal/php8/php8.y:1157 { yyVAL.node = &ast.StmtIf{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), @@ -4276,9 +4271,9 @@ yydefault: Stmt: yyDollar[5].node, } } - case 237: + case 236: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:1169 + // line internal/php8/php8.y:1168 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node), @@ -4293,15 +4288,15 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 238: + case 237: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1187 + // line internal/php8/php8.y:1186 { yyVAL.node = yyDollar[1].node } - case 239: + case 238: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1191 + // line internal/php8/php8.y:1190 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node), @@ -4313,9 +4308,9 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 240: + case 239: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:1206 + // line internal/php8/php8.y:1205 { yyVAL.node = &ast.StmtIf{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list), @@ -4330,9 +4325,9 @@ yydefault: }, } } - case 241: + case 240: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php8/php8.y:1221 + // line internal/php8/php8.y:1220 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list), @@ -4349,9 +4344,9 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 242: + case 241: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1241 + // line internal/php8/php8.y:1240 { yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[3].token @@ -4359,9 +4354,9 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 243: + case 242: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:1249 + // line internal/php8/php8.y:1248 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Position: yylex.(*Parser).builder.Pos.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), @@ -4378,42 +4373,48 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 244: + case 243: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1268 + // line internal/php8/php8.y:1267 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, nil) } - case 245: + case 244: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1269 + // line internal/php8/php8.y:1268 { yyVAL.node = yylex.(*Parser).builder.NewEmptySeparatedList() } - case 246: + case 245: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1273 + // line internal/php8/php8.y:1272 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 247: + case 246: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1274 + // line internal/php8/php8.y:1273 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 248: + case 247: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1278 + // line internal/php8/php8.y:1277 { yyVAL.list = nil } - case 249: + case 248: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1279 + // line internal/php8/php8.y:1278 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } + case 249: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:1282 + { + yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) + } case 250: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:1283 @@ -4433,50 +4434,50 @@ yydefault: yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) } case 253: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1286 - { - yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) - } - case 254: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:1292 + // line internal/php8/php8.y:1291 { yyVAL.node = yylex.(*Parser).builder.NewParameter(yyDollar[1].list, yyDollar[2].list, yyDollar[3].node, yyDollar[4].token, yyDollar[5].token, yyDollar[6].token, nil, nil, false) } - case 255: + case 254: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php8/php8.y:1295 + // line internal/php8/php8.y:1294 { yyVAL.node = yylex.(*Parser).builder.NewParameter(yyDollar[1].list, yyDollar[2].list, yyDollar[3].node, yyDollar[4].token, yyDollar[5].token, yyDollar[6].token, yyDollar[7].token, yyDollar[8].node, true) } - case 256: + case 255: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1299 + // line internal/php8/php8.y:1298 { yyVAL.node = yyDollar[1].node } - case 257: + case 256: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1300 + // line internal/php8/php8.y:1299 { yyVAL.node = yylex.(*Parser).builder.NewNullableType(yyDollar[1].token, yyDollar[2].node) } - case 258: + case 257: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1301 + // line internal/php8/php8.y:1300 { yyVAL.node = yylex.(*Parser).builder.NewUnionType(yyDollar[1].node) } + case 258: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:1304 + { + yyVAL.node = yyDollar[1].node + } case 259: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:1305 { - yyVAL.node = yyDollar[1].node + yyVAL.node = yylex.(*Parser).builder.NewNameType(yyDollar[1].token) } case 260: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1306 + // line internal/php8/php8.y:1309 { yyVAL.node = yylex.(*Parser).builder.NewNameType(yyDollar[1].token) } @@ -4490,83 +4491,77 @@ yydefault: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:1311 { - yyVAL.node = yylex.(*Parser).builder.NewNameType(yyDollar[1].token) + yyVAL.node = yyDollar[1].node } case 263: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1312 + yyDollar = yyS[yypt-3 : yypt+1] + // line internal/php8/php8.y:1315 { - yyVAL.node = yyDollar[1].node + yyVAL.node = yylex.(*Parser).builder.NewSeparatedListWithTwoElements(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } case 264: yyDollar = yyS[yypt-3 : yypt+1] // line internal/php8/php8.y:1316 { - yyVAL.node = yylex.(*Parser).builder.NewSeparatedListWithTwoElements(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) + yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1317 - { - yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) - } - case 266: - yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1322 + // line internal/php8/php8.y:1321 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedListWithTwoElements(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 267: + case 266: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1324 + // line internal/php8/php8.y:1323 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 268: + case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1328 + // line internal/php8/php8.y:1327 { yyVAL.node = yyDollar[1].node } - case 269: + case 268: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1329 + // line internal/php8/php8.y:1328 { yyVAL.node = yylex.(*Parser).builder.NewNullableType(yyDollar[1].token, yyDollar[2].node) } - case 270: + case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1330 + // line internal/php8/php8.y:1329 { yyVAL.node = yylex.(*Parser).builder.NewUnionType(yyDollar[1].node) } - case 271: + case 270: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1334 + // line internal/php8/php8.y:1333 { yyVAL.node = nil } - case 272: + case 271: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1335 + // line internal/php8/php8.y:1334 { yyVAL.node = yyDollar[1].node } - case 273: + case 272: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1339 + // line internal/php8/php8.y:1338 { yyVAL.node = &ReturnType{} } - case 274: + case 273: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1340 + // line internal/php8/php8.y:1339 { yyVAL.node = yylex.(*Parser).builder.NewReturnType(yyDollar[1].token, yyDollar[2].node) } - case 275: + case 274: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1345 + // line internal/php8/php8.y:1344 { yyVAL.node = &ArgumentList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), @@ -4574,9 +4569,9 @@ yydefault: CloseParenthesisTkn: yyDollar[2].token, } } - case 276: + case 275: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1353 + // line internal/php8/php8.y:1352 { argumentList := yyDollar[2].node.(*ArgumentList) argumentList.Position = yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) @@ -4588,84 +4583,84 @@ yydefault: yyVAL.node = argumentList } - case 277: + case 276: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1368 + // line internal/php8/php8.y:1367 { yyVAL.node = &ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, } } - case 278: + case 277: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1374 + // line internal/php8/php8.y:1373 { yyDollar[1].node.(*ArgumentList).SeparatorTkns = append(yyDollar[1].node.(*ArgumentList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ArgumentList).Arguments = append(yyDollar[1].node.(*ArgumentList).Arguments, yyDollar[3].node) yyVAL.node = yyDollar[1].node } - case 279: + case 278: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1383 + // line internal/php8/php8.y:1382 { yyVAL.node = yylex.(*Parser).builder.NewArgument(yyDollar[1].node) } - case 280: + case 279: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1384 + // line internal/php8/php8.y:1383 { yyVAL.node = yylex.(*Parser).builder.NewVariadicArgument(yyDollar[1].token, yyDollar[2].node) } - case 281: + case 280: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1385 + // line internal/php8/php8.y:1384 { yyVAL.node = yylex.(*Parser).builder.NewNamedArgument(yyDollar[1].token, yyDollar[2].token, yyDollar[3].node) } - case 282: + case 281: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1390 + // line internal/php8/php8.y:1389 { yyDollar[1].node.(*ast.StmtGlobal).Vars = append(yyDollar[1].node.(*ast.StmtGlobal).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns, yyDollar[2].token) yyVAL.node = yyDollar[1].node } - case 283: + case 282: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1397 + // line internal/php8/php8.y:1396 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, } } - case 284: + case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1405 + // line internal/php8/php8.y:1404 { yyVAL.node = yyDollar[1].node } - case 285: + case 284: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1410 + // line internal/php8/php8.y:1409 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns, yyDollar[2].token) yyVAL.node = yyDollar[1].node } - case 286: + case 285: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1417 + // line internal/php8/php8.y:1416 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{yyDollar[1].node}, } } - case 287: + case 286: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1426 + // line internal/php8/php8.y:1425 { yyVAL.node = &ast.StmtStaticVar{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -4679,9 +4674,9 @@ yydefault: }, } } - case 288: + case 287: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1440 + // line internal/php8/php8.y:1439 { yyVAL.node = &ast.StmtStaticVar{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), @@ -4697,39 +4692,39 @@ yydefault: Expr: yyDollar[3].node, } } - case 289: + case 288: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1458 + // line internal/php8/php8.y:1457 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 290: + case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1459 + // line internal/php8/php8.y:1458 { yyVAL.list = []ast.Vertex{} } - case 291: + case 290: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1464 + // line internal/php8/php8.y:1463 { yyVAL.node = yylex.(*Parser).builder.NewPropertyList(yyDollar[1].list, yyDollar[2].list, yyDollar[3].node, yyDollar[4].node, yyDollar[5].token) } - case 292: + case 291: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1466 + // line internal/php8/php8.y:1465 { yyVAL.node = yylex.(*Parser).builder.NewClassConstList(yyDollar[1].list, yyDollar[2].list, yyDollar[3].token, yyDollar[4].node, yyDollar[5].token) } - case 293: + case 292: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php8/php8.y:1468 + // line internal/php8/php8.y:1467 { yyVAL.node = yylex.(*Parser).builder.NewClassMethod(yyDollar[1].list, yyDollar[2].list, yyDollar[3].token, yyDollar[4].token, yyDollar[5].token, yyDollar[6].token, yyDollar[7].node, yyDollar[8].token, yyDollar[9].node, yyDollar[10].node) } - case 294: + case 293: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1470 + // line internal/php8/php8.y:1469 { traitUse := &ast.StmtTraitUse{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), @@ -4749,36 +4744,36 @@ yydefault: yyVAL.node = traitUse } - case 295: + case 294: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1490 + // line internal/php8/php8.y:1489 { yyVAL.node = yylex.(*Parser).builder.NewEnumCase(yyDollar[1].list, yyDollar[2].token, yyDollar[3].token, yyDollar[4].node, yyDollar[5].token) } - case 296: + case 295: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1494 + // line internal/php8/php8.y:1493 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 297: + case 296: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1495 + // line internal/php8/php8.y:1494 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 298: + case 297: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1500 + // line internal/php8/php8.y:1499 { yyVAL.node = &ast.StmtNop{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } - case 299: + case 298: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1507 + // line internal/php8/php8.y:1506 { yyVAL.node = &TraitAdaptationList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), @@ -4786,9 +4781,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[2].token, } } - case 300: + case 299: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1515 + // line internal/php8/php8.y:1514 { yyVAL.node = &TraitAdaptationList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -4797,37 +4792,37 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } - case 301: + case 300: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1526 + // line internal/php8/php8.y:1525 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - case 302: + case 301: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1527 + // line internal/php8/php8.y:1526 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 303: + case 302: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1532 + // line internal/php8/php8.y:1531 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token yyVAL.node = yyDollar[1].node } - case 304: + case 303: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1538 + // line internal/php8/php8.y:1537 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token yyVAL.node = yyDollar[1].node } - case 305: + case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1547 + // line internal/php8/php8.y:1546 { yyVAL.node = &ast.StmtTraitUsePrecedence{ Position: yylex.(*Parser).builder.Pos.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ParserSeparatedList).Items), @@ -4839,9 +4834,26 @@ yydefault: SeparatorTkns: yyDollar[3].node.(*ParserSeparatedList).SeparatorTkns, } } + case 305: + yyDollar = yyS[yypt-3 : yypt+1] + // line internal/php8/php8.y:1561 + { + yyVAL.node = &ast.StmtTraitUseAlias{ + Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Trait: yyDollar[1].node.(*TraitMethodRef).Trait, + DoubleColonTkn: yyDollar[1].node.(*TraitMethodRef).DoubleColonTkn, + Method: yyDollar[1].node.(*TraitMethodRef).Method, + AsTkn: yyDollar[2].token, + Alias: &ast.Identifier{ + Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[3].token), + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, + }, + } + } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1562 + // line internal/php8/php8.y:1576 { yyVAL.node = &ast.StmtTraitUseAlias{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), @@ -4857,25 +4869,8 @@ yydefault: } } case 307: - yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1577 - { - yyVAL.node = &ast.StmtTraitUseAlias{ - Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - Trait: yyDollar[1].node.(*TraitMethodRef).Trait, - DoubleColonTkn: yyDollar[1].node.(*TraitMethodRef).DoubleColonTkn, - Method: yyDollar[1].node.(*TraitMethodRef).Method, - AsTkn: yyDollar[2].token, - Alias: &ast.Identifier{ - Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[3].token), - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, - }, - } - } - case 308: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1592 + // line internal/php8/php8.y:1591 { yyVAL.node = &ast.StmtTraitUseAlias{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), @@ -4891,9 +4886,9 @@ yydefault: }, } } - case 309: + case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1608 + // line internal/php8/php8.y:1607 { yyVAL.node = &ast.StmtTraitUseAlias{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -4904,9 +4899,9 @@ yydefault: Modifier: yyDollar[3].node, } } - case 310: + case 309: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1622 + // line internal/php8/php8.y:1621 { yyVAL.node = &TraitMethodRef{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -4917,15 +4912,15 @@ yydefault: }, } } - case 311: + case 310: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1633 + // line internal/php8/php8.y:1632 { yyVAL.node = yyDollar[1].node } - case 312: + case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1640 + // line internal/php8/php8.y:1639 { yyVAL.node = &TraitMethodRef{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), @@ -4938,18 +4933,18 @@ yydefault: }, } } - case 313: + case 312: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1656 + // line internal/php8/php8.y:1655 { yyVAL.node = &ast.StmtNop{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } - case 314: + case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1663 + // line internal/php8/php8.y:1662 { yyVAL.node = &ast.StmtStmtList{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -4958,42 +4953,48 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } + case 314: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:1673 + { + yyVAL.list = yyDollar[1].list + } case 315: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:1674 - { - yyVAL.list = yyDollar[1].list - } - case 316: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1675 { yyVAL.list = []ast.Vertex{yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token)} } - case 317: + case 316: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1679 + // line internal/php8/php8.y:1678 { yyVAL.list = nil } - case 318: + case 317: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1680 + // line internal/php8/php8.y:1679 { yyVAL.list = yyDollar[1].list } - case 319: + case 318: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1684 + // line internal/php8/php8.y:1683 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - case 320: + case 319: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1685 + // line internal/php8/php8.y:1684 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } + case 320: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:1688 + { + yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) + } case 321: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:1689 @@ -5031,26 +5032,20 @@ yydefault: yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) } case 327: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1695 - { - yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) - } - case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1699 + // line internal/php8/php8.y:1698 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 329: + case 328: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1700 + // line internal/php8/php8.y:1699 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 330: + case 329: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1705 + // line internal/php8/php8.y:1704 { yyVAL.node = &ast.StmtProperty{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -5065,9 +5060,9 @@ yydefault: Expr: nil, } } - case 331: + case 330: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1720 + // line internal/php8/php8.y:1719 { yyVAL.node = &ast.StmtProperty{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), @@ -5083,21 +5078,36 @@ yydefault: Expr: yyDollar[3].node, } } - case 332: + case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1738 + // line internal/php8/php8.y:1737 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 333: + case 332: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1739 + // line internal/php8/php8.y:1738 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } + case 333: + yyDollar = yyS[yypt-4 : yypt+1] + // line internal/php8/php8.y:1743 + { + yyVAL.node = &ast.StmtConstant{ + Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Name: &ast.Identifier{ + Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), + IdentifierTkn: yyDollar[1].token, + Value: yyDollar[1].token.Value, + }, + EqualTkn: yyDollar[2].token, + Expr: yyDollar[3].node, + } + } case 334: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1744 + // line internal/php8/php8.y:1759 { yyVAL.node = &ast.StmtConstant{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), @@ -5111,76 +5121,61 @@ yydefault: } } case 335: - yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1760 - { - yyVAL.node = &ast.StmtConstant{ - Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - Name: &ast.Identifier{ - Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), - IdentifierTkn: yyDollar[1].token, - Value: yyDollar[1].token.Value, - }, - EqualTkn: yyDollar[2].token, - Expr: yyDollar[3].node, - } - } - case 336: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1776 + // line internal/php8/php8.y:1775 { yyDollar[1].node.(*ast.StmtEcho).Exprs = append(yyDollar[1].node.(*ast.StmtEcho).Exprs, yyDollar[3].node) yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns, yyDollar[2].token) yyVAL.node = yyDollar[1].node } - case 337: + case 336: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1783 + // line internal/php8/php8.y:1782 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, } } - case 338: + case 337: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1791 + // line internal/php8/php8.y:1790 { yyVAL.node = yyDollar[1].node } - case 339: + case 338: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1795 + // line internal/php8/php8.y:1794 { yyVAL.node = &ParserSeparatedList{} } - case 340: + case 339: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1796 + // line internal/php8/php8.y:1795 { yyVAL.node = yyDollar[1].node } - case 341: + case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1800 + // line internal/php8/php8.y:1799 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 342: + case 341: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1801 + // line internal/php8/php8.y:1800 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 343: + case 342: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php8/php8.y:1807 + // line internal/php8/php8.y:1806 { yyVAL.node = yylex.(*Parser).builder.NewAnonClass(yyDollar[1].list, yyDollar[2].token, yyDollar[3].node, yyDollar[4].node, yyDollar[5].node, yyDollar[6].token, yyDollar[7].list, yyDollar[8].token) } - case 344: + case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1812 + // line internal/php8/php8.y:1811 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ @@ -5200,9 +5195,9 @@ yydefault: } } } - case 345: + case 344: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1832 + // line internal/php8/php8.y:1831 { yyVAL.node = &ast.ExprNew{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5210,69 +5205,69 @@ yydefault: Class: yyDollar[2].node, } } - case 346: + case 345: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1843 + // line internal/php8/php8.y:1842 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, nil) } - case 347: + case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1847 + // line internal/php8/php8.y:1846 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 348: + case 347: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1848 + // line internal/php8/php8.y:1847 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 349: + case 348: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php8/php8.y:1853 + // line internal/php8/php8.y:1852 { yyVAL.node = yylex.(*Parser).builder.NewMatch(yyDollar[1].token, yyDollar[2].token, yyDollar[3].node, yyDollar[4].token, yyDollar[5].token, yyDollar[6].node, yyDollar[7].token) } - case 350: + case 349: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:1858 + // line internal/php8/php8.y:1857 { yyVAL.node = nil } - case 351: + case 350: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1860 + // line internal/php8/php8.y:1859 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, nil) } - case 352: + case 351: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:1865 + // line internal/php8/php8.y:1864 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 353: + case 352: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1867 + // line internal/php8/php8.y:1866 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 354: + case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1872 + // line internal/php8/php8.y:1871 { yyVAL.node = yylex.(*Parser).builder.NewMatchArm(nil, nil, yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 355: + case 354: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1874 + // line internal/php8/php8.y:1873 { yyVAL.node = yylex.(*Parser).builder.NewMatchArm(yyDollar[1].token, yyDollar[2].token, nil, yyDollar[3].token, yyDollar[4].node) } - case 356: + case 355: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:1879 + // line internal/php8/php8.y:1878 { yyVAL.node = &ast.ExprAssign{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), @@ -5288,9 +5283,9 @@ yydefault: Expr: yyDollar[6].node, } } - case 357: + case 356: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:1895 + // line internal/php8/php8.y:1894 { yyVAL.node = &ast.ExprAssign{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), @@ -5305,9 +5300,9 @@ yydefault: Expr: yyDollar[5].node, } } - case 358: + case 357: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1910 + // line internal/php8/php8.y:1909 { yyVAL.node = &ast.ExprAssign{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5316,9 +5311,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 359: + case 358: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:1919 + // line internal/php8/php8.y:1918 { yyVAL.node = &ast.ExprAssignReference{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), @@ -5328,9 +5323,9 @@ yydefault: Expr: yyDollar[4].node, } } - case 360: + case 359: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:1929 + // line internal/php8/php8.y:1928 { yyVAL.node = &ast.ExprClone{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5338,9 +5333,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 361: + case 360: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1937 + // line internal/php8/php8.y:1936 { yyVAL.node = &ast.ExprAssignPlus{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5349,9 +5344,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 362: + case 361: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1946 + // line internal/php8/php8.y:1945 { yyVAL.node = &ast.ExprAssignMinus{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5360,9 +5355,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 363: + case 362: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1955 + // line internal/php8/php8.y:1954 { yyVAL.node = &ast.ExprAssignMul{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5371,9 +5366,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 364: + case 363: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1964 + // line internal/php8/php8.y:1963 { yyVAL.node = &ast.ExprAssignPow{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5382,9 +5377,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 365: + case 364: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1973 + // line internal/php8/php8.y:1972 { yyVAL.node = &ast.ExprAssignDiv{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5393,9 +5388,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 366: + case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1982 + // line internal/php8/php8.y:1981 { yyVAL.node = &ast.ExprAssignConcat{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5404,9 +5399,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 367: + case 366: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:1991 + // line internal/php8/php8.y:1990 { yyVAL.node = &ast.ExprAssignMod{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5415,9 +5410,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 368: + case 367: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2000 + // line internal/php8/php8.y:1999 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5426,9 +5421,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 369: + case 368: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2009 + // line internal/php8/php8.y:2008 { yyVAL.node = &ast.ExprAssignBitwiseOr{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5437,9 +5432,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 370: + case 369: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2018 + // line internal/php8/php8.y:2017 { yyVAL.node = &ast.ExprAssignBitwiseXor{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5448,9 +5443,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 371: + case 370: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2027 + // line internal/php8/php8.y:2026 { yyVAL.node = &ast.ExprAssignShiftLeft{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5459,9 +5454,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 372: + case 371: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2036 + // line internal/php8/php8.y:2035 { yyVAL.node = &ast.ExprAssignShiftRight{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5470,9 +5465,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 373: + case 372: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2045 + // line internal/php8/php8.y:2044 { yyVAL.node = &ast.ExprAssignCoalesce{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5481,9 +5476,9 @@ yydefault: Expr: yyDollar[3].node, } } - case 374: + case 373: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2054 + // line internal/php8/php8.y:2053 { yyVAL.node = &ast.ExprPostInc{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), @@ -5491,9 +5486,9 @@ yydefault: IncTkn: yyDollar[2].token, } } - case 375: + case 374: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2062 + // line internal/php8/php8.y:2061 { yyVAL.node = &ast.ExprPreInc{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5501,9 +5496,9 @@ yydefault: Var: yyDollar[2].node, } } - case 376: + case 375: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2070 + // line internal/php8/php8.y:2069 { yyVAL.node = &ast.ExprPostDec{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), @@ -5511,9 +5506,9 @@ yydefault: DecTkn: yyDollar[2].token, } } - case 377: + case 376: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2078 + // line internal/php8/php8.y:2077 { yyVAL.node = &ast.ExprPreDec{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5521,9 +5516,9 @@ yydefault: Var: yyDollar[2].node, } } - case 378: + case 377: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2086 + // line internal/php8/php8.y:2085 { yyVAL.node = &ast.ExprBinaryBooleanOr{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5532,9 +5527,9 @@ yydefault: Right: yyDollar[3].node, } } - case 379: + case 378: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2095 + // line internal/php8/php8.y:2094 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5543,9 +5538,9 @@ yydefault: Right: yyDollar[3].node, } } - case 380: + case 379: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2104 + // line internal/php8/php8.y:2103 { yyVAL.node = &ast.ExprBinaryLogicalOr{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5554,9 +5549,9 @@ yydefault: Right: yyDollar[3].node, } } - case 381: + case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2113 + // line internal/php8/php8.y:2112 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5565,9 +5560,9 @@ yydefault: Right: yyDollar[3].node, } } - case 382: + case 381: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2122 + // line internal/php8/php8.y:2121 { yyVAL.node = &ast.ExprBinaryLogicalXor{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5576,9 +5571,9 @@ yydefault: Right: yyDollar[3].node, } } - case 383: + case 382: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2131 + // line internal/php8/php8.y:2130 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5587,9 +5582,9 @@ yydefault: Right: yyDollar[3].node, } } - case 384: + case 383: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2140 + // line internal/php8/php8.y:2139 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5598,9 +5593,9 @@ yydefault: Right: yyDollar[3].node, } } - case 385: + case 384: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2149 + // line internal/php8/php8.y:2148 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5609,9 +5604,9 @@ yydefault: Right: yyDollar[3].node, } } - case 386: + case 385: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2158 + // line internal/php8/php8.y:2157 { yyVAL.node = &ast.ExprBinaryConcat{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5620,9 +5615,9 @@ yydefault: Right: yyDollar[3].node, } } - case 387: + case 386: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2167 + // line internal/php8/php8.y:2166 { yyVAL.node = &ast.ExprBinaryPlus{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5631,9 +5626,9 @@ yydefault: Right: yyDollar[3].node, } } - case 388: + case 387: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2176 + // line internal/php8/php8.y:2175 { yyVAL.node = &ast.ExprBinaryMinus{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5642,9 +5637,9 @@ yydefault: Right: yyDollar[3].node, } } - case 389: + case 388: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2185 + // line internal/php8/php8.y:2184 { yyVAL.node = &ast.ExprBinaryMul{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5653,9 +5648,9 @@ yydefault: Right: yyDollar[3].node, } } - case 390: + case 389: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2194 + // line internal/php8/php8.y:2193 { yyVAL.node = &ast.ExprBinaryPow{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5664,9 +5659,9 @@ yydefault: Right: yyDollar[3].node, } } - case 391: + case 390: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2203 + // line internal/php8/php8.y:2202 { yyVAL.node = &ast.ExprBinaryDiv{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5675,9 +5670,9 @@ yydefault: Right: yyDollar[3].node, } } - case 392: + case 391: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2212 + // line internal/php8/php8.y:2211 { yyVAL.node = &ast.ExprBinaryMod{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5686,9 +5681,9 @@ yydefault: Right: yyDollar[3].node, } } - case 393: + case 392: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2221 + // line internal/php8/php8.y:2220 { yyVAL.node = &ast.ExprBinaryShiftLeft{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5697,9 +5692,9 @@ yydefault: Right: yyDollar[3].node, } } - case 394: + case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2230 + // line internal/php8/php8.y:2229 { yyVAL.node = &ast.ExprBinaryShiftRight{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5708,9 +5703,9 @@ yydefault: Right: yyDollar[3].node, } } - case 395: + case 394: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2239 + // line internal/php8/php8.y:2238 { yyVAL.node = &ast.ExprUnaryPlus{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5718,9 +5713,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 396: + case 395: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2247 + // line internal/php8/php8.y:2246 { yyVAL.node = &ast.ExprUnaryMinus{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5728,9 +5723,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 397: + case 396: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2255 + // line internal/php8/php8.y:2254 { yyVAL.node = &ast.ExprBooleanNot{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5738,9 +5733,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 398: + case 397: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2263 + // line internal/php8/php8.y:2262 { yyVAL.node = &ast.ExprBitwiseNot{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5748,9 +5743,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 399: + case 398: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2271 + // line internal/php8/php8.y:2270 { yyVAL.node = &ast.ExprBinaryIdentical{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5759,9 +5754,9 @@ yydefault: Right: yyDollar[3].node, } } - case 400: + case 399: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2280 + // line internal/php8/php8.y:2279 { yyVAL.node = &ast.ExprBinaryNotIdentical{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5770,9 +5765,9 @@ yydefault: Right: yyDollar[3].node, } } - case 401: + case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2289 + // line internal/php8/php8.y:2288 { yyVAL.node = &ast.ExprBinaryEqual{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5781,9 +5776,9 @@ yydefault: Right: yyDollar[3].node, } } - case 402: + case 401: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2298 + // line internal/php8/php8.y:2297 { yyVAL.node = &ast.ExprBinaryNotEqual{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5792,9 +5787,9 @@ yydefault: Right: yyDollar[3].node, } } - case 403: + case 402: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2307 + // line internal/php8/php8.y:2306 { yyVAL.node = &ast.ExprBinarySmaller{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5803,9 +5798,9 @@ yydefault: Right: yyDollar[3].node, } } - case 404: + case 403: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2316 + // line internal/php8/php8.y:2315 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5814,9 +5809,9 @@ yydefault: Right: yyDollar[3].node, } } - case 405: + case 404: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2325 + // line internal/php8/php8.y:2324 { yyVAL.node = &ast.ExprBinaryGreater{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5825,9 +5820,9 @@ yydefault: Right: yyDollar[3].node, } } - case 406: + case 405: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2334 + // line internal/php8/php8.y:2333 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5836,9 +5831,9 @@ yydefault: Right: yyDollar[3].node, } } - case 407: + case 406: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2343 + // line internal/php8/php8.y:2342 { yyVAL.node = &ast.ExprBinarySpaceship{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5847,9 +5842,9 @@ yydefault: Right: yyDollar[3].node, } } - case 408: + case 407: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2352 + // line internal/php8/php8.y:2351 { yyVAL.node = &ast.ExprInstanceOf{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5858,9 +5853,9 @@ yydefault: Class: yyDollar[3].node, } } - case 409: + case 408: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2361 + // line internal/php8/php8.y:2360 { yyVAL.node = &ast.ExprBrackets{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -5869,21 +5864,21 @@ yydefault: CloseParenthesisTkn: yyDollar[3].token, } } + case 409: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2369 + { + yyVAL.node = yyDollar[1].node + } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2370 + // line internal/php8/php8.y:2373 { yyVAL.node = yyDollar[1].node } case 411: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2374 - { - yyVAL.node = yyDollar[1].node - } - case 412: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:2378 + // line internal/php8/php8.y:2377 { yyVAL.node = &ast.ExprTernary{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), @@ -5894,9 +5889,9 @@ yydefault: IfFalse: yyDollar[5].node, } } - case 413: + case 412: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2389 + // line internal/php8/php8.y:2388 { yyVAL.node = &ast.ExprTernary{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), @@ -5906,9 +5901,9 @@ yydefault: IfFalse: yyDollar[4].node, } } - case 414: + case 413: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2399 + // line internal/php8/php8.y:2398 { yyVAL.node = &ast.ExprBinaryCoalesce{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -5917,15 +5912,15 @@ yydefault: Right: yyDollar[3].node, } } - case 415: + case 414: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2408 + // line internal/php8/php8.y:2407 { yyVAL.node = yyDollar[1].node } - case 416: + case 415: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2412 + // line internal/php8/php8.y:2411 { yyVAL.node = &ast.ExprCastInt{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5933,9 +5928,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 417: + case 416: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2420 + // line internal/php8/php8.y:2419 { yyVAL.node = &ast.ExprCastDouble{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5943,9 +5938,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 418: + case 417: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2428 + // line internal/php8/php8.y:2427 { yyVAL.node = &ast.ExprCastString{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5953,9 +5948,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 419: + case 418: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2436 + // line internal/php8/php8.y:2435 { yyVAL.node = &ast.ExprCastArray{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5963,9 +5958,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 420: + case 419: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2444 + // line internal/php8/php8.y:2443 { yyVAL.node = &ast.ExprCastObject{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5973,9 +5968,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 421: + case 420: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2452 + // line internal/php8/php8.y:2451 { yyVAL.node = &ast.ExprCastBool{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5983,9 +5978,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 422: + case 421: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2460 + // line internal/php8/php8.y:2459 { yyVAL.node = &ast.ExprCastUnset{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -5993,9 +5988,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 423: + case 422: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2468 + // line internal/php8/php8.y:2467 { exit := &ast.ExprExit{ ExitTkn: yyDollar[1].token, @@ -6012,9 +6007,9 @@ yydefault: yyVAL.node = exit } - case 424: + case 423: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2485 + // line internal/php8/php8.y:2484 { yyVAL.node = &ast.ExprErrorSuppress{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6022,15 +6017,15 @@ yydefault: Expr: yyDollar[2].node, } } - case 425: + case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2493 + // line internal/php8/php8.y:2492 { yyVAL.node = yyDollar[1].node } - case 426: + case 425: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2497 + // line internal/php8/php8.y:2496 { yyVAL.node = &ast.ExprShellExec{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -6039,9 +6034,9 @@ yydefault: CloseBacktickTkn: yyDollar[3].token, } } - case 427: + case 426: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2506 + // line internal/php8/php8.y:2505 { yyVAL.node = &ast.ExprPrint{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6049,18 +6044,18 @@ yydefault: Expr: yyDollar[2].node, } } - case 428: + case 427: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2514 + // line internal/php8/php8.y:2513 { yyVAL.node = &ast.ExprYield{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), YieldTkn: yyDollar[1].token, } } - case 429: + case 428: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2521 + // line internal/php8/php8.y:2520 { yyVAL.node = &ast.ExprYield{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6068,9 +6063,9 @@ yydefault: Val: yyDollar[2].node, } } - case 430: + case 429: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2529 + // line internal/php8/php8.y:2528 { yyVAL.node = &ast.ExprYield{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), @@ -6080,9 +6075,9 @@ yydefault: Val: yyDollar[4].node, } } - case 431: + case 430: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2539 + // line internal/php8/php8.y:2538 { yyVAL.node = &ast.ExprYieldFrom{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6090,42 +6085,42 @@ yydefault: Expr: yyDollar[2].node, } } - case 432: + case 431: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2547 + // line internal/php8/php8.y:2546 { yyVAL.node = yylex.(*Parser).builder.NewThrowExpr(yyDollar[1].token, yyDollar[2].node) } - case 433: + case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2551 + // line internal/php8/php8.y:2550 { yyVAL.node = yyDollar[1].node } + case 433: + yyDollar = yyS[yypt-2 : yypt+1] + // line internal/php8/php8.y:2554 + { + switch n := yyDollar[2].node.(type) { + case *ast.ExprClosure: + n.Position = yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + n.StaticTkn = yyDollar[1].token + case *ast.ExprArrowFunction: + n.Position = yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + n.StaticTkn = yyDollar[1].token + } + + yyVAL.node = yyDollar[2].node + } case 434: - yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2555 - { - switch n := yyDollar[2].node.(type) { - case *ast.ExprClosure: - n.Position = yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - n.StaticTkn = yyDollar[1].token - case *ast.ExprArrowFunction: - n.Position = yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - n.StaticTkn = yyDollar[1].token - } - - yyVAL.node = yyDollar[2].node - } - case 435: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2570 + // line internal/php8/php8.y:2569 { yyVAL.node = yyDollar[1].node } - case 436: + case 435: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2572 + // line internal/php8/php8.y:2571 { switch n := yyDollar[2].node.(type) { case *ast.ExprClosure: @@ -6138,9 +6133,9 @@ yydefault: yyVAL.node = yyDollar[2].node } - case 437: + case 436: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php8/php8.y:2588 + // line internal/php8/php8.y:2587 { closure := yyDollar[7].node.(*ast.ExprClosure) @@ -6159,9 +6154,9 @@ yydefault: yyVAL.node = closure } - case 438: + case 437: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php8/php8.y:2607 + // line internal/php8/php8.y:2606 { yyVAL.node = &ast.ExprArrowFunction{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node), @@ -6177,27 +6172,27 @@ yydefault: Expr: yyDollar[9].node, } } - case 440: + case 439: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:2629 + // line internal/php8/php8.y:2628 { yyVAL.token = nil } - case 441: + case 440: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2630 + // line internal/php8/php8.y:2629 { yyVAL.token = yyDollar[1].token } - case 442: + case 441: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:2635 + // line internal/php8/php8.y:2634 { yyVAL.node = &ast.ExprClosure{} } - case 443: + case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2637 + // line internal/php8/php8.y:2636 { yyVAL.node = &ast.ExprClosure{ UseTkn: yyDollar[1].token, @@ -6207,27 +6202,27 @@ yydefault: UseCloseParenthesisTkn: yyDollar[4].token, } } - case 444: + case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2649 + // line internal/php8/php8.y:2648 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, nil) } - case 445: + case 444: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2653 + // line internal/php8/php8.y:2652 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 446: + case 445: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2654 + // line internal/php8/php8.y:2653 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 447: + case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2659 + // line internal/php8/php8.y:2658 { yyVAL.node = &ast.ExprClosureUse{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -6241,9 +6236,9 @@ yydefault: }, } } - case 448: + case 447: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2673 + // line internal/php8/php8.y:2672 { yyVAL.node = &ast.ExprClosureUse{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), @@ -6258,9 +6253,9 @@ yydefault: }, } } - case 449: + case 448: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2691 + // line internal/php8/php8.y:2690 { yyVAL.node = &ast.ExprFunctionCall{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), @@ -6271,9 +6266,9 @@ yydefault: CloseParenthesisTkn: yyDollar[2].node.(*ArgumentList).CloseParenthesisTkn, } } - case 450: + case 449: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2702 + // line internal/php8/php8.y:2701 { staticCall := &ast.ExprStaticCall{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), @@ -6294,9 +6289,9 @@ yydefault: yyVAL.node = staticCall } - case 451: + case 450: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2723 + // line internal/php8/php8.y:2722 { yyVAL.node = &ast.ExprFunctionCall{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), @@ -6307,6 +6302,12 @@ yydefault: CloseParenthesisTkn: yyDollar[2].node.(*ArgumentList).CloseParenthesisTkn, } } + case 451: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2735 + { + yyVAL.node = yyDollar[1].node + } case 452: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:2736 @@ -6315,19 +6316,19 @@ yydefault: } case 453: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2737 + // line internal/php8/php8.y:2740 { - yyVAL.node = yyDollar[1].node + yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) } case 454: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:2741 { - yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) + yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2742 + // line internal/php8/php8.y:2745 { yyVAL.node = yyDollar[1].node } @@ -6338,38 +6339,32 @@ yydefault: yyVAL.node = yyDollar[1].node } case 457: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2747 - { - yyVAL.node = yyDollar[1].node - } - case 458: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2748 + // line internal/php8/php8.y:2747 { yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) } - case 459: + case 458: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:2752 + // line internal/php8/php8.y:2751 { yyVAL.node = nil } - case 460: + case 459: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2753 + // line internal/php8/php8.y:2752 { yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) } - case 461: + case 460: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:2758 + // line internal/php8/php8.y:2757 { yyVAL.list = []ast.Vertex{} } - case 462: + case 461: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2762 + // line internal/php8/php8.y:2761 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6379,27 +6374,27 @@ yydefault: }, } } - case 463: + case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2772 + // line internal/php8/php8.y:2771 { yyVAL.list = yyDollar[1].list } - case 464: + case 463: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:2778 + // line internal/php8/php8.y:2777 { yyVAL.node = nil } - case 465: + case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2779 + // line internal/php8/php8.y:2778 { yyVAL.node = yyDollar[1].node } - case 466: + case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2784 + // line internal/php8/php8.y:2783 { yyVAL.node = &ast.ExprArray{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -6410,9 +6405,9 @@ yydefault: CloseBracketTkn: yyDollar[4].token, } } - case 467: + case 466: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2795 + // line internal/php8/php8.y:2794 { yyVAL.node = &ast.ExprArray{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -6422,9 +6417,9 @@ yydefault: CloseBracketTkn: yyDollar[3].token, } } - case 468: + case 467: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2805 + // line internal/php8/php8.y:2804 { yyVAL.node = &ast.ScalarString{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -6432,9 +6427,9 @@ yydefault: Value: yyDollar[1].token.Value, } } - case 469: + case 468: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2813 + // line internal/php8/php8.y:2812 { yyVAL.node = &ast.ScalarEncapsed{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -6443,9 +6438,9 @@ yydefault: CloseQuoteTkn: yyDollar[3].token, } } - case 470: + case 469: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2825 + // line internal/php8/php8.y:2824 { yyVAL.node = &ast.ScalarLnumber{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -6453,9 +6448,9 @@ yydefault: Value: yyDollar[1].token.Value, } } - case 471: + case 470: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2833 + // line internal/php8/php8.y:2832 { yyVAL.node = &ast.ScalarDnumber{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -6463,9 +6458,9 @@ yydefault: Value: yyDollar[1].token.Value, } } - case 472: + case 471: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2841 + // line internal/php8/php8.y:2840 { yyVAL.node = &ast.ScalarHeredoc{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -6480,9 +6475,9 @@ yydefault: CloseHeredocTkn: yyDollar[3].token, } } - case 473: + case 472: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:2856 + // line internal/php8/php8.y:2855 { yyVAL.node = &ast.ScalarHeredoc{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), @@ -6490,9 +6485,9 @@ yydefault: CloseHeredocTkn: yyDollar[2].token, } } - case 474: + case 473: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2864 + // line internal/php8/php8.y:2863 { yyVAL.node = &ast.ScalarHeredoc{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -6501,6 +6496,12 @@ yydefault: CloseHeredocTkn: yyDollar[3].token, } } + case 474: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2871 + { + yyVAL.node = yyDollar[1].node + } case 475: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:2872 @@ -6514,14 +6515,8 @@ yydefault: yyVAL.node = yyDollar[1].node } case 477: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2874 - { - yyVAL.node = yyDollar[1].node - } - case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2879 + // line internal/php8/php8.y:2878 { yyVAL.node = &ast.ExprClassConstFetch{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), @@ -6534,11 +6529,17 @@ yydefault: }, } } + case 478: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2893 + { + yyVAL.node = yylex.(*Parser).builder.NewConstFetch(yyDollar[1].node) + } case 479: yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:2894 { - yyVAL.node = yylex.(*Parser).builder.NewConstFetch(yyDollar[1].node) + yyVAL.node = yylex.(*Parser).builder.NewScalarMagicConstant(yyDollar[1].token) } case 480: yyDollar = yyS[yypt-1 : yypt+1] @@ -6584,9 +6585,9 @@ yydefault: } case 487: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2902 + // line internal/php8/php8.y:2905 { - yyVAL.node = yylex.(*Parser).builder.NewScalarMagicConstant(yyDollar[1].token) + yyVAL.node = yyDollar[1].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] @@ -6595,34 +6596,34 @@ yydefault: yyVAL.node = yyDollar[1].node } case 489: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2907 - { - yyVAL.node = yyDollar[1].node - } - case 490: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:2911 + // line internal/php8/php8.y:2910 { yyVAL.node = nil } + case 490: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2911 + { + yyVAL.node = yyDollar[1].node + } case 491: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2912 + // line internal/php8/php8.y:2915 { yyVAL.node = yyDollar[1].node } case 492: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] // line internal/php8/php8.y:2916 { - yyVAL.node = yyDollar[1].node + yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) } case 493: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] // line internal/php8/php8.y:2917 { - yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) + yyVAL.node = yyDollar[1].node } case 494: yyDollar = yyS[yypt-1 : yypt+1] @@ -6632,7 +6633,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2919 + // line internal/php8/php8.y:2922 { yyVAL.node = yyDollar[1].node } @@ -6644,38 +6645,46 @@ yydefault: } case 497: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2924 + // line internal/php8/php8.y:2927 { yyVAL.node = yyDollar[1].node } case 498: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2928 - { - yyVAL.node = yyDollar[1].node - } - case 499: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2929 + // line internal/php8/php8.y:2928 { yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) } + case 499: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2929 + { + yyVAL.node = yyDollar[1].node + } case 500: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2930 + // line internal/php8/php8.y:2934 { yyVAL.node = yyDollar[1].node } case 501: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2935 + yyDollar = yyS[yypt-4 : yypt+1] + // line internal/php8/php8.y:2936 { - yyVAL.node = yyDollar[1].node + yyVAL.node = &ast.ExprArrayDimFetch{ + Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Var: yyDollar[1].node, + OpenBracketTkn: yyDollar[2].token, + Dim: yyDollar[3].node, + CloseBracketTkn: yyDollar[4].token, + } } case 502: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2937 + // line internal/php8/php8.y:2946 { + yylex.(*Parser).Error("Array and string offset access syntax with curly braces is no longer supported") + yyVAL.node = &ast.ExprArrayDimFetch{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, @@ -6686,63 +6695,49 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2947 - { - yylex.(*Parser).Error("Array and string offset access syntax with curly braces is no longer supported") - - yyVAL.node = &ast.ExprArrayDimFetch{ - Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - Var: yyDollar[1].node, - OpenBracketTkn: yyDollar[2].token, - Dim: yyDollar[3].node, - CloseBracketTkn: yyDollar[4].token, - } - } - case 504: - yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2959 + // line internal/php8/php8.y:2958 { yyVAL.node = yylex.(*Parser).builder.NewMethodCall(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node, yyDollar[4].node) } - case 505: + case 504: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2961 + // line internal/php8/php8.y:2960 { yyVAL.node = yylex.(*Parser).builder.NewNullsafeMethodCall(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node, yyDollar[4].node) } + case 505: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:2962 + { + yyVAL.node = yyDollar[1].node + } case 506: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2963 + // line internal/php8/php8.y:2967 { yyVAL.node = yyDollar[1].node } case 507: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2968 + // line internal/php8/php8.y:2969 { yyVAL.node = yyDollar[1].node } case 508: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2970 - { - yyVAL.node = yyDollar[1].node - } - case 509: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2972 + // line internal/php8/php8.y:2971 { yyVAL.node = yylex.(*Parser).builder.NewPropertyFetch(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 510: + case 509: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:2974 + // line internal/php8/php8.y:2973 { yyVAL.node = yylex.(*Parser).builder.NewNullsafePropertyFetch(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 511: + case 510: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:2979 + // line internal/php8/php8.y:2978 { yyVAL.node = &ast.ExprVariable{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -6753,9 +6748,9 @@ yydefault: }, } } - case 512: + case 511: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:2990 + // line internal/php8/php8.y:2989 { yyVAL.node = &ast.ExprVariable{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -6765,9 +6760,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[4].token, } } - case 513: + case 512: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3000 + // line internal/php8/php8.y:2999 { yyVAL.node = &ast.ExprVariable{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6775,9 +6770,9 @@ yydefault: Name: yyDollar[2].node, } } - case 514: + case 513: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3011 + // line internal/php8/php8.y:3010 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -6786,15 +6781,15 @@ yydefault: Prop: yyDollar[3].node, } } - case 515: + case 514: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3023 + // line internal/php8/php8.y:3022 { yyVAL.node = yyDollar[1].node } - case 516: + case 515: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3027 + // line internal/php8/php8.y:3026 { yyVAL.node = &ast.ExprArrayDimFetch{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), @@ -6804,9 +6799,9 @@ yydefault: CloseBracketTkn: yyDollar[4].token, } } - case 517: + case 516: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3037 + // line internal/php8/php8.y:3036 { yylex.(*Parser).Error("Array and string offset access syntax with curly braces is no longer supported") @@ -6818,21 +6813,32 @@ yydefault: CloseBracketTkn: yyDollar[4].token, } } - case 518: + case 517: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3049 + // line internal/php8/php8.y:3048 { yyVAL.node = yylex.(*Parser).builder.NewPropertyFetch(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 519: + case 518: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3053 + // line internal/php8/php8.y:3052 { yyVAL.node = yylex.(*Parser).builder.NewNullsafePropertyFetch(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } + case 519: + yyDollar = yyS[yypt-3 : yypt+1] + // line internal/php8/php8.y:3056 + { + yyVAL.node = &ast.ExprStaticPropertyFetch{ + Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + Prop: yyDollar[3].node, + } + } case 520: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3057 + // line internal/php8/php8.y:3065 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -6842,55 +6848,44 @@ yydefault: } } case 521: - yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3066 - { - yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - Class: yyDollar[1].node, - DoubleColonTkn: yyDollar[2].token, - Prop: yyDollar[3].node, - } - } - case 522: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3077 + // line internal/php8/php8.y:3076 { yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) } - case 523: + case 522: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3078 + // line internal/php8/php8.y:3077 { yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) } + case 523: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php8/php8.y:3078 + { + yyVAL.node = yyDollar[1].node + } case 524: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3079 - { - yyVAL.node = yyDollar[1].node - } - case 525: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3083 + // line internal/php8/php8.y:3082 { yyVAL.node = yylex.(*Parser).builder.NewIdentifier(yyDollar[1].token) } - case 526: + case 525: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3084 + // line internal/php8/php8.y:3083 { yyVAL.node = yylex.(*Parser).builder.NewBracket(yyDollar[1].token, yyDollar[2].node, yyDollar[3].token) } - case 527: + case 526: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3085 + // line internal/php8/php8.y:3084 { yyVAL.node = yyDollar[1].node } - case 528: + case 527: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3090 + // line internal/php8/php8.y:3089 { pairList := yyDollar[1].node.(*ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -6901,33 +6896,33 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 529: + case 528: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php8/php8.y:3103 + // line internal/php8/php8.y:3102 { yyVAL.node = &ast.ExprArrayItem{} } - case 530: + case 529: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3104 + // line internal/php8/php8.y:3103 { yyVAL.node = yyDollar[1].node } - case 531: + case 530: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3109 + // line internal/php8/php8.y:3108 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 532: + case 531: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3111 + // line internal/php8/php8.y:3110 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 533: + case 532: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3116 + // line internal/php8/php8.y:3115 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), @@ -6936,18 +6931,18 @@ yydefault: Val: yyDollar[3].node, } } - case 534: + case 533: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3125 + // line internal/php8/php8.y:3124 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewNodePosition(yyDollar[1].node), Val: yyDollar[1].node, } } - case 535: + case 534: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3132 + // line internal/php8/php8.y:3131 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), @@ -6957,9 +6952,9 @@ yydefault: Val: yyDollar[4].node, } } - case 536: + case 535: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3142 + // line internal/php8/php8.y:3141 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6967,9 +6962,9 @@ yydefault: Val: yyDollar[2].node, } } - case 537: + case 536: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3150 + // line internal/php8/php8.y:3149 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -6977,9 +6972,9 @@ yydefault: Val: yyDollar[2].node, } } - case 538: + case 537: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:3158 + // line internal/php8/php8.y:3157 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token), @@ -6995,9 +6990,9 @@ yydefault: }, } } - case 539: + case 538: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3174 + // line internal/php8/php8.y:3173 { yyVAL.node = &ast.ExprArrayItem{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -7011,15 +7006,15 @@ yydefault: }, } } - case 540: + case 539: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3191 + // line internal/php8/php8.y:3190 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 541: + case 540: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3195 + // line internal/php8/php8.y:3194 { yyVAL.list = append( yyDollar[1].list, @@ -7030,15 +7025,15 @@ yydefault: }, ) } - case 542: + case 541: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3206 + // line internal/php8/php8.y:3205 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - case 543: + case 542: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3210 + // line internal/php8/php8.y:3209 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -7049,9 +7044,9 @@ yydefault: yyDollar[2].node, } } - case 544: + case 543: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3224 + // line internal/php8/php8.y:3223 { yyVAL.node = &ast.ExprVariable{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -7062,9 +7057,9 @@ yydefault: }, } } - case 545: + case 544: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3235 + // line internal/php8/php8.y:3234 { yyVAL.node = &ast.ExprArrayDimFetch{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -7081,21 +7076,21 @@ yydefault: CloseBracketTkn: yyDollar[4].token, } } - case 546: + case 545: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3252 + // line internal/php8/php8.y:3251 { yyVAL.node = yylex.(*Parser).builder.NewPropertyFetchFromTokens(yyDollar[1].token, yyDollar[2].token, yyDollar[3].token) } - case 547: + case 546: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3256 + // line internal/php8/php8.y:3255 { yyVAL.node = yylex.(*Parser).builder.NewNullsafePropertyFetchFromTokens(yyDollar[1].token, yyDollar[2].token, yyDollar[3].token) } - case 548: + case 547: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3260 + // line internal/php8/php8.y:3259 { yyVAL.node = &ast.ScalarEncapsedStringVar{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -7104,9 +7099,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } - case 549: + case 548: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3269 + // line internal/php8/php8.y:3268 { yyVAL.node = &ast.ScalarEncapsedStringVar{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -7119,9 +7114,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } - case 550: + case 549: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php8/php8.y:3282 + // line internal/php8/php8.y:3281 { yyVAL.node = &ast.ScalarEncapsedStringVar{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -7137,9 +7132,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[6].token, } } - case 551: + case 550: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3298 + // line internal/php8/php8.y:3297 { yyVAL.node = &ast.ScalarEncapsedStringBrackets{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), @@ -7148,9 +7143,9 @@ yydefault: CloseCurlyBracketTkn: yyDollar[3].token, } } - case 552: + case 551: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3310 + // line internal/php8/php8.y:3309 { yyVAL.node = &ast.ScalarString{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -7158,9 +7153,9 @@ yydefault: Value: yyDollar[1].token.Value, } } - case 553: + case 552: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3318 + // line internal/php8/php8.y:3317 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -7177,9 +7172,9 @@ yydefault: } } } - case 554: + case 553: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3335 + // line internal/php8/php8.y:3334 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil @@ -7203,9 +7198,9 @@ yydefault: } } } - case 555: + case 554: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3359 + // line internal/php8/php8.y:3358 { yyVAL.node = &ast.ExprVariable{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition(yyDollar[1].token), @@ -7216,9 +7211,9 @@ yydefault: }, } } - case 556: + case 555: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php8/php8.y:3373 + // line internal/php8/php8.y:3372 { if yyDollar[4].token != nil { yyDollar[3].node.(*ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ParserSeparatedList).SeparatorTkns, yyDollar[4].token) @@ -7233,9 +7228,9 @@ yydefault: CloseParenthesisTkn: yyDollar[5].token, } } - case 557: + case 556: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3388 + // line internal/php8/php8.y:3387 { yyVAL.node = &ast.ExprEmpty{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -7245,9 +7240,9 @@ yydefault: CloseParenthesisTkn: yyDollar[4].token, } } - case 558: + case 557: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3398 + // line internal/php8/php8.y:3397 { yyVAL.node = &ast.ExprInclude{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -7255,9 +7250,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 559: + case 558: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3406 + // line internal/php8/php8.y:3405 { yyVAL.node = &ast.ExprIncludeOnce{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -7265,9 +7260,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 560: + case 559: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php8/php8.y:3414 + // line internal/php8/php8.y:3413 { yyVAL.node = &ast.ExprEval{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), @@ -7277,9 +7272,9 @@ yydefault: CloseParenthesisTkn: yyDollar[4].token, } } - case 561: + case 560: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3424 + // line internal/php8/php8.y:3423 { yyVAL.node = &ast.ExprRequire{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -7287,9 +7282,9 @@ yydefault: Expr: yyDollar[2].node, } } - case 562: + case 561: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php8/php8.y:3432 + // line internal/php8/php8.y:3431 { yyVAL.node = &ast.ExprRequireOnce{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), @@ -7297,21 +7292,21 @@ yydefault: Expr: yyDollar[2].node, } } - case 563: + case 562: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3442 + // line internal/php8/php8.y:3441 { yyVAL.node = yylex.(*Parser).builder.NewSeparatedList(yyDollar[1].node) } - case 564: + case 563: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php8/php8.y:3443 + // line internal/php8/php8.y:3442 { yyVAL.node = yylex.(*Parser).builder.AppendToSeparatedList(yyDollar[1].node, yyDollar[2].token, yyDollar[3].node) } - case 565: + case 564: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php8/php8.y:3447 + // line internal/php8/php8.y:3446 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php8/php8.y b/internal/php8/php8.y index f19f47c..6d39c6a 100644 --- a/internal/php8/php8.y +++ b/internal/php8/php8.y @@ -233,7 +233,7 @@ import ( %type semi_reserved %type identifier identifier_ex %type plain_variable optional_plain_variable -%type possible_comma +%type optional_comma %type case_separator %type use_type @@ -338,15 +338,14 @@ semi_reserved: identifier: T_STRING { $$ = $1 } - | semi_reserved { $$ = $1 } ; identifier_ex: - T_STRING { $$ = $1 } + identifier { $$ = $1 } | semi_reserved { $$ = $1 } ; -possible_comma: +optional_comma: /* empty */ { $$ = nil } | ',' { $$ = $1 } ; @@ -403,7 +402,7 @@ attribute_group: ; attribute: - T_ATTRIBUTE attribute_group possible_comma ']' + T_ATTRIBUTE attribute_group optional_comma ']' { $$ = yylex.(*Parser).builder.NewAttributeGroup($1, $2, $3, $4) } ; @@ -474,7 +473,7 @@ group_use_declaration: ; inline_use_declarations: - non_empty_inline_use_declarations possible_comma + non_empty_inline_use_declarations optional_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } ; @@ -486,7 +485,7 @@ non_empty_inline_use_declarations: ; unprefixed_use_declarations: - non_empty_unprefixed_use_declarations possible_comma + non_empty_unprefixed_use_declarations optional_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } ; @@ -498,52 +497,52 @@ non_empty_unprefixed_use_declarations: ; use_declarations: - use_declarations ',' use_declaration { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, $3) } - | use_declaration { $$ = yylex.(*Parser).builder.NewSeparatedList($1) } + use_declarations ',' use_declaration { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, $3) } + | use_declaration { $$ = yylex.(*Parser).builder.NewSeparatedList($1) } ; inline_use_declaration: - unprefixed_use_declaration { $$ = $1 } - | use_type unprefixed_use_declaration { + unprefixed_use_declaration { $$ = $1 } + | use_type unprefixed_use_declaration { decl := $2.(*ast.StmtUse) decl.Type = yylex.(*Parser).builder.NewIdentifier($1) decl.Position = yylex.(*Parser).builder.Pos.NewTokenNodePosition($1, $2) $$ = $2 - } + } ; unprefixed_use_declaration: - namespace_name { $$ = yylex.(*Parser).builder.NewUse(nil, $1, nil, nil) } - | namespace_name T_AS T_STRING { $$ = yylex.(*Parser).builder.NewUse(nil, $1, $2, $3)} + namespace_name { $$ = yylex.(*Parser).builder.NewUse(nil, $1, nil, nil) } + | namespace_name T_AS identifier { $$ = yylex.(*Parser).builder.NewUse(nil, $1, $2, $3)} ; use_declaration: - legacy_namespace_name { $$ = yylex.(*Parser).builder.NewUse(nil, $1, nil, nil) } - | legacy_namespace_name T_AS T_STRING { $$ = yylex.(*Parser).builder.NewUse(nil, $1, $2, $3)} + legacy_namespace_name { $$ = yylex.(*Parser).builder.NewUse(nil, $1, nil, nil) } + | legacy_namespace_name T_AS identifier { $$ = yylex.(*Parser).builder.NewUse(nil, $1, $2, $3)} ; const_list: - const_list ',' const_decl { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, $3) } - | const_decl { $$ = yylex.(*Parser).builder.NewSeparatedList($1)} + const_list ',' const_decl { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, $3) } + | const_decl { $$ = yylex.(*Parser).builder.NewSeparatedList($1)} ; inner_statement_list: - inner_statement_list inner_statement { - if $2 != nil { - $$ = append($1, $2) - } - } - | /* empty */ { $$ = []ast.Vertex{} } + inner_statement_list inner_statement { + if $2 != nil { + $$ = append($1, $2) + } + } + | /* empty */ { $$ = []ast.Vertex{} } ; inner_statement: - error { $$ = nil } - | statement { $$ = $1 } - | function_declaration_statement { $$ = $1 } - | class_declaration_statement { $$ = $1 } - | trait_declaration_statement { $$ = $1 } - | interface_declaration_statement { $$ = $1 } - | enum_declaration_statement { $$ = $1 } + error { $$ = nil } + | statement { $$ = $1 } + | function_declaration_statement { $$ = $1 } + | class_declaration_statement { $$ = $1 } + | trait_declaration_statement { $$ = $1 } + | interface_declaration_statement { $$ = $1 } + | enum_declaration_statement { $$ = $1 } | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ @@ -686,7 +685,7 @@ statement: { $$ = yylex.(*Parser).builder.NewExpressionStmt($1, $2) } - | T_UNSET '(' unset_variables possible_comma ')' ';' + | T_UNSET '(' unset_variables optional_comma ')' ';' { $3.(*ast.StmtUnset).UnsetTkn = $1 $3.(*ast.StmtUnset).OpenParenthesisTkn = $2 @@ -761,7 +760,7 @@ statement: { $$ = yylex.(*Parser).builder.NewTry($1, $2, $3, $4, $5, $6) } - | T_GOTO T_STRING ';' + | T_GOTO identifier ';' { $$ = &ast.StmtGoto{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition($1, $3), @@ -774,7 +773,7 @@ statement: SemiColonTkn: $3, } } - | T_STRING ':' + | identifier ':' { $$ = &ast.StmtLabel{ Position: yylex.(*Parser).builder.Pos.NewTokensPosition($1, $2), @@ -840,10 +839,10 @@ unset_variable: ; function_declaration_statement: - T_FUNCTION returns_ref T_STRING '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' + T_FUNCTION returns_ref identifier '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' { $$ = yylex.(*Parser).builder.NewFunction(nil, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) } | attributes - T_FUNCTION returns_ref T_STRING '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' + T_FUNCTION returns_ref identifier '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' { $$ = yylex.(*Parser).builder.NewFunction($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) } ; @@ -874,25 +873,25 @@ class_modifier: class_declaration_statement: optional_attributes optional_class_modifiers - T_CLASS T_STRING extends_from implements_list '{' class_statement_list '}' + T_CLASS identifier extends_from implements_list '{' class_statement_list '}' { $$ = yylex.(*Parser).builder.NewClass($1, $2, $3, $4, $5, $6, $7, $8, $9) } ; trait_declaration_statement: optional_attributes - T_TRAIT T_STRING '{' class_statement_list '}' + T_TRAIT identifier '{' class_statement_list '}' { $$ = yylex.(*Parser).builder.NewTrait($1, $2, $3, $4, $5, $6) } ; interface_declaration_statement: optional_attributes - T_INTERFACE T_STRING interface_extends_list '{' class_statement_list '}' + T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' { $$ = yylex.(*Parser).builder.NewInterface($1, $2, $3, $4, $5, $6, $7) } ; enum_declaration_statement: optional_attributes - T_ENUM T_STRING enum_scalar_type implements_list '{' class_statement_list '}' + T_ENUM identifier enum_scalar_type implements_list '{' class_statement_list '}' { $$ = yylex.(*Parser).builder.NewEnum($1, $2, $3, $4, $5, $6, $7, $8) } ; @@ -1265,7 +1264,7 @@ alt_if_stmt: ; parameter_list: - non_empty_parameter_list possible_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } + non_empty_parameter_list optional_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } | /* empty */ { $$ = yylex.(*Parser).builder.NewEmptySeparatedList() } ; @@ -1349,7 +1348,7 @@ argument_list: CloseParenthesisTkn: $2, } } - | '(' non_empty_argument_list possible_comma ')' + | '(' non_empty_argument_list optional_comma ')' { argumentList := $2.(*ArgumentList) argumentList.Position = yylex.(*Parser).builder.Pos.NewTokensPosition($1, $4) @@ -1464,7 +1463,7 @@ class_statement: { $$ = yylex.(*Parser).builder.NewPropertyList($1, $2, $3, $4, $5) } | optional_attributes method_modifiers T_CONST class_const_list ';' { $$ = yylex.(*Parser).builder.NewClassConstList($1, $2, $3, $4, $5) } - | optional_attributes method_modifiers T_FUNCTION returns_ref identifier '(' parameter_list ')' optional_return_type method_body + | optional_attributes method_modifiers T_FUNCTION returns_ref identifier_ex '(' parameter_list ')' optional_return_type method_body { $$ = yylex.(*Parser).builder.NewClassMethod($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) } | T_USE name_list trait_adaptations { @@ -1486,7 +1485,7 @@ class_statement: $$ = traitUse } - | optional_attributes T_CASE T_STRING enum_case_expr ';' + | optional_attributes T_CASE identifier enum_case_expr ';' { $$ = yylex.(*Parser).builder.NewEnumCase($1, $2, $3, $4, $5) } ; @@ -1558,7 +1557,7 @@ trait_precedence: ; trait_alias: - trait_method_reference T_AS T_STRING + trait_method_reference T_AS identifier { $$ = &ast.StmtTraitUseAlias{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition($1, $3), @@ -1588,7 +1587,7 @@ trait_alias: }, } } - | trait_method_reference T_AS member_modifier identifier + | trait_method_reference T_AS member_modifier identifier_ex { $$ = &ast.StmtTraitUseAlias{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition($1, $4), @@ -1618,7 +1617,7 @@ trait_alias: ; trait_method_reference: - identifier + identifier_ex { $$ = &TraitMethodRef{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition($1), @@ -1636,7 +1635,7 @@ trait_method_reference: ; absolute_trait_method_reference: - name T_PAAMAYIM_NEKUDOTAYIM identifier + name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = &TraitMethodRef{ Position: yylex.(*Parser).builder.Pos.NewNodeTokenPosition($1, $3), @@ -1740,7 +1739,7 @@ class_const_list: ; class_const_decl: - identifier '=' expr backup_doc_comment + identifier_ex '=' expr backup_doc_comment { $$ = &ast.StmtConstant{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition($1, $3), @@ -1756,7 +1755,7 @@ class_const_decl: ; const_decl: - T_STRING '=' expr backup_doc_comment + identifier '=' expr backup_doc_comment { $$ = &ast.StmtConstant{ Position: yylex.(*Parser).builder.Pos.NewTokenNodePosition($1, $3), @@ -1839,7 +1838,7 @@ new_expr: ; expr_list_allow_comma: - non_empty_expr_list possible_comma + non_empty_expr_list optional_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } ; @@ -1856,7 +1855,7 @@ match: match_arm_list: /* empty */ { $$ = nil; } - | non_empty_match_arm_list possible_comma + | non_empty_match_arm_list optional_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } ; @@ -1870,7 +1869,7 @@ non_empty_match_arm_list: match_arm: expr_list_allow_comma T_DOUBLE_ARROW expr { $$ = yylex.(*Parser).builder.NewMatchArm(nil, nil, $1, $2, $3) } - | T_DEFAULT possible_comma T_DOUBLE_ARROW expr + | T_DEFAULT optional_comma T_DOUBLE_ARROW expr { $$ = yylex.(*Parser).builder.NewMatchArm($1, $2, nil, $3, $4) } ; @@ -2646,7 +2645,7 @@ lexical_vars: ; lexical_var_list: - non_empty_lexical_var_list possible_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } + non_empty_lexical_var_list optional_comma { $$ = yylex.(*Parser).builder.AppendToSeparatedList($1, $2, nil) } ; non_empty_lexical_var_list: @@ -3074,13 +3073,13 @@ new_variable: ; member_name: - identifier { $$ = yylex.(*Parser).builder.NewIdentifier($1) } + identifier_ex { $$ = yylex.(*Parser).builder.NewIdentifier($1) } | '{' expr '}' { $$ = yylex.(*Parser).builder.NewBracket($1, $2, $3) } | simple_variable { $$ = $1 } ; property_name: - T_STRING { $$ = yylex.(*Parser).builder.NewIdentifier($1) } + identifier { $$ = yylex.(*Parser).builder.NewIdentifier($1) } | '{' expr '}' { $$ = yylex.(*Parser).builder.NewBracket($1, $2, $3) } | simple_variable { $$ = $1 } ; @@ -3248,11 +3247,11 @@ encaps_var: CloseBracketTkn: $4, } } - | plain_variable T_OBJECT_OPERATOR T_STRING + | plain_variable T_OBJECT_OPERATOR identifier { $$ = yylex.(*Parser).builder.NewPropertyFetchFromTokens($1, $2, $3) } - | plain_variable T_NULLSAFE_OBJECT_OPERATOR T_STRING + | plain_variable T_NULLSAFE_OBJECT_OPERATOR identifier { $$ = yylex.(*Parser).builder.NewNullsafePropertyFetchFromTokens($1, $2, $3) } @@ -3306,7 +3305,7 @@ encaps_var: ; encaps_var_offset: - T_STRING + identifier { $$ = &ast.ScalarString{ Position: yylex.(*Parser).builder.Pos.NewTokenPosition($1), @@ -3369,7 +3368,7 @@ encaps_var_offset: ; internal_functions_in_yacc: - T_ISSET '(' isset_variables possible_comma ')' + T_ISSET '(' isset_variables optional_comma ')' { if $4 != nil { $3.(*ParserSeparatedList).SeparatorTkns = append($3.(*ParserSeparatedList).SeparatorTkns, $4)