diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 4ed6d6d689b..d9edde9b5c4 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -982,6 +982,7 @@ func (ct *ColumnType) WalkSubtree(visit Visit) error { type IndexDefinition struct { Info *IndexInfo Columns []*IndexColumn + Using ColIdent } // Format formats the node. @@ -998,6 +999,9 @@ func (idx *IndexDefinition) Format(buf *TrackedBuffer) { } } buf.Myprintf(")") + if !idx.Using.IsEmpty() { + buf.Myprintf(" USING %v", idx.Using) + } } // WalkSubtree walks the nodes of the subtree. diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index bda1920747f..492946980d8 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1496,6 +1496,21 @@ func TestCreateTable(t *testing.T) { " key by_full_name (full_name)\n" + ")", + // test that indexes support USING + "create table t (\n" + + " id int auto_increment,\n" + + " username varchar,\n" + + " email varchar,\n" + + " full_name varchar,\n" + + " status_nonkeyword varchar,\n" + + " primary key (id) USING BTREE,\n" + + " unique key by_username (username) USING HASH,\n" + + " unique by_username2 (username) USING OTHER,\n" + + " unique index by_username3 (username) USING XYZ,\n" + + " index by_status (status_nonkeyword) USING PDQ,\n" + + " key by_full_name (full_name) USING OTHER\n" + + ")", + // multi-column indexes "create table t (\n" + " id int auto_increment,\n" + diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index a0d21ed47c1..9d712fb7e9b 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -553,238 +553,302 @@ var yyExca = [...]int{ -1, 1015, 5, 22, -2, 446, - -1, 1061, + -1, 1062, 5, 23, -2, 447, } const yyPrivate = 57344 -const yyLast = 8494 +const yyLast = 8507 var yyAct = [...]int{ - 380, 38, 1053, 565, 379, 885, 353, 908, 198, 664, - 624, 886, 641, 677, 882, 943, 973, 173, 432, 429, - 44, 736, 743, 782, 430, 3, 746, 856, 240, 848, - 242, 640, 637, 797, 760, 818, 713, 650, 238, 38, - 167, 785, 342, 402, 408, 213, 348, 178, 201, 434, - 603, 351, 193, 189, 745, 418, 182, 673, 43, 1084, - 207, 1075, 1081, 172, 1070, 1079, 1074, 1069, 956, 1008, - 217, 187, 1030, 814, 188, 168, 169, 170, 171, 913, - 914, 915, 340, 657, 985, 233, 665, 48, 916, 1003, - 693, 1056, 531, 530, 540, 541, 533, 534, 535, 536, - 537, 538, 539, 532, 691, 1036, 542, 1001, 50, 51, - 52, 53, 334, 335, 1078, 223, 1076, 1054, 531, 530, - 540, 541, 533, 534, 535, 536, 537, 538, 539, 532, - 838, 697, 542, 604, 224, 625, 627, 219, 658, 135, - 690, 136, 492, 136, 497, 220, 235, 1028, 237, 138, - 139, 140, 239, 239, 239, 239, 849, 239, 239, 796, - 795, 794, 748, 215, 239, 577, 835, 234, 236, 147, - 137, 1046, 837, 652, 554, 555, 993, 970, 860, 38, - 801, 564, 450, 228, 819, 542, 517, 652, 687, 692, - 685, 331, 332, 333, 431, 336, 337, 404, 520, 761, - 449, 808, 339, 405, 958, 720, 207, 626, 444, 695, - 698, 494, 1057, 665, 917, 214, 153, 239, 922, 718, - 719, 717, 239, 232, 532, 518, 1049, 542, 1068, 446, - 812, 239, 239, 239, 239, 239, 239, 239, 239, 689, - 163, 520, 1029, 1027, 944, 410, 535, 536, 537, 538, - 539, 532, 654, 688, 542, 491, 226, 655, 989, 504, - 496, 502, 836, 651, 834, 988, 946, 406, 923, 505, - 506, 507, 508, 509, 510, 511, 512, 651, 694, 761, - 867, 872, 649, 648, 41, 827, 519, 518, 826, 696, - 148, 522, 815, 948, 716, 952, 150, 947, 1063, 945, - 211, 156, 152, 520, 950, 533, 534, 535, 536, 537, - 538, 539, 532, 949, 1039, 542, 592, 593, 951, 953, - 987, 866, 154, 865, 825, 158, 63, 521, 519, 518, - 145, 921, 737, 145, 738, 239, 239, 345, 403, 519, - 518, 1065, 341, 519, 518, 520, 910, 809, 149, 739, - 551, 553, 145, 145, 1019, 341, 520, 490, 145, 230, - 520, 225, 519, 518, 841, 842, 843, 151, 157, 159, - 160, 161, 162, 513, 514, 165, 164, 214, 563, 520, - 341, 567, 568, 569, 570, 571, 572, 573, 1032, 576, + 380, 38, 565, 1054, 379, 885, 198, 908, 624, 677, + 664, 680, 353, 886, 641, 973, 432, 173, 882, 429, + 736, 782, 743, 943, 44, 856, 848, 240, 430, 3, + 746, 640, 637, 797, 242, 713, 650, 785, 238, 38, + 167, 408, 818, 342, 745, 760, 402, 178, 201, 348, + 213, 351, 193, 418, 673, 434, 182, 43, 603, 1085, + 1076, 1082, 1071, 1080, 189, 1075, 207, 172, 1070, 956, + 1008, 187, 217, 1031, 577, 168, 169, 170, 171, 814, + 913, 914, 915, 340, 658, 233, 657, 48, 188, 916, + 985, 665, 1037, 1003, 1001, 334, 335, 1079, 1077, 693, + 223, 1055, 748, 838, 604, 625, 627, 224, 50, 51, + 52, 53, 219, 691, 652, 135, 136, 136, 1057, 531, + 530, 540, 541, 533, 534, 535, 536, 537, 538, 539, + 532, 1029, 497, 542, 138, 139, 140, 492, 922, 796, + 697, 795, 214, 794, 215, 819, 235, 220, 237, 690, + 147, 137, 239, 239, 239, 239, 835, 239, 239, 652, + 554, 555, 837, 1047, 239, 520, 993, 234, 236, 970, + 535, 536, 537, 538, 539, 532, 860, 626, 542, 38, + 801, 564, 532, 450, 228, 542, 542, 808, 923, 517, + 449, 331, 332, 333, 431, 336, 337, 687, 692, 685, + 665, 404, 339, 958, 651, 761, 444, 405, 518, 649, + 648, 494, 207, 519, 518, 917, 153, 239, 695, 698, + 960, 812, 239, 232, 520, 1050, 1030, 1028, 446, 1069, + 520, 239, 239, 239, 239, 239, 239, 239, 239, 1058, + 163, 226, 720, 761, 944, 872, 654, 410, 689, 651, + 989, 655, 836, 1064, 834, 491, 718, 719, 717, 988, + 496, 502, 688, 504, 519, 518, 946, 406, 827, 505, + 506, 507, 508, 509, 510, 511, 512, 345, 403, 41, + 737, 520, 738, 706, 708, 709, 826, 694, 707, 716, + 148, 815, 1040, 948, 987, 952, 150, 947, 696, 945, + 211, 156, 152, 825, 950, 533, 534, 535, 536, 537, + 538, 539, 532, 949, 921, 542, 592, 593, 951, 953, + 1066, 341, 154, 1019, 341, 158, 63, 841, 842, 843, + 145, 1019, 1020, 145, 910, 239, 239, 540, 541, 533, + 534, 535, 536, 537, 538, 539, 532, 809, 149, 542, + 551, 553, 145, 145, 982, 981, 902, 341, 145, 969, + 341, 341, 519, 518, 854, 341, 867, 151, 157, 159, + 160, 161, 162, 513, 514, 165, 164, 522, 563, 520, + 739, 567, 568, 569, 570, 571, 572, 573, 490, 576, 578, 578, 578, 578, 578, 578, 578, 578, 586, 587, - 588, 589, 1031, 556, 557, 558, 559, 560, 561, 562, - 706, 708, 709, 1019, 1020, 707, 193, 193, 193, 193, - 193, 207, 594, 606, 519, 518, 982, 981, 902, 341, - 883, 960, 431, 443, 628, 918, 145, 443, 145, 355, - 193, 520, 145, 969, 341, 854, 341, 751, 145, 965, - 207, 415, 63, 63, 63, 63, 623, 63, 63, 631, - 928, 927, 881, 596, 63, 925, 924, 751, 341, 45, - 608, 609, 783, 611, 666, 667, 668, 415, 341, 636, - 642, 638, 619, 452, 451, 629, 634, 145, 595, 630, - 607, 192, 633, 610, 145, 145, 145, 783, 645, 926, - 19, 63, 239, 679, 414, 854, 441, 19, 854, 854, - 523, 802, 621, 622, 415, 590, 41, 63, 179, 145, - 659, 145, 63, 777, 145, 678, 778, 145, 415, 145, - 714, 63, 63, 63, 63, 63, 63, 63, 63, 443, - 701, 896, 805, 566, 675, 676, 41, 442, 681, 440, - 575, 674, 669, 41, 38, 55, 579, 580, 581, 582, - 583, 584, 585, 19, 41, 786, 787, 912, 567, 134, - 883, 712, 828, 789, 721, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 1014, - 500, 338, 623, 750, 618, 638, 424, 425, 660, 661, - 662, 663, 17, 616, 780, 781, 740, 741, 617, 41, - 765, 614, 635, 670, 671, 672, 615, 602, 758, 792, - 186, 791, 613, 753, 754, 612, 1077, 757, 779, 183, - 184, 1073, 840, 192, 768, 63, 63, 769, 702, 145, - 1072, 764, 774, 766, 767, 409, 773, 820, 752, 177, - 343, 448, 790, 803, 799, 800, 775, 231, 811, 407, - 1051, 763, 344, 368, 367, 370, 371, 372, 373, 642, - 816, 817, 369, 374, 1050, 1012, 806, 963, 991, 683, - 499, 703, 704, 239, 710, 711, 428, 807, 540, 541, - 533, 534, 535, 536, 537, 538, 539, 532, 180, 181, - 542, 239, 821, 822, 823, 409, 793, 772, 63, 174, - 1042, 175, 45, 145, 1041, 771, 145, 145, 145, 145, - 145, 830, 714, 1011, 783, 831, 1043, 986, 145, 516, - 566, 47, 145, 755, 756, 49, 145, 439, 42, 839, - 145, 145, 420, 423, 424, 425, 421, 1, 422, 426, - 686, 861, 63, 403, 844, 1052, 907, 647, 639, 212, - 54, 646, 824, 1026, 984, 845, 846, 847, 653, 813, - 656, 911, 1048, 810, 455, 456, 454, 458, 457, 888, - 453, 38, 155, 887, 207, 199, 884, 427, 445, 855, - 552, 680, 56, 145, 871, 898, 899, 900, 145, 853, - 833, 145, 63, 893, 832, 889, 684, 218, 550, 770, - 200, 890, 591, 869, 401, 892, 1040, 906, 1010, 870, - 903, 574, 851, 759, 354, 705, 852, 366, 363, 365, - 904, 642, 364, 642, 905, 597, 863, 864, 776, 524, - 868, 352, 346, 191, 411, 874, 419, 875, 876, 877, - 878, 417, 919, 920, 416, 192, 192, 192, 192, 192, - 196, 788, 784, 63, 190, 880, 1007, 1055, 601, 20, - 46, 192, 185, 16, 931, 933, 15, 63, 14, 192, - 901, 938, 193, 955, 942, 939, 13, 24, 954, 750, - 957, 638, 12, 941, 11, 10, 935, 936, 9, 964, - 8, 962, 7, 6, 961, 5, 4, 176, 18, 377, - 2, 972, 0, 0, 862, 975, 976, 977, 803, 0, - 978, 980, 0, 0, 873, 0, 0, 0, 0, 63, - 239, 0, 0, 0, 642, 61, 937, 0, 0, 0, - 0, 63, 0, 0, 0, 0, 894, 0, 0, 895, - 0, 0, 897, 0, 0, 0, 0, 1006, 0, 0, - 0, 0, 999, 208, 0, 715, 888, 0, 990, 1016, - 887, 966, 967, 968, 0, 971, 0, 1013, 0, 0, - 0, 992, 63, 63, 0, 0, 0, 0, 0, 1024, - 1025, 0, 1033, 1015, 0, 0, 0, 0, 0, 0, - 0, 63, 420, 423, 424, 425, 421, 1035, 422, 426, - 0, 0, 786, 787, 0, 888, 0, 38, 0, 887, - 1044, 0, 904, 0, 0, 994, 995, 0, 0, 0, - 0, 0, 0, 0, 0, 959, 0, 1004, 1005, 0, - 0, 1045, 0, 0, 0, 0, 1059, 0, 983, 63, - 207, 566, 1060, 1037, 0, 0, 0, 0, 1021, 1022, - 1023, 241, 241, 241, 241, 0, 241, 241, 1071, 0, - 0, 145, 0, 241, 0, 0, 0, 0, 0, 1080, - 0, 63, 63, 996, 997, 0, 998, 0, 0, 1000, - 1038, 1002, 0, 0, 0, 194, 0, 0, 0, 0, - 0, 0, 63, 63, 0, 63, 63, 0, 0, 208, - 241, 530, 540, 541, 533, 534, 535, 536, 537, 538, - 539, 532, 0, 1009, 542, 142, 241, 1082, 1061, 145, - 0, 241, 0, 145, 341, 1064, 0, 0, 1067, 63, - 241, 241, 241, 241, 241, 241, 241, 241, 197, 0, - 0, 0, 0, 216, 0, 0, 0, 715, 63, 0, - 0, 0, 378, 0, 0, 1085, 1086, 0, 0, 0, - 531, 530, 540, 541, 533, 534, 535, 536, 537, 538, - 539, 532, 145, 0, 542, 0, 0, 0, 0, 0, - 0, 0, 143, 0, 0, 166, 0, 63, 0, 63, - 63, 63, 145, 63, 1058, 566, 63, 0, 0, 0, - 0, 0, 0, 0, 143, 143, 209, 0, 0, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 221, 0, 222, 0, 0, 0, 227, 0, 526, - 0, 529, 0, 229, 241, 241, 0, 543, 544, 545, - 546, 547, 548, 549, 0, 527, 528, 525, 531, 530, - 540, 541, 533, 534, 535, 536, 537, 538, 539, 532, - 63, 63, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 413, 63, 0, 0, 0, 0, 0, 0, - 0, 438, 0, 0, 63, 0, 0, 0, 143, 0, - 143, 0, 0, 0, 143, 0, 0, 0, 0, 0, - 143, 0, 0, 0, 493, 0, 495, 598, 0, 498, - 63, 192, 501, 0, 208, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 19, 39, 21, 22, - 0, 0, 0, 934, 0, 0, 0, 63, 0, 143, - 0, 0, 0, 208, 33, 63, 143, 436, 143, 23, - 241, 241, 209, 531, 530, 540, 541, 533, 534, 535, - 536, 537, 538, 539, 532, 850, 0, 542, 32, 0, - 0, 143, 41, 143, 0, 0, 143, 0, 0, 143, - 0, 503, 0, 0, 0, 531, 530, 540, 541, 533, - 534, 535, 536, 537, 538, 539, 532, 0, 0, 542, - 0, 241, 531, 530, 540, 541, 533, 534, 535, 536, - 537, 538, 539, 532, 0, 0, 542, 0, 0, 0, - 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, - 0, 25, 26, 28, 27, 30, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 34, 35, 0, 0, 36, - 37, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 742, 0, 241, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 762, 0, 0, 0, + 588, 589, 928, 927, 925, 924, 556, 557, 558, 559, + 560, 561, 562, 521, 519, 518, 193, 193, 193, 193, + 193, 606, 594, 751, 341, 1033, 866, 207, 865, 519, + 518, 520, 431, 230, 628, 225, 145, 214, 145, 1032, + 193, 918, 145, 443, 519, 518, 520, 751, 145, 45, + 523, 783, 63, 63, 63, 63, 207, 63, 63, 631, + 623, 520, 965, 596, 63, 579, 580, 581, 582, 583, + 584, 585, 415, 341, 19, 666, 667, 668, 636, 642, + 619, 608, 609, 566, 611, 638, 634, 145, 854, 595, + 575, 629, 633, 415, 145, 145, 145, 630, 415, 679, + 1014, 63, 239, 645, 607, 452, 451, 610, 441, 883, + 881, 926, 443, 621, 622, 783, 854, 63, 802, 145, + 41, 145, 63, 19, 145, 590, 414, 145, 41, 145, + 714, 63, 63, 63, 63, 63, 63, 63, 63, 659, + 701, 675, 676, 678, 660, 661, 662, 663, 179, 442, + 415, 440, 635, 854, 38, 896, 681, 443, 134, 670, + 671, 672, 368, 367, 370, 371, 372, 373, 567, 41, + 805, 369, 374, 674, 712, 786, 787, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 750, 669, 41, 55, 623, 19, 912, 638, + 883, 828, 789, 500, 780, 781, 740, 741, 338, 186, + 765, 616, 792, 753, 754, 758, 617, 757, 17, 602, + 777, 703, 704, 778, 710, 711, 618, 791, 424, 425, + 613, 764, 779, 766, 767, 63, 63, 768, 769, 145, + 614, 612, 1078, 41, 1074, 615, 775, 840, 790, 752, + 183, 184, 799, 800, 702, 803, 1073, 420, 423, 424, + 425, 421, 763, 422, 426, 177, 774, 773, 642, 820, + 566, 816, 817, 755, 756, 343, 409, 448, 420, 423, + 424, 425, 421, 239, 422, 426, 807, 344, 786, 787, + 407, 231, 811, 403, 1052, 1051, 355, 1012, 806, 963, + 991, 239, 683, 499, 428, 180, 181, 793, 63, 821, + 822, 823, 409, 145, 174, 772, 145, 145, 145, 145, + 145, 830, 714, 771, 1043, 831, 175, 45, 145, 1042, + 1011, 783, 145, 1044, 986, 516, 145, 47, 49, 839, + 145, 145, 439, 42, 1, 686, 1053, 907, 192, 647, + 639, 861, 63, 844, 530, 540, 541, 533, 534, 535, + 536, 537, 538, 539, 532, 212, 54, 542, 845, 846, + 847, 646, 824, 1027, 984, 653, 813, 656, 911, 888, + 1049, 38, 810, 887, 884, 455, 456, 454, 458, 853, + 207, 457, 453, 145, 155, 898, 899, 900, 145, 199, + 427, 145, 63, 869, 445, 871, 855, 893, 56, 889, + 833, 832, 684, 218, 550, 892, 770, 200, 890, 906, + 591, 401, 1041, 851, 903, 1010, 870, 852, 574, 904, + 642, 759, 642, 354, 905, 705, 366, 863, 864, 363, + 365, 868, 364, 597, 776, 524, 874, 352, 875, 876, + 877, 878, 377, 346, 862, 191, 411, 419, 417, 919, + 920, 416, 196, 63, 873, 788, 784, 190, 880, 1007, + 1056, 601, 933, 20, 931, 46, 185, 63, 61, 16, + 15, 901, 193, 939, 942, 938, 894, 954, 750, 895, + 192, 955, 897, 941, 957, 638, 14, 13, 24, 935, + 936, 962, 961, 964, 12, 11, 208, 10, 9, 8, + 7, 972, 6, 5, 975, 976, 977, 4, 978, 176, + 803, 980, 18, 2, 0, 0, 0, 0, 0, 63, + 239, 0, 0, 642, 0, 0, 0, 937, 0, 0, + 0, 63, 531, 530, 540, 541, 533, 534, 535, 536, + 537, 538, 539, 532, 0, 0, 542, 1006, 999, 0, + 0, 0, 0, 0, 0, 0, 888, 0, 990, 1016, + 887, 0, 966, 967, 968, 959, 971, 0, 0, 1013, + 849, 0, 63, 63, 992, 0, 0, 1024, 0, 0, + 1026, 566, 1034, 1025, 983, 0, 0, 1015, 0, 0, + 0, 63, 0, 0, 241, 241, 241, 241, 1036, 241, + 241, 0, 0, 0, 0, 888, 241, 38, 0, 887, + 1045, 904, 0, 0, 0, 0, 994, 995, 0, 996, + 997, 0, 998, 0, 0, 1000, 0, 1002, 1004, 1005, + 0, 0, 0, 0, 0, 1046, 1060, 552, 0, 63, + 0, 1061, 208, 241, 0, 0, 1038, 207, 0, 1021, + 1022, 1023, 0, 1009, 0, 0, 0, 0, 0, 241, + 1072, 145, 0, 0, 241, 0, 0, 0, 0, 0, + 1081, 63, 63, 241, 241, 241, 241, 241, 241, 241, + 241, 1039, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 63, 63, 0, 63, 63, 0, 0, 0, + 0, 194, 192, 192, 192, 192, 192, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 145, + 1062, 1083, 0, 145, 0, 0, 192, 1065, 0, 63, + 1068, 142, 0, 0, 0, 1059, 566, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 0, 0, 0, 0, 197, 0, 0, 1086, 1087, 216, + 0, 0, 0, 341, 378, 0, 0, 0, 0, 0, + 0, 0, 145, 0, 0, 0, 0, 241, 241, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 63, + 63, 63, 145, 63, 143, 0, 63, 166, 0, 531, + 530, 540, 541, 533, 534, 535, 536, 537, 538, 539, + 532, 0, 715, 542, 0, 0, 143, 143, 209, 0, + 63, 0, 143, 0, 531, 530, 540, 541, 533, 534, + 535, 536, 537, 538, 539, 532, 0, 221, 542, 222, + 0, 0, 0, 227, 0, 0, 0, 0, 0, 229, + 598, 0, 0, 0, 0, 0, 0, 208, 0, 0, + 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 0, 208, 0, 413, 0, + 0, 0, 0, 241, 241, 0, 0, 438, 0, 0, + 143, 0, 143, 0, 0, 0, 143, 0, 0, 0, + 63, 0, 143, 0, 0, 0, 0, 0, 0, 0, + 493, 0, 495, 0, 0, 498, 0, 0, 501, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 0, 0, 0, 0, 241, 0, 63, 0, 0, 0, + 0, 143, 0, 0, 19, 39, 21, 22, 143, 436, + 143, 0, 0, 0, 209, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 23, 0, 0, + 0, 0, 0, 143, 0, 143, 0, 0, 143, 0, + 0, 143, 0, 503, 0, 0, 32, 0, 0, 0, + 41, 0, 0, 0, 715, 742, 0, 241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, + 0, 0, 0, 0, 0, 526, 0, 529, 0, 0, + 0, 0, 0, 543, 544, 545, 546, 547, 548, 549, + 515, 527, 528, 525, 531, 530, 540, 541, 533, 534, + 535, 536, 537, 538, 539, 532, 0, 0, 542, 25, + 26, 28, 27, 30, 934, 0, 0, 0, 0, 0, + 0, 798, 31, 34, 35, 0, 0, 36, 37, 29, + 0, 0, 0, 241, 531, 530, 540, 541, 533, 534, + 535, 536, 537, 538, 539, 532, 0, 0, 542, 0, + 0, 0, 0, 143, 0, 0, 850, 0, 0, 0, + 0, 0, 0, 0, 605, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 829, 241, 531, 530, 540, 541, + 533, 534, 535, 536, 537, 538, 539, 532, 0, 0, + 542, 0, 632, 241, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 605, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 0, 209, + 143, 143, 143, 143, 143, 0, 0, 0, 0, 0, + 0, 858, 620, 0, 682, 0, 143, 0, 0, 699, + 436, 0, 700, 0, 143, 143, 0, 0, 209, 0, + 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, + 208, 0, 0, 891, 798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 241, 0, 241, 909, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, + 0, 0, 143, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 0, 0, 0, 0, 632, 0, 798, 0, + 0, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 858, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 209, 143, 143, - 143, 143, 143, 461, 0, 0, 0, 0, 682, 0, - 620, 829, 241, 699, 143, 0, 700, 0, 436, 0, - 0, 0, 143, 143, 0, 473, 209, 0, 0, 0, - 241, 0, 0, 503, 0, 0, 0, 0, 0, 0, - 0, 478, 479, 480, 481, 482, 483, 484, 0, 485, - 486, 487, 488, 489, 474, 475, 476, 477, 459, 460, - 0, 0, 462, 0, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 0, 143, 0, 0, 858, 0, - 143, 0, 0, 143, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 749, 503, + 0, 0, 0, 749, 749, 461, 0, 749, 0, 974, + 0, 974, 974, 974, 0, 979, 0, 0, 241, 0, + 0, 749, 749, 749, 749, 0, 0, 473, 0, 0, + 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, + 0, 0, 241, 478, 479, 480, 481, 482, 483, 484, + 0, 485, 486, 487, 488, 489, 474, 475, 476, 477, + 459, 460, 0, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 469, 470, 471, 472, 0, 0, 0, 0, + 0, 0, 1017, 1018, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 909, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, - 891, 798, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 241, 241, 0, 241, 909, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 749, 503, 0, 0, - 0, 749, 749, 0, 0, 749, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 932, 749, - 749, 749, 749, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 749, 0, 0, 858, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 974, 0, 974, 974, - 974, 0, 979, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 0, 0, 1048, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 879, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, + 1063, 0, 0, 0, 0, 0, 0, 0, 1067, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, + 929, 0, 0, 0, 930, 143, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 879, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1017, - 1018, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 909, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 749, 0, 0, 929, 0, 0, 0, 930, 1047, - 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 208, 0, 0, 1062, 0, 0, 0, - 0, 0, 0, 0, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 0, 0, 143, 0, 0, 0, 0, + 0, 0, 0, 143, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, - 0, 0, 0, 503, 749, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, + 0, 0, 0, 0, 0, 503, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 436, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 320, 310, 283, 322, 261, 275, 330, + 276, 277, 304, 249, 291, 98, 273, 0, 264, 244, + 270, 245, 262, 285, 77, 288, 260, 312, 294, 85, + 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, + 289, 309, 282, 305, 254, 298, 323, 274, 302, 324, + 0, 0, 0, 62, 0, 643, 644, 0, 0, 0, + 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, + 0, 247, 250, 329, 317, 267, 268, 804, 0, 0, + 0, 0, 0, 0, 286, 290, 306, 280, 0, 0, + 0, 0, 0, 0, 0, 0, 265, 0, 297, 0, + 0, 0, 251, 248, 0, 284, 0, 0, 0, 253, + 0, 266, 307, 0, 315, 281, 146, 318, 279, 278, + 321, 101, 313, 263, 271, 73, 269, 106, 99, 209, + 296, 100, 105, 88, 113, 102, 119, 125, 126, 111, + 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, + 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, + 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, + 91, 89, 84, 78, 0, 246, 0, 109, 120, 133, + 259, 316, 127, 128, 129, 130, 95, 71, 81, 107, + 257, 258, 255, 256, 292, 293, 325, 326, 327, 308, + 252, 0, 0, 311, 295, 64, 0, 86, 131, 103, + 79, 121, 320, 310, 283, 322, 261, 275, 330, 276, + 277, 304, 249, 291, 98, 273, 0, 264, 244, 270, + 245, 262, 285, 77, 288, 260, 312, 294, 85, 328, + 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, + 309, 282, 305, 254, 298, 323, 274, 302, 324, 0, + 0, 0, 62, 0, 643, 644, 0, 0, 0, 0, + 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, + 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, + 0, 0, 0, 286, 290, 306, 280, 0, 0, 0, + 0, 0, 0, 0, 0, 265, 0, 297, 0, 0, + 0, 251, 248, 0, 284, 0, 0, 0, 253, 0, + 266, 307, 0, 315, 281, 146, 318, 279, 278, 321, + 101, 313, 263, 271, 73, 269, 106, 99, 0, 296, + 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, + 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, + 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, + 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, + 89, 84, 78, 0, 246, 0, 109, 120, 133, 259, + 316, 127, 128, 129, 130, 95, 71, 81, 107, 257, + 258, 255, 256, 292, 293, 325, 326, 327, 308, 252, + 0, 0, 311, 295, 64, 0, 86, 131, 103, 79, + 121, 320, 310, 283, 322, 261, 275, 330, 276, 277, + 304, 249, 291, 98, 273, 0, 264, 244, 270, 245, + 262, 285, 77, 288, 260, 312, 294, 85, 328, 87, + 299, 0, 108, 94, 0, 0, 287, 314, 289, 309, + 282, 305, 254, 298, 323, 274, 302, 324, 0, 0, + 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, + 250, 329, 317, 267, 268, 0, 0, 0, 0, 0, + 0, 0, 286, 290, 306, 280, 0, 0, 0, 0, + 0, 0, 1035, 0, 265, 0, 297, 0, 0, 0, + 251, 248, 0, 284, 0, 0, 0, 253, 0, 266, + 307, 0, 315, 281, 146, 318, 279, 278, 321, 101, + 313, 263, 271, 73, 269, 106, 99, 0, 296, 100, + 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, + 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, + 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, + 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, + 84, 78, 0, 246, 0, 109, 120, 133, 259, 316, + 127, 128, 129, 130, 95, 71, 81, 107, 257, 258, + 255, 256, 292, 293, 325, 326, 327, 308, 252, 0, + 0, 311, 295, 64, 0, 86, 131, 103, 79, 121, 320, 310, 283, 322, 261, 275, 330, 276, 277, 304, 249, 291, 98, 273, 0, 264, 244, 270, 245, 262, 285, 77, 288, 260, 312, 294, 85, 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, 309, 282, - 305, 254, 298, 323, 274, 302, 324, 0, 0, 0, - 62, 0, 643, 644, 0, 0, 0, 0, 0, 72, + 305, 254, 298, 323, 274, 302, 324, 41, 0, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, 250, - 329, 317, 267, 268, 804, 0, 0, 0, 0, 0, + 329, 317, 267, 268, 0, 0, 0, 0, 0, 0, 0, 286, 290, 306, 280, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 297, 0, 0, 0, 251, 248, 0, 284, 0, 0, 0, 253, 0, 266, 307, 0, 315, 281, 146, 318, 279, 278, 321, 101, 313, - 263, 271, 73, 269, 106, 99, 209, 296, 100, 105, + 263, 271, 73, 269, 106, 99, 0, 296, 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, @@ -797,12 +861,12 @@ var yyAct = [...]int{ 291, 98, 273, 0, 264, 244, 270, 245, 262, 285, 77, 288, 260, 312, 294, 85, 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, 309, 282, 305, - 254, 298, 323, 274, 302, 324, 0, 0, 0, 62, - 0, 643, 644, 0, 0, 0, 0, 0, 72, 0, + 254, 298, 323, 274, 302, 324, 0, 0, 0, 210, + 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, 0, 0, 0, 286, 290, 306, 280, 0, 0, 0, 0, 0, 0, - 0, 0, 265, 0, 297, 0, 0, 0, 251, 248, + 940, 0, 265, 0, 297, 0, 0, 0, 251, 248, 0, 284, 0, 0, 0, 253, 0, 266, 307, 0, 315, 281, 146, 318, 279, 278, 321, 101, 313, 263, 271, 73, 269, 106, 99, 0, 296, 100, 105, 88, @@ -819,10 +883,10 @@ var yyAct = [...]int{ 288, 260, 312, 294, 85, 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, 309, 282, 305, 254, 298, 323, 274, 302, 324, 0, 0, 0, 62, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 301, + 447, 0, 0, 0, 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, 0, 0, 0, 286, - 290, 306, 280, 0, 0, 0, 0, 0, 0, 1034, + 290, 306, 280, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 297, 0, 0, 0, 251, 248, 0, 284, 0, 0, 0, 253, 0, 266, 307, 0, 315, 281, 146, 318, 279, 278, 321, 101, 313, 263, 271, @@ -839,7 +903,7 @@ var yyAct = [...]int{ 273, 0, 264, 244, 270, 245, 262, 285, 77, 288, 260, 312, 294, 85, 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, 309, 282, 305, 254, 298, - 323, 274, 302, 324, 41, 0, 0, 62, 0, 0, + 323, 274, 302, 324, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, 0, 0, 0, 286, 290, @@ -864,7 +928,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, 0, 0, 0, 286, 290, 306, - 280, 0, 0, 0, 0, 0, 0, 940, 0, 265, + 280, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 297, 0, 0, 0, 251, 248, 0, 284, 0, 0, 0, 253, 0, 266, 307, 0, 315, 281, 146, 318, 279, 278, 321, 101, 313, 263, 271, 73, 269, @@ -881,7 +945,7 @@ var yyAct = [...]int{ 264, 244, 270, 245, 262, 285, 77, 288, 260, 312, 294, 85, 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, 309, 282, 305, 254, 298, 323, 274, - 302, 324, 0, 0, 0, 62, 0, 447, 0, 0, + 302, 324, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, 0, 0, 0, 286, 290, 306, 280, @@ -897,78 +961,35 @@ var yyAct = [...]int{ 120, 133, 259, 316, 127, 128, 129, 130, 95, 71, 81, 107, 257, 258, 255, 256, 292, 293, 325, 326, 327, 308, 252, 0, 0, 311, 295, 64, 0, 86, - 131, 103, 79, 121, 320, 310, 283, 322, 261, 275, - 330, 276, 277, 304, 249, 291, 98, 273, 0, 264, - 244, 270, 245, 262, 285, 77, 288, 260, 312, 294, - 85, 328, 87, 299, 0, 108, 94, 0, 0, 287, - 314, 289, 309, 282, 305, 254, 298, 323, 274, 302, - 324, 0, 0, 0, 62, 0, 0, 0, 0, 0, - 0, 0, 0, 72, 0, 301, 319, 272, 303, 243, - 300, 0, 247, 250, 329, 317, 267, 268, 0, 0, - 0, 0, 0, 0, 0, 286, 290, 306, 280, 0, - 0, 0, 0, 0, 0, 0, 0, 265, 0, 297, - 0, 0, 0, 251, 248, 0, 284, 0, 0, 0, - 253, 0, 266, 307, 0, 315, 281, 146, 318, 279, - 278, 321, 101, 313, 263, 271, 73, 269, 106, 99, - 0, 296, 100, 105, 88, 113, 102, 119, 125, 126, - 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, - 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, - 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, - 116, 91, 89, 84, 78, 0, 246, 0, 109, 120, - 133, 259, 316, 127, 128, 129, 130, 95, 71, 81, - 107, 257, 258, 255, 256, 292, 293, 325, 326, 327, - 308, 252, 0, 0, 311, 295, 64, 0, 86, 131, - 103, 79, 121, 320, 310, 283, 322, 261, 275, 330, - 276, 277, 304, 249, 291, 98, 273, 0, 264, 244, - 270, 245, 262, 285, 77, 288, 260, 312, 294, 85, - 328, 87, 299, 0, 108, 94, 0, 0, 287, 314, - 289, 309, 282, 305, 254, 298, 323, 274, 302, 324, - 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 0, 301, 319, 272, 303, 243, 300, - 0, 247, 250, 329, 317, 267, 268, 0, 0, 0, - 0, 0, 0, 0, 286, 290, 306, 280, 0, 0, - 0, 0, 0, 0, 0, 0, 265, 0, 297, 0, - 0, 0, 251, 248, 0, 284, 0, 0, 0, 253, - 0, 266, 307, 0, 315, 281, 146, 318, 279, 278, - 321, 101, 313, 263, 271, 73, 269, 106, 99, 0, - 296, 100, 105, 88, 113, 102, 119, 125, 126, 111, - 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, - 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, - 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, - 91, 89, 84, 78, 0, 246, 0, 109, 120, 133, - 259, 316, 127, 128, 129, 130, 95, 71, 81, 107, - 257, 258, 255, 256, 292, 293, 325, 326, 327, 308, - 252, 0, 0, 311, 295, 64, 0, 86, 131, 103, - 79, 121, 320, 310, 283, 322, 261, 275, 330, 276, - 277, 304, 249, 291, 98, 273, 0, 264, 244, 270, - 245, 262, 285, 77, 288, 260, 312, 294, 85, 328, - 87, 299, 0, 108, 94, 0, 0, 287, 314, 289, - 309, 282, 305, 254, 298, 323, 274, 302, 324, 0, - 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, - 0, 72, 0, 301, 319, 272, 303, 243, 300, 0, - 247, 250, 329, 317, 267, 268, 0, 0, 0, 0, - 0, 0, 0, 286, 290, 306, 280, 0, 0, 0, - 0, 0, 0, 0, 0, 265, 0, 297, 0, 0, - 0, 251, 248, 0, 284, 0, 0, 0, 253, 0, - 266, 307, 0, 315, 281, 146, 318, 279, 278, 321, - 101, 313, 263, 271, 73, 269, 106, 99, 0, 296, + 131, 103, 79, 121, 98, 0, 0, 744, 0, 350, + 0, 0, 0, 77, 0, 349, 0, 0, 85, 388, + 87, 0, 0, 108, 94, 0, 0, 0, 0, 381, + 382, 0, 0, 0, 0, 0, 0, 0, 0, 41, + 0, 0, 210, 368, 367, 370, 371, 372, 373, 0, + 0, 72, 369, 374, 375, 376, 0, 0, 347, 361, + 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 358, 359, 747, 0, 0, 0, 399, 0, 360, + 0, 0, 356, 357, 362, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 146, 0, 0, 397, 0, + 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, - 89, 84, 78, 0, 246, 0, 109, 120, 133, 259, - 316, 127, 128, 129, 130, 95, 71, 81, 107, 257, - 258, 255, 256, 292, 293, 325, 326, 327, 308, 252, - 0, 0, 311, 295, 64, 0, 86, 131, 103, 79, - 121, 98, 0, 0, 744, 0, 350, 0, 0, 0, + 89, 84, 78, 0, 0, 0, 109, 120, 133, 0, + 0, 127, 128, 129, 130, 95, 71, 81, 107, 389, + 398, 395, 396, 393, 394, 392, 391, 390, 400, 383, + 384, 386, 0, 385, 64, 0, 86, 131, 103, 79, + 121, 98, 0, 0, 0, 0, 350, 0, 0, 0, 77, 0, 349, 0, 0, 85, 388, 87, 0, 0, 108, 94, 0, 0, 0, 0, 381, 382, 0, 0, - 0, 0, 0, 0, 0, 0, 41, 0, 0, 210, + 0, 0, 0, 0, 0, 0, 41, 0, 341, 210, 368, 367, 370, 371, 372, 373, 0, 0, 72, 369, 374, 375, 376, 0, 0, 347, 361, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 359, - 747, 0, 0, 0, 399, 0, 360, 0, 0, 356, + 0, 0, 0, 0, 399, 0, 360, 0, 0, 356, 357, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 397, 0, 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, @@ -983,11 +1004,11 @@ var yyAct = [...]int{ 0, 0, 0, 350, 0, 0, 0, 77, 0, 349, 0, 0, 85, 388, 87, 0, 0, 108, 94, 0, 0, 0, 0, 381, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 41, 0, 341, 210, 368, 367, 370, + 0, 0, 0, 41, 0, 0, 210, 368, 367, 370, 371, 372, 373, 0, 0, 72, 369, 374, 375, 376, 0, 0, 347, 361, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 358, 359, 0, 0, 0, + 0, 0, 0, 0, 0, 358, 359, 747, 0, 0, 0, 399, 0, 360, 0, 0, 356, 357, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 397, 0, 101, 0, 0, 0, 73, 0, @@ -998,28 +1019,28 @@ var yyAct = [...]int{ 90, 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, 120, 133, 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, 389, 398, 395, 396, 393, 394, 392, - 391, 390, 400, 383, 384, 386, 0, 385, 64, 0, - 86, 131, 103, 79, 121, 98, 0, 0, 0, 0, - 350, 0, 0, 0, 77, 0, 349, 0, 0, 85, - 388, 87, 0, 0, 108, 94, 0, 0, 0, 0, - 381, 382, 0, 0, 0, 0, 0, 0, 0, 0, - 41, 0, 0, 210, 368, 367, 370, 371, 372, 373, - 0, 0, 72, 369, 374, 375, 376, 0, 0, 347, - 361, 0, 387, 0, 0, 0, 0, 0, 0, 0, + 391, 390, 400, 383, 384, 386, 19, 385, 64, 0, + 86, 131, 103, 79, 121, 0, 0, 98, 0, 0, + 0, 0, 350, 0, 0, 0, 77, 0, 349, 0, + 0, 85, 388, 87, 0, 0, 108, 94, 0, 0, + 0, 0, 381, 382, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 210, 368, 367, 370, 371, + 372, 373, 0, 0, 72, 369, 374, 375, 376, 0, + 0, 347, 361, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 358, 359, 747, 0, 0, 0, 399, 0, - 360, 0, 0, 356, 357, 362, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 146, 0, 0, 397, - 0, 101, 0, 0, 0, 73, 0, 106, 99, 0, - 0, 100, 105, 88, 113, 102, 119, 125, 126, 111, - 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, - 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, - 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, - 91, 89, 84, 78, 0, 0, 0, 109, 120, 133, - 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, - 389, 398, 395, 396, 393, 394, 392, 391, 390, 400, - 383, 384, 386, 19, 385, 64, 0, 86, 131, 103, - 79, 121, 0, 0, 98, 0, 0, 0, 0, 350, + 0, 0, 0, 0, 358, 359, 0, 0, 0, 0, + 399, 0, 360, 0, 0, 356, 357, 362, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, + 0, 397, 0, 101, 0, 0, 0, 73, 0, 106, + 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, + 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, + 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, + 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, + 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, + 120, 133, 0, 0, 127, 128, 129, 130, 95, 71, + 81, 107, 389, 398, 395, 396, 393, 394, 392, 391, + 390, 400, 383, 384, 386, 0, 385, 64, 0, 86, + 131, 103, 79, 121, 98, 0, 0, 0, 0, 350, 0, 0, 0, 77, 0, 349, 0, 0, 85, 388, 87, 0, 0, 108, 94, 0, 0, 0, 0, 381, 382, 0, 0, 0, 0, 0, 0, 0, 0, 41, @@ -1038,111 +1059,55 @@ var yyAct = [...]int{ 89, 84, 78, 0, 0, 0, 109, 120, 133, 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, 389, 398, 395, 396, 393, 394, 392, 391, 390, 400, 383, - 384, 386, 0, 385, 64, 0, 86, 131, 103, 79, - 121, 98, 0, 0, 0, 0, 350, 0, 0, 0, - 77, 0, 349, 0, 0, 85, 388, 87, 0, 0, - 108, 94, 0, 0, 0, 0, 381, 382, 0, 0, - 0, 0, 0, 0, 0, 0, 41, 0, 0, 210, - 368, 367, 370, 371, 372, 373, 0, 0, 72, 369, - 374, 375, 376, 0, 0, 347, 361, 0, 387, 0, + 384, 386, 98, 385, 64, 0, 86, 131, 103, 79, + 121, 77, 0, 0, 0, 0, 85, 388, 87, 0, + 0, 108, 94, 0, 0, 0, 0, 381, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, + 210, 368, 367, 370, 371, 372, 373, 0, 0, 72, + 369, 374, 375, 376, 0, 0, 0, 361, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 358, 359, - 0, 0, 0, 0, 399, 0, 360, 0, 0, 356, - 357, 362, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 146, 0, 0, 397, 0, 101, 0, 0, - 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, - 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, - 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, - 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, - 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, - 0, 0, 0, 109, 120, 133, 0, 0, 127, 128, - 129, 130, 95, 71, 81, 107, 389, 398, 395, 396, - 393, 394, 392, 391, 390, 400, 383, 384, 386, 98, - 385, 64, 0, 86, 131, 103, 79, 121, 77, 0, - 0, 0, 0, 85, 388, 87, 0, 0, 108, 94, - 0, 0, 0, 0, 381, 382, 0, 0, 0, 0, - 0, 0, 0, 0, 41, 0, 0, 210, 368, 367, - 370, 371, 372, 373, 0, 0, 72, 369, 374, 375, - 376, 0, 0, 0, 361, 0, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 358, 359, 0, 0, - 0, 0, 399, 0, 360, 0, 0, 356, 357, 362, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 146, 0, 0, 397, 0, 101, 0, 0, 0, 73, - 0, 106, 99, 0, 1083, 100, 105, 88, 113, 102, - 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, - 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, - 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, - 93, 90, 67, 116, 91, 89, 84, 78, 0, 0, - 0, 109, 120, 133, 0, 0, 127, 128, 129, 130, - 95, 71, 81, 107, 389, 398, 395, 396, 393, 394, - 392, 391, 390, 400, 383, 384, 386, 98, 385, 64, - 0, 86, 131, 103, 79, 121, 77, 0, 0, 0, - 0, 85, 388, 87, 0, 0, 108, 94, 0, 0, - 0, 0, 381, 382, 0, 0, 0, 0, 0, 0, - 0, 0, 41, 0, 0, 210, 368, 367, 370, 371, - 372, 373, 0, 0, 72, 369, 374, 375, 376, 0, - 0, 0, 361, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 358, 359, 0, 0, 0, 0, - 399, 0, 360, 0, 0, 356, 357, 362, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, - 0, 397, 0, 101, 0, 0, 0, 73, 0, 106, - 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, - 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, - 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, - 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, - 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, - 120, 133, 0, 0, 127, 128, 129, 130, 95, 71, - 81, 107, 389, 398, 395, 396, 393, 394, 392, 391, - 390, 400, 383, 384, 386, 98, 385, 64, 0, 86, - 131, 103, 79, 121, 77, 0, 0, 0, 0, 85, - 0, 87, 0, 0, 108, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 531, 530, - 540, 541, 533, 534, 535, 536, 537, 538, 539, 532, - 0, 0, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, - 0, 101, 0, 0, 0, 73, 0, 106, 99, 0, - 0, 100, 105, 88, 113, 102, 119, 125, 126, 111, - 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, - 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, - 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, - 91, 89, 84, 78, 0, 0, 0, 109, 120, 133, - 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 0, 86, 131, 103, - 79, 121, 98, 0, 0, 0, 857, 0, 0, 0, - 0, 77, 0, 0, 0, 0, 85, 0, 87, 0, - 0, 108, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 0, 859, 0, 0, 0, 0, 0, 0, 72, - 0, 0, 0, 0, 519, 518, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 146, 0, 0, 0, 0, 101, 0, - 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, + 359, 0, 0, 0, 0, 399, 0, 360, 0, 0, + 356, 357, 362, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 146, 0, 0, 397, 0, 101, 0, + 0, 0, 73, 0, 106, 99, 0, 1084, 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, - 78, 0, 0, 0, 109, 120, 133, 0, 98, 127, - 128, 129, 130, 95, 71, 81, 107, 77, 0, 0, + 78, 0, 0, 0, 109, 120, 133, 0, 0, 127, + 128, 129, 130, 95, 71, 81, 107, 389, 398, 395, + 396, 393, 394, 392, 391, 390, 400, 383, 384, 386, + 98, 385, 64, 0, 86, 131, 103, 79, 121, 77, + 0, 0, 0, 0, 85, 388, 87, 0, 0, 108, + 94, 0, 0, 0, 0, 381, 382, 0, 0, 0, + 0, 0, 0, 0, 0, 41, 0, 0, 210, 368, + 367, 370, 371, 372, 373, 0, 0, 72, 369, 374, + 375, 376, 0, 0, 0, 361, 0, 387, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 358, 359, 0, + 0, 0, 0, 399, 0, 360, 0, 0, 356, 357, + 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 146, 0, 0, 397, 0, 101, 0, 0, 0, + 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, + 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, + 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, + 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, + 118, 93, 90, 67, 116, 91, 89, 84, 78, 0, + 0, 0, 109, 120, 133, 0, 0, 127, 128, 129, + 130, 95, 71, 81, 107, 389, 398, 395, 396, 393, + 394, 392, 391, 390, 400, 383, 384, 386, 98, 385, + 64, 0, 86, 131, 103, 79, 121, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, - 0, 0, 64, 0, 86, 131, 103, 79, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 59, 0, 57, - 0, 0, 0, 60, 101, 0, 0, 0, 73, 0, + 0, 531, 530, 540, 541, 533, 534, 535, 536, 537, + 538, 539, 532, 0, 0, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, @@ -1151,14 +1116,14 @@ var yyAct = [...]int{ 109, 120, 133, 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, - 86, 131, 103, 79, 121, 98, 0, 0, 0, 435, + 86, 131, 103, 79, 121, 98, 0, 0, 0, 857, 0, 0, 0, 0, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 0, 437, 0, 0, 0, 0, - 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 859, 0, 0, 0, 0, + 0, 0, 72, 0, 0, 0, 0, 519, 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, @@ -1168,68 +1133,68 @@ var yyAct = [...]int{ 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, 120, 133, - 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, - 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 98, 0, 64, 0, 86, 131, 103, - 79, 121, 77, 0, 0, 0, 0, 85, 0, 87, - 0, 0, 108, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, - 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 146, 0, 0, 0, 0, 101, - 0, 0, 0, 73, 0, 106, 99, 0, 0, 100, - 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, - 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, - 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, - 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, - 84, 78, 0, 0, 0, 109, 120, 133, 0, 0, - 127, 128, 129, 130, 95, 71, 81, 107, 0, 0, - 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 98, 0, 64, 0, 86, 131, 103, 79, 121, + 0, 98, 127, 128, 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, - 108, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 41, 0, 0, 144, + 108, 94, 0, 0, 0, 64, 0, 86, 131, 103, + 79, 121, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, + 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 146, 0, 0, 0, 0, 101, 0, 0, + 59, 0, 57, 0, 0, 0, 60, 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, - 0, 0, 0, 109, 120, 133, 0, 98, 127, 128, - 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, - 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, - 0, 64, 0, 86, 131, 103, 79, 121, 0, 0, - 0, 0, 0, 0, 0, 62, 0, 0, 599, 0, - 0, 600, 0, 0, 72, 0, 0, 0, 0, 0, + 0, 0, 0, 109, 120, 133, 0, 0, 127, 128, + 129, 130, 95, 71, 81, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 0, 86, 131, 103, 79, 121, 98, 0, + 0, 0, 435, 0, 0, 0, 0, 77, 0, 0, + 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 0, 437, 0, + 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, - 0, 0, 0, 101, 0, 0, 0, 73, 0, 106, - 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, - 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, - 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, - 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, - 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, - 120, 133, 0, 0, 127, 128, 129, 130, 95, 71, - 81, 107, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 64, 0, 86, - 131, 103, 79, 121, 98, 0, 0, 0, 435, 0, - 0, 0, 0, 77, 0, 0, 0, 0, 85, 0, - 87, 0, 0, 108, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 437, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 101, 0, 0, 0, 73, 0, + 106, 99, 0, 0, 100, 105, 88, 113, 102, 119, + 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, + 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, + 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, + 90, 67, 116, 91, 89, 84, 78, 0, 0, 0, + 109, 120, 133, 0, 0, 127, 128, 129, 130, 95, + 71, 81, 107, 0, 0, 19, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 98, 0, 64, 0, + 86, 131, 103, 79, 121, 77, 0, 0, 0, 0, + 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 41, 0, 0, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, + 0, 0, 101, 0, 0, 0, 73, 0, 106, 99, + 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, + 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, + 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, + 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, + 116, 91, 89, 84, 78, 0, 0, 0, 109, 120, + 133, 0, 0, 127, 128, 129, 130, 95, 71, 81, + 107, 0, 0, 19, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 0, 64, 0, 86, 131, + 103, 79, 121, 77, 0, 0, 0, 0, 85, 0, + 87, 0, 0, 108, 94, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, + 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1237,7 +1202,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, - 433, 105, 88, 113, 102, 119, 125, 126, 111, 124, + 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, @@ -1245,8 +1210,8 @@ var yyAct = [...]int{ 98, 127, 128, 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, 64, 0, 86, 131, 103, 79, - 121, 0, 0, 0, 0, 41, 0, 0, 144, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 62, 0, + 0, 599, 0, 0, 600, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1258,63 +1223,14 @@ var yyAct = [...]int{ 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, 0, - 0, 0, 109, 120, 133, 0, 98, 127, 128, 129, - 130, 95, 71, 81, 107, 77, 0, 0, 0, 0, - 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, - 64, 0, 86, 131, 103, 79, 121, 0, 0, 0, - 0, 0, 0, 0, 62, 0, 859, 0, 0, 0, - 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 109, 120, 133, 0, 0, 127, 128, 129, + 130, 95, 71, 81, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, - 0, 0, 101, 0, 0, 0, 73, 0, 106, 99, - 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, - 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, - 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, - 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, - 116, 91, 89, 84, 78, 0, 0, 0, 109, 120, - 133, 0, 98, 127, 128, 129, 130, 95, 71, 81, - 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, - 0, 108, 94, 0, 0, 0, 64, 0, 86, 131, - 103, 79, 121, 0, 0, 0, 0, 0, 0, 0, - 144, 0, 437, 0, 0, 0, 0, 0, 0, 72, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 146, 0, 0, 0, 0, 101, 0, - 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, - 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, - 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, - 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, - 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, - 78, 0, 0, 0, 109, 120, 133, 0, 0, 127, - 128, 129, 130, 95, 71, 81, 107, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 98, 64, 0, 86, 131, 103, 79, 121, 412, - 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, - 108, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 146, 0, 0, 0, 0, 101, 0, 0, - 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, - 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, - 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, - 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, - 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, - 195, 0, 0, 109, 120, 133, 0, 98, 127, 128, - 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, + 64, 0, 86, 131, 103, 79, 121, 98, 0, 0, + 0, 435, 0, 0, 0, 0, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, - 0, 64, 0, 86, 131, 103, 79, 121, 0, 0, - 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 0, 437, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1322,7 +1238,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 101, 0, 0, 0, 73, 0, 106, - 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, + 99, 0, 0, 433, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, @@ -1330,14 +1246,14 @@ var yyAct = [...]int{ 120, 133, 0, 98, 127, 128, 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, 64, 0, 86, - 131, 103, 79, 121, 0, 0, 0, 0, 0, 0, + 131, 103, 79, 121, 0, 0, 0, 0, 41, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 141, 0, 146, 0, 0, 0, 0, 101, + 0, 0, 0, 0, 146, 0, 0, 0, 0, 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, 80, @@ -1347,7 +1263,7 @@ var yyAct = [...]int{ 127, 128, 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, 64, 0, 86, 131, 103, 79, 121, - 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 62, 0, 859, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1364,7 +1280,7 @@ var yyAct = [...]int{ 95, 71, 81, 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, 64, 0, 86, 131, 103, 79, 121, 0, 0, 0, 0, - 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 144, 0, 437, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1377,52 +1293,137 @@ var yyAct = [...]int{ 76, 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, 120, 133, - 0, 98, 127, 128, 129, 130, 95, 71, 81, 107, - 77, 0, 0, 0, 0, 85, 0, 87, 0, 0, - 108, 94, 0, 0, 0, 64, 0, 86, 131, 103, - 79, 121, 0, 0, 0, 0, 0, 0, 0, 144, - 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, + 0, 0, 127, 128, 129, 130, 95, 71, 81, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 64, 0, 86, 131, 103, + 79, 121, 412, 77, 0, 0, 0, 0, 85, 0, + 87, 0, 0, 108, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 146, 0, 0, 0, 0, 101, 0, 0, - 0, 73, 0, 106, 99, 0, 0, 100, 105, 88, - 113, 102, 119, 125, 126, 111, 124, 66, 117, 110, - 92, 82, 83, 65, 0, 104, 76, 80, 75, 97, - 114, 115, 74, 132, 69, 123, 68, 70, 122, 96, - 112, 118, 93, 90, 67, 116, 91, 89, 84, 78, - 0, 0, 0, 109, 120, 133, 0, 98, 127, 128, - 129, 130, 95, 71, 81, 107, 77, 0, 0, 0, - 0, 85, 0, 87, 0, 0, 108, 94, 0, 0, - 0, 64, 0, 86, 131, 103, 79, 121, 0, 0, - 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, + 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, + 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, + 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, + 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, + 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, + 89, 84, 78, 195, 0, 0, 109, 120, 133, 0, + 98, 127, 128, 129, 130, 95, 71, 81, 107, 77, + 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, + 94, 0, 0, 0, 64, 0, 86, 131, 103, 79, + 121, 0, 0, 0, 0, 0, 0, 0, 144, 0, + 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, - 0, 0, 0, 101, 0, 0, 0, 73, 0, 106, - 99, 0, 0, 100, 105, 88, 113, 102, 119, 125, - 126, 111, 124, 66, 117, 110, 92, 82, 83, 65, - 0, 104, 76, 80, 75, 97, 114, 115, 74, 132, - 69, 123, 68, 205, 122, 96, 112, 118, 93, 90, - 67, 116, 91, 89, 84, 78, 0, 0, 0, 109, - 120, 133, 0, 0, 127, 128, 129, 130, 206, 204, - 203, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 64, 0, 86, - 131, 103, 79, 121, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 146, 0, 0, 0, 0, 101, 0, 0, 0, + 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, + 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, + 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, + 115, 74, 132, 69, 123, 68, 70, 122, 96, 112, + 118, 93, 90, 67, 116, 91, 89, 84, 78, 0, + 0, 0, 109, 120, 133, 0, 98, 127, 128, 129, + 130, 95, 71, 81, 107, 77, 0, 0, 0, 0, + 85, 0, 87, 0, 0, 108, 94, 0, 0, 0, + 64, 0, 86, 131, 103, 79, 121, 0, 0, 0, + 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, + 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 141, 0, 146, 0, 0, + 0, 0, 101, 0, 0, 0, 73, 0, 106, 99, + 0, 0, 100, 105, 88, 113, 102, 119, 125, 126, + 111, 124, 66, 117, 110, 92, 82, 83, 65, 0, + 104, 76, 80, 75, 97, 114, 115, 74, 132, 69, + 123, 68, 70, 122, 96, 112, 118, 93, 90, 67, + 116, 91, 89, 84, 78, 0, 0, 0, 109, 120, + 133, 0, 98, 127, 128, 129, 130, 95, 71, 81, + 107, 77, 0, 0, 0, 0, 85, 0, 87, 0, + 0, 108, 94, 0, 0, 0, 64, 0, 86, 131, + 103, 79, 121, 0, 0, 0, 0, 0, 0, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 72, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 146, 0, 0, 0, 0, 101, 0, + 0, 0, 73, 0, 106, 99, 0, 0, 100, 105, + 88, 113, 102, 119, 125, 126, 111, 124, 66, 117, + 110, 92, 82, 83, 65, 0, 104, 76, 80, 75, + 97, 114, 115, 74, 132, 69, 123, 68, 70, 122, + 96, 112, 118, 93, 90, 67, 116, 91, 89, 84, + 78, 0, 0, 0, 109, 120, 133, 0, 98, 127, + 128, 129, 130, 95, 71, 81, 107, 77, 0, 0, + 0, 0, 85, 0, 87, 0, 0, 108, 94, 0, + 0, 0, 64, 0, 86, 131, 103, 79, 121, 0, + 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, + 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 101, 0, 0, 0, 73, 0, + 106, 99, 0, 0, 100, 105, 88, 113, 102, 119, + 125, 126, 111, 124, 66, 117, 110, 92, 82, 83, + 65, 0, 104, 76, 80, 75, 97, 114, 115, 74, + 132, 69, 123, 68, 70, 122, 96, 112, 118, 93, + 90, 67, 116, 91, 89, 84, 78, 0, 0, 0, + 109, 120, 133, 0, 98, 127, 128, 129, 130, 95, + 71, 81, 107, 77, 0, 0, 0, 0, 85, 0, + 87, 0, 0, 108, 94, 0, 0, 0, 64, 0, + 86, 131, 103, 79, 121, 0, 0, 0, 0, 0, + 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, + 101, 0, 0, 0, 73, 0, 106, 99, 0, 0, + 100, 105, 88, 113, 102, 119, 125, 126, 111, 124, + 66, 117, 110, 92, 82, 83, 65, 0, 104, 76, + 80, 75, 97, 114, 115, 74, 132, 69, 123, 68, + 70, 122, 96, 112, 118, 93, 90, 67, 116, 91, + 89, 84, 78, 0, 0, 0, 109, 120, 133, 0, + 98, 127, 128, 129, 130, 95, 71, 81, 107, 77, + 0, 0, 0, 0, 85, 0, 87, 0, 0, 108, + 94, 0, 0, 0, 64, 0, 86, 131, 103, 79, + 121, 0, 0, 0, 0, 0, 0, 0, 210, 0, + 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 146, 0, 0, 0, 0, 101, 0, 0, 0, + 73, 0, 106, 99, 0, 0, 100, 105, 88, 113, + 102, 119, 125, 126, 111, 124, 66, 117, 110, 92, + 82, 83, 65, 0, 104, 76, 80, 75, 97, 114, + 115, 74, 132, 69, 123, 68, 205, 122, 96, 112, + 118, 93, 90, 67, 116, 91, 89, 84, 78, 0, + 0, 0, 109, 120, 133, 0, 0, 127, 128, 129, + 130, 206, 204, 203, 202, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 0, 86, 131, 103, 79, 121, } var yyPact = [...]int{ - 1330, -1000, -156, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 698, 726, -1000, - -1000, -1000, -1000, -1000, 503, 5661, 21, 54, 33, 7616, - 53, 185, 8114, -1000, -1000, -1000, -1000, -1000, 501, -1000, - -1000, -1000, -1000, -1000, 693, 696, 512, 679, 591, -1000, - 23, 6763, 7450, 8280, -1000, 322, 46, 8114, -131, 16, + 1358, -1000, -157, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 713, 732, -1000, + -1000, -1000, -1000, -1000, 543, 5674, -3, 35, 18, 7629, + 34, 185, 8127, -1000, -1000, -1000, -1000, -1000, 517, -1000, + -1000, -1000, -1000, -1000, 698, 711, 542, 686, 612, -1000, + -4, 6776, 7463, 8293, -1000, 382, 27, 8127, -129, -9, -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, @@ -1430,17 +1431,17 @@ 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, 29, 8114, -1000, 8114, 13, 306, - 13, 8114, -1000, 75, -1000, -1000, -1000, 8114, 304, 628, - 30, 2702, 2702, 2702, 2702, -29, 2702, 2702, 541, -1000, - -1000, -1000, -1000, 2702, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 326, 632, 4734, 4734, 698, -1000, 501, -1000, - -1000, -1000, 625, -1000, -1000, 182, 7284, 475, 702, -1000, - -1000, -1000, 665, 6234, 6597, 8114, 496, -1000, 384, 7948, - 3120, -1000, -1000, -1000, -1000, 622, -1000, 121, -1000, 74, - -1000, -1000, 430, -1000, 1478, 302, 2702, 24, 8114, 140, - 8114, 2702, 25, 8114, 658, 540, 8114, -1000, 3747, -1000, - 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, -1000, -1000, + -1000, -1000, -1000, -1000, 31, 8127, -1000, 8127, -14, 380, + -14, 8127, -1000, 76, -1000, -1000, -1000, 8127, 378, 662, + 30, 2715, 2715, 2715, 2715, -46, 2715, 2715, 558, -1000, + -1000, -1000, -1000, 2715, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 307, 657, 4747, 4747, 713, -1000, 517, -1000, + -1000, -1000, 656, -1000, -1000, 184, 7297, 497, 617, -1000, + -1000, -1000, 683, 6247, 6610, 8127, 498, -1000, 390, 7961, + 3133, -1000, -1000, -1000, -1000, 648, -1000, 111, -1000, 75, + -1000, -1000, 452, -1000, 1640, 333, 2715, 19, 8127, 140, + 8127, 2715, 13, 8127, 681, 553, 8127, -1000, 3760, -1000, + 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, -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, @@ -1450,102 +1451,102 @@ 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, 2702, 2702, -1000, -1000, 8114, -1000, - -1000, -1000, -1000, 721, 97, 274, -1000, 4734, 1168, 464, - 464, -1000, -1000, 65, -1000, -1000, 5110, 5110, 5110, 5110, - 5110, 5110, 5110, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 464, 73, -1000, - 4537, 464, 464, 464, 464, 464, 464, 4734, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 462, -1000, 293, 693, 326, 591, 6400, 576, -1000, - -1000, 0, 8114, -1000, 7948, 6763, 6763, 6763, 6763, 6763, - -1000, 585, 582, -1000, 571, 563, 554, 8114, -1000, 424, - 326, 6234, 87, 464, -1000, 7095, -1000, -1000, 0, 6763, - 8114, -1000, -1000, 7948, 384, -1000, -1000, -1000, -1000, 4734, - 3538, 2284, 160, 186, -97, -1000, -1000, 468, -1000, 468, - 468, 468, 468, -77, -77, -77, -77, -1000, -1000, -1000, - -1000, -1000, 500, -1000, 468, 468, 468, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 499, 499, 499, 473, 473, - 497, -1000, 8114, -1000, 657, 76, -1000, 8114, -1000, -1000, - 8114, 2702, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 602, 4734, 4734, - 344, 4734, 4734, 112, 5110, 232, 132, 5110, 5110, 5110, - 5110, 5110, 5110, 5110, 5110, 5110, 5110, 5110, 5110, 5110, - 5110, 5110, 277, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 294, -1000, 501, 607, 607, 81, 81, 81, 81, - 81, 81, 5298, 3944, 3538, 414, 217, 4537, 4338, 4338, - 4734, 4734, 4338, 685, 124, 217, 7782, -1000, 326, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 4338, 4338, 4338, 4338, - 4734, -1000, -1000, -1000, 632, -1000, 685, 697, -1000, 614, - 610, 4338, -1000, 494, 464, -1000, 486, 702, 515, 523, - 962, -1000, -1000, -1000, -1000, 581, -1000, 579, -1000, -1000, - -1000, -1000, -1000, 326, -1000, 44, 43, 42, 7782, -1000, - 713, 461, -1000, -1000, -1000, 217, -1000, 72, -1000, 458, - 2075, -1000, -1000, -1000, -1000, -1000, -1000, 490, 649, 146, - 292, -1000, -1000, 630, -1000, 164, -108, -1000, -1000, 234, - -77, -77, -1000, -1000, 80, 618, 80, 80, 80, 267, - -1000, -1000, -1000, -1000, 230, -1000, -1000, -1000, 227, -1000, - 522, 7782, 2702, -1000, -1000, 145, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -3, -1000, - 2702, -1000, 595, 112, 155, -1000, -1000, 298, -1000, -1000, - 217, 217, 1322, -1000, -1000, -1000, -1000, 232, 5110, 5110, - 5110, 28, 1322, 1305, 596, 1020, 81, 150, 150, 123, - 123, 123, 123, 123, 211, 211, -1000, -1000, -1000, 326, - -1000, -1000, -1000, 326, 4338, 456, -1000, -1000, 5495, 70, - 464, 4734, -1000, 392, 392, 270, 259, 392, 4338, 204, - -1000, 4734, 326, -1000, 392, 326, 392, 392, -1000, -1000, - 8114, -1000, -1000, -1000, -1000, 452, 520, 7948, 464, -1000, - 6046, 7782, 698, 4734, -1000, -1000, 4734, 489, -1000, 4734, - -1000, -1000, -1000, -1000, 464, 464, 464, 375, -1000, 698, - -1000, 3329, 2284, -1000, 2284, 7782, -1000, 291, -1000, -1000, - 517, 22, -1000, -1000, -1000, 381, 80, 80, -1000, 276, - 163, -1000, -1000, -1000, 412, -1000, 446, 407, 8114, -1000, - -1000, -1000, 8114, -1000, -1000, -1000, -1000, -1000, 7782, -1000, - -1000, -1000, -1000, -1000, -1000, 28, 1322, 1273, -1000, 5110, - 5110, -1000, -1000, 392, 4338, -1000, -1000, 6929, -1000, -1000, - 2911, 4338, 217, -1000, -1000, 139, 277, 139, -139, 455, - 126, -1000, 4734, 355, -1000, -1000, -1000, -1000, -1000, -1000, - 713, 6763, -1000, 651, 380, 396, -1000, -1000, 4141, 326, - 390, 69, 375, 693, 217, 217, 7782, 217, 7782, 7782, - 7782, 5858, 7782, 693, -1000, 2075, -1000, 373, -1000, 468, - -1000, -93, 719, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 263, 207, -1000, 200, 2702, - -1000, -1000, 653, -1000, 5110, 1322, 1322, -1000, -1000, -1000, - -1000, 68, 326, 326, 468, 468, -1000, 468, 473, -1000, - 468, -41, 468, -59, 326, 326, 464, -136, -1000, 217, - 4734, 711, 398, 648, -1000, 464, -1000, -1000, 557, 7782, - 7782, -1000, -1000, 360, -1000, 301, 301, 301, 87, -1000, - -1000, -1000, 7782, -1000, 120, -1000, -120, -1000, 348, 334, - -1000, 464, 1322, 2493, -1000, -1000, -1000, 50, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 5110, 326, 257, 217, - 701, 695, 718, -1000, 464, -1000, 501, 63, -1000, 7782, - -1000, -1000, -1000, -1000, -1000, -1000, 162, 647, -1000, 633, - -1000, -1000, -1000, -16, -1000, -1000, -1000, 2, -1000, -1000, - -1000, 4734, 4734, 7948, 396, 326, 7782, -1000, -1000, 241, - -1000, -1000, 288, -1000, 7782, 326, 20, -147, 217, 394, - 384, -1000, -1000, -1000, -1000, -16, 608, -1000, 594, -143, - -151, -1000, -19, -1000, 589, -1000, -22, -145, 464, -149, - 4922, -153, 1080, 326, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 2715, 2715, -1000, -1000, 8127, -1000, + -1000, -1000, -1000, 727, 100, 360, -1000, 4747, 1364, 476, + 476, -1000, -1000, 51, -1000, -1000, 5123, 5123, 5123, 5123, + 5123, 5123, 5123, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 476, 73, -1000, + 4550, 476, 476, 476, 476, 476, 476, 4747, 476, 476, + 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, + 476, 472, -1000, 293, 698, 307, 612, 6413, 578, -1000, + -1000, -29, 8127, -1000, 7961, 6776, 6776, 6776, 6776, 6776, + -1000, 601, 590, -1000, 600, 571, 586, 8127, -1000, 419, + 307, 6247, 57, 476, -1000, 7108, -1000, -1000, -29, 6776, + 8127, -1000, -1000, 7961, 390, -1000, -1000, -1000, -1000, 4747, + 3551, 2297, 87, 180, -94, -1000, -1000, 487, -1000, 487, + 487, 487, 487, -72, -72, -72, -72, -1000, -1000, -1000, + -1000, -1000, 541, -1000, 487, 487, 487, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 521, 521, 521, 491, 491, + 505, -1000, 8127, -1000, 680, 85, -1000, 8127, -1000, -1000, + 8127, 2715, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 618, 4747, 4747, + 217, 4747, 4747, 79, 5123, 227, 169, 5123, 5123, 5123, + 5123, 5123, 5123, 5123, 5123, 5123, 5123, 5123, 5123, 5123, + 5123, 5123, 225, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 325, -1000, 517, 506, 506, 82, 82, 82, 82, + 82, 82, 5311, 3957, 3551, 370, 195, 4550, 4351, 4351, + 4747, 4747, 4351, 692, 130, 195, 7795, -1000, 307, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 4351, 4351, 4351, 4351, + 4747, -1000, -1000, -1000, 657, -1000, 692, 705, -1000, 635, + 634, 4351, -1000, 591, 476, -1000, 504, 617, 525, 552, + 638, -1000, -1000, -1000, -1000, 587, -1000, 572, -1000, -1000, + -1000, -1000, -1000, 307, -1000, 26, 24, 22, 7795, -1000, + 720, 440, -1000, -1000, -1000, 195, -1000, 72, -1000, 465, + 2088, -1000, -1000, -1000, -1000, -1000, -1000, 518, 671, 132, + 292, -1000, -1000, 664, -1000, 155, -102, -1000, -1000, 233, + -72, -72, -1000, -1000, 41, 640, 41, 41, 41, 246, + -1000, -1000, -1000, -1000, 228, -1000, -1000, -1000, 210, -1000, + 551, 7795, 2715, -1000, -1000, 135, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -30, -1000, + 2715, -1000, 610, 79, 138, -1000, -1000, 261, -1000, -1000, + 195, 195, 1144, -1000, -1000, -1000, -1000, 227, 5123, 5123, + 5123, 852, 1144, 1446, 245, 663, 82, 74, 74, 81, + 81, 81, 81, 81, 211, 211, -1000, -1000, -1000, 307, + -1000, -1000, -1000, 307, 4351, 463, -1000, -1000, 5508, 68, + 476, 4747, -1000, 311, 311, 375, 345, 311, 4351, 168, + -1000, 4747, 307, -1000, 311, 307, 311, 311, -1000, -1000, + 8127, -1000, -1000, -1000, -1000, 500, 550, 7961, 476, -1000, + 6059, 7795, 713, 4747, -1000, -1000, 4747, 503, -1000, 4747, + -1000, -1000, -1000, -1000, 476, 476, 476, 303, -1000, 713, + -1000, 3342, 2297, -1000, 2297, 7795, -1000, 279, -1000, -1000, + 548, 23, -1000, -1000, -1000, 387, 41, 41, -1000, 259, + 83, -1000, -1000, -1000, 351, -1000, 458, 349, 8127, -1000, + -1000, -1000, 8127, -1000, -1000, -1000, -1000, -1000, 7795, -1000, + -1000, -1000, -1000, -1000, -1000, 852, 1144, 1404, -1000, 5123, + 5123, -1000, -1000, 311, 4351, -1000, -1000, 6942, -1000, -1000, + 2924, 4351, 195, -1000, -1000, 139, 225, 139, -138, 435, + 125, -1000, 4747, 144, -1000, -1000, -1000, -1000, -1000, -1000, + 720, 6776, -1000, 673, 459, 409, -1000, -1000, 4154, 307, + 306, 61, 303, 698, 195, 195, 7795, 195, 7795, 7795, + 7795, 5871, 7795, 698, -1000, 2088, -1000, 301, -1000, 487, + -1000, -87, 726, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 237, 201, -1000, 192, 2715, + -1000, -1000, 675, -1000, 5123, 1144, 1144, -1000, -1000, -1000, + -1000, 58, 307, 307, 487, 487, -1000, 487, 491, -1000, + 487, -54, 487, -55, 307, 307, 476, -135, -1000, 195, + 4747, 718, 445, 670, -1000, 476, -1000, -1000, 468, 7795, + 7795, -1000, -1000, 278, -1000, 270, 270, 270, 57, -1000, + -1000, 505, 7795, -1000, 104, -1000, -119, -1000, 385, 371, + -1000, 476, 1144, 2506, -1000, -1000, -1000, 37, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 5123, 307, 235, 195, + 716, 709, 725, -1000, 476, -1000, 517, 55, -1000, 7795, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 161, 668, -1000, + 667, -1000, -1000, -1000, -32, -1000, -1000, -1000, 29, -1000, + -1000, -1000, 4747, 4747, 7961, 409, 307, 7795, -1000, -1000, + 196, -1000, -1000, 267, -1000, 7795, 307, 21, -149, 195, + 394, 390, -1000, -1000, -1000, -1000, -32, 624, -1000, 607, + -144, -152, -1000, -37, -1000, 605, -1000, -39, -147, 476, + -150, 4935, -153, 1119, 307, -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 910, 24, 602, 908, 907, 906, 905, 903, 902, - 900, 898, 895, 894, 892, 887, 886, 878, 876, 873, - 87, 872, 870, 869, 44, 868, 56, 867, 866, 29, - 54, 22, 26, 162, 865, 19, 74, 53, 864, 41, - 862, 861, 860, 854, 55, 851, 846, 1095, 844, 843, - 10, 23, 842, 841, 839, 838, 51, 46, 835, 832, - 829, 828, 827, 825, 36, 3, 5, 4, 11, 824, - 439, 6, 823, 34, 821, 819, 818, 816, 20, 814, - 43, 812, 17, 42, 811, 16, 50, 33, 14, 8, - 810, 48, 809, 569, 808, 115, 807, 806, 804, 800, - 792, 791, 30, 300, 909, 28, 27, 789, 788, 1162, - 32, 49, 18, 787, 40, 38, 21, 785, 782, 15, - 780, 778, 777, 776, 775, 774, 138, 773, 772, 771, - 9, 35, 770, 769, 57, 13, 768, 764, 763, 762, - 45, 761, 37, 760, 759, 758, 31, 12, 757, 7, - 756, 755, 2, 750, 747, 738, 0, 82, 737, 735, - 165, + 0, 923, 28, 618, 922, 919, 917, 913, 912, 910, + 909, 908, 907, 905, 904, 898, 897, 896, 880, 879, + 87, 876, 875, 873, 41, 871, 56, 870, 869, 26, + 44, 22, 30, 102, 868, 19, 88, 64, 867, 37, + 866, 865, 862, 861, 53, 858, 857, 1111, 856, 855, + 8, 21, 853, 847, 845, 844, 51, 49, 843, 842, + 840, 839, 836, 835, 35, 2, 5, 4, 13, 833, + 696, 12, 831, 45, 828, 826, 825, 822, 24, 821, + 46, 820, 17, 43, 818, 15, 58, 33, 18, 6, + 817, 48, 816, 558, 814, 100, 813, 812, 811, 810, + 808, 34, 300, 852, 27, 25, 806, 804, 11, 1174, + 32, 55, 16, 800, 40, 38, 20, 799, 794, 23, + 792, 791, 788, 787, 786, 785, 84, 782, 780, 778, + 10, 42, 777, 776, 54, 9, 775, 774, 773, 772, + 50, 771, 36, 766, 765, 750, 31, 14, 749, 7, + 747, 746, 3, 745, 744, 743, 0, 83, 742, 738, + 74, } var yyR1 = [...]int{ @@ -1553,7 +1554,7 @@ var yyR1 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 23, 23, 7, 8, 8, 158, 158, 42, 42, 86, 86, 9, - 9, 9, 90, 90, 90, 108, 108, 117, 117, 10, + 9, 9, 90, 90, 90, 107, 107, 117, 117, 10, 10, 10, 10, 15, 143, 144, 144, 144, 140, 120, 120, 120, 123, 123, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 124, 124, 124, 124, @@ -1571,7 +1572,7 @@ var yyR1 = [...]int{ 17, 17, 118, 118, 118, 18, 18, 19, 19, 19, 19, 19, 159, 20, 21, 21, 22, 22, 22, 26, 26, 26, 24, 24, 25, 25, 31, 31, 30, 30, - 32, 32, 32, 32, 107, 107, 107, 106, 106, 34, + 32, 32, 32, 32, 106, 106, 106, 105, 105, 34, 34, 35, 35, 36, 36, 37, 37, 37, 49, 49, 85, 85, 87, 87, 38, 38, 38, 38, 39, 39, 40, 40, 41, 41, 113, 113, 112, 112, 112, 111, @@ -1598,23 +1599,23 @@ var yyR1 = [...]int{ 89, 89, 91, 92, 92, 95, 95, 96, 96, 93, 93, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 99, 99, 100, 100, 100, - 101, 101, 104, 104, 105, 105, 109, 109, 110, 110, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, + 108, 108, 103, 103, 104, 104, 109, 109, 110, 110, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 156, + 102, 102, 102, 102, 102, 102, 102, 102, 102, 156, 157, 114, 115, 115, 115, } var yyR2 = [...]int{ @@ -1632,7 +1633,7 @@ var yyR2 = [...]int{ 5, 0, 3, 5, 0, 1, 0, 1, 0, 1, 2, 0, 2, 2, 2, 2, 2, 0, 3, 0, 1, 0, 3, 3, 0, 2, 0, 2, 1, 2, - 1, 0, 2, 4, 2, 3, 2, 2, 1, 1, + 1, 0, 2, 5, 2, 3, 2, 2, 1, 1, 1, 3, 2, 0, 1, 3, 1, 2, 3, 1, 1, 1, 6, 7, 7, 4, 5, 7, 1, 3, 8, 8, 5, 4, 6, 5, 3, 2, 3, 4, @@ -1695,7 +1696,7 @@ var yyChk = [...]int{ 115, 124, 48, 24, 125, 126, 129, 130, -156, 7, 201, 52, -155, 214, -78, 14, -22, 5, -20, -159, -20, -20, -20, -20, -143, 52, -100, 118, 69, 116, - 122, -104, 55, -103, 207, 149, 143, 170, 162, 160, + 122, -103, 55, -102, 207, 149, 143, 170, 162, 160, 163, 189, 64, 127, 158, 154, 152, 26, 175, 212, 153, 190, 147, 148, 174, 31, 209, 33, 135, 173, 169, 172, 146, 168, 37, 188, 165, 155, 17, 130, @@ -1703,17 +1704,17 @@ var yyChk = [...]int{ 145, 141, 166, 136, 156, 157, 171, 144, 167, 138, 180, 213, 164, 161, 142, 139, 140, 184, 185, 186, 187, 210, 159, 181, -93, 118, 120, 116, 116, 117, - 118, 116, -47, -109, 55, -103, 118, 116, 105, 163, + 118, 116, -47, -109, 55, -102, 118, 116, 105, 163, 111, 182, 117, 31, 137, -118, 116, 183, 140, 184, 185, 186, 187, 55, 191, 190, -109, -114, -114, -114, -114, -114, -2, -82, 16, 15, -5, -3, -156, 6, 19, 20, -26, 38, 39, -21, -93, -35, -36, -37, -38, -49, -70, -156, -47, 10, -42, -47, -89, -117, - -90, -91, 191, 190, 189, 163, 188, -71, -104, -109, - 55, -103, -144, -140, 55, 117, -47, 201, -96, 121, + -90, -91, 191, 190, 189, 163, 188, -71, -103, -109, + 55, -102, -144, -140, 55, 117, -47, 201, -96, 121, 116, -47, -47, -95, 121, 55, -95, -47, 108, -47, 55, 29, 193, 55, 137, 116, 138, 118, -115, -156, - -105, -104, -102, 70, 21, 23, 177, 73, 105, 15, + -104, -103, -101, 70, 21, 23, 177, 73, 105, 15, 74, 104, 202, 111, 46, 194, 195, 192, 193, 182, 28, 9, 24, 125, 20, 98, 113, 77, 78, 128, 22, 126, 68, 18, 49, 10, 12, 13, 121, 120, @@ -1726,20 +1727,20 @@ var yyChk = [...]int{ -157, 54, -83, 18, 30, -33, -52, 71, -57, 28, 22, -56, -53, -71, -69, -70, 105, 106, 94, 95, 102, 72, 107, -61, -59, -60, -62, 57, 56, 65, - 58, 59, 60, 61, 66, 67, 68, -104, -109, -67, + 58, 59, 60, 61, 66, 67, 68, -103, -109, -67, -156, 42, 43, 202, 203, 206, 204, 74, 32, 192, 200, 199, 198, 196, 197, 194, 195, 121, 193, 100, 201, -79, -80, -33, -78, -2, -20, 34, -24, 20, 63, -48, 25, -47, 29, 53, -43, -45, -44, -46, 40, 44, 46, 41, 42, 43, 47, -113, 21, -35, -2, -156, -112, 133, -111, 21, -109, 57, -47, -158, - 53, 10, 51, 53, -89, -108, -105, 57, 29, 79, + 53, 10, 51, 53, -89, -107, -104, 57, 29, 79, 108, 54, 53, -120, -123, -125, -124, -121, -122, 160, 161, 105, 164, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 127, 156, 157, 158, 159, 143, 144, 145, 146, 147, 148, 149, 151, 152, 153, 154, 155, 55, -115, 118, -47, 71, -47, -115, 119, -47, 22, - 50, -47, -110, -109, -102, -115, -115, -115, -115, -115, + 50, -47, -110, -109, -101, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -47, 8, 89, 70, 69, 86, 53, 17, -33, -54, 89, 71, 87, 88, 73, 91, 90, 101, 94, 95, 96, 97, 98, 99, 100, @@ -1748,56 +1749,56 @@ var yyChk = [...]int{ -57, -57, -57, -156, 108, -65, -33, -156, -156, -156, -156, -156, -156, -156, -74, -33, -156, -160, -156, -160, -160, -160, -160, -160, -160, -160, -156, -156, -156, -156, - 53, -81, 23, 24, -82, -157, -26, -58, -104, 58, + 53, -81, 23, 24, -82, -157, -26, -58, -103, 58, 61, -25, 41, -86, 133, -47, -89, -36, -37, -37, -36, -37, 40, 40, 40, 45, 40, 45, 40, -44, -109, -157, -157, -2, -50, 48, 120, 49, -156, -111, - -86, -35, -47, -91, -114, -33, -105, -110, -102, -145, - -146, -147, -105, 57, 58, -140, -141, -148, 123, 122, + -86, -35, -47, -91, -114, -33, -104, -110, -101, -145, + -146, -147, -104, 57, 58, -140, -141, -148, 123, 122, -142, 117, 27, -136, 66, 71, -132, 180, -126, 52, -126, -126, -126, -126, -130, 163, -130, -130, -130, 52, -126, -126, -126, -134, 52, -134, -134, -135, 52, -135, - -101, 51, -47, 22, -97, 114, -153, 112, 177, 163, + -108, 51, -47, 22, -97, 114, -153, 112, 177, 163, 64, 28, 113, 14, 202, 133, 213, 55, 134, -47, -47, -115, 36, -33, -33, -63, 66, 71, 67, 68, -33, -33, -57, -64, -67, -70, 62, 89, 87, 88, 73, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -116, 55, 57, 55, - -56, -56, -104, -31, 20, -30, -32, 96, -33, -109, - -105, 53, -157, -30, -30, -33, -33, -30, -24, -72, - -73, 75, -104, -157, -30, -31, -30, -30, -80, -83, + -56, -56, -103, -31, 20, -30, -32, 96, -33, -109, + -104, 53, -157, -30, -30, -33, -33, -30, -24, -72, + -73, 75, -103, -157, -30, -31, -30, -30, -80, -83, -92, 18, 10, 32, 32, -30, -55, 29, 32, -2, -156, -156, -51, 11, -40, -39, 50, 51, -41, 50, - -39, 40, 40, -157, 117, 117, 117, -87, -104, -51, + -39, 40, 40, -157, 117, 117, 117, -87, -103, -51, -51, 108, 53, -147, 79, 52, 27, -142, 55, 55, -127, 28, 66, -133, 181, 58, -130, -130, -131, 104, - 29, -131, -131, -131, -139, 57, 58, 58, 50, -104, + 29, -131, -131, -131, -139, 57, 58, 58, 50, -103, -115, -114, -98, -99, 119, 21, 117, 27, 133, -115, 37, 66, 67, 68, -64, -57, -57, -57, -29, 128, - 70, -157, -157, -30, 53, -107, -106, 21, -104, 57, + 70, -157, -157, -30, 53, -106, -105, 21, -103, 57, 108, -156, -33, -157, -157, 53, 51, 21, -157, -30, -75, -73, 77, -33, -157, -157, -157, -157, -157, -47, -34, 10, -88, 50, -89, -66, -68, -67, -156, -2, - -84, -104, -87, -78, -33, -33, 52, -33, -156, -156, - -156, -157, 53, -78, -105, -146, -147, -150, -149, -104, + -84, -103, -87, -78, -33, -33, 52, -33, -156, -156, + -156, -157, 53, -78, -104, -146, -147, -150, -149, -103, 55, -129, 50, 57, 58, 59, 66, 192, 54, -131, -131, 55, 55, 105, 54, 53, 53, 54, 53, -47, - -47, -114, -104, -29, 70, -57, -57, -157, -32, -106, + -47, -114, -103, -29, 70, -57, -57, -157, -32, -105, 96, -110, -31, -119, 105, 160, 127, 158, 154, 174, 165, 179, 156, 180, -116, -119, 207, -78, 78, -33, 76, -51, -35, 26, -88, 53, -157, -157, -157, 53, - 108, -157, -82, -85, -104, -85, -85, -85, -112, -104, + 108, -157, -82, -85, -103, -85, -85, -85, -112, -103, -82, 54, 53, -126, -137, 177, 8, 57, 58, 58, -115, 25, -57, 108, -157, -157, -126, -126, -126, -135, -126, 148, -126, 148, -157, -157, -156, -28, 205, -33, - -76, 12, 27, -68, 32, -2, -156, -104, -104, 53, - 54, -157, -157, -157, -50, -149, -138, 123, 27, 122, - 192, 54, 54, -156, 96, -130, 55, -57, -157, 57, - -77, 13, 15, 8, -66, -2, 108, -104, -128, 64, - 27, 27, -151, -152, 133, -27, 89, 210, -33, -65, - -89, -157, -104, 57, -157, 53, -104, -157, 208, 47, - 211, -152, 32, 37, 209, 212, 135, 37, 136, 210, - -156, 211, -57, 132, 212, -157, -157, + -76, 12, 27, -68, 32, -2, -156, -103, -103, 53, + 54, -157, -157, -157, -50, -108, -149, -138, 123, 27, + 122, 192, 54, 54, -156, 96, -130, 55, -57, -157, + 57, -77, 13, 15, 8, -66, -2, 108, -103, -128, + 64, 27, 27, -151, -152, 133, -27, 89, 210, -33, + -65, -89, -157, -103, 57, -157, 53, -103, -157, 208, + 47, 211, -152, 32, 37, 209, 212, 135, 37, 136, + 210, -156, 211, -57, 132, 212, -157, -157, } var yyDef = [...]int{ @@ -1899,17 +1900,17 @@ var yyDef = [...]int{ 97, 395, 97, 398, 0, 0, 0, 402, 364, 408, 0, 423, 230, 0, 27, 0, 457, -2, 0, 0, 0, 38, 30, 0, 240, 0, 0, 0, 275, 243, - 31, 133, 0, 142, 126, 120, 0, 96, 0, 0, + 31, 490, 0, 142, 126, 120, 0, 96, 0, 0, 50, 0, 300, 0, 356, 359, 387, 121, 391, 392, 394, 396, 397, 399, 361, 360, 0, 0, 0, 406, 425, 0, 0, 455, 0, -2, 0, 450, 449, 0, - 249, 276, 277, 278, 239, 141, 131, 0, 128, 130, - 118, 100, 103, 0, 223, 388, 389, 380, 363, 403, - 21, 0, 0, 0, 445, 22, 0, 241, 58, 0, - 127, 129, 0, 158, 0, 0, 0, 0, 426, 424, - 453, -2, 451, 132, 157, 0, 0, 362, 0, 0, - 0, 159, 0, 381, 0, 384, 0, 382, 0, 0, - 0, 0, 0, 0, 383, 160, 161, + 249, 276, 277, 278, 239, 133, 141, 131, 0, 128, + 130, 118, 100, 103, 0, 223, 388, 389, 380, 363, + 403, 21, 0, 0, 0, 445, 22, 0, 241, 58, + 0, 127, 129, 0, 158, 0, 0, 0, 0, 426, + 424, 453, -2, 451, 132, 157, 0, 0, 362, 0, + 0, 0, 159, 0, 381, 0, 384, 0, 382, 0, + 0, 0, 0, 0, 0, 383, 160, 161, } var yyTok1 = [...]int{ @@ -3023,10 +3024,10 @@ yydefault: yyVAL.optVal = NewStrVal(yyDollar[2].bytes) } case 133: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:864 { - yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns} + yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Using: yyDollar[5].colIdent} } case 134: yyDollar = yyS[yypt-2 : yypt+1] @@ -5141,13 +5142,13 @@ yydefault: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2459 { - yyVAL.empty = struct{}{} + yyVAL.colIdent = ColIdent{} } case 491: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2461 { - yyVAL.empty = struct{}{} + yyVAL.colIdent = yyDollar[2].colIdent } case 492: yyDollar = yyS[yypt-1 : yypt+1] diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 72fedb7ee3e..bf224694911 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -238,9 +238,9 @@ func forceEOF(yylex interface{}) { %type for_from %type ignore_opt default_opt %type exists_opt -%type not_exists_opt non_rename_operation to_opt index_opt constraint_opt using_opt +%type not_exists_opt non_rename_operation to_opt index_opt constraint_opt %type reserved_keyword non_reserved_keyword -%type sql_id reserved_sql_id col_alias as_ci_opt charset_value +%type sql_id reserved_sql_id col_alias as_ci_opt charset_value using_opt %type table_id reserved_table_id table_alias as_opt_id %type as_opt %type force_eof ddl_force_eof @@ -860,9 +860,9 @@ column_comment_opt: } index_definition: - index_info '(' index_column_list ')' + index_info '(' index_column_list ')' using_opt { - $$ = &IndexDefinition{Info: $1, Columns: $3} + $$ = &IndexDefinition{Info: $1, Columns: $3, Using: $5} } index_info: @@ -2456,9 +2456,9 @@ constraint_opt: { $$ = struct{}{} } using_opt: - { $$ = struct{}{} } + { $$ = ColIdent{} } | USING sql_id - { $$ = struct{}{} } + { $$ = $2 } sql_id: ID