diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 798eaf219d5f1c56ec6b194ae4c6fc81f38c9610..c0dd832ae19ae91eda15b785f66915e7365a692e 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -646,16 +646,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6302 +#define YYLAST 6157 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 140 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 70 +#define YYNNTS 72 /* YYNRULES -- Number of rules. */ -#define YYNRULES 352 +#define YYNRULES 353 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1242 +#define YYNSTATES 1240 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -721,243 +721,242 @@ static const yytype_uint16 yyprhs[] = 227, 229, 234, 242, 252, 259, 266, 270, 277, 282, 289, 299, 306, 316, 322, 331, 340, 352, 359, 369, 375, 383, 393, 403, 415, 425, 435, 437, 439, 440, - 446, 454, 463, 470, 478, 486, 494, 504, 512, 522, - 540, 548, 556, 568, 577, 586, 595, 605, 609, 614, - 625, 633, 641, 650, 659, 668, 676, 685, 691, 703, - 709, 719, 724, 734, 744, 746, 748, 749, 752, 759, - 766, 773, 780, 785, 792, 799, 803, 808, 814, 818, - 822, 827, 832, 836, 844, 852, 856, 864, 868, 871, - 874, 890, 893, 900, 909, 918, 929, 931, 934, 936, - 940, 945, 947, 953, 965, 979, 980, 988, 989, 1003, - 1004, 1020, 1021, 1028, 1037, 1046, 1055, 1068, 1081, 1094, - 1109, 1124, 1139, 1140, 1153, 1154, 1167, 1168, 1181, 1182, - 1199, 1200, 1217, 1218, 1235, 1236, 1255, 1256, 1275, 1276, - 1295, 1297, 1300, 1306, 1314, 1324, 1327, 1337, 1338, 1342, - 1343, 1345, 1353, 1363, 1372, 1381, 1388, 1393, 1400, 1411, - 1422, 1433, 1444, 1447, 1451, 1453, 1457, 1460, 1463, 1466, - 1470, 1474, 1478, 1482, 1486, 1490, 1494, 1498, 1502, 1506, - 1510, 1514, 1518, 1522, 1528, 1533, 1538, 1543, 1548, 1553, - 1558, 1563, 1568, 1573, 1578, 1585, 1590, 1595, 1600, 1605, - 1610, 1615, 1622, 1629, 1636, 1641, 1646, 1651, 1656, 1661, - 1666, 1671, 1676, 1681, 1686, 1691, 1698, 1703, 1708, 1713, - 1718, 1723, 1728, 1735, 1742, 1749, 1754, 1756, 1758, 1760, - 1762, 1764, 1766, 1768, 1770, 1776, 1781, 1786, 1789, 1795, - 1799, 1806, 1811, 1819, 1826, 1828, 1831, 1834, 1838, 1842, - 1854, 1864, 1872, 1880, 1882, 1886, 1888, 1890, 1893, 1897, - 1902, 1908, 1911, 1915, 1919, 1925, 1930, 1932, 1934, 1938, - 1945, 1947, 1949, 1953, 1957, 1967, 1975, 1977, 1983, 1987, - 1994, 1996, 2000, 2002, 2004, 2008, 2015, 2017, 2019, 2026, - 2031, 2036, 2041 + 446, 447, 450, 458, 467, 474, 482, 490, 499, 508, + 526, 534, 542, 554, 563, 572, 581, 591, 595, 600, + 611, 619, 627, 636, 645, 654, 662, 671, 677, 689, + 695, 705, 710, 720, 730, 732, 734, 735, 738, 745, + 752, 759, 766, 771, 778, 785, 789, 794, 800, 804, + 808, 813, 818, 822, 830, 838, 842, 850, 854, 857, + 860, 876, 879, 886, 895, 904, 915, 917, 920, 922, + 926, 931, 933, 939, 951, 965, 966, 974, 975, 989, + 990, 1006, 1007, 1014, 1023, 1032, 1041, 1054, 1067, 1080, + 1095, 1110, 1125, 1126, 1139, 1140, 1153, 1154, 1167, 1168, + 1185, 1186, 1203, 1204, 1221, 1222, 1241, 1242, 1261, 1262, + 1281, 1283, 1286, 1292, 1300, 1310, 1313, 1323, 1324, 1328, + 1329, 1331, 1332, 1335, 1343, 1353, 1362, 1371, 1377, 1384, + 1395, 1406, 1417, 1428, 1431, 1435, 1437, 1441, 1444, 1447, + 1450, 1454, 1458, 1462, 1466, 1470, 1474, 1478, 1482, 1486, + 1490, 1494, 1498, 1502, 1506, 1512, 1517, 1522, 1527, 1532, + 1537, 1542, 1547, 1552, 1557, 1562, 1569, 1574, 1579, 1584, + 1589, 1594, 1599, 1606, 1613, 1620, 1625, 1630, 1635, 1640, + 1645, 1650, 1655, 1660, 1665, 1670, 1675, 1682, 1687, 1692, + 1697, 1702, 1707, 1712, 1719, 1726, 1733, 1738, 1740, 1742, + 1744, 1746, 1748, 1750, 1752, 1754, 1760, 1765, 1770, 1773, + 1779, 1783, 1790, 1795, 1803, 1810, 1812, 1815, 1818, 1822, + 1826, 1838, 1848, 1856, 1864, 1866, 1870, 1872, 1874, 1877, + 1881, 1886, 1892, 1895, 1899, 1903, 1909, 1914, 1916, 1918, + 1922, 1929, 1931, 1933, 1937, 1941, 1951, 1959, 1961, 1967, + 1971, 1978, 1980, 1984, 1986, 1988, 1992, 1999, 2001, 2003, + 2010, 2015, 2020, 2025 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 141, 0, -1, 142, -1, 1, 6, -1, -1, 142, - 143, -1, 146, -1, 145, -1, 164, -1, 167, -1, - 168, -1, 171, -1, 172, -1, 173, -1, 176, -1, - 194, -1, 195, -1, 196, -1, 175, -1, 174, -1, + 143, -1, 146, -1, 145, -1, 164, -1, 168, -1, + 169, -1, 172, -1, 173, -1, 174, -1, 177, -1, + 196, -1, 197, -1, 198, -1, 176, -1, 175, -1, 117, -1, 117, 117, -1, 35, 130, 5, 131, 6, - -1, 35, 130, 5, 131, 144, 208, 6, -1, 35, - 130, 5, 136, 204, 131, 6, -1, 35, 130, 5, - 136, 204, 131, 144, 208, 6, -1, 4, 5, 137, - 147, 138, 6, -1, 77, 4, 132, 197, 133, 6, - -1, 78, 4, 132, 197, 133, 6, -1, -1, 147, + -1, 35, 130, 5, 131, 144, 210, 6, -1, 35, + 130, 5, 136, 206, 131, 6, -1, 35, 130, 5, + 136, 206, 131, 144, 210, 6, -1, 4, 5, 137, + 147, 138, 6, -1, 77, 4, 132, 199, 133, 6, + -1, 78, 4, 132, 199, 133, 6, -1, -1, 147, 150, -1, 147, 154, -1, 147, 157, -1, 147, 159, - -1, 147, 160, -1, 197, -1, 148, 136, 197, -1, - 197, -1, 149, 136, 197, -1, -1, -1, 4, 151, - 130, 148, 131, 152, 137, 149, 138, 6, -1, 208, - -1, 153, 136, 208, -1, -1, 79, 130, 197, 136, - 197, 136, 197, 131, 155, 137, 153, 138, 6, -1, - 208, -1, 156, 136, 208, -1, -1, 80, 130, 197, - 136, 197, 136, 197, 136, 197, 131, 158, 137, 156, - 138, 6, -1, 81, 137, 201, 138, 137, 201, 138, - 6, -1, 81, 137, 201, 138, 137, 201, 138, 137, - 201, 138, 137, 201, 138, 6, -1, -1, 82, 161, + -1, 147, 160, -1, 199, -1, 148, 136, 199, -1, + 199, -1, 149, 136, 199, -1, -1, -1, 4, 151, + 130, 148, 131, 152, 137, 149, 138, 6, -1, 210, + -1, 153, 136, 210, -1, -1, 79, 130, 199, 136, + 199, 136, 199, 131, 155, 137, 153, 138, 6, -1, + 210, -1, 156, 136, 210, -1, -1, 80, 130, 199, + 136, 199, 136, 199, 136, 199, 131, 158, 137, 156, + 138, 6, -1, 81, 137, 203, 138, 137, 203, 138, + 6, -1, 81, 137, 203, 138, 137, 203, 138, 137, + 203, 138, 137, 203, 138, 6, -1, -1, 82, 161, 137, 149, 138, 6, -1, 7, -1, 110, -1, 109, -1, 108, -1, 107, -1, 128, -1, 127, -1, 4, - 162, 197, 6, -1, 4, 132, 197, 133, 162, 197, - 6, -1, 4, 132, 137, 204, 138, 133, 162, 202, - 6, -1, 4, 132, 133, 7, 202, 6, -1, 4, - 132, 133, 110, 202, 6, -1, 4, 163, 6, -1, - 4, 132, 197, 133, 163, 6, -1, 4, 7, 209, - 6, -1, 4, 134, 4, 7, 209, 6, -1, 4, - 132, 197, 133, 134, 4, 7, 209, 6, -1, 4, - 134, 4, 162, 197, 6, -1, 4, 132, 197, 133, - 134, 4, 162, 197, 6, -1, 4, 134, 4, 163, - 6, -1, 4, 132, 197, 133, 134, 4, 163, 6, - -1, 4, 134, 89, 134, 4, 7, 205, 6, -1, - 4, 132, 197, 133, 134, 89, 134, 4, 7, 205, - 6, -1, 4, 134, 90, 7, 206, 6, -1, 4, - 132, 197, 133, 134, 90, 7, 206, 6, -1, 4, - 97, 7, 197, 6, -1, 97, 132, 197, 133, 7, - 4, 6, -1, 97, 132, 197, 133, 134, 4, 7, - 197, 6, -1, 97, 132, 197, 133, 134, 4, 7, - 209, 6, -1, 97, 132, 197, 133, 134, 4, 7, - 137, 204, 138, 6, -1, 62, 130, 4, 131, 134, - 4, 7, 197, 6, -1, 62, 130, 4, 131, 134, - 4, 7, 209, 6, -1, 197, -1, 209, -1, -1, - 92, 47, 137, 197, 138, -1, 43, 130, 197, 131, - 7, 199, 6, -1, 60, 43, 130, 165, 131, 7, - 202, 6, -1, 52, 53, 202, 7, 197, 6, -1, - 46, 130, 197, 131, 7, 202, 6, -1, 50, 130, - 197, 131, 7, 202, 6, -1, 44, 130, 197, 131, - 7, 202, 6, -1, 44, 130, 197, 131, 7, 202, - 56, 199, 6, -1, 45, 130, 197, 131, 7, 202, - 6, -1, 45, 130, 197, 131, 7, 202, 56, 199, - 6, -1, 54, 130, 197, 131, 7, 137, 197, 136, - 197, 136, 5, 136, 5, 136, 5, 138, 6, -1, - 84, 130, 197, 131, 7, 202, 6, -1, 85, 130, - 197, 131, 7, 202, 6, -1, 86, 130, 197, 131, - 7, 202, 88, 202, 87, 197, 6, -1, 46, 68, - 130, 197, 131, 7, 202, 6, -1, 60, 46, 130, - 165, 131, 7, 202, 6, -1, 56, 49, 130, 197, - 131, 7, 202, 6, -1, 57, 49, 130, 197, 131, - 7, 202, 166, 6, -1, 12, 13, 6, -1, 13, - 49, 197, 6, -1, 54, 49, 130, 197, 131, 7, - 5, 5, 5, 6, -1, 47, 130, 197, 131, 7, - 202, 6, -1, 48, 130, 197, 131, 7, 202, 6, - -1, 49, 68, 130, 197, 131, 7, 202, 6, -1, - 60, 49, 130, 165, 131, 7, 202, 6, -1, 59, - 51, 130, 197, 131, 7, 202, 6, -1, 51, 130, - 197, 131, 7, 202, 6, -1, 60, 51, 130, 165, - 131, 7, 202, 6, -1, 64, 199, 137, 169, 138, - -1, 63, 137, 199, 136, 199, 136, 197, 138, 137, - 169, 138, -1, 65, 199, 137, 169, 138, -1, 66, - 137, 199, 136, 197, 138, 137, 169, 138, -1, 4, - 137, 169, 138, -1, 74, 46, 137, 204, 138, 49, - 137, 197, 138, -1, 71, 46, 130, 197, 131, 137, - 204, 138, 6, -1, 170, -1, 168, -1, -1, 170, - 167, -1, 170, 43, 137, 204, 138, 6, -1, 170, - 46, 137, 204, 138, 6, -1, 170, 49, 137, 204, - 138, 6, -1, 170, 51, 137, 204, 138, 6, -1, - 72, 137, 170, 138, -1, 72, 97, 132, 197, 133, - 6, -1, 72, 4, 132, 197, 133, 6, -1, 72, - 4, 6, -1, 72, 4, 4, 6, -1, 89, 205, - 137, 170, 138, -1, 101, 208, 6, -1, 102, 208, - 6, -1, 101, 137, 170, 138, -1, 102, 137, 170, - 138, -1, 4, 209, 6, -1, 4, 4, 132, 197, - 133, 208, 6, -1, 4, 4, 4, 132, 197, 133, - 6, -1, 4, 197, 6, -1, 62, 130, 4, 131, - 134, 4, 6, -1, 83, 4, 6, -1, 96, 6, - -1, 40, 6, -1, 40, 137, 197, 136, 197, 136, - 197, 136, 197, 136, 197, 136, 197, 138, 6, -1, - 41, 6, -1, 91, 130, 197, 8, 197, 131, -1, - 91, 130, 197, 8, 197, 8, 197, 131, -1, 91, - 4, 92, 137, 197, 8, 197, 138, -1, 91, 4, - 92, 137, 197, 8, 197, 8, 197, 138, -1, 93, - -1, 100, 4, -1, 98, -1, 99, 4, 6, -1, - 94, 130, 197, 131, -1, 95, -1, 67, 199, 137, - 170, 138, -1, 67, 137, 199, 136, 199, 136, 197, - 138, 137, 170, 138, -1, 67, 137, 199, 136, 199, - 136, 199, 136, 197, 138, 137, 170, 138, -1, -1, - 67, 199, 137, 170, 177, 190, 138, -1, -1, 67, - 137, 199, 136, 199, 136, 197, 138, 137, 170, 178, - 190, 138, -1, -1, 67, 137, 199, 136, 199, 136, - 199, 136, 197, 138, 137, 170, 179, 190, 138, -1, - -1, 67, 137, 170, 180, 190, 138, -1, 67, 43, - 137, 197, 136, 199, 138, 6, -1, 67, 46, 137, - 197, 136, 199, 138, 6, -1, 67, 49, 137, 197, - 136, 199, 138, 6, -1, 67, 43, 137, 197, 136, - 199, 136, 199, 136, 197, 138, 6, -1, 67, 46, - 137, 197, 136, 199, 136, 199, 136, 197, 138, 6, - -1, 67, 49, 137, 197, 136, 199, 136, 199, 136, - 197, 138, 6, -1, 67, 43, 137, 197, 136, 199, - 136, 199, 136, 199, 136, 197, 138, 6, -1, 67, - 46, 137, 197, 136, 199, 136, 199, 136, 199, 136, - 197, 138, 6, -1, 67, 49, 137, 197, 136, 199, - 136, 199, 136, 199, 136, 197, 138, 6, -1, -1, - 67, 43, 137, 197, 136, 199, 138, 181, 137, 190, - 138, 6, -1, -1, 67, 46, 137, 197, 136, 199, - 138, 182, 137, 190, 138, 6, -1, -1, 67, 49, - 137, 197, 136, 199, 138, 183, 137, 190, 138, 6, - -1, -1, 67, 43, 137, 197, 136, 199, 136, 199, - 136, 197, 138, 184, 137, 190, 138, 6, -1, -1, - 67, 46, 137, 197, 136, 199, 136, 199, 136, 197, - 138, 185, 137, 190, 138, 6, -1, -1, 67, 49, - 137, 197, 136, 199, 136, 199, 136, 197, 138, 186, - 137, 190, 138, 6, -1, -1, 67, 43, 137, 197, - 136, 199, 136, 199, 136, 199, 136, 197, 138, 187, - 137, 190, 138, 6, -1, -1, 67, 46, 137, 197, - 136, 199, 136, 199, 136, 199, 136, 197, 138, 188, - 137, 190, 138, 6, -1, -1, 67, 49, 137, 197, - 136, 199, 136, 199, 136, 199, 136, 197, 138, 189, - 137, 190, 138, 6, -1, 191, -1, 190, 191, -1, - 75, 137, 197, 138, 6, -1, 75, 137, 202, 136, - 202, 138, 6, -1, 75, 137, 202, 136, 202, 136, - 202, 138, 6, -1, 69, 6, -1, 76, 130, 197, - 131, 7, 202, 61, 197, 6, -1, -1, 61, 4, - 197, -1, -1, 4, -1, 58, 46, 202, 7, 197, - 192, 6, -1, 58, 49, 137, 197, 138, 7, 202, - 193, 6, -1, 55, 49, 137, 197, 138, 7, 202, - 6, -1, 58, 51, 137, 197, 138, 7, 202, 6, - -1, 69, 49, 202, 7, 197, 6, -1, 69, 49, - 202, 6, -1, 70, 49, 202, 7, 197, 6, -1, - 43, 137, 204, 138, 92, 49, 137, 197, 138, 6, - -1, 46, 137, 204, 138, 92, 49, 137, 197, 138, - 6, -1, 46, 137, 204, 138, 92, 51, 137, 197, - 138, 6, -1, 49, 137, 204, 138, 92, 51, 137, - 197, 138, 6, -1, 73, 6, -1, 73, 4, 6, - -1, 198, -1, 130, 197, 131, -1, 121, 197, -1, - 120, 197, -1, 125, 197, -1, 197, 121, 197, -1, - 197, 120, 197, -1, 197, 122, 197, -1, 197, 123, - 197, -1, 197, 124, 197, -1, 197, 129, 197, -1, - 197, 116, 197, -1, 197, 117, 197, -1, 197, 119, - 197, -1, 197, 118, 197, -1, 197, 115, 197, -1, - 197, 114, 197, -1, 197, 113, 197, -1, 197, 112, - 197, -1, 197, 111, 197, 8, 197, -1, 14, 130, - 197, 131, -1, 15, 130, 197, 131, -1, 16, 130, - 197, 131, -1, 17, 130, 197, 131, -1, 18, 130, - 197, 131, -1, 19, 130, 197, 131, -1, 20, 130, - 197, 131, -1, 21, 130, 197, 131, -1, 22, 130, - 197, 131, -1, 24, 130, 197, 131, -1, 25, 130, - 197, 136, 197, 131, -1, 26, 130, 197, 131, -1, - 27, 130, 197, 131, -1, 28, 130, 197, 131, -1, - 29, 130, 197, 131, -1, 30, 130, 197, 131, -1, - 31, 130, 197, 131, -1, 32, 130, 197, 136, 197, - 131, -1, 33, 130, 197, 136, 197, 131, -1, 34, - 130, 197, 136, 197, 131, -1, 23, 130, 197, 131, - -1, 14, 132, 197, 133, -1, 15, 132, 197, 133, - -1, 16, 132, 197, 133, -1, 17, 132, 197, 133, - -1, 18, 132, 197, 133, -1, 19, 132, 197, 133, - -1, 20, 132, 197, 133, -1, 21, 132, 197, 133, - -1, 22, 132, 197, 133, -1, 24, 132, 197, 133, - -1, 25, 132, 197, 136, 197, 133, -1, 26, 132, - 197, 133, -1, 27, 132, 197, 133, -1, 28, 132, - 197, 133, -1, 29, 132, 197, 133, -1, 30, 132, - 197, 133, -1, 31, 132, 197, 133, -1, 32, 132, - 197, 136, 197, 133, -1, 33, 132, 197, 136, 197, - 133, -1, 34, 132, 197, 136, 197, 133, -1, 23, - 132, 197, 133, -1, 3, -1, 9, -1, 10, -1, - 11, -1, 104, -1, 105, -1, 106, -1, 4, -1, - 4, 139, 137, 197, 138, -1, 4, 132, 197, 133, - -1, 135, 4, 132, 133, -1, 4, 163, -1, 4, - 132, 197, 133, 163, -1, 4, 134, 4, -1, 4, - 132, 197, 133, 134, 4, -1, 4, 134, 4, 163, - -1, 4, 132, 197, 133, 134, 4, 163, -1, 103, - 130, 5, 136, 197, 131, -1, 200, -1, 121, 199, - -1, 120, 199, -1, 199, 121, 199, -1, 199, 120, - 199, -1, 137, 197, 136, 197, 136, 197, 136, 197, - 136, 197, 138, -1, 137, 197, 136, 197, 136, 197, - 136, 197, 138, -1, 137, 197, 136, 197, 136, 197, - 138, -1, 130, 197, 136, 197, 136, 197, 131, -1, - 202, -1, 201, 136, 202, -1, 197, -1, 203, -1, - 137, 138, -1, 137, 204, 138, -1, 121, 137, 204, - 138, -1, 197, 122, 137, 204, 138, -1, 121, 203, - -1, 197, 122, 203, -1, 197, 8, 197, -1, 197, - 8, 197, 8, 197, -1, 43, 137, 197, 138, -1, - 168, -1, 176, -1, 4, 132, 133, -1, 4, 132, - 137, 204, 138, 133, -1, 197, -1, 203, -1, 204, - 136, 197, -1, 204, 136, 203, -1, 137, 197, 136, - 197, 136, 197, 136, 197, 138, -1, 137, 197, 136, - 197, 136, 197, 138, -1, 4, -1, 4, 134, 89, - 134, 4, -1, 137, 207, 138, -1, 4, 132, 197, - 133, 134, 90, -1, 205, -1, 207, 136, 205, -1, - 209, -1, 4, -1, 4, 134, 4, -1, 4, 132, - 197, 133, 134, 4, -1, 5, -1, 42, -1, 37, - 130, 208, 136, 208, 131, -1, 38, 130, 208, 131, - -1, 39, 130, 208, 131, -1, 36, 130, 208, 131, - -1, 36, 130, 208, 136, 204, 131, -1 + 162, 199, 6, -1, 4, 132, 199, 133, 162, 199, + 6, -1, 4, 132, 137, 206, 138, 133, 162, 204, + 6, -1, 4, 132, 133, 7, 204, 6, -1, 4, + 132, 133, 110, 204, 6, -1, 4, 163, 6, -1, + 4, 132, 199, 133, 163, 6, -1, 4, 7, 211, + 6, -1, 4, 134, 4, 7, 211, 6, -1, 4, + 132, 199, 133, 134, 4, 7, 211, 6, -1, 4, + 134, 4, 162, 199, 6, -1, 4, 132, 199, 133, + 134, 4, 162, 199, 6, -1, 4, 134, 4, 163, + 6, -1, 4, 132, 199, 133, 134, 4, 163, 6, + -1, 4, 134, 89, 134, 4, 7, 207, 6, -1, + 4, 132, 199, 133, 134, 89, 134, 4, 7, 207, + 6, -1, 4, 134, 90, 7, 208, 6, -1, 4, + 132, 199, 133, 134, 90, 7, 208, 6, -1, 4, + 97, 7, 199, 6, -1, 97, 132, 199, 133, 7, + 4, 6, -1, 97, 132, 199, 133, 134, 4, 7, + 199, 6, -1, 97, 132, 199, 133, 134, 4, 7, + 211, 6, -1, 97, 132, 199, 133, 134, 4, 7, + 137, 206, 138, 6, -1, 62, 130, 4, 131, 134, + 4, 7, 199, 6, -1, 62, 130, 4, 131, 134, + 4, 7, 211, 6, -1, 199, -1, 211, -1, -1, + 92, 47, 137, 199, 138, -1, -1, 56, 201, -1, + 43, 130, 199, 131, 7, 201, 6, -1, 60, 43, + 130, 165, 131, 7, 204, 6, -1, 52, 53, 204, + 7, 199, 6, -1, 46, 130, 199, 131, 7, 204, + 6, -1, 50, 130, 199, 131, 7, 204, 6, -1, + 44, 130, 199, 131, 7, 204, 167, 6, -1, 45, + 130, 199, 131, 7, 204, 167, 6, -1, 54, 130, + 199, 131, 7, 137, 199, 136, 199, 136, 5, 136, + 5, 136, 5, 138, 6, -1, 84, 130, 199, 131, + 7, 204, 6, -1, 85, 130, 199, 131, 7, 204, + 6, -1, 86, 130, 199, 131, 7, 204, 88, 204, + 87, 199, 6, -1, 46, 68, 130, 199, 131, 7, + 204, 6, -1, 60, 46, 130, 165, 131, 7, 204, + 6, -1, 56, 49, 130, 199, 131, 7, 204, 6, + -1, 57, 49, 130, 199, 131, 7, 204, 166, 6, + -1, 12, 13, 6, -1, 13, 49, 199, 6, -1, + 54, 49, 130, 199, 131, 7, 5, 5, 5, 6, + -1, 47, 130, 199, 131, 7, 204, 6, -1, 48, + 130, 199, 131, 7, 204, 6, -1, 49, 68, 130, + 199, 131, 7, 204, 6, -1, 60, 49, 130, 165, + 131, 7, 204, 6, -1, 59, 51, 130, 199, 131, + 7, 204, 6, -1, 51, 130, 199, 131, 7, 204, + 6, -1, 60, 51, 130, 165, 131, 7, 204, 6, + -1, 64, 201, 137, 170, 138, -1, 63, 137, 201, + 136, 201, 136, 199, 138, 137, 170, 138, -1, 65, + 201, 137, 170, 138, -1, 66, 137, 201, 136, 199, + 138, 137, 170, 138, -1, 4, 137, 170, 138, -1, + 74, 46, 137, 206, 138, 49, 137, 199, 138, -1, + 71, 46, 130, 199, 131, 137, 206, 138, 6, -1, + 171, -1, 169, -1, -1, 171, 168, -1, 171, 43, + 137, 206, 138, 6, -1, 171, 46, 137, 206, 138, + 6, -1, 171, 49, 137, 206, 138, 6, -1, 171, + 51, 137, 206, 138, 6, -1, 72, 137, 171, 138, + -1, 72, 97, 132, 199, 133, 6, -1, 72, 4, + 132, 199, 133, 6, -1, 72, 4, 6, -1, 72, + 4, 4, 6, -1, 89, 207, 137, 171, 138, -1, + 101, 210, 6, -1, 102, 210, 6, -1, 101, 137, + 171, 138, -1, 102, 137, 171, 138, -1, 4, 211, + 6, -1, 4, 4, 132, 199, 133, 210, 6, -1, + 4, 4, 4, 132, 199, 133, 6, -1, 4, 199, + 6, -1, 62, 130, 4, 131, 134, 4, 6, -1, + 83, 4, 6, -1, 96, 6, -1, 40, 6, -1, + 40, 137, 199, 136, 199, 136, 199, 136, 199, 136, + 199, 136, 199, 138, 6, -1, 41, 6, -1, 91, + 130, 199, 8, 199, 131, -1, 91, 130, 199, 8, + 199, 8, 199, 131, -1, 91, 4, 92, 137, 199, + 8, 199, 138, -1, 91, 4, 92, 137, 199, 8, + 199, 8, 199, 138, -1, 93, -1, 100, 4, -1, + 98, -1, 99, 4, 6, -1, 94, 130, 199, 131, + -1, 95, -1, 67, 201, 137, 171, 138, -1, 67, + 137, 201, 136, 201, 136, 199, 138, 137, 171, 138, + -1, 67, 137, 201, 136, 201, 136, 201, 136, 199, + 138, 137, 171, 138, -1, -1, 67, 201, 137, 171, + 178, 191, 138, -1, -1, 67, 137, 201, 136, 201, + 136, 199, 138, 137, 171, 179, 191, 138, -1, -1, + 67, 137, 201, 136, 201, 136, 201, 136, 199, 138, + 137, 171, 180, 191, 138, -1, -1, 67, 137, 171, + 181, 191, 138, -1, 67, 43, 137, 199, 136, 201, + 138, 6, -1, 67, 46, 137, 199, 136, 201, 138, + 6, -1, 67, 49, 137, 199, 136, 201, 138, 6, + -1, 67, 43, 137, 199, 136, 201, 136, 201, 136, + 199, 138, 6, -1, 67, 46, 137, 199, 136, 201, + 136, 201, 136, 199, 138, 6, -1, 67, 49, 137, + 199, 136, 201, 136, 201, 136, 199, 138, 6, -1, + 67, 43, 137, 199, 136, 201, 136, 201, 136, 201, + 136, 199, 138, 6, -1, 67, 46, 137, 199, 136, + 201, 136, 201, 136, 201, 136, 199, 138, 6, -1, + 67, 49, 137, 199, 136, 201, 136, 201, 136, 201, + 136, 199, 138, 6, -1, -1, 67, 43, 137, 199, + 136, 201, 138, 182, 137, 191, 138, 6, -1, -1, + 67, 46, 137, 199, 136, 201, 138, 183, 137, 191, + 138, 6, -1, -1, 67, 49, 137, 199, 136, 201, + 138, 184, 137, 191, 138, 6, -1, -1, 67, 43, + 137, 199, 136, 201, 136, 201, 136, 199, 138, 185, + 137, 191, 138, 6, -1, -1, 67, 46, 137, 199, + 136, 201, 136, 201, 136, 199, 138, 186, 137, 191, + 138, 6, -1, -1, 67, 49, 137, 199, 136, 201, + 136, 201, 136, 199, 138, 187, 137, 191, 138, 6, + -1, -1, 67, 43, 137, 199, 136, 201, 136, 201, + 136, 201, 136, 199, 138, 188, 137, 191, 138, 6, + -1, -1, 67, 46, 137, 199, 136, 201, 136, 201, + 136, 201, 136, 199, 138, 189, 137, 191, 138, 6, + -1, -1, 67, 49, 137, 199, 136, 201, 136, 201, + 136, 201, 136, 199, 138, 190, 137, 191, 138, 6, + -1, 192, -1, 191, 192, -1, 75, 137, 199, 138, + 6, -1, 75, 137, 204, 136, 204, 138, 6, -1, + 75, 137, 204, 136, 204, 136, 204, 138, 6, -1, + 69, 6, -1, 76, 130, 199, 131, 7, 204, 61, + 199, 6, -1, -1, 61, 4, 199, -1, -1, 4, + -1, -1, 7, 199, -1, 58, 46, 204, 7, 199, + 193, 6, -1, 58, 49, 137, 199, 138, 7, 204, + 194, 6, -1, 55, 49, 137, 199, 138, 7, 204, + 6, -1, 58, 51, 137, 199, 138, 7, 204, 6, + -1, 69, 49, 204, 195, 6, -1, 70, 49, 204, + 7, 199, 6, -1, 43, 137, 206, 138, 92, 49, + 137, 199, 138, 6, -1, 46, 137, 206, 138, 92, + 49, 137, 199, 138, 6, -1, 46, 137, 206, 138, + 92, 51, 137, 199, 138, 6, -1, 49, 137, 206, + 138, 92, 51, 137, 199, 138, 6, -1, 73, 6, + -1, 73, 4, 6, -1, 200, -1, 130, 199, 131, + -1, 121, 199, -1, 120, 199, -1, 125, 199, -1, + 199, 121, 199, -1, 199, 120, 199, -1, 199, 122, + 199, -1, 199, 123, 199, -1, 199, 124, 199, -1, + 199, 129, 199, -1, 199, 116, 199, -1, 199, 117, + 199, -1, 199, 119, 199, -1, 199, 118, 199, -1, + 199, 115, 199, -1, 199, 114, 199, -1, 199, 113, + 199, -1, 199, 112, 199, -1, 199, 111, 199, 8, + 199, -1, 14, 130, 199, 131, -1, 15, 130, 199, + 131, -1, 16, 130, 199, 131, -1, 17, 130, 199, + 131, -1, 18, 130, 199, 131, -1, 19, 130, 199, + 131, -1, 20, 130, 199, 131, -1, 21, 130, 199, + 131, -1, 22, 130, 199, 131, -1, 24, 130, 199, + 131, -1, 25, 130, 199, 136, 199, 131, -1, 26, + 130, 199, 131, -1, 27, 130, 199, 131, -1, 28, + 130, 199, 131, -1, 29, 130, 199, 131, -1, 30, + 130, 199, 131, -1, 31, 130, 199, 131, -1, 32, + 130, 199, 136, 199, 131, -1, 33, 130, 199, 136, + 199, 131, -1, 34, 130, 199, 136, 199, 131, -1, + 23, 130, 199, 131, -1, 14, 132, 199, 133, -1, + 15, 132, 199, 133, -1, 16, 132, 199, 133, -1, + 17, 132, 199, 133, -1, 18, 132, 199, 133, -1, + 19, 132, 199, 133, -1, 20, 132, 199, 133, -1, + 21, 132, 199, 133, -1, 22, 132, 199, 133, -1, + 24, 132, 199, 133, -1, 25, 132, 199, 136, 199, + 133, -1, 26, 132, 199, 133, -1, 27, 132, 199, + 133, -1, 28, 132, 199, 133, -1, 29, 132, 199, + 133, -1, 30, 132, 199, 133, -1, 31, 132, 199, + 133, -1, 32, 132, 199, 136, 199, 133, -1, 33, + 132, 199, 136, 199, 133, -1, 34, 132, 199, 136, + 199, 133, -1, 23, 132, 199, 133, -1, 3, -1, + 9, -1, 10, -1, 11, -1, 104, -1, 105, -1, + 106, -1, 4, -1, 4, 139, 137, 199, 138, -1, + 4, 132, 199, 133, -1, 135, 4, 132, 133, -1, + 4, 163, -1, 4, 132, 199, 133, 163, -1, 4, + 134, 4, -1, 4, 132, 199, 133, 134, 4, -1, + 4, 134, 4, 163, -1, 4, 132, 199, 133, 134, + 4, 163, -1, 103, 130, 5, 136, 199, 131, -1, + 202, -1, 121, 201, -1, 120, 201, -1, 201, 121, + 201, -1, 201, 120, 201, -1, 137, 199, 136, 199, + 136, 199, 136, 199, 136, 199, 138, -1, 137, 199, + 136, 199, 136, 199, 136, 199, 138, -1, 137, 199, + 136, 199, 136, 199, 138, -1, 130, 199, 136, 199, + 136, 199, 131, -1, 204, -1, 203, 136, 204, -1, + 199, -1, 205, -1, 137, 138, -1, 137, 206, 138, + -1, 121, 137, 206, 138, -1, 199, 122, 137, 206, + 138, -1, 121, 205, -1, 199, 122, 205, -1, 199, + 8, 199, -1, 199, 8, 199, 8, 199, -1, 43, + 137, 199, 138, -1, 169, -1, 177, -1, 4, 132, + 133, -1, 4, 132, 137, 206, 138, 133, -1, 199, + -1, 205, -1, 206, 136, 199, -1, 206, 136, 205, + -1, 137, 199, 136, 199, 136, 199, 136, 199, 138, + -1, 137, 199, 136, 199, 136, 199, 138, -1, 4, + -1, 4, 134, 89, 134, 4, -1, 137, 209, 138, + -1, 4, 132, 199, 133, 134, 90, -1, 207, -1, + 209, 136, 207, -1, 211, -1, 4, -1, 4, 134, + 4, -1, 4, 132, 199, 133, 134, 4, -1, 5, + -1, 42, -1, 37, 130, 210, 136, 210, 131, -1, + 38, 130, 210, 131, -1, 39, 130, 210, 131, -1, + 36, 130, 210, 131, -1, 36, 130, 210, 136, 206, + 131, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -972,33 +971,33 @@ static const yytype_uint16 yyrline[] = 600, 607, 629, 656, 696, 706, 714, 722, 734, 743, 748, 756, 774, 792, 801, 813, 818, 826, 846, 869, 876, 882, 902, 923, 949, 961, 978, 982, 992, 995, - 1013, 1036, 1052, 1074, 1092, 1110, 1128, 1154, 1172, 1198, - 1218, 1236, 1254, 1280, 1297, 1316, 1334, 1373, 1379, 1385, - 1392, 1417, 1442, 1458, 1478, 1496, 1513, 1534, 1539, 1544, - 1549, 1554, 1574, 1580, 1591, 1592, 1597, 1600, 1604, 1627, - 1650, 1673, 1701, 1710, 1714, 1729, 1750, 1767, 1781, 1787, - 1793, 1802, 1816, 1864, 1882, 1897, 1916, 1928, 1952, 1956, - 1961, 1966, 1978, 1995, 2012, 2031, 2050, 2078, 2086, 2092, - 2099, 2103, 2112, 2120, 2128, 2137, 2136, 2149, 2148, 2161, - 2160, 2173, 2172, 2185, 2192, 2199, 2206, 2213, 2220, 2227, - 2234, 2241, 2249, 2248, 2260, 2259, 2271, 2270, 2282, 2281, - 2293, 2292, 2304, 2303, 2315, 2314, 2326, 2325, 2337, 2336, - 2351, 2354, 2360, 2369, 2389, 2412, 2416, 2440, 2443, 2459, - 2462, 2475, 2504, 2548, 2553, 2595, 2618, 2638, 2664, 2687, - 2710, 2713, 2722, 2726, 2742, 2743, 2744, 2745, 2746, 2747, - 2748, 2749, 2750, 2757, 2758, 2759, 2760, 2761, 2762, 2763, - 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, - 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, - 2784, 2785, 2786, 2787, 2788, 2790, 2791, 2792, 2793, 2794, - 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, - 2805, 2806, 2807, 2808, 2809, 2810, 2819, 2820, 2821, 2822, - 2823, 2824, 2825, 2829, 2842, 2854, 2869, 2879, 2889, 2907, - 2912, 2917, 2927, 2937, 2945, 2949, 2953, 2957, 2961, 2968, - 2972, 2976, 2980, 2987, 2992, 2999, 3004, 3008, 3013, 3017, - 3025, 3036, 3044, 3052, 3058, 3069, 3089, 3099, 3109, 3119, - 3139, 3144, 3148, 3152, 3164, 3168, 3180, 3187, 3197, 3201, - 3216, 3221, 3228, 3232, 3245, 3253, 3264, 3268, 3276, 3284, - 3298, 3312, 3316 + 1010, 1013, 1023, 1046, 1062, 1084, 1102, 1120, 1150, 1180, + 1200, 1218, 1236, 1262, 1279, 1298, 1316, 1355, 1361, 1367, + 1374, 1399, 1424, 1440, 1460, 1478, 1495, 1516, 1521, 1526, + 1531, 1536, 1556, 1562, 1573, 1574, 1579, 1582, 1586, 1609, + 1632, 1655, 1683, 1692, 1696, 1711, 1732, 1749, 1763, 1769, + 1775, 1784, 1798, 1846, 1864, 1879, 1898, 1910, 1934, 1938, + 1943, 1948, 1960, 1977, 1994, 2013, 2032, 2060, 2068, 2074, + 2081, 2085, 2094, 2102, 2110, 2119, 2118, 2131, 2130, 2143, + 2142, 2155, 2154, 2167, 2174, 2181, 2188, 2195, 2202, 2209, + 2216, 2223, 2231, 2230, 2242, 2241, 2253, 2252, 2264, 2263, + 2275, 2274, 2286, 2285, 2297, 2296, 2308, 2307, 2319, 2318, + 2333, 2336, 2342, 2351, 2371, 2394, 2398, 2422, 2425, 2441, + 2444, 2457, 2460, 2467, 2496, 2540, 2545, 2587, 2609, 2635, + 2658, 2681, 2684, 2693, 2697, 2713, 2714, 2715, 2716, 2717, + 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2731, 2732, 2733, + 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, + 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, + 2754, 2755, 2756, 2757, 2758, 2759, 2761, 2762, 2763, 2764, + 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, + 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2790, 2791, 2792, + 2793, 2794, 2795, 2796, 2800, 2813, 2825, 2840, 2850, 2860, + 2878, 2883, 2888, 2898, 2908, 2916, 2920, 2924, 2928, 2932, + 2939, 2943, 2947, 2951, 2958, 2963, 2970, 2975, 2979, 2984, + 2988, 2996, 3007, 3015, 3023, 3030, 3041, 3061, 3071, 3081, + 3091, 3111, 3116, 3120, 3124, 3136, 3140, 3152, 3159, 3169, + 3173, 3188, 3193, 3200, 3204, 3217, 3225, 3236, 3240, 3248, + 3256, 3270, 3284, 3288 }; #endif @@ -1034,14 +1033,15 @@ static const char *const yytname[] = "ElementCoords", "ElementValues", "Element", "@1", "@2", "Text2DValues", "Text2D", "@3", "Text3DValues", "Text3D", "@4", "InterpolationMatrix", "Time", "@5", "NumericAffectation", "NumericIncrement", "Affectation", - "PhysicalId", "RuledSurfaceOptions", "Shape", "Transform", - "MultipleShape", "ListOfShapes", "Delete", "Colorify", "Visibility", - "Command", "Loop", "Extrude", "@6", "@7", "@8", "@9", "@10", "@11", - "@12", "@13", "@14", "@15", "@16", "@17", "@18", "ExtrudeParameters", - "ExtrudeParameter", "TransfiniteType", "TransfiniteArrangement", - "Transfinite", "Embedding", "Coherence", "FExpr", "FExpr_Single", - "VExpr", "VExpr_Single", "RecursiveListOfListOfDouble", "ListOfDouble", - "FExpr_Multi", "RecursiveListOfDouble", "ColorExpr", "ListOfColor", + "PhysicalId", "RuledSurfaceOptions", "CircleOptions", "Shape", + "Transform", "MultipleShape", "ListOfShapes", "Delete", "Colorify", + "Visibility", "Command", "Loop", "Extrude", "@6", "@7", "@8", "@9", + "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "@18", + "ExtrudeParameters", "ExtrudeParameter", "TransfiniteType", + "TransfiniteArrangement", "RecombineAngle", "Transfinite", "Embedding", + "Coherence", "FExpr", "FExpr_Single", "VExpr", "VExpr_Single", + "RecursiveListOfListOfDouble", "ListOfDouble", "FExpr_Multi", + "RecursiveListOfDouble", "ColorExpr", "ListOfColor", "RecursiveListOfColor", "StringExprVar", "StringExpr", 0 }; #endif @@ -1080,33 +1080,33 @@ static const yytype_uint8 yyr1[] = 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 165, 166, 166, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 168, 168, 168, - 168, 168, 168, 168, 169, 169, 170, 170, 170, 170, - 170, 170, 171, 171, 171, 171, 171, 172, 173, 173, - 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, + 167, 167, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, + 169, 169, 169, 169, 170, 170, 171, 171, 171, 171, + 171, 171, 172, 172, 172, 172, 172, 173, 174, 174, 174, 174, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 176, 176, 176, 177, 176, 178, 176, 179, - 176, 180, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 181, 176, 182, 176, 183, 176, 184, 176, - 185, 176, 186, 176, 187, 176, 188, 176, 189, 176, - 190, 190, 191, 191, 191, 191, 191, 192, 192, 193, - 193, 194, 194, 194, 194, 194, 194, 194, 195, 195, - 195, 195, 196, 196, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 199, 199, 199, 199, 199, 200, - 200, 200, 200, 201, 201, 202, 202, 202, 202, 202, - 202, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 204, 204, 204, 204, 205, 205, 205, 205, 206, 206, - 207, 207, 208, 208, 208, 208, 209, 209, 209, 209, - 209, 209, 209 + 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 177, 177, 177, 178, 177, 179, 177, 180, + 177, 181, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 182, 177, 183, 177, 184, 177, 185, 177, + 186, 177, 187, 177, 188, 177, 189, 177, 190, 177, + 191, 191, 192, 192, 192, 192, 192, 193, 193, 194, + 194, 195, 195, 196, 196, 196, 196, 196, 196, 197, + 197, 197, 197, 198, 198, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, + 202, 202, 202, 202, 203, 203, 204, 204, 204, 204, + 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 206, 206, 206, 206, 207, 207, 207, 207, 208, + 208, 209, 209, 210, 210, 210, 210, 211, 211, 211, + 211, 211, 211, 211 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1121,7 +1121,7 @@ static const yytype_uint8 yyr2[] = 1, 4, 7, 9, 6, 6, 3, 6, 4, 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, 5, 7, 9, 9, 11, 9, 9, 1, 1, 0, 5, - 7, 8, 6, 7, 7, 7, 9, 7, 9, 17, + 0, 2, 7, 8, 6, 7, 7, 8, 8, 17, 7, 7, 11, 8, 8, 8, 9, 3, 4, 10, 7, 7, 8, 8, 8, 7, 8, 5, 11, 5, 9, 4, 9, 9, 1, 1, 0, 2, 6, 6, @@ -1133,21 +1133,21 @@ static const yytype_uint8 yyr2[] = 14, 14, 0, 12, 0, 12, 0, 12, 0, 16, 0, 16, 0, 16, 0, 18, 0, 18, 0, 18, 1, 2, 5, 7, 9, 2, 9, 0, 3, 0, - 1, 7, 9, 8, 8, 6, 4, 6, 10, 10, - 10, 10, 2, 3, 1, 3, 2, 2, 2, 3, + 1, 0, 2, 7, 9, 8, 8, 5, 6, 10, + 10, 10, 10, 2, 3, 1, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, - 4, 6, 6, 6, 4, 4, 4, 4, 4, 4, + 3, 3, 3, 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, - 4, 4, 6, 6, 6, 4, 1, 1, 1, 1, - 1, 1, 1, 1, 5, 4, 4, 2, 5, 3, - 6, 4, 7, 6, 1, 2, 2, 3, 3, 11, - 9, 7, 7, 1, 3, 1, 1, 2, 3, 4, - 5, 2, 3, 3, 5, 4, 1, 1, 3, 6, - 1, 1, 3, 3, 9, 7, 1, 5, 3, 6, - 1, 3, 1, 1, 3, 6, 1, 1, 6, 4, - 4, 4, 6 + 4, 4, 6, 6, 6, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, + 4, 4, 4, 6, 6, 6, 4, 1, 1, 1, + 1, 1, 1, 1, 1, 5, 4, 4, 2, 5, + 3, 6, 4, 7, 6, 1, 2, 2, 3, 3, + 11, 9, 7, 7, 1, 3, 1, 1, 2, 3, + 4, 5, 2, 3, 3, 5, 4, 1, 1, 3, + 6, 1, 1, 3, 3, 9, 7, 1, 5, 3, + 6, 1, 3, 1, 1, 3, 6, 1, 1, 6, + 4, 4, 4, 6 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1162,280 +1162,280 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 161, 0, 0, 158, 0, 0, 0, 0, 5, 7, 6, 8, 9, 10, 11, 12, 13, 19, 18, - 14, 15, 16, 17, 286, 293, 346, 54, 287, 288, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 15, 16, 17, 287, 294, 347, 54, 288, 289, + 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 347, 0, 0, 290, - 291, 292, 58, 57, 56, 55, 0, 0, 0, 60, - 59, 0, 0, 0, 0, 126, 0, 0, 0, 224, + 0, 0, 0, 0, 0, 0, 348, 0, 0, 291, + 292, 293, 58, 57, 56, 55, 0, 0, 0, 60, + 59, 0, 0, 0, 0, 126, 0, 0, 0, 225, 0, 0, 0, 0, 149, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 0, 126, 0, 222, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, - 148, 0, 0, 157, 343, 346, 126, 0, 342, 126, - 0, 0, 0, 0, 0, 297, 29, 0, 0, 0, + 0, 305, 0, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 0, 0, 126, 0, 223, 0, 0, 0, + 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, + 148, 0, 0, 157, 344, 347, 126, 0, 343, 126, + 0, 0, 0, 0, 0, 298, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 227, 226, 228, + 0, 0, 0, 0, 0, 0, 294, 228, 227, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 124, 0, 66, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 142, 107, 0, 0, 0, 0, 293, 0, 0, 326, - 327, 330, 331, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 315, 0, 316, + 142, 107, 0, 0, 0, 0, 294, 0, 0, 327, + 328, 331, 332, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 316, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 306, 305, 0, 0, 0, + 0, 0, 0, 0, 0, 307, 306, 0, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 126, 0, 0, 0, 0, 135, 0, 0, - 0, 223, 0, 0, 0, 147, 0, 0, 0, 0, + 171, 0, 126, 211, 0, 0, 0, 135, 0, 0, + 0, 224, 0, 0, 0, 147, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 159, 0, 0, 0, - 138, 0, 139, 0, 0, 299, 0, 0, 68, 0, + 138, 0, 139, 0, 0, 300, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 121, - 0, 0, 0, 0, 127, 61, 0, 242, 241, 240, - 239, 235, 236, 238, 237, 230, 229, 231, 232, 233, - 234, 108, 0, 0, 0, 0, 0, 0, 226, 321, + 0, 0, 0, 0, 127, 61, 0, 243, 242, 241, + 240, 236, 237, 239, 238, 231, 230, 232, 233, 234, + 235, 108, 0, 0, 0, 0, 0, 0, 227, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 87, 0, 0, 0, 0, 0, 0, 0, 308, - 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 165, 216, 0, 0, 0, 136, 0, 0, 132, 0, + 86, 87, 0, 0, 0, 0, 0, 0, 0, 309, + 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 165, 0, 0, 0, 0, 136, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 344, 140, 141, 0, 295, 301, 0, + 160, 0, 0, 345, 140, 141, 0, 296, 302, 0, 39, 0, 0, 0, 52, 0, 30, 31, 32, 33, - 34, 244, 265, 245, 266, 246, 267, 247, 268, 248, - 269, 249, 270, 250, 271, 251, 272, 252, 273, 264, - 285, 253, 274, 0, 0, 255, 276, 256, 277, 257, - 278, 258, 279, 259, 280, 260, 281, 0, 0, 0, - 0, 0, 0, 351, 0, 0, 349, 350, 79, 0, + 34, 245, 266, 246, 267, 247, 268, 248, 269, 249, + 270, 250, 271, 251, 272, 252, 273, 253, 274, 265, + 286, 254, 275, 0, 0, 256, 277, 257, 278, 258, + 279, 259, 280, 260, 281, 261, 282, 0, 0, 0, + 0, 0, 0, 352, 0, 0, 350, 351, 79, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, - 73, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 22, 20, 0, 0, 0, 0, 328, 0, 0, - 323, 231, 322, 332, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, + 73, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 22, 20, 0, 0, 0, 0, 329, 0, 0, + 324, 232, 323, 333, 334, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 119, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, - 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, - 0, 0, 0, 298, 0, 294, 0, 0, 0, 0, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 295, 64, 65, 0, 0, 0, 0, - 0, 67, 69, 71, 0, 0, 340, 0, 77, 0, - 0, 0, 0, 243, 21, 0, 0, 0, 0, 0, - 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 319, 0, 92, 0, 0, + 162, 0, 212, 217, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, + 0, 0, 0, 0, 299, 0, 295, 0, 0, 0, + 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 296, 64, 65, 0, 0, 0, + 0, 0, 67, 69, 71, 0, 0, 341, 0, 77, + 0, 0, 0, 0, 244, 21, 0, 0, 0, 0, + 0, 326, 0, 0, 90, 90, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 320, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 172, 201, 0, 0, 215, 217, 0, - 134, 133, 0, 27, 28, 0, 0, 0, 337, 0, - 0, 0, 152, 0, 0, 0, 144, 300, 143, 0, - 0, 0, 0, 313, 0, 254, 275, 261, 282, 262, - 283, 263, 284, 352, 348, 303, 0, 54, 0, 0, - 0, 0, 62, 0, 0, 0, 338, 0, 0, 0, - 0, 23, 24, 0, 0, 90, 0, 324, 0, 95, - 0, 97, 0, 0, 93, 0, 0, 110, 111, 0, - 0, 94, 115, 320, 0, 0, 0, 0, 88, 0, - 211, 209, 0, 0, 0, 0, 0, 0, 146, 0, - 0, 0, 0, 126, 0, 182, 0, 184, 0, 186, - 315, 0, 0, 0, 0, 166, 0, 0, 100, 101, - 0, 0, 0, 0, 80, 0, 345, 302, 0, 35, - 0, 0, 0, 0, 0, 37, 0, 0, 0, 74, - 0, 0, 75, 0, 341, 128, 129, 130, 131, 0, - 0, 329, 0, 0, 0, 103, 0, 0, 112, 0, - 0, 0, 213, 105, 0, 0, 208, 210, 0, 214, - 114, 91, 104, 113, 116, 0, 0, 0, 312, 0, - 311, 0, 0, 173, 0, 0, 174, 0, 0, 175, + 0, 205, 0, 0, 172, 201, 0, 0, 218, 0, + 134, 133, 0, 27, 28, 0, 0, 0, 338, 0, + 0, 0, 152, 0, 0, 0, 144, 301, 143, 0, + 0, 0, 0, 314, 0, 255, 276, 262, 283, 263, + 284, 264, 285, 353, 349, 304, 0, 54, 0, 0, + 0, 0, 62, 0, 0, 0, 339, 0, 0, 0, + 0, 23, 24, 0, 0, 92, 0, 325, 0, 0, + 0, 0, 0, 95, 0, 0, 110, 111, 0, 0, + 96, 115, 321, 0, 0, 0, 0, 88, 0, 213, + 209, 0, 0, 0, 0, 0, 0, 146, 0, 0, + 0, 0, 126, 0, 182, 0, 184, 0, 186, 316, + 0, 0, 0, 0, 166, 0, 0, 100, 101, 0, + 0, 0, 0, 80, 0, 346, 303, 0, 35, 0, + 0, 0, 0, 0, 37, 0, 0, 0, 74, 0, + 0, 75, 0, 342, 128, 129, 130, 131, 0, 0, + 330, 0, 91, 97, 98, 103, 0, 0, 112, 0, + 0, 0, 215, 105, 0, 0, 208, 210, 0, 216, + 114, 93, 104, 113, 116, 0, 0, 0, 313, 0, + 312, 0, 0, 173, 0, 0, 174, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 335, 0, 154, 153, 0, 0, 0, 40, 0, 0, - 0, 314, 0, 0, 0, 63, 70, 72, 0, 78, - 0, 25, 0, 0, 96, 98, 0, 0, 0, 0, - 0, 0, 106, 212, 84, 85, 126, 0, 120, 0, - 0, 0, 0, 0, 0, 202, 0, 0, 126, 0, - 123, 122, 0, 0, 0, 0, 81, 82, 0, 36, - 0, 0, 0, 38, 53, 0, 339, 0, 218, 219, - 220, 221, 109, 0, 0, 0, 0, 310, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 167, 0, 0, 334, 155, 0, 0, 0, 0, 0, - 76, 0, 0, 0, 118, 0, 188, 0, 0, 190, - 0, 0, 192, 0, 0, 0, 203, 0, 163, 0, - 126, 102, 83, 0, 44, 0, 50, 0, 0, 0, - 89, 309, 176, 0, 0, 183, 177, 0, 0, 185, - 178, 0, 0, 187, 0, 0, 0, 169, 0, 0, - 0, 0, 0, 0, 0, 194, 0, 196, 0, 198, - 204, 206, 168, 164, 0, 41, 0, 48, 0, 0, - 0, 0, 179, 0, 0, 180, 0, 0, 181, 0, - 0, 0, 42, 0, 0, 150, 0, 0, 0, 0, - 0, 0, 0, 170, 0, 0, 0, 0, 0, 189, - 0, 191, 0, 193, 0, 43, 45, 0, 46, 0, - 99, 0, 0, 0, 0, 0, 51, 195, 197, 199, - 47, 49 + 336, 0, 154, 153, 0, 0, 0, 40, 0, 0, + 0, 315, 0, 0, 0, 63, 70, 72, 0, 78, + 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 106, 214, 84, 85, 126, 0, 120, 0, 0, 0, + 0, 0, 0, 202, 0, 0, 126, 0, 123, 122, + 0, 0, 0, 0, 81, 82, 0, 36, 0, 0, + 0, 38, 53, 0, 340, 0, 219, 220, 221, 222, + 109, 0, 0, 0, 0, 311, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, + 0, 335, 155, 0, 0, 0, 0, 0, 76, 0, + 0, 0, 118, 0, 188, 0, 0, 190, 0, 0, + 192, 0, 0, 0, 203, 0, 163, 0, 126, 102, + 83, 0, 44, 0, 50, 0, 0, 0, 89, 310, + 176, 0, 0, 183, 177, 0, 0, 185, 178, 0, + 0, 187, 0, 0, 0, 169, 0, 0, 0, 0, + 0, 0, 0, 194, 0, 196, 0, 198, 204, 206, + 168, 164, 0, 41, 0, 48, 0, 0, 0, 0, + 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, + 42, 0, 0, 150, 0, 0, 0, 0, 0, 0, + 0, 170, 0, 0, 0, 0, 0, 189, 0, 191, + 0, 193, 0, 43, 45, 0, 46, 0, 99, 0, + 0, 0, 0, 0, 51, 195, 197, 199, 47, 49 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 59, 653, 60, 61, 397, 948, 954, - 576, 736, 1078, 1201, 577, 1169, 1227, 578, 1203, 579, - 580, 740, 126, 215, 62, 519, 985, 464, 309, 280, - 281, 65, 66, 67, 68, 69, 310, 711, 1139, 1184, - 538, 1004, 1007, 1010, 1153, 1157, 1161, 1193, 1196, 1199, - 707, 708, 804, 988, 71, 72, 73, 327, 129, 345, - 171, 852, 853, 329, 313, 196, 644, 767, 207, 208 + -1, 2, 3, 59, 653, 60, 61, 397, 947, 953, + 576, 737, 1076, 1199, 577, 1167, 1225, 578, 1201, 579, + 580, 741, 126, 215, 62, 519, 985, 890, 464, 309, + 280, 281, 65, 66, 67, 68, 69, 310, 711, 1137, + 1182, 538, 1004, 1007, 1010, 1151, 1155, 1159, 1191, 1194, + 1197, 707, 708, 805, 988, 542, 71, 72, 73, 327, + 129, 345, 171, 852, 853, 329, 313, 196, 644, 768, + 207, 208 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1032 +#define YYPACT_NINF -1021 static const yytype_int16 yypact[] = { - 2804, 40, 33, 2879, -1032, -1032, 1424, 43, -39, -71, - 16, 102, -55, -8, 0, -34, 3, 64, -38, 67, - 80, 115, -25, 77, 165, 210, 162, 211, 661, 186, - 191, -72, -72, 222, 266, 301, 318, 333, 27, 89, - 351, 394, 412, 433, 255, 320, 326, 19, 13, -1032, - 331, -1032, 465, 350, -1032, 497, 510, 15, 24, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, - -1032, -1032, -1032, -1032, -1032, 23, 385, 593, -1032, -1032, - -1032, 143, 262, 277, 306, 315, 342, 346, 368, 381, - 396, 415, 427, 504, 508, 555, 567, 568, 583, 597, - 618, 635, 397, 402, 405, 408, -1032, 539, 419, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, 2355, 2355, 2355, -1032, - -1032, 2355, 1990, 8, 556, 46, 2355, 572, 1103, -1032, - 579, 580, 2355, 559, -1032, 2355, -1032, 2355, 2289, 2355, - 2355, 466, 2355, 2289, 2355, 2355, 469, 2289, 2355, 2355, - 1566, 480, 2355, 483, 495, 512, 1566, 513, 517, 544, - 547, 561, 573, 576, 698, -72, -72, -72, 2355, 2355, - -50, -1032, 187, -72, 577, 591, 595, 2160, 227, 1566, - 1566, 621, 35, 509, -1032, 766, -1032, 617, 632, 641, - 770, 2355, 2355, 2355, 664, 2355, 671, 688, 2355, 2355, - -1032, 2355, 795, -1032, 636, -1032, -1032, 803, -1032, -1032, - 811, 692, 2355, 816, 697, -1032, -1032, 829, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 644, 644, 644, 644, 2355, 839, 438, 734, 734, 734, - 5165, 11, 2289, 4429, 273, 736, 872, 759, 771, -1032, - 742, 2942, 1379, -1032, -1032, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - -1032, -1032, 1757, -89, 3675, 5186, 140, 772, 2289, -1032, - -1032, 2580, -1032, 633, 5207, 5228, 2355, 5249, 639, 5270, - 5291, 2355, 643, 5312, 5333, 1695, 1288, 2599, 888, -1032, - 2355, 5354, 2355, 2355, 2355, 895, 2355, 2355, 2355, 2412, - 2412, 2412, 2412, 779, -48, -1032, -1032, 3701, 3727, -72, - -72, 46, 46, 51, 2355, 2355, 2355, 2160, 2160, 2355, - 2942, 181, -1032, 488, 904, 2355, 906, -1032, 2355, 2355, - 743, -1032, 2289, 2355, 2355, -1032, 5375, 5396, 5417, 824, - 3753, -1032, 777, 2620, 5438, 4452, -1032, 2355, 911, 938, - -1032, 1051, -1032, 2355, 4475, 218, 2355, 10, -1032, 5459, - 4498, 5480, 4521, 5501, 4544, 5522, 4567, 5543, 4590, 5564, - 4613, 5585, 4636, 5606, 4659, 5627, 4682, 5648, 4705, 5669, - 4728, 3779, 3805, 5690, 4751, 5711, 4774, 5732, 4797, 5753, - 4820, 5774, 4843, 5795, 4866, 3831, 3857, 3883, 3909, 3935, - 3961, -62, 781, 787, 788, 1788, 789, 2355, -1032, 1566, - 1566, 646, 73, 593, 2355, 917, 920, 21, 793, -1032, - 141, -30, -33, 195, -1032, -1032, 2639, 623, 738, 602, - 602, 637, 637, 637, 637, 62, 62, 734, 734, 734, - 734, -1032, 37, 2289, 2355, 921, 2125, 2355, 734, -1032, - 2355, 2289, 2289, 835, 923, 924, 5816, 925, 841, 928, - 929, 5837, 845, 931, 932, 2289, -1032, 647, 1824, 2355, - 5858, 933, 2708, 5879, 5900, 2355, 2977, 3005, 5921, 810, - 6173, -1032, 812, 813, 814, 815, -72, 2355, 2355, -1032, - -1032, 817, 818, 2355, 3987, 4013, 4039, 3649, 245, -72, - 1152, -1032, 2355, 2355, 5942, -1032, 4889, 4912, -1032, 668, - 4935, 4958, 945, 946, 947, 823, 2355, 1330, 2355, 2355, - -1032, 4, 4981, -1032, -1032, -1032, 5004, 261, -1032, 3033, - -1032, 830, 831, 822, -1032, 956, -1032, -1032, -1032, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, - -1032, -1032, -1032, 2355, 2355, -1032, -1032, -1032, -1032, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, -1032, 2355, 2355, 2355, - 2355, 2355, 2355, -1032, 2289, 644, -1032, -1032, -1032, 2355, - 5027, 957, 958, 832, -1032, 12, 2355, 960, 962, 1914, - -1032, 963, 837, 19, 966, -1032, 2289, 2289, 2289, 2289, - 2355, -1032, 856, 644, -52, 4065, -72, -1032, 2289, 3061, - 2659, 734, -1032, 2580, -1032, 926, 1566, 1566, 967, 1566, - 756, 1566, 1566, 969, 940, 1566, 1566, 677, -1032, 2289, - 2085, 970, 842, 973, 986, 993, 2222, 994, 995, 996, - 997, 998, 999, 1000, 1004, 322, 4091, 4117, -1032, -1032, - 3089, -72, -72, -72, 1003, 873, 881, 188, -1032, 371, - -1032, 245, 2384, 2441, 876, 1008, 1009, 968, 1013, 1014, - 1566, 1566, 1566, 1022, 4143, -1032, 2678, 1358, 1023, 1024, - 897, 1026, 1025, -1032, 1027, -1032, 905, 2355, 2355, 1566, - 899, -1032, 5963, 5050, 5984, 5073, 6005, 5096, 6026, 5119, - 145, 903, 6047, 336, -1032, -1032, 69, 434, 907, 1030, - 2460, -1032, -1032, -1032, 19, 2355, -1032, 678, -1032, 685, - 694, 695, 703, 6173, -1032, 1032, 58, 2355, 7, 704, - -1032, 2355, 902, 30, 38, 1566, 1034, 910, 912, 1036, - 1037, 1566, 913, 1042, 1045, -1032, 709, -1032, 1047, 2355, - 1566, 1566, 1566, 1049, 1053, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 511, 2355, 2355, 2355, 918, -53, 240, 468, - -1032, 1566, 2355, -1032, -1032, 2160, 235, -1032, -1032, 2289, - -1032, -1032, 930, -1032, -1032, 1055, 1059, 978, -1032, 2355, - 2355, 2355, -1032, 1062, 1050, 1066, -1032, 218, -1032, 2355, - 4169, 4195, 712, -1032, 2355, -1032, -1032, -1032, -1032, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, 1566, 593, 2355, 1065, - 1068, 21, -1032, 1067, 5142, 19, -1032, 1069, 1073, 1074, - 1075, -1032, -1032, 644, 4221, -1032, 941, 6173, 2355, -1032, - -72, -1032, -72, 1076, -1032, 2355, 2355, -1032, -1032, 1077, - 2355, -1032, -1032, -1032, 1080, 4247, 1081, 1082, 1012, 2355, - -1032, 1085, 1084, 1086, 1100, 1106, 1108, 1109, -1032, 2412, - 3117, 6068, 2893, 46, -72, 1110, -72, 1111, -72, 1112, - 311, 950, 6089, 3145, 416, -1032, 728, 2355, -1032, -1032, - 1566, 2921, 546, 6110, -1032, 1953, -1032, -1032, 213, 6173, - 2355, 2355, 1566, 982, 739, 6173, 1114, 1115, 2480, -1032, - 1116, 1119, -1032, 988, -1032, -1032, -1032, -1032, -1032, 1120, - 2355, -1032, 3173, 39, 49, -1032, 3201, 3229, -1032, 3257, - 1124, 2355, -1032, -1032, 1093, 1125, 6173, -1032, 1126, -1032, - -1032, -1032, -1032, -1032, -1032, 2503, 1127, 1015, -1032, 2355, - -1032, 1011, 491, -1032, 1016, 503, -1032, 1017, 552, -1032, - 1018, 1140, 1566, 1143, 1020, 2355, 1145, 3285, 1072, 2355, - -1032, 2355, -1032, -1032, 2289, 2522, 1154, -1032, 2355, 4273, - 4299, -1032, 1566, 2355, 1155, -1032, -1032, -1032, 19, -1032, - 1079, -1032, 4325, 1156, -1032, -1032, 1157, 1160, 1161, 1164, - 4351, 1035, -1032, -1032, -1032, -1032, 46, 2949, -1032, 2160, - 245, 2160, 245, 2160, 245, -1032, 740, 1566, -1032, 3313, - -1032, -1032, 2355, 3341, 3369, 748, -1032, -1032, 1038, 6173, - 2355, 2355, 751, 6173, -1032, 1165, -1032, 2355, -1032, -1032, - -1032, -1032, -1032, 1168, 2355, 1039, 2355, -1032, 3397, 558, - 335, 3425, 569, 337, 3453, 575, 339, 1566, 1172, 1113, - 1598, 1043, 2542, -1032, -1032, 1173, 2355, 6131, 4377, 26, - -1032, 4403, 1046, 3481, -1032, 3509, 1175, 2355, 1177, 1178, - 2355, 1179, 1180, 2355, 1181, 1052, -1032, 2355, -1032, 245, - -1032, -1032, -1032, 752, -1032, 2355, -1032, 1566, 2355, 1183, - -1032, -1032, -1032, 1054, 3537, -1032, -1032, 1070, 3565, -1032, - -1032, 1091, 3593, -1032, 1199, 2561, 377, 1727, 1204, 1092, - 6152, 758, 3621, 1094, 245, 1207, 245, 1225, 245, 1228, - -1032, -1032, -1032, -1032, 245, -1032, 644, -1032, 1102, 1234, - 1236, 391, -1032, 1105, 393, -1032, 1107, 410, -1032, 1117, - 499, 762, -1032, 1118, 1566, -1032, 1121, 1237, 245, 1239, - 245, 1240, 245, -1032, 644, 1241, 644, 765, 1242, -1032, - 515, -1032, 518, -1032, 533, -1032, -1032, 769, -1032, 1244, - -1032, 1245, 1246, 1247, 644, 1250, -1032, -1032, -1032, -1032, - -1032, -1032 + 2687, 25, 40, 2762, -1021, -1021, 1313, 37, 49, -26, + 26, 106, -93, 0, 3, -38, 45, 67, -17, 141, + 151, 73, -39, 130, 144, 248, 162, 274, 346, 216, + 195, 187, 187, 259, 57, 312, 339, 369, 24, 56, + 370, 381, 439, 473, 352, 360, 371, 19, 13, -1021, + 377, -1021, 527, 407, -1021, 509, 546, 10, 17, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, + -1021, -1021, -1021, -1021, -1021, 23, 417, 643, -1021, -1021, + -1021, -112, 82, 174, 246, 336, 385, 399, 405, 429, + 454, 459, 507, 521, 522, 567, 568, 572, 573, 592, + 595, 600, 432, 443, 448, 453, -1021, 562, 458, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, 2154, 2154, 2154, -1021, + -1021, 2154, 1789, 12, 593, 202, 2154, 596, 669, -1021, + 601, 604, 2154, 606, -1021, 2154, -1021, 2154, 2088, 2154, + 2154, 497, 2154, 2088, 2154, 2154, 508, 2088, 2154, 2154, + 1365, 536, 2154, 505, 539, 542, 1365, 520, 541, 554, + 564, 576, 607, 611, 679, 187, 187, 187, 2154, 2154, + -13, -1021, 64, 187, 605, 624, 625, 1959, 191, 1365, + 1365, 666, 35, 620, -1021, 767, -1021, 641, 673, 677, + 808, 2154, 2154, 2154, 683, 2154, 681, 729, 2154, 2154, + -1021, 2154, 821, -1021, 140, -1021, -1021, 828, -1021, -1021, + 829, 731, 2154, 840, 737, -1021, -1021, 884, 2154, 2154, + 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, + 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, + 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, + 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, + 626, 626, 626, 626, 2154, 888, -53, 778, 778, 778, + 5020, 63, 2088, 4284, 192, 760, 904, 781, 777, -1021, + 779, 2825, 839, -1021, -1021, 2154, 2154, 2154, 2154, 2154, + 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, + -1021, -1021, 981, -102, 3530, 5041, 667, 783, 2088, -1021, + -1021, 2444, -1021, 615, 5062, 5083, 2154, 5104, 619, 5125, + 5146, 2154, 622, 5167, 5188, 1494, 1173, 2470, 909, -1021, + 2154, 5209, 2154, 2154, 2154, 911, 2154, 2154, 2154, 2211, + 2211, 2211, 2211, 790, -48, -1021, -1021, 3556, 3582, 187, + 187, 202, 202, 224, 2154, 2154, 2154, 1959, 1959, 2154, + 2825, 227, -1021, 915, 916, 2154, 918, -1021, 2154, 2154, + 1526, -1021, 2088, 2154, 2154, -1021, 5230, 5251, 5272, 836, + 3608, -1021, 789, 2489, 5293, 4307, -1021, 2154, 923, 1783, + -1021, 1952, -1021, 2154, 4330, 222, 2154, 15, -1021, 5314, + 4353, 5335, 4376, 5356, 4399, 5377, 4422, 5398, 4445, 5419, + 4468, 5440, 4491, 5461, 4514, 5482, 4537, 5503, 4560, 5524, + 4583, 3634, 3660, 5545, 4606, 5566, 4629, 5587, 4652, 5608, + 4675, 5629, 4698, 5650, 4721, 3686, 3712, 3738, 3764, 3790, + 3816, -68, 793, 800, 801, 1106, 798, 2154, -1021, 1365, + 1365, 638, 366, 643, 2154, 929, 932, 21, 804, -1021, + 46, 70, 43, 127, -1021, -1021, 2508, 1044, 738, 648, + 648, 566, 566, 566, 566, 512, 512, 778, 778, 778, + 778, -1021, 5, 2088, 2154, 931, 1924, 2154, 778, -1021, + 2154, 2088, 2088, 847, 933, 935, 5671, 936, 852, 957, + 958, 5692, 877, 967, 968, 2088, -1021, 664, 1623, 2154, + 5713, 969, 2591, 5734, 5755, 2154, 2832, 2860, 5776, 846, + 6028, -1021, 848, 849, 850, 851, 187, 2154, 2154, -1021, + -1021, 845, 853, 2154, 3842, 3868, 3894, 3504, 598, 187, + 2249, 2154, 978, 2154, 5797, -1021, 4744, 4767, -1021, 672, + 4790, 4813, 979, 982, 983, 854, 2154, 2306, 2154, 2154, + -1021, -6, 4836, -1021, -1021, -1021, 4859, 543, -1021, 2888, + -1021, 862, 863, 857, -1021, 989, -1021, -1021, -1021, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, + -1021, -1021, -1021, 2154, 2154, -1021, -1021, -1021, -1021, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, -1021, 2154, 2154, 2154, + 2154, 2154, 2154, -1021, 2088, 626, -1021, -1021, -1021, 2154, + 4882, 991, 992, 867, -1021, 20, 2154, 995, 998, 1138, + -1021, 999, 873, 19, 1001, -1021, 2088, 2088, 2088, 2088, + 2154, -1021, 891, 626, -51, 3920, 187, -1021, 2088, 2916, + 2542, 778, -1021, 2444, -1021, 960, 1365, 1365, 1003, 1365, + 682, 1365, 1365, 1004, 962, 1365, 1365, 686, -1021, 2088, + 1556, 1007, 878, 1010, 1012, 1013, 2021, 1015, 1016, 1017, + 1019, 1020, 1021, 1022, 1027, 247, 3946, 3972, -1021, -1021, + 2944, 187, 187, 187, 1026, 896, 905, -33, -1021, 325, + -1021, 598, 6028, -1021, 1587, 897, 1030, 1031, 990, 1032, + 1034, 1365, 1365, 1365, 1037, 3998, -1021, 2561, 597, 1039, + 1043, 914, 1045, 1046, -1021, 1047, -1021, 919, 2154, 2154, + 1365, 920, -1021, 5818, 4905, 5839, 4928, 5860, 4951, 5881, + 4974, 185, 921, 5902, 437, -1021, -1021, 62, 272, 925, + 1048, 1902, -1021, -1021, -1021, 19, 2154, -1021, 692, -1021, + 695, 703, 704, 711, 6028, -1021, 1055, 51, 2154, 39, + 712, -1021, 2154, 926, 1006, 1006, 1365, 1058, 928, 934, + 1060, 1062, 1365, 937, 1063, 1064, -1021, 728, -1021, 1067, + 2154, 1365, 1365, 1365, 1069, 1071, 1365, 1365, 1365, 1365, + 1365, 1365, 1365, 308, 2154, 2154, 2154, 941, -54, 139, + 142, -1021, 1365, 2154, -1021, -1021, 1959, -11, -1021, 2088, + -1021, -1021, 942, -1021, -1021, 1075, 1077, 996, -1021, 2154, + 2154, 2154, -1021, 1079, 1080, 1082, -1021, 222, -1021, 2154, + 4024, 4050, 734, -1021, 2154, -1021, -1021, -1021, -1021, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, 1365, 643, 2154, 1084, + 1102, 21, -1021, 1101, 4997, 19, -1021, 1103, 1107, 1108, + 1109, -1021, -1021, 626, 4076, -1021, 955, 6028, 2154, 187, + 1110, 1111, 1112, -1021, 2154, 2154, -1021, -1021, 1113, 2154, + -1021, -1021, -1021, 1115, 4102, 1117, 1118, 1029, 2154, -1021, + 1104, 1121, 1123, 1124, 1125, 1127, 1128, -1021, 2211, 2972, + 5923, 1343, 202, 187, 1129, 187, 1130, 187, 1131, 290, + 1002, 5944, 3000, 329, -1021, 735, 2154, -1021, -1021, 1365, + 2776, 318, 5965, -1021, 1752, -1021, -1021, 228, 6028, 2154, + 2154, 1365, 1005, 741, 6028, 1133, 1135, 2284, -1021, 1139, + 1141, -1021, 1011, -1021, -1021, -1021, -1021, -1021, 1142, 2154, + -1021, 3028, -44, -1021, -1021, -1021, 3056, 3084, -1021, 3112, + 1144, 2154, -1021, -1021, 1105, 1145, 6028, -1021, 1149, -1021, + -1021, -1021, -1021, -1021, -1021, 2353, 1164, 1035, -1021, 2154, + -1021, 1033, 349, -1021, 1038, 375, -1021, 1041, 378, -1021, + 1042, 1174, 1365, 1143, 1049, 2154, 1175, 3140, 1098, 2154, + -1021, 2154, -1021, -1021, 2088, 2372, 1202, -1021, 2154, 4128, + 4154, -1021, 1365, 2154, 1203, -1021, -1021, -1021, 19, -1021, + 1120, -1021, 4180, 1205, 1206, 1207, 1208, 1209, 4206, 1094, + -1021, -1021, -1021, -1021, 202, 2804, -1021, 1959, 598, 1959, + 598, 1959, 598, -1021, 742, 1365, -1021, 3168, -1021, -1021, + 2154, 3196, 3224, 745, -1021, -1021, 1096, 6028, 2154, 2154, + 748, 6028, -1021, 1228, -1021, 2154, -1021, -1021, -1021, -1021, + -1021, 1236, 2154, 1126, 2154, -1021, 3252, 383, 14, 3280, + 424, 234, 3308, 504, 348, 1365, 1237, 1181, 2325, 1132, + 2406, -1021, -1021, 1239, 2154, 5986, 4232, 27, -1021, 4258, + 1136, 3336, -1021, 3364, 1240, 2154, 1242, 1257, 2154, 1259, + 1265, 2154, 1267, 1146, -1021, 2154, -1021, 598, -1021, -1021, + -1021, 751, -1021, 2154, -1021, 1365, 2154, 1269, -1021, -1021, + -1021, 1148, 3392, -1021, -1021, 1150, 3420, -1021, -1021, 1151, + 3448, -1021, 1274, 2425, 384, 2376, 1275, 1152, 6007, 765, + 3476, 1147, 598, 1276, 598, 1280, 598, 1284, -1021, -1021, + -1021, -1021, 598, -1021, 626, -1021, 1154, 1286, 1290, 388, + -1021, 1159, 403, -1021, 1160, 452, -1021, 1162, 482, 766, + -1021, 1163, 1365, -1021, 1166, 1295, 598, 1296, 598, 1299, + 598, -1021, 626, 1300, 626, 770, 1301, -1021, 518, -1021, + 523, -1021, 553, -1021, -1021, 774, -1021, 1303, -1021, 1304, + 1306, 1307, 626, 1308, -1021, -1021, -1021, -1021, -1021, -1021 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1032, -1032, -1032, -1032, 482, -1032, -1032, -1032, -1032, 144, - -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, - -1032, -1032, -253, -4, -1032, 78, -1032, 1258, 6, -347, - -169, -1032, -1032, -1032, -1032, -1032, 1259, -1032, -1032, -1032, - -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, - -605, -701, -1032, -1032, -1032, -1032, -1032, -3, -1032, 343, - -1032, -1031, 472, 225, -66, -617, 395, -1032, -58, 1 + -1021, -1021, -1021, -1021, 538, -1021, -1021, -1021, -1021, 205, + -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, + -1021, -1021, -266, -4, -1021, 85, -1021, 540, 1318, 6, + -347, -171, -1021, -1021, -1021, -1021, -1021, 1323, -1021, -1021, + -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, + -1021, -640, -646, -1021, -1021, -1021, -1021, -1021, -1021, -3, + -1021, 343, -1021, -1020, -63, 324, 251, -617, 483, -1021, + -58, 1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1445,1107 +1445,1066 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -5 static const yytype_int16 yytable[] = { - 210, 1082, 127, 128, 531, 532, 824, 130, 360, 64, - 132, 728, 274, 885, 570, 370, 757, 197, 449, 204, - 205, 454, 134, 194, 151, 642, 766, 211, 204, 205, - 146, 182, 1146, 5, 141, 146, 889, 389, 141, 366, - 391, 367, 482, 651, 891, 1044, 4, 483, 166, 167, - 278, 102, 103, 104, 105, 1045, 131, 106, 168, 133, - 102, 103, 104, 105, 882, 169, 106, 349, 350, 623, - 349, 350, 349, 350, 624, 137, 634, 318, 217, 776, - 634, 322, 138, 924, 492, 925, 890, 351, 526, 571, - 572, 573, 574, 185, 892, 186, 142, 275, 276, 147, - 142, 758, 759, 143, 648, 152, 826, 647, 136, 30, - 31, 32, 33, 267, 268, 269, 1171, 37, 270, 273, - 40, 450, 139, 282, 183, 824, 153, 349, 350, 302, - 140, 279, 304, 144, 305, 311, 314, 315, 729, 317, - 311, 319, 320, 198, 311, 323, 324, 873, 575, 331, - 119, 120, 206, 135, 652, 212, 195, 213, 643, 349, - 350, 209, 214, 1147, 184, 347, 348, 368, 150, 349, - 350, 349, 350, 1217, 348, 652, 112, 113, 114, 115, - 112, 113, 114, 115, 296, 297, 298, 533, 376, 377, - 378, 299, 380, 540, 145, 383, 384, 148, 385, 636, - 119, 120, 441, 442, 443, 444, 451, 635, 156, 394, - 149, 157, 557, 158, 154, 399, 400, 401, 402, 403, + 210, 729, 127, 128, 531, 532, 360, 130, 454, 64, + 151, 651, 1080, 370, 204, 205, 274, 197, 218, 570, + 219, 204, 205, 194, 758, 642, 767, 211, 182, 482, + 141, 4, 134, 1144, 483, 389, 704, 137, 391, 366, + 5, 367, 705, 706, 138, 885, 102, 103, 104, 105, + 131, 146, 106, 102, 103, 104, 105, 882, 704, 106, + 185, 825, 186, 623, 705, 706, 349, 350, 624, 634, + 449, 827, 349, 350, 119, 120, 349, 350, 217, 447, + 777, 213, 923, 704, 924, 492, 214, 328, 526, 705, + 706, 152, 142, 335, 571, 572, 573, 574, 132, 143, + 174, 275, 276, 175, 133, 824, 176, 349, 350, 759, + 760, 146, 136, 267, 268, 269, 363, 364, 270, 273, + 147, 183, 652, 282, 351, 1169, 150, 934, 730, 302, + 139, 279, 304, 140, 305, 311, 314, 315, 141, 317, + 311, 319, 320, 198, 311, 323, 324, 206, 873, 331, + 119, 120, 1126, 575, 209, 212, 195, 213, 643, 349, + 350, 184, 214, 135, 1145, 347, 348, 368, 652, 112, + 113, 114, 115, 450, 348, 144, 137, 166, 167, 153, + 648, 825, 1215, 646, 349, 350, 636, 168, 376, 377, + 378, 540, 380, 154, 177, 383, 384, 145, 385, 453, + 142, 352, 441, 442, 443, 444, 278, 647, 156, 394, + 557, 157, 220, 158, 221, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 704, 964, 155, - 507, 445, 159, 705, 706, 204, 205, 119, 120, 311, - 455, 137, 486, 218, 213, 219, 863, 125, 646, 214, - 453, 492, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 102, 103, 104, - 105, 349, 350, 106, 704, 488, 549, 349, 350, 174, - 705, 706, 175, 496, 704, 176, 164, 539, 501, 490, - 705, 706, 488, 311, 352, 149, 823, 510, 165, 512, - 513, 514, 649, 516, 517, 518, 520, 520, 520, 520, - 521, 521, 521, 521, 1027, 119, 120, 349, 350, 1028, - 179, 534, 535, 536, 267, 268, 537, 279, 279, 173, - 349, 350, 544, 312, 362, 546, 547, 180, 312, 311, - 550, 551, 312, 935, 170, 172, 926, 178, 927, 181, - 112, 113, 114, 115, 562, 191, 166, 167, 119, 120, - 566, 568, 220, 569, 221, 732, 168, 187, 188, 824, - 119, 120, 824, 177, 704, 824, 704, 222, 704, 223, - 705, 706, 705, 706, 705, 706, 189, 654, 522, 523, - 524, 1085, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 508, 297, 298, 224, 190, 225, 677, - 299, 867, 349, 350, 630, 226, 704, 227, 637, 1011, - 192, 639, 705, 706, 638, 1100, 193, 1103, 813, 1106, - 704, 199, 704, 119, 120, 824, 705, 706, 705, 706, - 732, 200, 228, 1128, 229, 1131, 230, 1134, 231, 704, - 311, 655, 201, 630, 659, 705, 706, 660, 661, 663, - 824, 349, 350, 824, 541, 542, 824, 312, 232, 824, - 233, 202, 311, 866, 868, 661, 680, 825, 344, 734, - 346, 234, 686, 235, 203, 1182, 353, 918, 919, 824, - 361, 824, 216, 824, 696, 697, 236, 260, 237, 1207, - 700, 1209, 261, 489, 1166, 262, 349, 350, 263, 712, - 713, 112, 113, 114, 115, 238, 264, 239, 1211, 265, - 489, 312, 1015, 724, 1021, 726, 727, 240, 750, 241, - 277, 119, 120, 733, 303, 119, 120, 751, 704, 1191, - 447, 1194, 213, 1197, 705, 706, 1001, 214, 283, 1200, - 769, 770, 771, 772, 704, 300, 301, 704, 349, 350, - 705, 706, 779, 705, 706, 775, 316, 312, 205, 321, - 742, 743, 704, 1220, 928, 1222, 929, 1224, 705, 706, - 330, 349, 350, 796, 744, 745, 746, 747, 748, 749, - 332, 311, 328, 349, 350, 333, 752, 1059, 335, 102, - 103, 104, 105, 760, 242, 106, 243, 1213, 244, 1061, - 245, 369, 334, 311, 311, 311, 311, 773, 204, 205, - 336, 363, 364, 1231, 337, 311, 1232, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 1233, 349, 350, 338, 299, 311, 339, 349, 350, - 102, 103, 104, 105, 1022, 246, 106, 247, 1063, 349, - 350, 340, 529, 530, 1127, 349, 350, 248, 250, 249, - 251, 346, 343, 341, 160, 1130, 342, 161, 312, 1095, - 162, 1133, 163, 252, 354, 253, 662, 664, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 254, 355, 255, - 312, 299, 356, 662, 850, 851, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 256, 733, - 257, 365, 299, 869, 372, 7, 8, 294, 295, 296, - 297, 298, 874, 936, 373, 258, 299, 259, 387, 492, - 388, 493, 371, 374, 884, 492, 375, 498, 887, 492, - 382, 502, 492, 492, 633, 678, 460, 13, 14, 461, - 16, 17, 462, 19, 463, 21, 905, 22, 379, 24, - 25, 386, 27, 28, 492, 787, 717, 788, 381, 390, - 920, 921, 922, 492, 875, 795, 876, 392, 930, 932, - 395, 492, 933, 877, 393, 969, 311, 44, 45, 46, - 492, 492, 878, 879, 396, 398, 941, 942, 943, 492, - 492, 880, 886, 947, 446, 492, 949, 903, 952, 312, - 953, 955, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 492, 958, 1016, 299, 957, 695, - 456, 312, 312, 312, 312, 1033, 1107, 1034, 1108, 457, - 459, 548, 709, 312, 492, 972, 1115, 952, 1033, 1119, - 1168, 458, 976, 977, 952, 509, 1188, 979, 1214, 1110, - 1215, 952, 515, 1229, 312, 1234, 986, 1235, 125, 487, - 525, 543, 545, 555, 558, 563, 995, 625, 626, 627, - 996, 631, 632, 640, 641, 629, 645, 665, 656, 279, - 666, 667, 669, 670, 1017, 671, 672, 674, 675, 676, - 682, 690, 1025, 691, 692, 693, 1026, 1029, 1030, 694, - 7, 8, 720, 721, 722, 698, 699, 723, 1075, 739, - 737, 738, 741, 754, 755, 756, 761, 1042, 762, 765, - 764, 1167, 768, 774, 785, 782, 791, 798, 1050, 799, - 800, 460, 13, 14, 461, 16, 17, 462, 19, 463, - 21, 792, 22, 801, 24, 25, 1057, 27, 28, 778, - 802, 805, 806, 807, 808, 809, 810, 811, 812, 820, - 821, 822, 1069, 829, 830, 831, 1073, 832, 1074, 833, - 834, 311, 44, 45, 46, 1079, 838, 843, 844, 847, - 1083, 845, 846, 848, 864, 849, 854, 871, 881, 888, - 894, 870, 897, 898, 817, 818, 819, 895, 901, 896, - 900, 902, 904, 909, 312, 923, 1098, 945, 1101, 910, - 1104, 938, 279, 7, 8, 939, 940, 937, 944, 1112, - 946, 959, 960, 962, 971, 965, 564, 1117, 1118, 966, - 967, 968, 975, 978, 1121, 980, 1012, 982, 983, 987, - 989, 1123, 990, 1125, 460, 13, 14, 461, 16, 17, - 462, 19, 463, 21, 984, 22, 991, 24, 25, 284, - 27, 28, 992, 955, 993, 994, 1003, 1006, 1009, 1032, - 1035, 1036, 1040, 1038, 1154, 1039, 1041, 1158, 1202, 1049, - 1162, 1052, 1053, 1055, 1165, 44, 45, 46, 783, 784, - 1051, 786, 1170, 789, 790, 1172, 1065, 793, 794, 1058, - 1067, 1070, 1056, 1060, 1062, 1064, 1225, 1068, 1228, 1072, - 1077, 1084, 1088, 1089, 7, 8, 1090, 1091, 934, 1086, - 1092, 1120, 1094, 1122, 1137, 1116, 1240, 1124, 1136, 1142, - 1140, 1152, 1149, 1155, 1156, 1159, 1160, 1163, 1173, 565, - 1164, 1174, 835, 836, 837, 460, 13, 14, 461, 16, - 17, 462, 19, 463, 21, 1180, 22, 1176, 24, 25, - 1185, 27, 28, 1192, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 1178, 1186, - 1190, 1195, 299, 973, 1198, 974, 44, 45, 46, 1204, - 1205, 1206, 1208, 1219, 1210, 1221, 1223, 1226, 1230, 312, - 1236, 1237, 1238, 1239, 1212, 1216, 1241, 893, 883, 1218, - 1143, 63, 70, 899, 0, 0, 961, 1002, 0, 1005, - 0, 1008, 906, 907, 908, 0, 0, 911, 912, 913, - 914, 915, 916, 917, 0, 0, 0, 0, 0, 0, - 710, 74, 306, 931, 0, 0, 0, 78, 79, 80, - 0, 0, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 0, 0, 0, 0, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 956, 0, - 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 0, 0, 0, 37, - 0, 0, 40, 0, 0, 0, 841, 0, 0, 0, - 0, 0, 0, 460, 13, 14, 461, 16, 17, 462, - 19, 463, 21, 0, 22, 465, 24, 25, 0, 27, - 28, 108, 109, 110, 111, 0, 0, 0, 0, 0, - 0, 0, 1099, 0, 1102, 0, 1105, 0, 116, 308, - 0, 0, 1018, 118, 44, 45, 46, 0, 121, 0, - 0, 0, 0, 124, 1031, 0, 506, 74, 75, 76, - 0, 77, 0, 78, 79, 80, 0, 0, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 0, - 102, 103, 104, 105, 0, 0, 106, 0, 725, 285, + 434, 435, 436, 437, 438, 439, 440, 149, 963, 349, + 350, 445, 349, 350, 649, 30, 31, 32, 33, 311, + 455, 148, 387, 37, 388, 925, 40, 926, 927, 867, + 928, 149, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 155, 490, 112, + 113, 114, 115, 704, 222, 488, 223, 166, 167, 705, + 706, 349, 350, 496, 917, 918, 863, 168, 501, 119, + 120, 492, 488, 311, 169, 159, 1021, 510, 362, 512, + 513, 514, 165, 516, 517, 518, 520, 520, 520, 520, + 521, 521, 521, 521, 349, 350, 164, 349, 350, 119, + 120, 534, 535, 536, 267, 268, 537, 279, 279, 1027, + 533, 179, 544, 539, 1028, 546, 547, 349, 350, 311, + 550, 551, 1129, 634, 170, 172, 224, 178, 225, 112, + 113, 114, 115, 814, 562, 188, 631, 632, 180, 160, + 566, 568, 161, 569, 318, 162, 173, 163, 322, 119, + 120, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 508, 297, 298, 181, 187, 704, 1098, 299, + 1101, 1083, 1104, 705, 706, 522, 523, 524, 1011, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 1066, 0, 0, 299, 0, 842, + 296, 297, 298, 189, 630, 349, 350, 299, 637, 349, + 350, 639, 825, 704, 638, 825, 1022, 704, 825, 705, + 706, 826, 312, 705, 706, 1015, 226, 312, 227, 349, + 350, 312, 704, 112, 113, 114, 115, 190, 705, 706, + 311, 655, 191, 630, 659, 1057, 1132, 660, 661, 663, + 192, 866, 868, 119, 120, 349, 350, 1164, 349, 350, + 635, 193, 311, 349, 350, 661, 680, 199, 344, 735, + 346, 1059, 686, 202, 1061, 228, 353, 229, 825, 1125, + 361, 704, 1180, 451, 696, 697, 1205, 705, 706, 230, + 700, 231, 1189, 200, 1192, 232, 1195, 233, 712, 201, + 714, 1207, 1198, 825, 349, 350, 825, 204, 205, 825, + 203, 704, 825, 725, 216, 727, 728, 705, 706, 234, + 1128, 235, 260, 734, 119, 120, 1218, 752, 1220, 264, + 1222, 733, 825, 261, 825, 1001, 825, 507, 262, 102, + 103, 104, 105, 263, 236, 106, 237, 704, 265, 238, + 1209, 239, 704, 705, 706, 776, 312, 277, 705, 706, + 743, 744, 283, 784, 785, 841, 787, 300, 790, 791, + 301, 303, 794, 795, 745, 746, 747, 748, 749, 750, + 1211, 311, 704, 549, 349, 350, 753, 316, 705, 706, + 204, 205, 489, 761, 296, 297, 298, 240, 321, 241, + 1131, 299, 332, 311, 311, 311, 311, 774, 205, 489, + 312, 242, 244, 243, 245, 311, 1229, 336, 835, 836, + 837, 1230, 102, 103, 104, 105, 330, 704, 106, 333, + 119, 120, 334, 705, 706, 284, 311, 733, 337, 102, + 103, 104, 105, 343, 338, 106, 294, 295, 296, 297, + 298, 1231, 529, 530, 339, 299, 312, 246, 248, 247, + 249, 346, 250, 252, 251, 253, 340, 1093, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 254, 892, 255, 256, 299, 257, 842, 898, + 258, 788, 259, 789, 654, 850, 851, 341, 905, 906, + 907, 342, 354, 910, 911, 912, 913, 914, 915, 916, + 734, 492, 369, 493, 869, 492, 677, 498, 492, 930, + 502, 355, 356, 874, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 371, 492, 884, 633, 299, 372, 887, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, 0, 0, 0, 0, 0, 108, 109, 110, - 111, 112, 113, 114, 115, 0, 0, 0, 0, 1109, - 0, 0, 0, 0, 116, 117, 0, 0, 0, 118, - 0, 119, 120, 0, 121, 0, 122, 0, 123, 124, - 0, 125, 0, 0, 0, 0, 0, 0, 0, 74, - 306, 0, 0, 0, 0, 78, 79, 80, 0, 1135, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 307, - 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 0, 0, 0, 37, 0, 0, - 40, 460, 13, 14, 461, 16, 17, 462, 19, 463, - 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, - 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 45, 46, 0, 116, 325, 0, 0, - 0, 118, 0, 0, 0, 0, 121, 0, 74, 306, - 0, 124, 0, 326, 78, 79, 80, 0, 0, 81, + 295, 296, 297, 298, 119, 120, 365, 904, 299, 486, + 492, 213, 678, 955, 125, 373, 214, 312, 492, 374, + 718, 919, 920, 921, 375, 662, 664, 379, 381, 929, + 931, 382, 492, 932, 796, 968, 311, 386, 875, 312, + 876, 492, 662, 877, 390, 392, 940, 941, 942, 492, + 492, 878, 879, 946, 395, 465, 948, 492, 492, 880, + 886, 954, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 393, 492, 957, 902, 299, 956, 695, + 951, 492, 952, 1016, 396, 751, 1018, 1033, 1105, 1034, + 1106, 492, 709, 1113, 951, 971, 1117, 1033, 1031, 1166, + 398, 976, 977, 446, 456, 1108, 979, 770, 771, 772, + 773, 951, 1212, 1186, 1213, 986, 951, 299, 1227, 780, + 1232, 457, 1233, 458, 125, 995, 509, 459, 515, 996, + 487, 525, 541, 543, 545, 555, 558, 563, 279, 625, + 797, 626, 627, 1017, 629, 640, 641, 645, 656, 665, + 666, 1025, 667, 669, 670, 1026, 1029, 1030, 312, 1064, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 671, 672, 1042, 1165, 299, 674, + 312, 312, 312, 312, 675, 676, 682, 690, 1048, 691, + 692, 693, 312, 698, 713, 694, 721, 481, 724, 722, + 723, 699, 738, 739, 740, 742, 1055, 755, 756, 779, + 757, 762, 1107, 312, 763, 766, 765, 769, 775, 783, + 786, 792, 1067, 793, 799, 800, 1071, 801, 1072, 802, + 803, 311, 806, 807, 808, 1077, 809, 810, 811, 812, + 1081, 813, 821, 822, 829, 823, 830, 831, 833, 832, + 834, 838, 1133, 843, 818, 819, 820, 844, 845, 849, + 847, 846, 864, 848, 1096, 871, 1099, 854, 1102, 870, + 279, 881, 889, 888, 893, 894, 896, 1110, 897, 900, + 901, 895, 903, 908, 899, 1115, 1116, 909, 922, 936, + 935, 937, 1119, 938, 939, 943, 945, 944, 970, 1121, + 958, 1123, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 959, 961, 987, 964, + 299, 954, 628, 965, 966, 967, 973, 974, 975, 978, + 980, 984, 1152, 982, 983, 1156, 1200, 989, 1160, 990, + 991, 992, 1163, 993, 994, 1003, 1006, 1009, 1012, 1035, + 1168, 1036, 1032, 1170, 764, 1040, 1038, 1039, 1041, 1047, + 1065, 1050, 1049, 312, 1223, 1051, 1226, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 933, + 1053, 1056, 1054, 299, 1238, 1058, 74, 306, 1060, 1062, + 1063, 1068, 78, 79, 80, 1070, 1066, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 1075, 1082, + 1084, 1086, 1087, 1088, 1089, 1090, 307, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 1092, 972, 1114, 1118, 299, 30, 31, 32, 33, + 34, 1120, 1135, 1134, 37, 1140, 1150, 40, 1153, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 1154, 1122, 1157, 1002, 299, 1005, 1138, + 1008, 1158, 1147, 1161, 1171, 1073, 108, 109, 110, 111, + 1178, 1183, 1190, 1188, 1162, 1172, 1193, 1174, 1176, 1184, + 1196, 1202, 1203, 116, 308, 1204, 1206, 1208, 118, 1210, + 1214, 1217, 1219, 121, 1216, 1221, 1224, 1228, 124, 1234, + 1235, 506, 1236, 1237, 1239, 883, 74, 75, 76, 1141, + 77, 63, 78, 79, 80, 891, 70, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 312, 102, + 103, 104, 105, 0, 960, 106, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 306, + 0, 0, 0, 0, 78, 79, 80, 0, 0, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 0, 0, 0, 0, 0, 0, 1138, 0, 307, 7, - 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 481, 0, 0, 37, 0, 0, 40, - 460, 13, 14, 461, 16, 17, 462, 19, 463, 21, - 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, - 0, 0, 0, 0, 628, 0, 0, 0, 108, 109, - 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 45, 46, 0, 116, 308, 0, 0, 0, + 1097, 0, 1100, 0, 1103, 0, 0, 0, 307, 0, + 107, 0, 0, 0, 0, 0, 108, 109, 110, 111, + 112, 113, 114, 115, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 116, 117, 0, 37, 0, 118, 40, + 119, 120, 0, 121, 0, 122, 0, 123, 124, 0, + 125, 0, 0, 0, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 108, 109, + 110, 111, 299, 0, 0, 0, 0, 0, 0, 999, + 0, 1000, 0, 0, 0, 116, 325, 0, 0, 0, 118, 0, 0, 0, 0, 121, 0, 74, 306, 0, - 124, 0, 505, 78, 79, 80, 0, 0, 81, 82, + 124, 0, 326, 78, 79, 80, 0, 0, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 0, - 0, 0, 0, 0, 0, 1183, 0, 307, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 30, 31, 32, - 33, 34, 0, 0, 0, 37, 0, 0, 40, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, - 763, 0, 0, 0, 0, 0, 0, 108, 109, 110, + 0, 0, 0, 0, 0, 0, 0, 307, 7, 8, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 33, 34, 798, 0, 0, 37, 0, 0, 40, 460, + 13, 14, 461, 16, 17, 462, 19, 463, 21, 0, + 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, + 0, 0, 0, 828, 0, 0, 0, 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 116, 308, 0, 0, 0, 118, - 0, 0, 0, 0, 121, 0, 74, 266, 205, 124, - 0, 679, 78, 79, 80, 0, 0, 81, 82, 83, + 44, 45, 46, 0, 116, 308, 0, 0, 0, 118, + 0, 0, 0, 0, 121, 0, 74, 306, 0, 124, + 0, 505, 78, 79, 80, 0, 0, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 0, 102, - 103, 104, 105, 74, 266, 106, 0, 0, 0, 78, - 79, 80, 0, 0, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 94, 95, 96, 97, 98, 99, 100, 101, 0, 0, + 0, 0, 0, 0, 548, 0, 307, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 30, 31, 32, 33, + 34, 0, 0, 0, 37, 0, 0, 40, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 116, 117, 0, 0, 0, 118, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 124, 0, - 1024, 797, 0, 108, 109, 110, 111, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 117, 0, 0, 0, 118, 0, 0, 0, 0, - 121, 0, 0, 271, 0, 124, 0, 272, 74, 266, - 0, 0, 0, 0, 78, 79, 80, 0, 0, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 0, 0, 0, 74, 266, 0, 0, 0, 0, 78, - 79, 80, 0, 0, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 0, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, - 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 0, 0, 0, 121, 0, 0, 657, 0, - 124, 0, 658, 108, 109, 110, 111, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 357, 358, 0, 803, 0, 118, 0, 0, 0, 0, - 359, 0, 74, 306, 0, 124, 0, 169, 78, 79, + 0, 0, 0, 116, 308, 0, 0, 0, 118, 0, + 0, 0, 0, 121, 0, 74, 266, 205, 124, 0, + 679, 78, 79, 80, 0, 0, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 0, 102, 103, + 104, 105, 74, 266, 106, 7, 8, 0, 78, 79, 80, 0, 0, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 307, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 30, 31, 32, 33, 34, 0, 74, 266, - 37, 0, 0, 40, 78, 79, 80, 0, 0, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 827, 0, 108, 109, 110, 111, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, - 308, 0, 0, 0, 118, 74, 266, 205, 0, 121, - 0, 78, 79, 80, 124, 0, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 828, 102, 103, - 104, 105, 0, 0, 106, 0, 0, 0, 108, 109, - 110, 111, 0, 0, 0, 0, 872, 0, 0, 0, - 0, 0, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 0, 0, 0, 121, 1037, 0, 0, 0, - 124, 0, 0, 0, 0, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 1054, - 0, 0, 0, 299, 0, 108, 109, 110, 111, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1076, 0, + 98, 99, 100, 101, 0, 0, 460, 13, 14, 461, + 16, 17, 462, 19, 463, 21, 0, 22, 0, 24, + 25, 0, 27, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 108, 109, 110, 111, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 0, 0, 116, 117, 0, 0, 0, 118, 0, 0, - 0, 0, 121, 0, 0, 0, 0, 124, 1141, 0, - 0, 0, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 1181, 0, 0, - 299, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 0, 0, 0, 490, 299, - 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 0, 0, 490, 0, 299, - 0, 0, 0, 0, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 559, 0, + 0, 0, 121, 0, 0, 0, 0, 124, 0, 1024, + 0, 0, 108, 109, 110, 111, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 872, 116, + 117, 0, 0, 0, 118, 0, 0, 0, 0, 121, + 0, 564, 271, 0, 124, 0, 272, 74, 266, 0, + 0, 0, 0, 78, 79, 80, 0, 0, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 0, + 0, 0, 74, 266, 7, 8, 0, 0, 78, 79, + 80, 0, 0, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 0, 460, 13, 14, 461, 16, + 17, 462, 19, 463, 21, 0, 22, 0, 24, 25, + 0, 27, 28, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 108, 109, 110, + 111, 299, 0, 0, 0, 0, 44, 45, 46, 0, + 0, 0, 0, 0, 116, 117, 0, 0, 0, 118, + 0, 0, 0, 0, 121, 0, 0, 657, 0, 124, + 0, 658, 108, 109, 110, 111, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 358, 0, 804, 0, 118, 0, 0, 0, 0, 359, + 565, 74, 306, 0, 124, 0, 169, 78, 79, 80, + 0, 0, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 0, 0, 0, 0, 0, 0, 0, + 0, 307, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, + 299, 30, 31, 32, 33, 34, 0, 74, 266, 37, + 0, 0, 40, 78, 79, 80, 0, 0, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 0, + 0, 108, 109, 110, 111, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 116, 308, + 0, 0, 0, 118, 74, 266, 205, 0, 121, 0, + 78, 79, 80, 124, 0, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 0, 102, 103, 104, + 105, 0, 0, 106, 0, 0, 0, 108, 109, 110, + 111, 7, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 116, 117, 0, 0, 0, 118, + 0, 0, 0, 0, 121, 0, 0, 0, 0, 124, + 1037, 0, 460, 13, 14, 461, 16, 17, 462, 19, + 463, 21, 0, 22, 0, 24, 25, 0, 27, 28, + 0, 0, 0, 0, 108, 109, 110, 111, 7, 8, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 116, 117, 44, 45, 46, 118, 7, 8, 0, + 0, 121, 0, 0, 0, 0, 124, 0, 0, 460, + 13, 14, 461, 16, 17, 462, 19, 463, 21, 1052, + 22, 0, 24, 25, 0, 27, 28, 0, 460, 13, + 14, 461, 16, 17, 462, 19, 463, 21, 1074, 22, + 0, 24, 25, 0, 27, 28, 0, 710, 7, 8, + 44, 45, 46, 0, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 44, + 45, 46, 1139, 299, 0, 0, 0, 0, 0, 460, + 13, 14, 461, 16, 17, 462, 19, 463, 21, 0, + 22, 1179, 24, 25, 0, 27, 28, 0, 0, 0, + 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, + 0, 0, 490, 0, 0, 0, 0, 0, 0, 0, + 44, 45, 46, 1136, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 490, 0, 0, 0, 299, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 650, 0, 0, - 0, 299, 0, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 781, 0, 0, - 0, 299, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 840, 0, 0, 0, - 299, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 491, 297, 298, 0, 0, 0, 0, 299, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 508, 297, 298, 0, 0, 0, 0, 299, 0, + 292, 293, 294, 295, 296, 297, 298, 559, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1181, 0, 650, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 782, 0, 0, 0, 299, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 491, 297, 298, 840, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, + 294, 295, 508, 297, 298, 0, 0, 0, 0, 299, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, -4, 1, 0, 299, -4, 0, - 0, 0, 0, 0, 0, 0, -4, -4, 0, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, -4, - 0, 0, 0, 0, -4, -4, 683, -4, -4, -4, - -4, -4, -4, -4, -4, -4, -4, 0, -4, -4, - -4, -4, -4, -4, -4, 0, -4, -4, -4, -4, - -4, -4, 0, -4, -4, -4, -4, -4, -4, 0, - 0, -4, -4, 6, 0, 0, 0, -4, -4, -4, - -4, 7, 8, -4, 0, -4, 0, -4, -4, -4, - -4, -4, -4, -4, -4, -4, -4, 0, 0, 0, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 10, - 11, 0, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 0, 22, 23, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 0, 35, 36, - 37, 38, 39, 40, 7, 8, 41, 42, 0, 0, - 0, 0, 43, 44, 45, 46, 0, 0, 47, 0, - 48, 0, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 0, 0, 0, 460, 13, 14, 461, 16, - 17, 462, 19, 463, 21, 0, 22, 0, 24, 25, - 0, 27, 28, 0, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 44, 45, 46, 999, - 0, 1000, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 1019, 0, 1020, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 1096, 0, 1097, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 687, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 688, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 735, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 780, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 0, 0, 816, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 997, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 1014, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 1043, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 1046, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 0, 0, 1047, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 1048, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 1071, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 1111, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 1113, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 0, 0, 1114, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 1126, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 1129, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 1132, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 1150, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 0, 0, 1151, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 1175, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 1177, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 1179, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 1189, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 448, 0, 0, 0, 0, 527, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 484, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 527, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 528, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 556, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 603, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 604, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 617, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 618, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 619, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 620, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 621, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 622, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 701, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 702, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 703, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 777, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 814, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 815, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 839, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 950, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 951, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 970, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 981, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 1080, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 0, 0, 0, 1081, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 1087, 285, 286, 287, 288, 289, 290, 291, 292, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 0, -4, 1, 0, + 299, -4, 0, 0, 0, 0, 0, 0, 0, -4, + -4, 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 0, 0, 0, 1093, 285, 286, + 299, 0, -4, 0, 0, 0, 0, -4, -4, 683, + -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, + 0, -4, -4, -4, -4, -4, -4, -4, 0, -4, + -4, -4, -4, -4, -4, 0, -4, -4, -4, -4, + -4, -4, 0, 0, -4, -4, 6, 0, 0, 0, + -4, -4, -4, -4, 7, 8, -4, 0, -4, 0, + -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, + 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 10, 11, 0, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 0, 22, 23, 24, 25, + 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, + 0, 35, 36, 37, 38, 39, 40, 7, 8, 41, + 42, 0, 0, 0, 0, 43, 44, 45, 46, 0, + 0, 47, 0, 48, 0, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 0, 0, 0, 460, 13, + 14, 461, 16, 17, 462, 19, 463, 21, 0, 22, + 0, 24, 25, 0, 27, 28, 0, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 44, + 45, 46, 1019, 0, 1020, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 1094, 0, 1095, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 687, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 688, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 736, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 781, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 817, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 997, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 1014, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 1043, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 1044, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 1045, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 1046, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 1069, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 1109, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 1111, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 1112, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 1124, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 1127, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 1130, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 1148, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 1149, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 1173, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 1175, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 1177, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 1187, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 448, 0, 0, 0, 0, + 527, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 484, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 527, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 528, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 556, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 603, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 604, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 617, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 618, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 619, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 620, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 621, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 622, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 701, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 702, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 703, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 778, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 815, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 816, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 839, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 949, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 950, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 969, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 981, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 1078, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 1079, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 1085, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 0, + 0, 0, 1091, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 1143, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, 0, 1146, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 0, 0, 452, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 0, 0, 0, 1145, 285, 286, 287, 288, 289, 290, + 561, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, + 0, 0, 0, 567, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 0, 0, 1148, + 0, 0, 299, 0, 0, 0, 582, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 584, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 452, 285, 286, 287, 288, 289, 290, 291, + 0, 0, 586, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 0, 0, 561, 285, 286, 287, 288, + 0, 299, 0, 0, 0, 588, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 567, 285, + 0, 0, 0, 0, 299, 0, 0, 0, 590, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, - 0, 582, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 592, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 584, 285, 286, 287, 288, 289, + 299, 0, 0, 0, 594, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 0, 0, 586, 285, 286, + 0, 0, 0, 299, 0, 0, 0, 596, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 588, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 598, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 0, 0, 590, 285, 286, 287, 288, 289, 290, + 0, 0, 0, 600, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 592, 285, 286, 287, + 0, 0, 299, 0, 0, 0, 602, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 0, 0, 594, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 606, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 596, 285, 286, 287, 288, 289, 290, 291, + 0, 0, 608, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 0, 0, 598, 285, 286, 287, 288, + 0, 299, 0, 0, 0, 610, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 600, 285, + 0, 0, 0, 0, 299, 0, 0, 0, 612, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, - 0, 602, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 614, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 606, 285, 286, 287, 288, 289, + 299, 0, 0, 0, 616, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 0, 0, 608, 285, 286, + 0, 0, 0, 299, 0, 0, 0, 716, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 610, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 717, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 0, 0, 612, 285, 286, 287, 288, 289, 290, + 0, 0, 0, 719, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 614, 285, 286, 287, + 0, 0, 299, 0, 0, 0, 720, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 0, 0, 616, + 298, 0, 0, 0, 0, 299, 0, 0, 0, 731, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 715, 285, 286, 287, 288, 289, 290, 291, + 0, 0, 732, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 0, 0, 716, 285, 286, 287, 288, + 0, 299, 0, 0, 0, 754, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 0, 0, 718, 285, + 0, 0, 0, 0, 299, 0, 0, 0, 856, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, - 0, 719, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 858, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 0, 0, 730, 285, 286, 287, 288, 289, + 299, 0, 0, 0, 860, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 0, 0, 731, 285, 286, + 0, 0, 0, 299, 0, 0, 0, 862, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, 0, 0, - 753, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 962, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 0, 0, 856, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 0, 0, 858, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 0, 0, 860, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 0, 0, 862, 285, 286, 287, 288, 289, 290, 291, + 0, 448, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, + 299, 0, 485, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 0, 0, 963, 285, 286, 287, 288, + 0, 299, 0, 494, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, + 0, 0, 299, 0, 495, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, + 0, 0, 0, 299, 0, 497, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 448, 285, 286, 287, + 0, 0, 0, 0, 299, 0, 499, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 485, 285, 286, + 298, 0, 0, 0, 0, 299, 0, 500, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 494, 285, + 297, 298, 0, 0, 0, 0, 299, 0, 503, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, 495, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 504, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 497, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 511, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 499, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 552, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 500, 285, 286, 287, 288, 289, 290, 291, + 299, 0, 553, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 503, 285, 286, 287, 288, 289, 290, + 0, 299, 0, 554, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 504, 285, 286, 287, 288, 289, + 0, 0, 299, 0, 560, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 511, 285, 286, 287, 288, + 0, 0, 0, 299, 0, 581, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 552, 285, 286, 287, + 0, 0, 0, 0, 299, 0, 583, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 553, 285, 286, + 298, 0, 0, 0, 0, 299, 0, 585, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 554, 285, + 297, 298, 0, 0, 0, 0, 299, 0, 587, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, 560, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 589, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 581, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 591, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 583, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 593, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 585, 285, 286, 287, 288, 289, 290, 291, + 299, 0, 595, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 587, 285, 286, 287, 288, 289, 290, + 0, 299, 0, 597, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 589, 285, 286, 287, 288, 289, + 0, 0, 299, 0, 599, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 591, 285, 286, 287, 288, + 0, 0, 0, 299, 0, 601, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 593, 285, 286, 287, + 0, 0, 0, 0, 299, 0, 605, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 595, 285, 286, + 298, 0, 0, 0, 0, 299, 0, 607, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 597, 285, + 297, 298, 0, 0, 0, 0, 299, 0, 609, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, 599, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 611, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 601, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 613, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 605, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 615, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 607, 285, 286, 287, 288, 289, 290, 291, + 299, 0, 668, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 609, 285, 286, 287, 288, 289, 290, + 0, 299, 0, 673, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 611, 285, 286, 287, 288, 289, + 0, 0, 299, 0, 681, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 613, 285, 286, 287, 288, + 0, 0, 0, 299, 0, 684, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 615, 285, 286, 287, + 0, 0, 0, 0, 299, 0, 685, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 668, 285, 286, + 298, 0, 0, 0, 0, 299, 0, 689, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 673, 285, + 297, 298, 0, 0, 0, 0, 299, 0, 715, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, 681, + 296, 297, 298, 0, 0, 0, 0, 299, 0, 855, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 684, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 857, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 685, 285, 286, 287, 288, 289, 290, 291, 292, + 0, 859, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 689, 285, 286, 287, 288, 289, 290, 291, + 299, 0, 861, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 714, 285, 286, 287, 288, 289, 290, + 0, 299, 0, 865, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299, 0, 855, 285, 286, 287, 288, 289, + 0, 0, 299, 0, 998, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 0, - 0, 0, 0, 299, 0, 857, 285, 286, 287, 288, + 0, 0, 0, 299, 0, 1013, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 0, 0, 0, 0, 299, 0, 859, 285, 286, 287, + 0, 0, 0, 0, 299, 0, 1023, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 0, 0, 0, 0, 299, 0, 861, 285, 286, + 298, 0, 0, 0, 0, 299, 0, 1142, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 0, 0, 0, 0, 299, 0, 865, 285, + 297, 298, 0, 0, 0, 0, 299, 0, 1185, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 0, 0, 0, 299, 0, 998, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 0, 0, 0, 0, 299, 0, - 1013, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 0, 0, 0, 0, 299, - 0, 1023, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 0, 0, 0, 0, - 299, 0, 1144, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 0, 0, 0, - 0, 299, 0, 1187, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 0, 0, - 0, 0, 299 + 296, 297, 298, 0, 0, 0, 0, 299 }; static const yytype_int16 yycheck[] = { - 58, 1032, 6, 6, 351, 352, 707, 6, 177, 3, - 49, 7, 4, 6, 4, 184, 4, 4, 7, 4, - 5, 274, 6, 4, 49, 4, 643, 4, 4, 5, - 68, 4, 6, 0, 68, 68, 6, 206, 68, 4, - 209, 6, 131, 6, 6, 6, 6, 136, 120, 121, - 4, 36, 37, 38, 39, 6, 13, 42, 130, 130, - 36, 37, 38, 39, 6, 137, 42, 120, 121, 131, - 120, 121, 120, 121, 136, 130, 7, 143, 77, 131, - 7, 147, 137, 136, 136, 138, 56, 137, 136, 79, - 80, 81, 82, 4, 56, 6, 130, 89, 90, 137, - 130, 89, 90, 137, 137, 130, 711, 137, 6, 63, - 64, 65, 66, 116, 117, 118, 1147, 71, 121, 122, - 74, 110, 130, 126, 97, 826, 49, 120, 121, 132, - 130, 125, 135, 130, 137, 138, 139, 140, 134, 142, - 143, 144, 145, 130, 147, 148, 149, 764, 138, 152, - 127, 128, 137, 137, 117, 132, 137, 134, 137, 120, - 121, 137, 139, 137, 137, 168, 169, 132, 53, 120, - 121, 120, 121, 1204, 177, 117, 107, 108, 109, 110, - 107, 108, 109, 110, 122, 123, 124, 136, 191, 192, - 193, 129, 195, 362, 130, 198, 199, 130, 201, 452, - 127, 128, 260, 261, 262, 263, 272, 134, 46, 212, - 130, 49, 381, 51, 49, 218, 219, 220, 221, 222, + 58, 7, 6, 6, 351, 352, 177, 6, 274, 3, + 49, 6, 1032, 184, 4, 5, 4, 4, 130, 4, + 132, 4, 5, 4, 4, 4, 643, 4, 4, 131, + 68, 6, 6, 6, 136, 206, 69, 130, 209, 4, + 0, 6, 75, 76, 137, 6, 36, 37, 38, 39, + 13, 68, 42, 36, 37, 38, 39, 6, 69, 42, + 4, 707, 6, 131, 75, 76, 120, 121, 136, 7, + 7, 711, 120, 121, 127, 128, 120, 121, 77, 132, + 131, 134, 136, 69, 138, 136, 139, 150, 136, 75, + 76, 130, 130, 156, 79, 80, 81, 82, 49, 137, + 43, 89, 90, 46, 130, 138, 49, 120, 121, 89, + 90, 68, 6, 116, 117, 118, 179, 180, 121, 122, + 137, 97, 117, 126, 137, 1145, 53, 138, 134, 132, + 130, 125, 135, 130, 137, 138, 139, 140, 68, 142, + 143, 144, 145, 130, 147, 148, 149, 137, 765, 152, + 127, 128, 138, 138, 137, 132, 137, 134, 137, 120, + 121, 137, 139, 137, 137, 168, 169, 132, 117, 107, + 108, 109, 110, 110, 177, 130, 130, 120, 121, 49, + 137, 827, 1202, 137, 120, 121, 452, 130, 191, 192, + 193, 362, 195, 49, 137, 198, 199, 130, 201, 7, + 130, 137, 260, 261, 262, 263, 4, 137, 46, 212, + 381, 49, 130, 51, 132, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 69, 875, 49, - 326, 264, 51, 75, 76, 4, 5, 127, 128, 272, - 274, 130, 132, 130, 134, 132, 131, 137, 137, 139, - 7, 136, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 36, 37, 38, - 39, 120, 121, 42, 69, 308, 372, 120, 121, 43, - 75, 76, 46, 316, 69, 49, 130, 136, 321, 8, - 75, 76, 325, 326, 137, 130, 138, 330, 137, 332, + 253, 254, 255, 256, 257, 258, 259, 130, 875, 120, + 121, 264, 120, 121, 137, 63, 64, 65, 66, 272, + 274, 130, 132, 71, 134, 136, 74, 138, 136, 7, + 138, 130, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 49, 8, 107, + 108, 109, 110, 69, 130, 308, 132, 120, 121, 75, + 76, 120, 121, 316, 6, 7, 131, 130, 321, 127, + 128, 136, 325, 326, 137, 51, 8, 330, 137, 332, 333, 334, 137, 336, 337, 338, 339, 340, 341, 342, - 339, 340, 341, 342, 131, 127, 128, 120, 121, 136, - 49, 354, 355, 356, 357, 358, 359, 351, 352, 137, - 120, 121, 365, 138, 137, 368, 369, 49, 143, 372, - 373, 374, 147, 138, 31, 32, 136, 34, 138, 46, - 107, 108, 109, 110, 387, 130, 120, 121, 127, 128, - 393, 395, 130, 396, 132, 134, 130, 46, 4, 1100, - 127, 128, 1103, 137, 69, 1106, 69, 130, 69, 132, - 75, 76, 75, 76, 75, 76, 4, 483, 340, 341, - 342, 1038, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 130, 4, 132, 505, - 129, 7, 120, 121, 447, 130, 69, 132, 452, 138, - 130, 454, 75, 76, 453, 1060, 130, 1062, 136, 1064, - 69, 130, 69, 127, 128, 1166, 75, 76, 75, 76, - 134, 6, 130, 138, 132, 138, 130, 138, 132, 69, - 483, 484, 132, 486, 487, 75, 76, 490, 491, 492, - 1191, 120, 121, 1194, 6, 7, 1197, 272, 130, 1200, - 132, 4, 505, 756, 757, 508, 509, 136, 165, 567, - 167, 130, 515, 132, 4, 138, 173, 6, 7, 1220, - 177, 1222, 137, 1224, 527, 528, 130, 130, 132, 138, - 533, 138, 130, 308, 1139, 130, 120, 121, 130, 542, - 543, 107, 108, 109, 110, 130, 7, 132, 138, 130, - 325, 326, 136, 556, 8, 558, 559, 130, 624, 132, - 4, 127, 128, 567, 5, 127, 128, 625, 69, 1174, - 132, 1176, 134, 1178, 75, 76, 923, 139, 6, 1184, - 646, 647, 648, 649, 69, 6, 6, 69, 120, 121, - 75, 76, 658, 75, 76, 653, 130, 372, 5, 130, - 603, 604, 69, 1208, 136, 1210, 138, 1212, 75, 76, - 130, 120, 121, 679, 617, 618, 619, 620, 621, 622, - 137, 624, 150, 120, 121, 130, 629, 136, 156, 36, - 37, 38, 39, 636, 130, 42, 132, 138, 130, 136, - 132, 132, 130, 646, 647, 648, 649, 650, 4, 5, - 137, 179, 180, 138, 137, 658, 138, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 138, 120, 121, 130, 129, 679, 130, 120, 121, - 36, 37, 38, 39, 138, 130, 42, 132, 136, 120, - 121, 130, 349, 350, 136, 120, 121, 130, 130, 132, - 132, 358, 4, 130, 43, 136, 130, 46, 483, 1056, - 49, 136, 51, 130, 137, 132, 491, 492, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 130, 137, 132, - 505, 129, 137, 508, 737, 738, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 130, 753, - 132, 130, 129, 757, 137, 12, 13, 120, 121, 122, - 123, 124, 765, 829, 132, 130, 129, 132, 132, 136, - 134, 138, 6, 132, 777, 136, 6, 138, 781, 136, - 92, 138, 136, 136, 138, 138, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 799, 54, 134, 56, - 57, 6, 59, 60, 136, 49, 138, 51, 137, 6, - 813, 814, 815, 136, 136, 138, 138, 6, 821, 822, - 4, 136, 825, 138, 132, 883, 829, 84, 85, 86, - 136, 136, 138, 138, 137, 6, 839, 840, 841, 136, - 136, 138, 138, 847, 5, 136, 849, 138, 136, 624, - 138, 854, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 129, 136, 868, 138, 129, 867, 526, - 134, 646, 647, 648, 649, 136, 136, 138, 138, 7, - 138, 138, 539, 658, 136, 888, 138, 136, 136, 138, - 138, 132, 895, 896, 136, 7, 138, 900, 136, 1068, - 138, 136, 7, 138, 679, 136, 909, 138, 137, 137, - 131, 7, 6, 89, 137, 4, 919, 136, 131, 131, - 919, 449, 450, 6, 4, 136, 133, 92, 7, 923, - 7, 7, 7, 92, 937, 7, 7, 92, 7, 7, - 7, 131, 945, 131, 131, 131, 945, 950, 951, 134, - 12, 13, 7, 7, 7, 138, 138, 134, 1024, 137, - 130, 130, 6, 6, 6, 133, 6, 970, 6, 132, - 7, 1140, 6, 117, 7, 49, 7, 7, 981, 137, - 7, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 51, 54, 7, 56, 57, 999, 59, 60, 656, - 7, 7, 7, 7, 7, 7, 7, 7, 4, 6, - 137, 130, 1015, 137, 6, 6, 1019, 49, 1021, 6, - 6, 1024, 84, 85, 86, 1028, 4, 4, 4, 4, - 1033, 134, 6, 6, 131, 130, 137, 7, 6, 137, - 6, 134, 6, 6, 701, 702, 703, 137, 6, 137, - 137, 6, 5, 4, 829, 137, 1059, 7, 1061, 6, - 1063, 6, 1056, 12, 13, 6, 88, 137, 6, 1072, - 4, 6, 4, 6, 133, 6, 138, 1080, 1081, 6, - 6, 6, 6, 6, 1087, 5, 136, 6, 6, 4, - 6, 1094, 6, 1096, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 92, 54, 6, 56, 57, 6, - 59, 60, 6, 1116, 6, 6, 6, 6, 6, 137, - 6, 6, 134, 7, 1127, 6, 6, 1130, 1186, 5, - 1133, 6, 6, 6, 1137, 84, 85, 86, 666, 667, - 47, 669, 1145, 671, 672, 1148, 6, 675, 676, 138, - 7, 6, 137, 137, 137, 137, 1214, 137, 1216, 87, - 6, 6, 6, 6, 12, 13, 6, 6, 825, 90, - 6, 6, 137, 5, 61, 137, 1234, 138, 6, 6, - 137, 6, 136, 6, 6, 6, 6, 6, 5, 138, - 138, 137, 720, 721, 722, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 6, 54, 137, 56, 57, - 6, 59, 60, 6, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 137, 137, - 136, 6, 129, 890, 6, 892, 84, 85, 86, 137, - 6, 5, 137, 6, 137, 6, 6, 6, 6, 1024, - 6, 6, 6, 6, 137, 137, 6, 785, 776, 138, - 1116, 3, 3, 791, -1, -1, 871, 924, -1, 926, - -1, 928, 800, 801, 802, -1, -1, 805, 806, 807, - 808, 809, 810, 811, -1, -1, -1, -1, -1, -1, - 138, 3, 4, 821, -1, -1, -1, 9, 10, 11, - -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - -1, 43, -1, -1, -1, -1, -1, -1, 866, -1, - -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, - -1, 63, 64, 65, 66, 67, -1, -1, -1, 71, - -1, -1, 74, -1, -1, -1, 8, -1, -1, -1, - -1, -1, -1, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, -1, 54, 6, 56, 57, -1, 59, - 60, 103, 104, 105, 106, -1, -1, -1, -1, -1, - -1, -1, 1059, -1, 1061, -1, 1063, -1, 120, 121, - -1, -1, 940, 125, 84, 85, 86, -1, 130, -1, - -1, -1, -1, 135, 952, -1, 138, 3, 4, 5, - -1, 7, -1, 9, 10, 11, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - 36, 37, 38, 39, -1, -1, 42, -1, 138, 111, + 339, 340, 341, 342, 120, 121, 130, 120, 121, 127, + 128, 354, 355, 356, 357, 358, 359, 351, 352, 131, + 136, 49, 365, 136, 136, 368, 369, 120, 121, 372, + 373, 374, 138, 7, 31, 32, 130, 34, 132, 107, + 108, 109, 110, 136, 387, 4, 449, 450, 49, 43, + 393, 395, 46, 396, 143, 49, 137, 51, 147, 127, + 128, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 46, 46, 69, 1058, 129, + 1060, 1038, 1062, 75, 76, 340, 341, 342, 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, 1012, -1, -1, 129, -1, 131, + 122, 123, 124, 4, 447, 120, 121, 129, 452, 120, + 121, 454, 1098, 69, 453, 1101, 138, 69, 1104, 75, + 76, 136, 138, 75, 76, 136, 130, 143, 132, 120, + 121, 147, 69, 107, 108, 109, 110, 4, 75, 76, + 483, 484, 130, 486, 487, 136, 138, 490, 491, 492, + 130, 757, 758, 127, 128, 120, 121, 1137, 120, 121, + 134, 130, 505, 120, 121, 508, 509, 130, 165, 567, + 167, 136, 515, 4, 136, 130, 173, 132, 1164, 136, + 177, 69, 138, 272, 527, 528, 138, 75, 76, 130, + 533, 132, 1172, 6, 1174, 130, 1176, 132, 541, 132, + 543, 138, 1182, 1189, 120, 121, 1192, 4, 5, 1195, + 4, 69, 1198, 556, 137, 558, 559, 75, 76, 130, + 136, 132, 130, 567, 127, 128, 1206, 625, 1208, 7, + 1210, 134, 1218, 130, 1220, 922, 1222, 326, 130, 36, + 37, 38, 39, 130, 130, 42, 132, 69, 130, 130, + 138, 132, 69, 75, 76, 653, 272, 4, 75, 76, + 603, 604, 6, 666, 667, 8, 669, 6, 671, 672, + 6, 5, 675, 676, 617, 618, 619, 620, 621, 622, + 138, 624, 69, 372, 120, 121, 629, 130, 75, 76, + 4, 5, 308, 636, 122, 123, 124, 130, 130, 132, + 136, 129, 137, 646, 647, 648, 649, 650, 5, 325, + 326, 130, 130, 132, 132, 658, 138, 137, 721, 722, + 723, 138, 36, 37, 38, 39, 130, 69, 42, 130, + 127, 128, 130, 75, 76, 6, 679, 134, 137, 36, + 37, 38, 39, 4, 130, 42, 120, 121, 122, 123, + 124, 138, 349, 350, 130, 129, 372, 130, 130, 132, + 132, 358, 130, 130, 132, 132, 130, 1054, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 130, 786, 132, 130, 129, 132, 131, 792, + 130, 49, 132, 51, 483, 738, 739, 130, 801, 802, + 803, 130, 137, 806, 807, 808, 809, 810, 811, 812, + 754, 136, 132, 138, 758, 136, 505, 138, 136, 822, + 138, 137, 137, 766, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 6, 136, 778, 138, 129, 137, 782, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 97, -1, -1, -1, -1, -1, 103, 104, 105, - 106, 107, 108, 109, 110, -1, -1, -1, -1, 1067, - -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, - -1, 127, 128, -1, 130, -1, 132, -1, 134, 135, - -1, 137, -1, -1, -1, -1, -1, -1, -1, 3, - 4, -1, -1, -1, -1, 9, 10, 11, -1, 1107, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, -1, 43, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, - 74, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, - 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, 86, -1, 120, 121, -1, -1, - -1, 125, -1, -1, -1, -1, 130, -1, 3, 4, - -1, 135, -1, 137, 9, 10, 11, -1, -1, 14, + 121, 122, 123, 124, 127, 128, 130, 800, 129, 132, + 136, 134, 138, 866, 137, 132, 139, 483, 136, 132, + 138, 814, 815, 816, 6, 491, 492, 134, 137, 822, + 823, 92, 136, 826, 138, 883, 829, 6, 136, 505, + 138, 136, 508, 138, 6, 6, 839, 840, 841, 136, + 136, 138, 138, 847, 4, 6, 849, 136, 136, 138, + 138, 854, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 132, 136, 868, 138, 129, 867, 526, + 136, 136, 138, 138, 137, 624, 939, 136, 136, 138, + 138, 136, 539, 138, 136, 888, 138, 136, 951, 138, + 6, 894, 895, 5, 134, 1066, 899, 646, 647, 648, + 649, 136, 136, 138, 138, 908, 136, 129, 138, 658, + 136, 7, 138, 132, 137, 918, 7, 138, 7, 918, + 137, 131, 7, 7, 6, 89, 137, 4, 922, 136, + 679, 131, 131, 936, 136, 6, 4, 133, 7, 92, + 7, 944, 7, 7, 92, 944, 949, 950, 624, 1012, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 7, 7, 969, 1138, 129, 92, + 646, 647, 648, 649, 7, 7, 7, 131, 981, 131, + 131, 131, 658, 138, 6, 134, 7, 6, 134, 7, + 7, 138, 130, 130, 137, 6, 999, 6, 6, 656, + 133, 6, 1065, 679, 6, 132, 7, 6, 117, 49, + 7, 7, 1015, 51, 7, 137, 1019, 7, 1021, 7, + 7, 1024, 7, 7, 7, 1028, 7, 7, 7, 7, + 1033, 4, 6, 137, 137, 130, 6, 6, 6, 49, + 6, 4, 1105, 4, 701, 702, 703, 4, 134, 130, + 4, 6, 131, 6, 1057, 7, 1059, 137, 1061, 134, + 1054, 6, 56, 137, 6, 137, 6, 1070, 6, 6, + 6, 137, 5, 4, 137, 1078, 1079, 6, 137, 137, + 829, 6, 1085, 6, 88, 6, 4, 7, 133, 1092, + 6, 1094, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 4, 6, 4, 6, + 129, 1114, 6, 6, 6, 6, 6, 6, 6, 6, + 5, 92, 1125, 6, 6, 1128, 1184, 6, 1131, 6, + 6, 6, 1135, 6, 6, 6, 6, 6, 136, 6, + 1143, 6, 137, 1146, 6, 134, 7, 6, 6, 5, + 7, 6, 47, 829, 1212, 6, 1214, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 826, + 6, 138, 137, 129, 1232, 137, 3, 4, 137, 137, + 6, 6, 9, 10, 11, 87, 137, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 6, 6, + 90, 6, 6, 6, 6, 6, 43, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 137, 889, 137, 6, 129, 63, 64, 65, 66, + 67, 5, 61, 6, 71, 6, 6, 74, 6, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 6, 138, 6, 923, 129, 925, 137, + 927, 6, 136, 6, 5, 1024, 103, 104, 105, 106, + 6, 6, 6, 136, 138, 137, 6, 137, 137, 137, + 6, 137, 6, 120, 121, 5, 137, 137, 125, 137, + 137, 6, 6, 130, 138, 6, 6, 6, 135, 6, + 6, 138, 6, 6, 6, 777, 3, 4, 5, 1114, + 7, 3, 9, 10, 11, 785, 3, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 1024, 36, + 37, 38, 39, -1, 871, 42, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, + -1, -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, -1, -1, 138, -1, 43, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, - 65, 66, 67, 6, -1, -1, 71, -1, -1, 74, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, - -1, -1, -1, -1, 6, -1, -1, -1, 103, 104, - 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, 86, -1, 120, 121, -1, -1, -1, + 1057, -1, 1059, -1, 1061, -1, -1, -1, 43, -1, + 97, -1, -1, -1, -1, -1, 103, 104, 105, 106, + 107, 108, 109, 110, -1, -1, -1, -1, 63, 64, + 65, 66, 67, 120, 121, -1, 71, -1, 125, 74, + 127, 128, -1, 130, -1, 132, -1, 134, 135, -1, + 137, -1, -1, -1, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 103, 104, + 105, 106, 129, -1, -1, -1, -1, -1, -1, 136, + -1, 138, -1, -1, -1, 120, 121, -1, -1, -1, 125, -1, -1, -1, -1, 130, -1, 3, 4, -1, 135, -1, 137, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, -1, 138, -1, 43, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, 63, 64, 65, - 66, 67, -1, -1, -1, 71, -1, -1, 74, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, - 6, -1, -1, -1, -1, -1, -1, 103, 104, 105, + -1, -1, -1, -1, -1, -1, -1, 43, 12, 13, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 63, 64, 65, + 66, 67, 6, -1, -1, 71, -1, -1, 74, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, + 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, + -1, -1, -1, 6, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, - -1, -1, -1, -1, 130, -1, 3, 4, 5, 135, + 84, 85, 86, -1, 120, 121, -1, -1, -1, 125, + -1, -1, -1, -1, 130, -1, 3, 4, -1, 135, -1, 137, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, - 37, 38, 39, 3, 4, 42, -1, -1, -1, 9, - 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, - -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, -1, 138, -1, 43, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, 63, 64, 65, 66, + 67, -1, -1, -1, 71, -1, -1, 74, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, -1, - -1, -1, -1, 130, -1, -1, -1, -1, 135, -1, - 137, 6, -1, 103, 104, 105, 106, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, 121, -1, -1, -1, 125, -1, -1, -1, -1, - 130, -1, -1, 133, -1, 135, -1, 137, 3, 4, - -1, -1, -1, -1, 9, 10, 11, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, -1, -1, 3, 4, -1, -1, -1, -1, 9, - 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, - 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, 121, -1, -1, -1, - 125, -1, -1, -1, -1, 130, -1, -1, 133, -1, - 135, -1, 137, 103, 104, 105, 106, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, 121, -1, 61, -1, 125, -1, -1, -1, -1, - 130, -1, 3, 4, -1, 135, -1, 137, 9, 10, + -1, -1, -1, 130, -1, 3, 4, 5, 135, -1, + 137, 9, 10, 11, -1, -1, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, + 38, 39, 3, 4, 42, 12, 13, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, - -1, -1, 43, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, - -1, 129, 63, 64, 65, 66, 67, -1, 3, 4, - 71, -1, -1, 74, 9, 10, 11, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 6, -1, 103, 104, 105, 106, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, - 121, -1, -1, -1, 125, 3, 4, 5, -1, 130, - -1, 9, 10, 11, 135, -1, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 6, 36, 37, - 38, 39, -1, -1, 42, -1, -1, -1, 103, 104, - 105, 106, -1, -1, -1, -1, 6, -1, -1, -1, - -1, -1, -1, -1, -1, 120, 121, -1, -1, -1, - 125, -1, -1, -1, -1, 130, 6, -1, -1, -1, - 135, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 6, - -1, -1, -1, 129, -1, 103, 104, 105, 106, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 6, -1, + 31, 32, 33, 34, -1, -1, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, + 57, -1, 59, 60, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 103, 104, 105, 106, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, -1, 120, 121, -1, -1, -1, 125, -1, -1, - -1, -1, 130, -1, -1, -1, -1, 135, 6, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, 6, -1, -1, - 129, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, -1, -1, -1, 8, 129, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, -1, -1, 8, -1, 129, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, + -1, -1, 130, -1, -1, -1, -1, 135, -1, 137, + -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6, 120, + 121, -1, -1, -1, 125, -1, -1, -1, -1, 130, + -1, 138, 133, -1, 135, -1, 137, 3, 4, -1, + -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + -1, -1, 3, 4, 12, 13, -1, -1, 9, 10, + 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, -1, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, + -1, 59, 60, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 103, 104, 105, + 106, 129, -1, -1, -1, -1, 84, 85, 86, -1, + -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, 133, -1, 135, + -1, 137, 103, 104, 105, 106, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, + 121, -1, 61, -1, 125, -1, -1, -1, -1, 130, + 138, 3, 4, -1, 135, -1, 137, 9, 10, 11, + -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 43, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, + 129, 63, 64, 65, 66, 67, -1, 3, 4, 71, + -1, -1, 74, 9, 10, 11, -1, -1, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 120, 121, + -1, -1, -1, 125, 3, 4, 5, -1, 130, -1, + 9, 10, 11, 135, -1, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, + 39, -1, -1, 42, -1, -1, -1, 103, 104, 105, + 106, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, -1, -1, 135, + 6, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, + -1, -1, -1, -1, 103, 104, 105, 106, 12, 13, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 120, 121, 84, 85, 86, 125, 12, 13, -1, + -1, 130, -1, -1, -1, -1, 135, -1, -1, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 6, + 54, -1, 56, 57, -1, 59, 60, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 6, 54, + -1, 56, 57, -1, 59, 60, -1, 138, 12, 13, + 84, 85, 86, -1, -1, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 84, + 85, 86, 6, 129, -1, -1, -1, -1, -1, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, + 54, 6, 56, 57, -1, 59, 60, -1, -1, -1, + -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, + -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, + 84, 85, 86, 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 8, -1, -1, -1, 129, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 8, -1, -1, - -1, 129, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 8, -1, -1, - -1, 129, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 8, -1, -1, -1, - 129, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 138, -1, 8, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 8, -1, -1, -1, 129, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 8, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, 0, 1, -1, 129, 4, -1, - -1, -1, -1, -1, -1, -1, 12, 13, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, -1, -1, -1, 129, -1, 35, - -1, -1, -1, -1, 40, 41, 138, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, 55, - 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, - 66, 67, -1, 69, 70, 71, 72, 73, 74, -1, - -1, 77, 78, 4, -1, -1, -1, 83, 84, 85, - 86, 12, 13, 89, -1, 91, -1, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, - -1, -1, -1, -1, 35, -1, -1, -1, -1, 40, - 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, 58, 59, 60, - -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, - 71, 72, 73, 74, 12, 13, 77, 78, -1, -1, - -1, -1, 83, 84, 85, 86, -1, -1, 89, -1, - 91, -1, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, -1, -1, -1, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, - -1, 59, 60, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, 84, 85, 86, 136, - -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, -1, 138, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, 136, -1, 138, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, -1, -1, 138, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, -1, 138, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, - -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, -1, 138, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, -1, -1, 138, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, -1, 138, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, - -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, -1, 138, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, -1, -1, 138, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, -1, 138, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, - -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, -1, 138, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, -1, -1, 138, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, -1, 138, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, - -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, -1, 138, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, -1, -1, 138, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, -1, 138, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, - -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - 131, -1, -1, -1, -1, 136, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, 136, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, 136, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, 136, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, 136, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, 136, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, 136, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, 136, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, 136, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, 136, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, 136, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, -1, 0, 1, -1, + 129, 4, -1, -1, -1, -1, -1, -1, -1, 12, + 13, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 136, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, 136, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - -1, -1, 133, 111, 112, 113, 114, 115, 116, 117, + 129, -1, 35, -1, -1, -1, -1, 40, 41, 138, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + -1, 54, 55, 56, 57, 58, 59, 60, -1, 62, + 63, 64, 65, 66, 67, -1, 69, 70, 71, 72, + 73, 74, -1, -1, 77, 78, 4, -1, -1, -1, + 83, 84, 85, 86, 12, 13, 89, -1, 91, -1, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, + -1, -1, 40, 41, -1, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, -1, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, + -1, 69, 70, 71, 72, 73, 74, 12, 13, 77, + 78, -1, -1, -1, -1, 83, 84, 85, 86, -1, + -1, 89, -1, 91, -1, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, -1, -1, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, + -1, 56, 57, -1, 59, 60, -1, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, 84, + 85, 86, 136, -1, 138, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 136, -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, - -1, 129, -1, -1, -1, 133, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, -1, -1, 133, 111, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, - -1, 133, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 111, 112, 113, 114, 115, + -1, -1, -1, -1, -1, -1, 138, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + -1, -1, 138, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, -1, -1, 138, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + -1, -1, 138, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, -1, -1, 138, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + -1, -1, 138, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, -1, -1, 138, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + -1, -1, 138, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, -1, -1, 138, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, 131, -1, -1, -1, -1, + 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, 136, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, 136, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, 136, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, 136, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, 136, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, 136, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, 136, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, 136, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, 136, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, 136, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, 136, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, 136, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, 136, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, 136, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, 136, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, + 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, 136, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, 136, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, -1, -1, -1, 136, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, 133, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, @@ -2609,16 +2568,17 @@ static const yytype_int16 yycheck[] = 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, 133, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 129, -1, 131, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, -1, -1, -1, -1, 129, -1, 131, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, -1, 131, 111, + -1, -1, -1, -1, 129, -1, -1, -1, 133, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, -1, -1, -1, 129, -1, 131, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, - 131, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, + -1, 133, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, + 129, -1, -1, -1, 133, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, -1, -1, 133, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, -1, -1, -1, -1, 129, -1, -1, -1, + 133, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, 131, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, @@ -2710,7 +2670,17 @@ static const yytype_int16 yycheck[] = 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, 131, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129 + -1, -1, 129, -1, 131, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + -1, -1, -1, 129, -1, 131, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + -1, -1, -1, -1, 129, -1, 131, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, -1, -1, -1, 129, -1, 131, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, -1, -1, -1, -1, 129, -1, 131, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, -1, -1, -1, 129 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2723,125 +2693,124 @@ static const yytype_uint8 yystos[] = 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 83, 84, 85, 86, 89, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 143, - 145, 146, 164, 167, 168, 171, 172, 173, 174, 175, - 176, 194, 195, 196, 3, 4, 5, 7, 9, 10, + 145, 146, 164, 168, 169, 172, 173, 174, 175, 176, + 177, 196, 197, 198, 3, 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, 97, 103, 104, 105, 106, 107, 108, 109, 110, 120, 121, 125, 127, - 128, 130, 132, 134, 135, 137, 162, 163, 197, 198, - 209, 13, 49, 130, 6, 137, 6, 130, 137, 130, + 128, 130, 132, 134, 135, 137, 162, 163, 199, 200, + 211, 13, 49, 130, 6, 137, 6, 130, 137, 130, 130, 68, 130, 137, 130, 130, 68, 137, 130, 130, 53, 49, 130, 49, 49, 49, 46, 49, 51, 51, 43, 46, 49, 51, 130, 137, 120, 121, 130, 137, - 199, 200, 199, 137, 43, 46, 49, 137, 199, 49, + 201, 202, 201, 137, 43, 46, 49, 137, 201, 49, 49, 46, 4, 97, 137, 4, 6, 46, 4, 4, - 4, 130, 130, 130, 4, 137, 205, 4, 130, 130, - 6, 132, 4, 4, 4, 5, 137, 208, 209, 137, - 208, 4, 132, 134, 139, 163, 137, 209, 130, 132, + 4, 130, 130, 130, 4, 137, 207, 4, 130, 130, + 6, 132, 4, 4, 4, 5, 137, 210, 211, 137, + 210, 4, 132, 134, 139, 163, 137, 211, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, 130, 132, - 130, 130, 130, 130, 7, 130, 4, 197, 197, 197, - 197, 133, 137, 197, 4, 89, 90, 4, 4, 168, - 169, 170, 197, 6, 6, 111, 112, 113, 114, 115, + 130, 130, 130, 130, 7, 130, 4, 199, 199, 199, + 199, 133, 137, 199, 4, 89, 90, 4, 4, 169, + 170, 171, 199, 6, 6, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 129, - 6, 6, 197, 5, 197, 197, 4, 43, 121, 168, - 176, 197, 203, 204, 197, 197, 130, 197, 204, 197, - 197, 130, 204, 197, 197, 121, 137, 197, 202, 203, - 130, 197, 137, 130, 130, 202, 137, 137, 130, 130, - 130, 130, 130, 4, 199, 199, 199, 197, 197, 120, - 121, 137, 137, 199, 137, 137, 137, 120, 121, 130, - 170, 199, 137, 202, 202, 130, 4, 6, 132, 132, - 170, 6, 137, 132, 132, 6, 197, 197, 197, 134, - 197, 137, 92, 197, 197, 197, 6, 132, 134, 170, - 6, 170, 6, 132, 197, 4, 137, 147, 6, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 208, 208, 208, 208, 197, 5, 132, 131, 7, - 110, 204, 133, 7, 162, 163, 134, 7, 132, 138, - 43, 46, 49, 51, 167, 6, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 6, 131, 136, 136, 131, 132, 137, 197, 203, - 8, 122, 136, 138, 131, 131, 197, 131, 138, 131, - 131, 197, 138, 131, 131, 137, 138, 204, 122, 7, - 197, 131, 197, 197, 197, 7, 197, 197, 197, 165, - 197, 209, 165, 165, 165, 131, 136, 136, 136, 199, - 199, 169, 169, 136, 197, 197, 197, 197, 180, 136, - 170, 6, 7, 7, 197, 6, 197, 197, 138, 204, - 197, 197, 131, 131, 131, 89, 136, 170, 137, 8, - 131, 133, 197, 4, 138, 138, 197, 133, 163, 197, + 6, 6, 199, 5, 199, 199, 4, 43, 121, 169, + 177, 199, 205, 206, 199, 199, 130, 199, 206, 199, + 199, 130, 206, 199, 199, 121, 137, 199, 204, 205, + 130, 199, 137, 130, 130, 204, 137, 137, 130, 130, + 130, 130, 130, 4, 201, 201, 201, 199, 199, 120, + 121, 137, 137, 201, 137, 137, 137, 120, 121, 130, + 171, 201, 137, 204, 204, 130, 4, 6, 132, 132, + 171, 6, 137, 132, 132, 6, 199, 199, 199, 134, + 199, 137, 92, 199, 199, 199, 6, 132, 134, 171, + 6, 171, 6, 132, 199, 4, 137, 147, 6, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 210, 210, 210, 210, 199, 5, 132, 131, 7, + 110, 206, 133, 7, 162, 163, 134, 7, 132, 138, + 43, 46, 49, 51, 168, 6, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 6, 131, 136, 136, 131, 132, 137, 199, 205, + 8, 122, 136, 138, 131, 131, 199, 131, 138, 131, + 131, 199, 138, 131, 131, 137, 138, 206, 122, 7, + 199, 131, 199, 199, 199, 7, 199, 199, 199, 165, + 199, 211, 165, 165, 165, 131, 136, 136, 136, 201, + 201, 170, 170, 136, 199, 199, 199, 199, 181, 136, + 171, 7, 195, 7, 199, 6, 199, 199, 138, 206, + 199, 199, 131, 131, 131, 89, 136, 171, 137, 8, + 131, 133, 199, 4, 138, 138, 199, 133, 163, 199, 4, 79, 80, 81, 82, 138, 150, 154, 157, 159, 160, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 136, 136, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 131, 133, 136, 136, 136, 136, 136, 136, 131, 136, 136, 131, 131, 6, 136, - 197, 202, 202, 138, 7, 134, 162, 163, 209, 197, - 6, 4, 4, 137, 206, 133, 137, 137, 137, 137, - 8, 6, 117, 144, 204, 197, 7, 133, 137, 197, - 197, 197, 203, 197, 203, 92, 7, 7, 131, 7, - 92, 7, 7, 131, 92, 7, 7, 204, 138, 137, - 197, 131, 7, 138, 131, 131, 197, 138, 138, 131, - 131, 131, 131, 131, 134, 199, 197, 197, 138, 138, - 197, 136, 136, 136, 69, 75, 76, 190, 191, 199, - 138, 177, 197, 197, 131, 133, 133, 138, 133, 133, - 7, 7, 7, 134, 197, 138, 197, 197, 7, 134, - 133, 133, 134, 163, 208, 138, 151, 130, 130, 137, - 161, 6, 197, 197, 197, 197, 197, 197, 197, 197, - 204, 208, 197, 133, 6, 6, 133, 4, 89, 90, - 197, 6, 6, 6, 7, 132, 205, 207, 6, 204, - 204, 204, 204, 197, 117, 208, 131, 136, 199, 204, - 138, 8, 49, 202, 202, 7, 202, 49, 51, 202, - 202, 7, 51, 202, 202, 138, 204, 6, 7, 137, - 7, 7, 7, 61, 192, 7, 7, 7, 7, 7, - 7, 7, 4, 136, 136, 136, 138, 199, 199, 199, - 6, 137, 130, 138, 191, 136, 190, 6, 6, 137, - 6, 6, 49, 6, 6, 202, 202, 202, 4, 136, + 199, 204, 204, 138, 7, 134, 162, 163, 211, 199, + 6, 4, 4, 137, 208, 133, 137, 137, 137, 137, + 8, 6, 117, 144, 206, 199, 7, 133, 137, 199, + 199, 199, 205, 199, 205, 92, 7, 7, 131, 7, + 92, 7, 7, 131, 92, 7, 7, 206, 138, 137, + 199, 131, 7, 138, 131, 131, 199, 138, 138, 131, + 131, 131, 131, 131, 134, 201, 199, 199, 138, 138, + 199, 136, 136, 136, 69, 75, 76, 191, 192, 201, + 138, 178, 199, 6, 199, 131, 133, 133, 138, 133, + 133, 7, 7, 7, 134, 199, 138, 199, 199, 7, + 134, 133, 133, 134, 163, 210, 138, 151, 130, 130, + 137, 161, 6, 199, 199, 199, 199, 199, 199, 199, + 199, 206, 210, 199, 133, 6, 6, 133, 4, 89, + 90, 199, 6, 6, 6, 7, 132, 207, 209, 6, + 206, 206, 206, 206, 199, 117, 210, 131, 136, 201, + 206, 138, 8, 49, 204, 204, 7, 204, 49, 51, + 204, 204, 7, 51, 204, 204, 138, 206, 6, 7, + 137, 7, 7, 7, 61, 193, 7, 7, 7, 7, + 7, 7, 7, 4, 136, 136, 136, 138, 201, 201, + 201, 6, 137, 130, 138, 192, 136, 191, 6, 137, + 6, 6, 49, 6, 6, 204, 204, 204, 4, 136, 8, 8, 131, 4, 4, 134, 6, 4, 6, 130, - 197, 197, 201, 202, 137, 131, 133, 131, 133, 131, + 199, 199, 203, 204, 137, 131, 133, 131, 133, 131, 133, 131, 133, 131, 131, 131, 162, 7, 162, 163, - 134, 7, 6, 205, 197, 136, 138, 138, 138, 138, - 138, 6, 6, 144, 197, 6, 138, 197, 137, 6, - 56, 6, 56, 202, 6, 137, 137, 6, 6, 202, - 137, 6, 6, 138, 5, 197, 202, 202, 202, 4, - 6, 202, 202, 202, 202, 202, 202, 202, 6, 7, - 197, 197, 197, 137, 136, 138, 136, 138, 136, 138, - 197, 202, 197, 197, 199, 138, 204, 137, 6, 6, - 88, 197, 197, 197, 6, 7, 4, 163, 148, 197, - 136, 136, 136, 138, 149, 197, 202, 209, 197, 6, - 4, 206, 6, 133, 205, 6, 6, 6, 6, 208, - 136, 133, 197, 199, 199, 6, 197, 197, 6, 197, - 5, 136, 6, 6, 92, 166, 197, 4, 193, 6, - 6, 6, 6, 6, 6, 197, 209, 138, 131, 136, - 138, 169, 199, 6, 181, 199, 6, 182, 199, 6, - 183, 138, 136, 131, 138, 136, 138, 197, 202, 136, - 138, 8, 138, 131, 137, 197, 209, 131, 136, 197, - 197, 202, 137, 136, 138, 6, 6, 6, 7, 6, - 134, 6, 197, 138, 6, 6, 138, 138, 138, 5, - 197, 47, 6, 6, 6, 6, 137, 197, 138, 136, - 137, 136, 137, 136, 137, 6, 202, 7, 137, 197, - 6, 138, 87, 197, 197, 204, 6, 6, 152, 197, - 136, 136, 201, 197, 6, 205, 90, 136, 6, 6, - 6, 6, 6, 136, 137, 169, 136, 138, 197, 199, - 190, 197, 199, 190, 197, 199, 190, 136, 138, 202, - 170, 138, 197, 138, 138, 138, 137, 197, 197, 138, - 6, 197, 5, 197, 138, 197, 138, 136, 138, 138, - 136, 138, 138, 136, 138, 202, 6, 61, 138, 178, - 137, 6, 6, 149, 131, 136, 6, 137, 136, 136, - 138, 138, 6, 184, 197, 6, 6, 185, 197, 6, - 6, 186, 197, 6, 138, 197, 190, 170, 138, 155, - 197, 201, 197, 5, 137, 138, 137, 138, 137, 138, - 6, 6, 138, 138, 179, 6, 137, 131, 138, 138, - 136, 190, 6, 187, 190, 6, 188, 190, 6, 189, - 190, 153, 208, 158, 137, 6, 5, 138, 137, 138, - 137, 138, 137, 138, 136, 138, 137, 201, 138, 6, - 190, 6, 190, 6, 190, 208, 6, 156, 208, 138, - 6, 138, 138, 138, 136, 138, 6, 6, 6, 6, - 208, 6 + 134, 7, 6, 207, 199, 136, 138, 138, 138, 138, + 138, 6, 6, 144, 199, 6, 138, 199, 137, 56, + 167, 167, 204, 6, 137, 137, 6, 6, 204, 137, + 6, 6, 138, 5, 199, 204, 204, 204, 4, 6, + 204, 204, 204, 204, 204, 204, 204, 6, 7, 199, + 199, 199, 137, 136, 138, 136, 138, 136, 138, 199, + 204, 199, 199, 201, 138, 206, 137, 6, 6, 88, + 199, 199, 199, 6, 7, 4, 163, 148, 199, 136, + 136, 136, 138, 149, 199, 204, 211, 199, 6, 4, + 208, 6, 133, 207, 6, 6, 6, 6, 210, 136, + 133, 199, 201, 6, 6, 6, 199, 199, 6, 199, + 5, 136, 6, 6, 92, 166, 199, 4, 194, 6, + 6, 6, 6, 6, 6, 199, 211, 138, 131, 136, + 138, 170, 201, 6, 182, 201, 6, 183, 201, 6, + 184, 138, 136, 131, 138, 136, 138, 199, 204, 136, + 138, 8, 138, 131, 137, 199, 211, 131, 136, 199, + 199, 204, 137, 136, 138, 6, 6, 6, 7, 6, + 134, 6, 199, 138, 138, 138, 138, 5, 199, 47, + 6, 6, 6, 6, 137, 199, 138, 136, 137, 136, + 137, 136, 137, 6, 204, 7, 137, 199, 6, 138, + 87, 199, 199, 206, 6, 6, 152, 199, 136, 136, + 203, 199, 6, 207, 90, 136, 6, 6, 6, 6, + 6, 136, 137, 170, 136, 138, 199, 201, 191, 199, + 201, 191, 199, 201, 191, 136, 138, 204, 171, 138, + 199, 138, 138, 138, 137, 199, 199, 138, 6, 199, + 5, 199, 138, 199, 138, 136, 138, 138, 136, 138, + 138, 136, 138, 204, 6, 61, 138, 179, 137, 6, + 6, 149, 131, 136, 6, 137, 136, 136, 138, 138, + 6, 185, 199, 6, 6, 186, 199, 6, 6, 187, + 199, 6, 138, 199, 191, 171, 138, 155, 199, 203, + 199, 5, 137, 138, 137, 138, 137, 138, 6, 6, + 138, 138, 180, 6, 137, 131, 138, 138, 136, 191, + 6, 188, 191, 6, 189, 191, 6, 190, 191, 153, + 210, 158, 137, 6, 5, 138, 137, 138, 137, 138, + 137, 138, 136, 138, 137, 203, 138, 6, 191, 6, + 191, 6, 191, 210, 6, 156, 210, 138, 6, 138, + 138, 138, 136, 138, 6, 6, 6, 6, 210, 6 }; #define yyerrok (yyerrstatus = 0) @@ -4686,7 +4655,21 @@ yyreduce: break; case 90: +#line 1010 "Gmsh.y" + { + for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.; + ;} + break; + + case 91: #line 1014 "Gmsh.y" + { + for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; + ;} + break; + + case 92: +#line 1024 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -4711,8 +4694,8 @@ yyreduce: ;} break; - case 91: -#line 1037 "Gmsh.y" + case 93: +#line 1047 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -4730,8 +4713,8 @@ yyreduce: ;} break; - case 92: -#line 1053 "Gmsh.y" + case 94: +#line 1063 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -4752,8 +4735,8 @@ yyreduce: ;} break; - case 93: -#line 1075 "Gmsh.y" + case 95: +#line 1085 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4773,8 +4756,8 @@ yyreduce: ;} break; - case 94: -#line 1093 "Gmsh.y" + case 96: +#line 1103 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4794,108 +4777,74 @@ yyreduce: ;} break; - case 95: -#line 1111 "Gmsh.y" - { - int num = (int)(yyvsp[(3) - (7)].d); - if(FindCurve(num)){ - yymsg(0, "Curve %d already exists", num); - } - else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (7)].l)); - Curve *c = Create_Curve(num, MSH_SEGM_CIRC, 2, temp, NULL, - -1, -1, 0., 1.); - Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); - CreateReversedCurve(c); - List_Delete(temp); - } - List_Delete((yyvsp[(6) - (7)].l)); - (yyval.s).Type = MSH_SEGM_CIRC; - (yyval.s).Num = num; - ;} - break; - - case 96: -#line 1129 "Gmsh.y" + case 97: +#line 1121 "Gmsh.y" { - int num = (int)(yyvsp[(3) - (9)].d); + int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ yymsg(0, "Curve %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (9)].l)); + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (8)].l)); Curve *c = Create_Curve(num, MSH_SEGM_CIRC, 2, temp, NULL, -1, -1, 0., 1.); - c->Circle.n[0] = (yyvsp[(8) - (9)].v)[0]; - c->Circle.n[1] = (yyvsp[(8) - (9)].v)[1]; - c->Circle.n[2] = (yyvsp[(8) - (9)].v)[2]; - End_Curve(c); + if((yyvsp[(7) - (8)].v)[0] || (yyvsp[(7) - (8)].v)[1] || (yyvsp[(7) - (8)].v)[2]){ + c->Circle.n[0] = (yyvsp[(7) - (8)].v)[0]; + c->Circle.n[1] = (yyvsp[(7) - (8)].v)[1]; + c->Circle.n[2] = (yyvsp[(7) - (8)].v)[2]; + End_Curve(c); + } Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); Curve *rc = CreateReversedCurve(c); - rc->Circle.n[0] = (yyvsp[(8) - (9)].v)[0]; - rc->Circle.n[1] = (yyvsp[(8) - (9)].v)[1]; - rc->Circle.n[2] = (yyvsp[(8) - (9)].v)[2]; - End_Curve(rc); + if((yyvsp[(7) - (8)].v)[0] || (yyvsp[(7) - (8)].v)[1] || (yyvsp[(7) - (8)].v)[2]){ + rc->Circle.n[0] = (yyvsp[(7) - (8)].v)[0]; + rc->Circle.n[1] = (yyvsp[(7) - (8)].v)[1]; + rc->Circle.n[2] = (yyvsp[(7) - (8)].v)[2]; + End_Curve(rc); + } List_Delete(temp); } - List_Delete((yyvsp[(6) - (9)].l)); + List_Delete((yyvsp[(6) - (8)].l)); (yyval.s).Type = MSH_SEGM_CIRC; (yyval.s).Num = num; ;} break; - case 97: -#line 1155 "Gmsh.y" - { - int num = (int)(yyvsp[(3) - (7)].d); - if(FindCurve(num)){ - yymsg(0, "Curve %d already exists", num); - } - else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (7)].l)); - Curve *c = Create_Curve(num, MSH_SEGM_ELLI, 2, temp, NULL, - -1, -1, 0., 1.); - Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); - CreateReversedCurve(c); - List_Delete(temp); - } - List_Delete((yyvsp[(6) - (7)].l)); - (yyval.s).Type = MSH_SEGM_ELLI; - (yyval.s).Num = num; - ;} - break; - case 98: -#line 1173 "Gmsh.y" +#line 1151 "Gmsh.y" { - int num = (int)(yyvsp[(3) - (9)].d); + int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ yymsg(0, "Curve %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (9)].l)); + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (8)].l)); Curve *c = Create_Curve(num, MSH_SEGM_ELLI, 2, temp, NULL, -1, -1, 0., 1.); - c->Circle.n[0] = (yyvsp[(8) - (9)].v)[0]; - c->Circle.n[1] = (yyvsp[(8) - (9)].v)[1]; - c->Circle.n[2] = (yyvsp[(8) - (9)].v)[2]; - End_Curve(c); + if((yyvsp[(7) - (8)].v)[0] || (yyvsp[(7) - (8)].v)[1] || (yyvsp[(7) - (8)].v)[2]){ + c->Circle.n[0] = (yyvsp[(7) - (8)].v)[0]; + c->Circle.n[1] = (yyvsp[(7) - (8)].v)[1]; + c->Circle.n[2] = (yyvsp[(7) - (8)].v)[2]; + End_Curve(c); + } Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); Curve *rc = CreateReversedCurve(c); - rc->Circle.n[0] = (yyvsp[(8) - (9)].v)[0]; - rc->Circle.n[1] = (yyvsp[(8) - (9)].v)[1]; - rc->Circle.n[2] = (yyvsp[(8) - (9)].v)[2]; - End_Curve(c); + if((yyvsp[(7) - (8)].v)[0] || (yyvsp[(7) - (8)].v)[1] || (yyvsp[(7) - (8)].v)[2]){ + rc->Circle.n[0] = (yyvsp[(7) - (8)].v)[0]; + rc->Circle.n[1] = (yyvsp[(7) - (8)].v)[1]; + rc->Circle.n[2] = (yyvsp[(7) - (8)].v)[2]; + End_Curve(rc); + } List_Delete(temp); } - List_Delete((yyvsp[(6) - (9)].l)); + List_Delete((yyvsp[(6) - (8)].l)); (yyval.s).Type = MSH_SEGM_ELLI; (yyval.s).Num = num; ;} break; case 99: -#line 1200 "Gmsh.y" +#line 1182 "Gmsh.y" { int num = (int)(yyvsp[(3) - (17)].d); if(FindCurve(num)){ @@ -4917,7 +4866,7 @@ yyreduce: break; case 100: -#line 1219 "Gmsh.y" +#line 1201 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4938,7 +4887,7 @@ yyreduce: break; case 101: -#line 1237 "Gmsh.y" +#line 1219 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4959,7 +4908,7 @@ yyreduce: break; case 102: -#line 1255 "Gmsh.y" +#line 1237 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -4988,7 +4937,7 @@ yyreduce: break; case 103: -#line 1281 "Gmsh.y" +#line 1263 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -5008,7 +4957,7 @@ yyreduce: break; case 104: -#line 1298 "Gmsh.y" +#line 1280 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5027,7 +4976,7 @@ yyreduce: break; case 105: -#line 1317 "Gmsh.y" +#line 1299 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -5048,7 +4997,7 @@ yyreduce: break; case 106: -#line 1335 "Gmsh.y" +#line 1317 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -5090,7 +5039,7 @@ yyreduce: break; case 107: -#line 1374 "Gmsh.y" +#line 1356 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -5099,7 +5048,7 @@ yyreduce: break; case 108: -#line 1380 "Gmsh.y" +#line 1362 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -5108,7 +5057,7 @@ yyreduce: break; case 109: -#line 1386 "Gmsh.y" +#line 1368 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -5118,7 +5067,7 @@ yyreduce: break; case 110: -#line 1393 "Gmsh.y" +#line 1375 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5146,7 +5095,7 @@ yyreduce: break; case 111: -#line 1418 "Gmsh.y" +#line 1400 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5174,7 +5123,7 @@ yyreduce: break; case 112: -#line 1443 "Gmsh.y" +#line 1425 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -5193,7 +5142,7 @@ yyreduce: break; case 113: -#line 1459 "Gmsh.y" +#line 1441 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5212,7 +5161,7 @@ yyreduce: break; case 114: -#line 1479 "Gmsh.y" +#line 1461 "Gmsh.y" { yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -5233,7 +5182,7 @@ yyreduce: break; case 115: -#line 1497 "Gmsh.y" +#line 1479 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -5253,7 +5202,7 @@ yyreduce: break; case 116: -#line 1514 "Gmsh.y" +#line 1496 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5272,7 +5221,7 @@ yyreduce: break; case 117: -#line 1535 "Gmsh.y" +#line 1517 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -5280,7 +5229,7 @@ yyreduce: break; case 118: -#line 1540 "Gmsh.y" +#line 1522 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); @@ -5288,7 +5237,7 @@ yyreduce: break; case 119: -#line 1545 "Gmsh.y" +#line 1527 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -5296,7 +5245,7 @@ yyreduce: break; case 120: -#line 1550 "Gmsh.y" +#line 1532 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -5304,7 +5253,7 @@ yyreduce: break; case 121: -#line 1555 "Gmsh.y" +#line 1537 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){ @@ -5327,7 +5276,7 @@ yyreduce: break; case 122: -#line 1575 "Gmsh.y" +#line 1557 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -5336,7 +5285,7 @@ yyreduce: break; case 123: -#line 1581 "Gmsh.y" +#line 1563 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); List_T *tmp=ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); @@ -5347,31 +5296,31 @@ yyreduce: break; case 124: -#line 1591 "Gmsh.y" +#line 1573 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 125: -#line 1592 "Gmsh.y" +#line 1574 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 126: -#line 1597 "Gmsh.y" +#line 1579 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; case 127: -#line 1601 "Gmsh.y" +#line 1583 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; case 128: -#line 1605 "Gmsh.y" +#line 1587 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5397,7 +5346,7 @@ yyreduce: break; case 129: -#line 1628 "Gmsh.y" +#line 1610 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5423,7 +5372,7 @@ yyreduce: break; case 130: -#line 1651 "Gmsh.y" +#line 1633 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5449,7 +5398,7 @@ yyreduce: break; case 131: -#line 1674 "Gmsh.y" +#line 1656 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5475,7 +5424,7 @@ yyreduce: break; case 132: -#line 1702 "Gmsh.y" +#line 1684 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5487,14 +5436,14 @@ yyreduce: break; case 133: -#line 1711 "Gmsh.y" +#line 1693 "Gmsh.y" { GModel::current()->getFields()->delete_field((int)(yyvsp[(4) - (6)].d)); ;} break; case 134: -#line 1715 "Gmsh.y" +#line 1697 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -5512,7 +5461,7 @@ yyreduce: break; case 135: -#line 1730 "Gmsh.y" +#line 1712 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Model") || !strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ GModel::current()->destroy(); @@ -5536,7 +5485,7 @@ yyreduce: break; case 136: -#line 1751 "Gmsh.y" +#line 1733 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -5551,7 +5500,7 @@ yyreduce: break; case 137: -#line 1768 "Gmsh.y" +#line 1750 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5563,7 +5512,7 @@ yyreduce: break; case 138: -#line 1782 "Gmsh.y" +#line 1764 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5572,7 +5521,7 @@ yyreduce: break; case 139: -#line 1788 "Gmsh.y" +#line 1770 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5581,7 +5530,7 @@ yyreduce: break; case 140: -#line 1794 "Gmsh.y" +#line 1776 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5593,7 +5542,7 @@ yyreduce: break; case 141: -#line 1803 "Gmsh.y" +#line 1785 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5605,7 +5554,7 @@ yyreduce: break; case 142: -#line 1817 "Gmsh.y" +#line 1799 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5656,7 +5605,7 @@ yyreduce: break; case 143: -#line 1865 "Gmsh.y" +#line 1847 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -5677,7 +5626,7 @@ yyreduce: break; case 144: -#line 1883 "Gmsh.y" +#line 1865 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -5695,7 +5644,7 @@ yyreduce: break; case 145: -#line 1898 "Gmsh.y" +#line 1880 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5717,7 +5666,7 @@ yyreduce: break; case 146: -#line 1917 "Gmsh.y" +#line 1899 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -5732,7 +5681,7 @@ yyreduce: break; case 147: -#line 1929 "Gmsh.y" +#line 1911 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -5759,14 +5708,14 @@ yyreduce: break; case 148: -#line 1953 "Gmsh.y" +#line 1935 "Gmsh.y" { exit(0); ;} break; case 149: -#line 1957 "Gmsh.y" +#line 1939 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); @@ -5774,7 +5723,7 @@ yyreduce: break; case 150: -#line 1962 "Gmsh.y" +#line 1944 "Gmsh.y" { CTX.forced_bbox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); @@ -5782,7 +5731,7 @@ yyreduce: break; case 151: -#line 1967 "Gmsh.y" +#line 1949 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5791,7 +5740,7 @@ yyreduce: break; case 152: -#line 1979 "Gmsh.y" +#line 1961 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5811,7 +5760,7 @@ yyreduce: break; case 153: -#line 1996 "Gmsh.y" +#line 1978 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5831,7 +5780,7 @@ yyreduce: break; case 154: -#line 2013 "Gmsh.y" +#line 1995 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5853,7 +5802,7 @@ yyreduce: break; case 155: -#line 2032 "Gmsh.y" +#line 2014 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5875,7 +5824,7 @@ yyreduce: break; case 156: -#line 2051 "Gmsh.y" +#line 2033 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -5906,7 +5855,7 @@ yyreduce: break; case 157: -#line 2079 "Gmsh.y" +#line 2061 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5917,7 +5866,7 @@ yyreduce: break; case 158: -#line 2087 "Gmsh.y" +#line 2069 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5926,7 +5875,7 @@ yyreduce: break; case 159: -#line 2093 "Gmsh.y" +#line 2075 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5936,20 +5885,20 @@ yyreduce: break; case 160: -#line 2100 "Gmsh.y" +#line 2082 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; case 161: -#line 2104 "Gmsh.y" +#line 2086 "Gmsh.y" { ;} break; case 162: -#line 2113 "Gmsh.y" +#line 2095 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -5960,7 +5909,7 @@ yyreduce: break; case 163: -#line 2121 "Gmsh.y" +#line 2103 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -5971,7 +5920,7 @@ yyreduce: break; case 164: -#line 2129 "Gmsh.y" +#line 2111 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -5982,14 +5931,14 @@ yyreduce: break; case 165: -#line 2137 "Gmsh.y" +#line 2119 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 166: -#line 2141 "Gmsh.y" +#line 2123 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6000,14 +5949,14 @@ yyreduce: break; case 167: -#line 2149 "Gmsh.y" +#line 2131 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 168: -#line 2153 "Gmsh.y" +#line 2135 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6018,14 +5967,14 @@ yyreduce: break; case 169: -#line 2161 "Gmsh.y" +#line 2143 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 170: -#line 2165 "Gmsh.y" +#line 2147 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6036,14 +5985,14 @@ yyreduce: break; case 171: -#line 2173 "Gmsh.y" +#line 2155 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 172: -#line 2177 "Gmsh.y" +#line 2159 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -6053,7 +6002,7 @@ yyreduce: break; case 173: -#line 2186 "Gmsh.y" +#line 2168 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6063,7 +6012,7 @@ yyreduce: break; case 174: -#line 2193 "Gmsh.y" +#line 2175 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6073,7 +6022,7 @@ yyreduce: break; case 175: -#line 2200 "Gmsh.y" +#line 2182 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6083,7 +6032,7 @@ yyreduce: break; case 176: -#line 2207 "Gmsh.y" +#line 2189 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6093,7 +6042,7 @@ yyreduce: break; case 177: -#line 2214 "Gmsh.y" +#line 2196 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6103,7 +6052,7 @@ yyreduce: break; case 178: -#line 2221 "Gmsh.y" +#line 2203 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6113,7 +6062,7 @@ yyreduce: break; case 179: -#line 2228 "Gmsh.y" +#line 2210 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6123,7 +6072,7 @@ yyreduce: break; case 180: -#line 2235 "Gmsh.y" +#line 2217 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6133,7 +6082,7 @@ yyreduce: break; case 181: -#line 2242 "Gmsh.y" +#line 2224 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6143,14 +6092,14 @@ yyreduce: break; case 182: -#line 2249 "Gmsh.y" +#line 2231 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 183: -#line 2253 "Gmsh.y" +#line 2235 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6160,14 +6109,14 @@ yyreduce: break; case 184: -#line 2260 "Gmsh.y" +#line 2242 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 185: -#line 2264 "Gmsh.y" +#line 2246 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6177,14 +6126,14 @@ yyreduce: break; case 186: -#line 2271 "Gmsh.y" +#line 2253 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 187: -#line 2275 "Gmsh.y" +#line 2257 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6194,14 +6143,14 @@ yyreduce: break; case 188: -#line 2282 "Gmsh.y" +#line 2264 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 189: -#line 2286 "Gmsh.y" +#line 2268 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6211,14 +6160,14 @@ yyreduce: break; case 190: -#line 2293 "Gmsh.y" +#line 2275 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 191: -#line 2297 "Gmsh.y" +#line 2279 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6228,14 +6177,14 @@ yyreduce: break; case 192: -#line 2304 "Gmsh.y" +#line 2286 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 193: -#line 2308 "Gmsh.y" +#line 2290 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6245,14 +6194,14 @@ yyreduce: break; case 194: -#line 2315 "Gmsh.y" +#line 2297 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 195: -#line 2319 "Gmsh.y" +#line 2301 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6262,14 +6211,14 @@ yyreduce: break; case 196: -#line 2326 "Gmsh.y" +#line 2308 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 197: -#line 2330 "Gmsh.y" +#line 2312 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6279,14 +6228,14 @@ yyreduce: break; case 198: -#line 2337 "Gmsh.y" +#line 2319 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 199: -#line 2341 "Gmsh.y" +#line 2323 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6296,19 +6245,19 @@ yyreduce: break; case 200: -#line 2352 "Gmsh.y" +#line 2334 "Gmsh.y" { ;} break; case 201: -#line 2355 "Gmsh.y" +#line 2337 "Gmsh.y" { ;} break; case 202: -#line 2361 "Gmsh.y" +#line 2343 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6320,7 +6269,7 @@ yyreduce: break; case 203: -#line 2370 "Gmsh.y" +#line 2352 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -6343,7 +6292,7 @@ yyreduce: break; case 204: -#line 2390 "Gmsh.y" +#line 2372 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -6369,14 +6318,14 @@ yyreduce: break; case 205: -#line 2413 "Gmsh.y" +#line 2395 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 206: -#line 2417 "Gmsh.y" +#line 2399 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6398,14 +6347,14 @@ yyreduce: break; case 207: -#line 2440 "Gmsh.y" +#line 2422 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; case 208: -#line 2444 "Gmsh.y" +#line 2426 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -6421,14 +6370,14 @@ yyreduce: break; case 209: -#line 2459 "Gmsh.y" +#line 2441 "Gmsh.y" { (yyval.i) = -1; // left ;} break; case 210: -#line 2463 "Gmsh.y" +#line 2445 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -6441,7 +6390,21 @@ yyreduce: break; case 211: -#line 2476 "Gmsh.y" +#line 2457 "Gmsh.y" + { + (yyval.i) = 45; + ;} + break; + + case 212: +#line 2461 "Gmsh.y" + { + (yyval.i) = (yyvsp[(2) - (2)].d); + ;} + break; + + case 213: +#line 2468 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -6472,8 +6435,8 @@ yyreduce: ;} break; - case 212: -#line 2505 "Gmsh.y" + case 214: +#line 2497 "Gmsh.y" { int k = List_Nbr((yyvsp[(7) - (9)].l)); if(k != 3 && k != 4){ @@ -6519,16 +6482,16 @@ yyreduce: ;} break; - case 213: -#line 2549 "Gmsh.y" + case 215: +#line 2541 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); ;} break; - case 214: -#line 2554 "Gmsh.y" + case 216: +#line 2546 "Gmsh.y" { int k = List_Nbr((yyvsp[(7) - (8)].l)); if(k != 6 && k != 8){ @@ -6572,57 +6535,33 @@ yyreduce: ;} break; - case 215: -#line 2596 "Gmsh.y" - { - for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ - double d; - List_Read((yyvsp[(3) - (6)].l), i, &d); - int j = (int)d; - Surface *s = FindSurface(j); - if(s){ - s->Recombine = 1; - s->RecombineAngle = (yyvsp[(5) - (6)].d); - } - else{ - GFace *gf = GModel::current()->getFaceByTag(j); - if(gf){ - gf->meshAttributes.recombine = 1; - gf->meshAttributes.recombineAngle = (yyvsp[(5) - (6)].d); - } - else - yymsg(1, "Unknown surface %d", j); - } - } - List_Delete((yyvsp[(3) - (6)].l)); - ;} - break; - - case 216: -#line 2619 "Gmsh.y" + case 217: +#line 2588 "Gmsh.y" { - for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ + for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ double d; - List_Read((yyvsp[(3) - (4)].l), i, &d); - int j = (int)d; - Surface *s = FindSurface(j); + List_Read((yyvsp[(3) - (5)].l), i, &d); + Surface *s = FindSurface((int)d); if(s){ s->Recombine = 1; + s->RecombineAngle = (yyvsp[(4) - (5)].i); } else{ - GFace *gf = GModel::current()->getFaceByTag(j); - if(gf) + GFace *gf = GModel::current()->getFaceByTag((int)d); + if(gf){ gf->meshAttributes.recombine = 1; + gf->meshAttributes.recombineAngle = (yyvsp[(4) - (5)].i); + } else - yymsg(1, "Unknown surface %d", j); + yymsg(1, "Unknown surface %d", (int)d); } } - List_Delete((yyvsp[(3) - (4)].l)); + List_Delete((yyvsp[(3) - (5)].l)); ;} break; - case 217: -#line 2639 "Gmsh.y" + case 218: +#line 2610 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6644,8 +6583,8 @@ yyreduce: ;} break; - case 218: -#line 2665 "Gmsh.y" + case 219: +#line 2636 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -6670,8 +6609,8 @@ yyreduce: ;} break; - case 219: -#line 2688 "Gmsh.y" + case 220: +#line 2659 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -6696,27 +6635,27 @@ yyreduce: ;} break; - case 220: -#line 2711 "Gmsh.y" + case 221: +#line 2682 "Gmsh.y" { ;} break; - case 221: -#line 2714 "Gmsh.y" + case 222: +#line 2685 "Gmsh.y" { ;} break; - case 222: -#line 2723 "Gmsh.y" + case 223: +#line 2694 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; - case 223: -#line 2727 "Gmsh.y" + case 224: +#line 2698 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -6728,48 +6667,48 @@ yyreduce: ;} break; - case 224: -#line 2742 "Gmsh.y" + case 225: +#line 2713 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 225: -#line 2743 "Gmsh.y" + case 226: +#line 2714 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; - case 226: -#line 2744 "Gmsh.y" + case 227: +#line 2715 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; - case 227: -#line 2745 "Gmsh.y" + case 228: +#line 2716 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; - case 228: -#line 2746 "Gmsh.y" + case 229: +#line 2717 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; - case 229: -#line 2747 "Gmsh.y" + case 230: +#line 2718 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; - case 230: -#line 2748 "Gmsh.y" + case 231: +#line 2719 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; - case 231: -#line 2749 "Gmsh.y" + case 232: +#line 2720 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; - case 232: -#line 2751 "Gmsh.y" + case 233: +#line 2722 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6778,308 +6717,308 @@ yyreduce: ;} break; - case 233: -#line 2757 "Gmsh.y" - { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} - break; - case 234: -#line 2758 "Gmsh.y" - { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} +#line 2728 "Gmsh.y" + { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 235: -#line 2759 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} +#line 2729 "Gmsh.y" + { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 236: -#line 2760 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} +#line 2730 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 237: -#line 2761 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} +#line 2731 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 238: -#line 2762 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} +#line 2732 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 239: -#line 2763 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} +#line 2733 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 240: -#line 2764 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} +#line 2734 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 241: -#line 2765 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} +#line 2735 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 242: -#line 2766 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} +#line 2736 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 243: -#line 2767 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} +#line 2737 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 244: -#line 2768 "Gmsh.y" - { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} +#line 2738 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 245: -#line 2769 "Gmsh.y" - { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} +#line 2739 "Gmsh.y" + { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 246: -#line 2770 "Gmsh.y" - { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} +#line 2740 "Gmsh.y" + { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 247: -#line 2771 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} +#line 2741 "Gmsh.y" + { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 248: -#line 2772 "Gmsh.y" - { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} +#line 2742 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 249: -#line 2773 "Gmsh.y" - { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} +#line 2743 "Gmsh.y" + { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 250: -#line 2774 "Gmsh.y" - { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} +#line 2744 "Gmsh.y" + { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 251: -#line 2775 "Gmsh.y" - { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} +#line 2745 "Gmsh.y" + { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 252: -#line 2776 "Gmsh.y" - { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} +#line 2746 "Gmsh.y" + { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 253: -#line 2777 "Gmsh.y" - { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} +#line 2747 "Gmsh.y" + { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 254: -#line 2778 "Gmsh.y" - { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} +#line 2748 "Gmsh.y" + { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 255: -#line 2779 "Gmsh.y" - { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} +#line 2749 "Gmsh.y" + { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 256: -#line 2780 "Gmsh.y" - { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} +#line 2750 "Gmsh.y" + { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 257: -#line 2781 "Gmsh.y" - { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} +#line 2751 "Gmsh.y" + { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 258: -#line 2782 "Gmsh.y" - { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} +#line 2752 "Gmsh.y" + { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 259: -#line 2783 "Gmsh.y" - { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} +#line 2753 "Gmsh.y" + { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 260: -#line 2784 "Gmsh.y" - { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} +#line 2754 "Gmsh.y" + { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 261: -#line 2785 "Gmsh.y" - { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} +#line 2755 "Gmsh.y" + { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 262: -#line 2786 "Gmsh.y" +#line 2756 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 263: -#line 2787 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} +#line 2757 "Gmsh.y" + { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 264: -#line 2788 "Gmsh.y" - { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} +#line 2758 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 265: -#line 2790 "Gmsh.y" - { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} +#line 2759 "Gmsh.y" + { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 266: -#line 2791 "Gmsh.y" - { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} +#line 2761 "Gmsh.y" + { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 267: -#line 2792 "Gmsh.y" - { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} +#line 2762 "Gmsh.y" + { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 268: -#line 2793 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} +#line 2763 "Gmsh.y" + { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 269: -#line 2794 "Gmsh.y" - { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} +#line 2764 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 270: -#line 2795 "Gmsh.y" - { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} +#line 2765 "Gmsh.y" + { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 271: -#line 2796 "Gmsh.y" - { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} +#line 2766 "Gmsh.y" + { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 272: -#line 2797 "Gmsh.y" - { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} +#line 2767 "Gmsh.y" + { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 273: -#line 2798 "Gmsh.y" - { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} +#line 2768 "Gmsh.y" + { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 274: -#line 2799 "Gmsh.y" - { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} +#line 2769 "Gmsh.y" + { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 275: -#line 2800 "Gmsh.y" - { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} +#line 2770 "Gmsh.y" + { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 276: -#line 2801 "Gmsh.y" - { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} +#line 2771 "Gmsh.y" + { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 277: -#line 2802 "Gmsh.y" - { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} +#line 2772 "Gmsh.y" + { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 278: -#line 2803 "Gmsh.y" - { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} +#line 2773 "Gmsh.y" + { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 279: -#line 2804 "Gmsh.y" - { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} +#line 2774 "Gmsh.y" + { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 280: -#line 2805 "Gmsh.y" - { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} +#line 2775 "Gmsh.y" + { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 281: -#line 2806 "Gmsh.y" - { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} +#line 2776 "Gmsh.y" + { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 282: -#line 2807 "Gmsh.y" - { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} +#line 2777 "Gmsh.y" + { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 283: -#line 2808 "Gmsh.y" +#line 2778 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 284: -#line 2809 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} +#line 2779 "Gmsh.y" + { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 285: -#line 2810 "Gmsh.y" - { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} +#line 2780 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 286: -#line 2819 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (1)].d); ;} +#line 2781 "Gmsh.y" + { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 287: -#line 2820 "Gmsh.y" - { (yyval.d) = 3.141592653589793; ;} +#line 2790 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 288: -#line 2821 "Gmsh.y" - { (yyval.d) = Msg::GetCommRank(); ;} +#line 2791 "Gmsh.y" + { (yyval.d) = 3.141592653589793; ;} break; case 289: -#line 2822 "Gmsh.y" - { (yyval.d) = Msg::GetCommSize(); ;} +#line 2792 "Gmsh.y" + { (yyval.d) = Msg::GetCommRank(); ;} break; case 290: -#line 2823 "Gmsh.y" - { (yyval.d) = Get_GmshMajorVersion(); ;} +#line 2793 "Gmsh.y" + { (yyval.d) = Msg::GetCommSize(); ;} break; case 291: -#line 2824 "Gmsh.y" - { (yyval.d) = Get_GmshMinorVersion(); ;} +#line 2794 "Gmsh.y" + { (yyval.d) = Get_GmshMajorVersion(); ;} break; case 292: -#line 2825 "Gmsh.y" - { (yyval.d) = Get_GmshPatchVersion(); ;} +#line 2795 "Gmsh.y" + { (yyval.d) = Get_GmshMinorVersion(); ;} break; case 293: -#line 2830 "Gmsh.y" +#line 2796 "Gmsh.y" + { (yyval.d) = Get_GmshPatchVersion(); ;} + break; + + case 294: +#line 2801 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7091,8 +7030,8 @@ yyreduce: ;} break; - case 294: -#line 2843 "Gmsh.y" + case 295: +#line 2814 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7106,8 +7045,8 @@ yyreduce: ;} break; - case 295: -#line 2855 "Gmsh.y" + case 296: +#line 2826 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -7124,8 +7063,8 @@ yyreduce: ;} break; - case 296: -#line 2870 "Gmsh.y" + case 297: +#line 2841 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -7137,8 +7076,8 @@ yyreduce: ;} break; - case 297: -#line 2880 "Gmsh.y" + case 298: +#line 2851 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -7150,8 +7089,8 @@ yyreduce: ;} break; - case 298: -#line 2890 "Gmsh.y" + case 299: +#line 2861 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -7168,24 +7107,24 @@ yyreduce: ;} break; - case 299: -#line 2908 "Gmsh.y" + case 300: +#line 2879 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); ;} break; - case 300: -#line 2913 "Gmsh.y" + case 301: +#line 2884 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); ;} break; - case 301: -#line 2918 "Gmsh.y" + case 302: +#line 2889 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -7197,8 +7136,8 @@ yyreduce: ;} break; - case 302: -#line 2928 "Gmsh.y" + case 303: +#line 2899 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -7210,124 +7149,124 @@ yyreduce: ;} break; - case 303: -#line 2938 "Gmsh.y" + case 304: +#line 2909 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); ;} break; - case 304: -#line 2946 "Gmsh.y" + case 305: +#line 2917 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; - case 305: -#line 2950 "Gmsh.y" + case 306: +#line 2921 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; - case 306: -#line 2954 "Gmsh.y" + case 307: +#line 2925 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; - case 307: -#line 2958 "Gmsh.y" + case 308: +#line 2929 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; - case 308: -#line 2962 "Gmsh.y" + case 309: +#line 2933 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; - case 309: -#line 2969 "Gmsh.y" + case 310: +#line 2940 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} break; - case 310: -#line 2973 "Gmsh.y" + case 311: +#line 2944 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} break; - case 311: -#line 2977 "Gmsh.y" + case 312: +#line 2948 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 312: -#line 2981 "Gmsh.y" + case 313: +#line 2952 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 313: -#line 2988 "Gmsh.y" + case 314: +#line 2959 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); ;} break; - case 314: -#line 2993 "Gmsh.y" + case 315: +#line 2964 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; - case 315: -#line 3000 "Gmsh.y" + case 316: +#line 2971 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 316: -#line 3005 "Gmsh.y" + case 317: +#line 2976 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 317: -#line 3009 "Gmsh.y" + case 318: +#line 2980 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); ;} break; - case 318: -#line 3014 "Gmsh.y" + case 319: +#line 2985 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 319: -#line 3018 "Gmsh.y" + case 320: +#line 2989 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7337,8 +7276,8 @@ yyreduce: ;} break; - case 320: -#line 3026 "Gmsh.y" + case 321: +#line 2997 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7348,8 +7287,8 @@ yyreduce: ;} break; - case 321: -#line 3037 "Gmsh.y" + case 322: +#line 3008 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7359,8 +7298,8 @@ yyreduce: ;} break; - case 322: -#line 3045 "Gmsh.y" + case 323: +#line 3016 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7370,17 +7309,18 @@ yyreduce: ;} break; - case 323: -#line 3053 "Gmsh.y" + case 324: +#line 3024 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); - for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) + for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); + ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) List_Add((yyval.l), &d); ;} break; - case 324: -#line 3059 "Gmsh.y" + case 325: +#line 3031 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7393,8 +7333,8 @@ yyreduce: ;} break; - case 325: -#line 3070 "Gmsh.y" + case 326: +#line 3042 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -7416,8 +7356,8 @@ yyreduce: ;} break; - case 326: -#line 3090 "Gmsh.y" + case 327: +#line 3062 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7429,8 +7369,8 @@ yyreduce: ;} break; - case 327: -#line 3100 "Gmsh.y" + case 328: +#line 3072 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7442,8 +7382,8 @@ yyreduce: ;} break; - case 328: -#line 3110 "Gmsh.y" + case 329: +#line 3082 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -7455,8 +7395,8 @@ yyreduce: ;} break; - case 329: -#line 3120 "Gmsh.y" + case 330: +#line 3092 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -7475,30 +7415,30 @@ yyreduce: ;} break; - case 330: -#line 3140 "Gmsh.y" + case 331: +#line 3112 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 331: -#line 3145 "Gmsh.y" + case 332: +#line 3117 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 332: -#line 3149 "Gmsh.y" + case 333: +#line 3121 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; - case 333: -#line 3153 "Gmsh.y" + case 334: +#line 3125 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7509,22 +7449,22 @@ yyreduce: ;} break; - case 334: -#line 3165 "Gmsh.y" + case 335: +#line 3137 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; - case 335: -#line 3169 "Gmsh.y" + case 336: +#line 3141 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; - case 336: -#line 3181 "Gmsh.y" + case 337: +#line 3153 "Gmsh.y" { int flag; (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7533,8 +7473,8 @@ yyreduce: ;} break; - case 337: -#line 3188 "Gmsh.y" + case 338: +#line 3160 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -7543,15 +7483,15 @@ yyreduce: ;} break; - case 338: -#line 3198 "Gmsh.y" + case 339: +#line 3170 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 339: -#line 3202 "Gmsh.y" + case 340: +#line 3174 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7565,30 +7505,30 @@ yyreduce: ;} break; - case 340: -#line 3217 "Gmsh.y" + case 341: +#line 3189 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); ;} break; - case 341: -#line 3222 "Gmsh.y" + case 342: +#line 3194 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; - case 342: -#line 3229 "Gmsh.y" + case 343: +#line 3201 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 343: -#line 3233 "Gmsh.y" + case 344: +#line 3205 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7603,8 +7543,8 @@ yyreduce: ;} break; - case 344: -#line 3246 "Gmsh.y" + case 345: +#line 3218 "Gmsh.y" { const char *val = ""; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), val); @@ -7614,8 +7554,8 @@ yyreduce: ;} break; - case 345: -#line 3254 "Gmsh.y" + case 346: +#line 3226 "Gmsh.y" { const char *val = ""; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), val); @@ -7625,15 +7565,15 @@ yyreduce: ;} break; - case 346: -#line 3265 "Gmsh.y" + case 347: +#line 3237 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 347: -#line 3269 "Gmsh.y" + case 348: +#line 3241 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -7643,8 +7583,8 @@ yyreduce: ;} break; - case 348: -#line 3277 "Gmsh.y" + case 349: +#line 3249 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7654,8 +7594,8 @@ yyreduce: ;} break; - case 349: -#line 3285 "Gmsh.y" + case 350: +#line 3257 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7671,8 +7611,8 @@ yyreduce: ;} break; - case 350: -#line 3299 "Gmsh.y" + case 351: +#line 3271 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7688,15 +7628,15 @@ yyreduce: ;} break; - case 351: -#line 3313 "Gmsh.y" + case 352: +#line 3285 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; - case 352: -#line 3317 "Gmsh.y" + case 353: +#line 3289 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7719,7 +7659,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7723 "Gmsh.tab.cpp" +#line 7663 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7933,7 +7873,7 @@ yyreturn: } -#line 3337 "Gmsh.y" +#line 3309 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index ef1efdf7b25f21a27448d5bb3b9a9f4ead4ff7ea..e53220acf37ca5a6ebc7afb86ed684072c0166d9 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -101,9 +101,9 @@ void FixRelativePath(const char *in, char *out); %token tGMSH_MAJOR_VERSION tGMSH_MINOR_VERSION tGMSH_PATCH_VERSION %type <d> FExpr FExpr_Single -%type <v> VExpr VExpr_Single TransfiniteType +%type <v> VExpr VExpr_Single CircleOptions TransfiniteType %type <i> NumericAffectation NumericIncrement PhysicalId -%type <i> TransfiniteArrangement +%type <i> TransfiniteArrangement RecombineAngle %type <u> ColorExpr %type <c> StringExpr StringExprVar SendToFile %type <l> FExpr_Multi ListOfDouble RecursiveListOfDouble @@ -1006,6 +1006,16 @@ RuledSurfaceOptions : } ; +CircleOptions : + { + for(int i = 0; i < 4; i++) $$[i] = 0.; + } + | tPlane VExpr + { + for(int i = 0; i < 4; i++) $$[i] = $2[i]; + } +; + Shape : // Points @@ -1107,25 +1117,7 @@ Shape : $$.Type = MSH_SEGM_SPLN; $$.Num = num; } - | tCircle '(' FExpr ')' tAFFECT ListOfDouble tEND - { - int num = (int)$3; - if(FindCurve(num)){ - yymsg(0, "Curve %d already exists", num); - } - else{ - List_T *temp = ListOfDouble2ListOfInt($6); - Curve *c = Create_Curve(num, MSH_SEGM_CIRC, 2, temp, NULL, - -1, -1, 0., 1.); - Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); - CreateReversedCurve(c); - List_Delete(temp); - } - List_Delete($6); - $$.Type = MSH_SEGM_CIRC; - $$.Num = num; - } - | tCircle '(' FExpr ')' tAFFECT ListOfDouble tPlane VExpr tEND + | tCircle '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND { int num = (int)$3; if(FindCurve(num)){ @@ -1135,23 +1127,27 @@ Shape : List_T *temp = ListOfDouble2ListOfInt($6); Curve *c = Create_Curve(num, MSH_SEGM_CIRC, 2, temp, NULL, -1, -1, 0., 1.); - c->Circle.n[0] = $8[0]; - c->Circle.n[1] = $8[1]; - c->Circle.n[2] = $8[2]; - End_Curve(c); + if($7[0] || $7[1] || $7[2]){ + c->Circle.n[0] = $7[0]; + c->Circle.n[1] = $7[1]; + c->Circle.n[2] = $7[2]; + End_Curve(c); + } Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); Curve *rc = CreateReversedCurve(c); - rc->Circle.n[0] = $8[0]; - rc->Circle.n[1] = $8[1]; - rc->Circle.n[2] = $8[2]; - End_Curve(rc); + if($7[0] || $7[1] || $7[2]){ + rc->Circle.n[0] = $7[0]; + rc->Circle.n[1] = $7[1]; + rc->Circle.n[2] = $7[2]; + End_Curve(rc); + } List_Delete(temp); } List_Delete($6); $$.Type = MSH_SEGM_CIRC; $$.Num = num; } - | tEllipse '(' FExpr ')' tAFFECT ListOfDouble tEND + | tEllipse '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND { int num = (int)$3; if(FindCurve(num)){ @@ -1161,34 +1157,20 @@ Shape : List_T *temp = ListOfDouble2ListOfInt($6); Curve *c = Create_Curve(num, MSH_SEGM_ELLI, 2, temp, NULL, -1, -1, 0., 1.); - Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); - CreateReversedCurve(c); - List_Delete(temp); - } - List_Delete($6); - $$.Type = MSH_SEGM_ELLI; - $$.Num = num; - } - | tEllipse '(' FExpr ')' tAFFECT ListOfDouble tPlane VExpr tEND - { - int num = (int)$3; - if(FindCurve(num)){ - yymsg(0, "Curve %d already exists", num); - } - else{ - List_T *temp = ListOfDouble2ListOfInt($6); - Curve *c = Create_Curve(num, MSH_SEGM_ELLI, 2, temp, NULL, - -1, -1, 0., 1.); - c->Circle.n[0] = $8[0]; - c->Circle.n[1] = $8[1]; - c->Circle.n[2] = $8[2]; - End_Curve(c); + if($7[0] || $7[1] || $7[2]){ + c->Circle.n[0] = $7[0]; + c->Circle.n[1] = $7[1]; + c->Circle.n[2] = $7[2]; + End_Curve(c); + } Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); Curve *rc = CreateReversedCurve(c); - rc->Circle.n[0] = $8[0]; - rc->Circle.n[1] = $8[1]; - rc->Circle.n[2] = $8[2]; - End_Curve(c); + if($7[0] || $7[1] || $7[2]){ + rc->Circle.n[0] = $7[0]; + rc->Circle.n[1] = $7[1]; + rc->Circle.n[2] = $7[2]; + End_Curve(rc); + } List_Delete(temp); } List_Delete($6); @@ -2434,7 +2416,7 @@ ExtrudeParameter : } ; -// T R A N S F I N I T E +// T R A N S F I N I T E , R E C O M B I N E & S M O O T H I N G TransfiniteType : { @@ -2471,6 +2453,16 @@ TransfiniteArrangement : } ; +RecombineAngle : + { + $$ = 45; + } + | tAFFECT FExpr + { + $$ = $2; + } +; + Transfinite : tTransfinite tLine ListOfDouble tAFFECT FExpr TransfiniteType tEND { @@ -2592,45 +2584,24 @@ Transfinite : } List_Delete($7); } - | tRecombine tSurface ListOfDouble tAFFECT FExpr tEND + | tRecombine tSurface ListOfDouble RecombineAngle tEND { for(int i = 0; i < List_Nbr($3); i++){ double d; List_Read($3, i, &d); - int j = (int)d; - Surface *s = FindSurface(j); - if(s){ - s->Recombine = 1; - s->RecombineAngle = $5; - } - else{ - GFace *gf = GModel::current()->getFaceByTag(j); - if(gf){ - gf->meshAttributes.recombine = 1; - gf->meshAttributes.recombineAngle = $5; - } - else - yymsg(1, "Unknown surface %d", j); - } - } - List_Delete($3); - } - | tRecombine tSurface ListOfDouble tEND - { - for(int i = 0; i < List_Nbr($3); i++){ - double d; - List_Read($3, i, &d); - int j = (int)d; - Surface *s = FindSurface(j); + Surface *s = FindSurface((int)d); if(s){ s->Recombine = 1; + s->RecombineAngle = $4; } else{ - GFace *gf = GModel::current()->getFaceByTag(j); - if(gf) + GFace *gf = GModel::current()->getFaceByTag((int)d); + if(gf){ gf->meshAttributes.recombine = 1; + gf->meshAttributes.recombineAngle = $4; + } else - yymsg(1, "Unknown surface %d", j); + yymsg(1, "Unknown surface %d", (int)d); } } List_Delete($3); @@ -3052,7 +3023,8 @@ FExpr_Multi : | FExpr tDOTS FExpr { $$ = List_Create(2, 1, sizeof(double)); - for(double d = $1; ($1 < $3) ? (d <= $3) : (d >= $3); ($1 < $3) ? (d += 1.) : (d -= 1.)) + for(double d = $1; ($1 < $3) ? (d <= $3) : (d >= $3); + ($1 < $3) ? (d += 1.) : (d -= 1.)) List_Add($$, &d); } | FExpr tDOTS FExpr tDOTS FExpr