From 52fbc84763ecd3141cdb690d5d61a8750b625c62 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Sat, 17 Oct 1998 23:10:53 -0400 Subject: [PATCH] parse.y (fn.def2): Fix 'attrs' format. * parse.y (fn.def2): Fix 'attrs' format. * Makefile.in (CONFLICTS): Update. * parse.y (expr_or_declarator_intern): New rule. (expr_or_declarator, direct_notype_declarator, primary, functional_cast): Use it. (notype_declarator_intern): New rule. (notype_declarator, complex_notype_declarator): Use it. From-SVN: r23159 --- gcc/cp/ChangeLog | 13 + gcc/cp/Makefile.in | 2 +- gcc/cp/decl.c | 15 + gcc/cp/decl2.c | 4 + gcc/cp/parse.c | 8916 ++++++++++++++++++++++---------------------- gcc/cp/parse.y | 57 +- 6 files changed, 4557 insertions(+), 4450 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c5bfc5366d2..591a84a7412 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,16 @@ +1998-10-18 Jason Merrill + + * parse.y (fn.def2): Fix 'attrs' format. + +1998-10-18 Alastair J. Houghton + + * Makefile.in (CONFLICTS): Update. + * parse.y (expr_or_declarator_intern): New rule. + (expr_or_declarator, direct_notype_declarator, primary, + functional_cast): Use it. + (notype_declarator_intern): New rule. + (notype_declarator, complex_notype_declarator): Use it. + 1998-10-17 Jason Merrill * decl.c (grokfndecl): Set DECL_CONTEXT to namespace if appropriate. diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in index d9e32402d39..96e8f654c46 100644 --- a/gcc/cp/Makefile.in +++ b/gcc/cp/Makefile.in @@ -219,7 +219,7 @@ parse.o : $(PARSE_C) $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h lex.h \ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(BIG_SWITCHFLAG) \ `echo $(PARSE_C) | sed 's,^\./,,'` -CONFLICTS = expect 25 shift/reduce conflicts and 42 reduce/reduce conflicts. +CONFLICTS = expect 35 shift/reduce conflicts and 42 reduce/reduce conflicts. $(PARSE_H) : $(PARSE_C) $(PARSE_C) : $(srcdir)/parse.y @echo $(CONFLICTS) diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 40a04e40a40..20fa7b20b2d 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -8555,6 +8555,11 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist) decl = *next; switch (TREE_CODE (decl)) { + case TREE_LIST: + /* For attributes. */ + next = &TREE_VALUE (decl); + break; + case COND_EXPR: ctype = NULL_TREE; next = &TREE_OPERAND (decl, 0); @@ -9432,6 +9437,16 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist) } switch (TREE_CODE (declarator)) { + case TREE_LIST: + { + /* We encode a declarator with embedded attributes using + a TREE_LIST. */ + tree attrs = TREE_PURPOSE (declarator); + declarator = TREE_VALUE (declarator); + decl_attributes (type, attrs, NULL_TREE); + } + break; + case ARRAY_REF: { register tree itype = NULL_TREE; diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index f20d6f2743f..b7dd7329c69 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -3939,6 +3939,10 @@ finish_decl_parsing (decl) case ARRAY_REF: TREE_OPERAND (decl, 0) = finish_decl_parsing (TREE_OPERAND (decl, 0)); return decl; + case TREE_LIST: + /* For attribute handling. */ + TREE_VALUE (decl) = finish_decl_parsing (TREE_VALUE (decl)); + return decl; default: my_friendly_abort (5); return NULL_TREE; diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c index b70b0ef0e73..f7bfb100ba1 100644 --- a/gcc/cp/parse.c +++ b/gcc/cp/parse.c @@ -154,7 +154,7 @@ empty_parms () #line 92 "parse.y" typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE; -#line 281 "parse.y" +#line 283 "parse.y" /* List of types and structure classes of the current declaration. */ static tree current_declspecs; @@ -215,11 +215,11 @@ parse_decl(declarator, specs_attrs, attributes, initialized, decl) -#define YYFINAL 1609 +#define YYFINAL 1624 #define YYFLAG -32768 #define YYNTBASE 112 -#define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 396) +#define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 398) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -290,150 +290,150 @@ static const short yyprhs[] = { 0, 863, 867, 871, 875, 879, 883, 887, 891, 895, 899, 905, 909, 913, 915, 918, 922, 926, 928, 930, 932, 934, 936, 937, 943, 949, 955, 961, 967, 969, 971, - 973, 975, 978, 981, 985, 990, 995, 997, 999, 1001, - 1005, 1007, 1009, 1011, 1013, 1017, 1021, 1025, 1026, 1031, - 1036, 1039, 1044, 1047, 1052, 1055, 1058, 1060, 1065, 1067, - 1075, 1083, 1091, 1099, 1104, 1109, 1112, 1115, 1118, 1120, - 1125, 1128, 1131, 1137, 1141, 1144, 1147, 1153, 1157, 1163, - 1167, 1172, 1179, 1182, 1184, 1187, 1189, 1192, 1194, 1196, - 1198, 1201, 1202, 1205, 1208, 1212, 1216, 1220, 1223, 1226, - 1229, 1231, 1233, 1235, 1238, 1241, 1244, 1247, 1249, 1251, - 1253, 1255, 1258, 1261, 1265, 1269, 1273, 1278, 1280, 1283, - 1286, 1289, 1291, 1293, 1295, 1298, 1301, 1304, 1306, 1308, - 1311, 1314, 1318, 1320, 1323, 1325, 1327, 1329, 1334, 1339, - 1344, 1349, 1351, 1353, 1355, 1357, 1361, 1363, 1367, 1369, - 1373, 1374, 1379, 1380, 1387, 1391, 1392, 1397, 1399, 1403, - 1407, 1408, 1413, 1417, 1418, 1420, 1422, 1425, 1432, 1434, - 1438, 1439, 1441, 1446, 1453, 1458, 1460, 1462, 1464, 1466, - 1468, 1472, 1473, 1476, 1478, 1481, 1485, 1490, 1492, 1494, - 1498, 1503, 1507, 1513, 1515, 1520, 1524, 1528, 1529, 1533, - 1537, 1541, 1542, 1545, 1548, 1549, 1557, 1562, 1563, 1570, - 1574, 1577, 1580, 1583, 1584, 1585, 1595, 1597, 1598, 1600, - 1601, 1603, 1605, 1608, 1611, 1614, 1617, 1620, 1623, 1626, - 1629, 1632, 1636, 1641, 1645, 1648, 1652, 1654, 1655, 1659, - 1662, 1665, 1667, 1669, 1670, 1673, 1677, 1679, 1684, 1686, - 1690, 1692, 1694, 1699, 1704, 1707, 1710, 1714, 1718, 1720, - 1721, 1723, 1726, 1730, 1733, 1736, 1738, 1741, 1744, 1747, - 1750, 1753, 1756, 1759, 1761, 1764, 1767, 1771, 1774, 1777, - 1782, 1787, 1790, 1792, 1798, 1803, 1805, 1806, 1808, 1812, - 1813, 1815, 1819, 1821, 1823, 1825, 1827, 1832, 1837, 1842, - 1847, 1852, 1856, 1861, 1866, 1871, 1876, 1880, 1882, 1886, - 1888, 1892, 1895, 1897, 1905, 1906, 1909, 1911, 1914, 1915, - 1918, 1923, 1928, 1931, 1936, 1940, 1944, 1947, 1950, 1954, - 1956, 1958, 1961, 1963, 1965, 1968, 1971, 1976, 1981, 1985, - 1989, 1992, 1994, 1998, 2002, 2005, 2008, 2012, 2014, 2018, - 2022, 2025, 2028, 2032, 2034, 2039, 2043, 2048, 2052, 2054, - 2057, 2060, 2063, 2066, 2069, 2071, 2074, 2079, 2084, 2087, - 2089, 2091, 2093, 2095, 2098, 2103, 2106, 2109, 2112, 2115, - 2117, 2120, 2123, 2126, 2129, 2133, 2135, 2138, 2142, 2147, - 2150, 2153, 2156, 2159, 2162, 2165, 2170, 2173, 2175, 2178, - 2181, 2185, 2187, 2191, 2194, 2198, 2201, 2204, 2208, 2210, - 2214, 2219, 2223, 2226, 2229, 2231, 2235, 2238, 2241, 2243, - 2246, 2250, 2252, 2256, 2258, 2265, 2270, 2275, 2279, 2285, - 2289, 2293, 2297, 2300, 2302, 2304, 2307, 2310, 2313, 2314, - 2316, 2318, 2321, 2325, 2327, 2330, 2331, 2335, 2336, 2337, - 2343, 2345, 2346, 2349, 2351, 2353, 2355, 2358, 2359, 2364, - 2366, 2367, 2368, 2374, 2375, 2376, 2384, 2385, 2386, 2387, - 2388, 2401, 2402, 2403, 2411, 2412, 2418, 2419, 2427, 2428, - 2433, 2436, 2439, 2442, 2446, 2453, 2462, 2473, 2486, 2491, - 2495, 2498, 2501, 2503, 2505, 2507, 2509, 2511, 2512, 2513, - 2520, 2521, 2522, 2528, 2530, 2533, 2534, 2535, 2541, 2543, - 2545, 2549, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, - 2574, 2576, 2577, 2579, 2581, 2582, 2584, 2586, 2590, 2595, - 2597, 2601, 2602, 2604, 2606, 2608, 2611, 2614, 2617, 2619, - 2622, 2625, 2626, 2630, 2632, 2634, 2636, 2639, 2642, 2645, - 2650, 2653, 2656, 2659, 2662, 2665, 2668, 2670, 2673, 2675, - 2678, 2680, 2682, 2683, 2684, 2686, 2687, 2692, 2695, 2697, - 2699, 2703, 2704, 2708, 2712, 2716, 2718, 2721, 2724, 2727, - 2730, 2733, 2736, 2739, 2742, 2745, 2748, 2751, 2754, 2757, - 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2784, 2787, - 2791, 2794, 2797, 2800, 2803, 2807, 2810, 2813, 2818, 2823, - 2827 + 973, 975, 978, 980, 983, 986, 990, 995, 1000, 1002, + 1004, 1006, 1010, 1012, 1014, 1016, 1018, 1022, 1026, 1030, + 1031, 1036, 1041, 1044, 1049, 1052, 1057, 1060, 1063, 1065, + 1070, 1072, 1080, 1088, 1096, 1104, 1109, 1114, 1117, 1120, + 1123, 1125, 1130, 1133, 1136, 1142, 1146, 1149, 1152, 1158, + 1162, 1168, 1172, 1177, 1184, 1187, 1189, 1192, 1194, 1197, + 1199, 1201, 1203, 1206, 1207, 1210, 1213, 1217, 1221, 1225, + 1228, 1231, 1234, 1236, 1238, 1240, 1243, 1246, 1249, 1252, + 1254, 1256, 1258, 1260, 1263, 1266, 1270, 1274, 1278, 1283, + 1285, 1288, 1291, 1294, 1296, 1298, 1300, 1303, 1306, 1309, + 1311, 1313, 1316, 1319, 1323, 1325, 1328, 1330, 1332, 1334, + 1339, 1344, 1349, 1354, 1356, 1358, 1360, 1362, 1366, 1368, + 1372, 1374, 1378, 1379, 1384, 1385, 1392, 1396, 1397, 1402, + 1404, 1408, 1412, 1413, 1418, 1422, 1423, 1425, 1427, 1430, + 1437, 1439, 1443, 1444, 1446, 1451, 1458, 1463, 1465, 1467, + 1469, 1471, 1473, 1477, 1478, 1481, 1483, 1486, 1490, 1495, + 1497, 1499, 1503, 1508, 1512, 1518, 1520, 1525, 1529, 1533, + 1534, 1538, 1542, 1546, 1547, 1550, 1553, 1554, 1562, 1567, + 1568, 1575, 1579, 1582, 1585, 1588, 1589, 1590, 1600, 1602, + 1603, 1605, 1606, 1608, 1610, 1613, 1616, 1619, 1622, 1625, + 1628, 1631, 1634, 1637, 1641, 1646, 1650, 1653, 1657, 1659, + 1660, 1664, 1667, 1670, 1672, 1674, 1675, 1678, 1682, 1684, + 1689, 1691, 1695, 1697, 1699, 1704, 1709, 1712, 1715, 1719, + 1723, 1725, 1726, 1728, 1731, 1735, 1738, 1741, 1743, 1746, + 1749, 1752, 1755, 1758, 1761, 1764, 1766, 1769, 1772, 1776, + 1779, 1782, 1787, 1792, 1795, 1797, 1803, 1808, 1810, 1811, + 1813, 1817, 1818, 1820, 1824, 1826, 1828, 1830, 1832, 1837, + 1842, 1847, 1852, 1857, 1861, 1866, 1871, 1876, 1881, 1885, + 1887, 1891, 1893, 1897, 1900, 1902, 1910, 1911, 1914, 1916, + 1919, 1920, 1923, 1928, 1933, 1936, 1941, 1945, 1949, 1952, + 1955, 1959, 1961, 1963, 1966, 1968, 1970, 1973, 1976, 1981, + 1986, 1990, 1994, 1997, 1999, 2001, 2004, 2008, 2012, 2015, + 2018, 2022, 2024, 2028, 2032, 2035, 2038, 2042, 2044, 2049, + 2053, 2058, 2062, 2064, 2067, 2070, 2073, 2076, 2079, 2081, + 2084, 2089, 2094, 2097, 2099, 2101, 2103, 2105, 2108, 2113, + 2116, 2119, 2122, 2125, 2127, 2130, 2133, 2136, 2139, 2143, + 2145, 2148, 2152, 2157, 2160, 2163, 2166, 2169, 2172, 2175, + 2180, 2183, 2185, 2188, 2191, 2195, 2197, 2201, 2204, 2208, + 2211, 2214, 2218, 2220, 2224, 2229, 2233, 2236, 2239, 2241, + 2245, 2248, 2251, 2253, 2256, 2260, 2262, 2266, 2268, 2275, + 2280, 2285, 2289, 2295, 2299, 2303, 2307, 2310, 2312, 2314, + 2317, 2320, 2323, 2324, 2326, 2328, 2331, 2335, 2337, 2340, + 2341, 2345, 2346, 2347, 2353, 2355, 2356, 2359, 2361, 2363, + 2365, 2368, 2369, 2374, 2376, 2377, 2378, 2384, 2385, 2386, + 2394, 2395, 2396, 2397, 2398, 2411, 2412, 2413, 2421, 2422, + 2428, 2429, 2437, 2438, 2443, 2446, 2449, 2452, 2456, 2463, + 2472, 2483, 2496, 2501, 2505, 2508, 2511, 2513, 2515, 2517, + 2519, 2521, 2522, 2523, 2530, 2531, 2532, 2538, 2540, 2543, + 2544, 2545, 2551, 2553, 2555, 2559, 2563, 2566, 2569, 2572, + 2575, 2578, 2580, 2583, 2584, 2586, 2587, 2589, 2591, 2592, + 2594, 2596, 2600, 2605, 2607, 2611, 2612, 2614, 2616, 2618, + 2621, 2624, 2627, 2629, 2632, 2635, 2636, 2640, 2642, 2644, + 2646, 2649, 2652, 2655, 2660, 2663, 2666, 2669, 2672, 2675, + 2678, 2680, 2683, 2685, 2688, 2690, 2692, 2693, 2694, 2696, + 2697, 2702, 2705, 2707, 2709, 2713, 2714, 2718, 2722, 2726, + 2728, 2731, 2734, 2737, 2740, 2743, 2746, 2749, 2752, 2755, + 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2785, + 2788, 2791, 2794, 2797, 2801, 2804, 2807, 2810, 2813, 2817, + 2820, 2823, 2828, 2833, 2837 }; static const short yyrhs[] = { -1, 113, 0, 0, 114, 120, 0, 113, 120, 0, 113, 0, 0, 0, 0, 32, 0, 27, 0, 0, 121, 122, 0, 148, 147, 0, 144, 0, 141, 0, 119, - 93, 217, 108, 60, 0, 133, 58, 115, 109, 0, + 93, 218, 108, 60, 0, 133, 58, 115, 109, 0, 133, 116, 148, 117, 147, 0, 133, 116, 144, 117, 0, 0, 44, 163, 58, 123, 115, 109, 0, 0, 44, 58, 124, 115, 109, 0, 125, 0, 127, 60, 0, 129, 0, 118, 122, 0, 0, 44, 163, 64, - 126, 132, 60, 0, 46, 310, 0, 46, 324, 310, - 0, 46, 324, 208, 0, 46, 131, 163, 0, 46, - 324, 163, 0, 46, 324, 131, 163, 0, 0, 46, + 126, 132, 60, 0, 46, 312, 0, 46, 326, 312, + 0, 46, 326, 208, 0, 46, 131, 163, 0, 46, + 326, 163, 0, 46, 326, 131, 163, 0, 0, 46, 44, 130, 132, 60, 0, 57, 54, 0, 131, 57, - 54, 0, 208, 0, 310, 0, 324, 310, 0, 324, + 54, 0, 208, 0, 312, 0, 326, 312, 0, 326, 208, 0, 98, 0, 133, 98, 0, 0, 48, 74, 135, 136, 75, 0, 48, 74, 75, 0, 140, 0, - 136, 59, 140, 0, 163, 0, 0, 266, 137, 0, - 45, 137, 0, 134, 266, 137, 0, 138, 0, 138, - 64, 223, 0, 387, 0, 387, 64, 203, 0, 139, + 136, 59, 140, 0, 163, 0, 0, 267, 137, 0, + 45, 137, 0, 134, 267, 137, 0, 138, 0, 138, + 64, 224, 0, 389, 0, 389, 64, 203, 0, 139, 0, 139, 64, 183, 0, 134, 142, 0, 134, 1, 0, 148, 147, 0, 143, 0, 141, 0, 133, 116, 148, 117, 147, 0, 133, 116, 143, 117, 0, 118, - 142, 0, 234, 60, 0, 227, 233, 60, 0, 224, - 232, 60, 0, 259, 60, 0, 234, 60, 0, 227, - 233, 60, 0, 224, 232, 60, 0, 227, 60, 0, - 166, 60, 0, 224, 60, 0, 1, 60, 0, 1, - 109, 0, 60, 0, 218, 0, 159, 0, 0, 158, + 142, 0, 235, 60, 0, 228, 234, 60, 0, 225, + 233, 60, 0, 260, 60, 0, 235, 60, 0, 228, + 234, 60, 0, 225, 233, 60, 0, 228, 60, 0, + 166, 60, 0, 225, 60, 0, 1, 60, 0, 1, + 109, 0, 60, 0, 219, 0, 159, 0, 0, 158, 0, 158, 60, 0, 0, 107, 0, 154, 146, 145, - 334, 0, 154, 146, 358, 0, 154, 146, 1, 0, - 0, 315, 5, 93, 150, 378, 108, 297, 390, 0, - 315, 5, 47, 297, 390, 0, 0, 324, 315, 5, - 93, 151, 378, 108, 297, 390, 0, 324, 315, 5, - 47, 297, 390, 0, 0, 315, 178, 93, 152, 378, - 108, 297, 390, 0, 315, 178, 47, 297, 390, 0, - 0, 324, 315, 178, 93, 153, 378, 108, 297, 390, - 0, 324, 315, 178, 47, 297, 390, 0, 224, 221, - 0, 227, 307, 0, 307, 0, 227, 149, 0, 149, - 0, 5, 93, 378, 108, 297, 390, 0, 5, 47, - 297, 390, 0, 178, 93, 378, 108, 297, 390, 0, - 178, 47, 297, 390, 0, 227, 155, 0, 155, 0, - 224, 221, 0, 227, 307, 0, 307, 0, 227, 149, - 0, 149, 0, 25, 3, 0, 157, 251, 0, 157, + 336, 0, 154, 146, 360, 0, 154, 146, 1, 0, + 0, 317, 5, 93, 150, 380, 108, 298, 392, 0, + 317, 5, 47, 298, 392, 0, 0, 326, 317, 5, + 93, 151, 380, 108, 298, 392, 0, 326, 317, 5, + 47, 298, 392, 0, 0, 317, 178, 93, 152, 380, + 108, 298, 392, 0, 317, 178, 47, 298, 392, 0, + 0, 326, 317, 178, 93, 153, 380, 108, 298, 392, + 0, 326, 317, 178, 47, 298, 392, 0, 225, 222, + 0, 228, 309, 0, 309, 0, 228, 149, 0, 149, + 0, 5, 93, 380, 108, 298, 392, 0, 5, 47, + 298, 392, 0, 178, 93, 380, 108, 298, 392, 0, + 178, 47, 298, 392, 0, 228, 155, 0, 155, 0, + 225, 222, 0, 228, 309, 0, 309, 0, 228, 149, + 0, 149, 0, 25, 3, 0, 157, 252, 0, 157, 93, 195, 108, 0, 157, 47, 0, 62, 160, 161, 0, 0, 0, 162, 0, 161, 59, 162, 0, 161, 1, 0, 93, 195, 108, 0, 47, 0, 164, 93, - 195, 108, 0, 164, 47, 0, 303, 93, 195, 108, - 0, 303, 47, 0, 317, 93, 195, 108, 0, 317, + 195, 108, 0, 164, 47, 0, 304, 93, 195, 108, + 0, 304, 47, 0, 319, 93, 195, 108, 0, 319, 47, 0, 3, 0, 4, 0, 5, 0, 56, 0, 57, 0, 3, 0, 56, 0, 57, 0, 104, 0, - 103, 0, 105, 0, 0, 48, 175, 230, 60, 167, - 176, 0, 0, 48, 175, 224, 221, 168, 176, 0, - 0, 48, 175, 307, 169, 176, 0, 0, 48, 175, - 149, 170, 176, 0, 0, 7, 48, 175, 230, 60, - 171, 176, 0, 0, 7, 48, 175, 224, 221, 172, - 176, 0, 0, 7, 48, 175, 307, 173, 176, 0, + 103, 0, 105, 0, 0, 48, 175, 231, 60, 167, + 176, 0, 0, 48, 175, 225, 222, 168, 176, 0, + 0, 48, 175, 309, 169, 176, 0, 0, 48, 175, + 149, 170, 176, 0, 0, 7, 48, 175, 231, 60, + 171, 176, 0, 0, 7, 48, 175, 225, 222, 172, + 176, 0, 0, 7, 48, 175, 309, 173, 176, 0, 0, 7, 48, 175, 149, 174, 176, 0, 0, 0, 56, 74, 181, 180, 179, 0, 4, 74, 181, 180, 179, 0, 178, 0, 5, 74, 181, 180, 179, 0, 0, 75, 0, 77, 0, 0, 182, 0, 183, 0, - 182, 59, 183, 0, 223, 0, 56, 0, 203, 0, + 182, 59, 183, 0, 224, 0, 56, 0, 203, 0, 79, 0, 78, 0, 86, 0, 87, 0, 110, 0, 194, 0, 203, 0, 47, 0, 93, 185, 108, 0, 47, 0, 93, 189, 108, 0, 0, 189, 0, 1, - 0, 0, 368, 221, 235, 244, 64, 190, 252, 0, - 185, 0, 109, 0, 331, 329, 109, 0, 331, 329, - 1, 109, 0, 331, 1, 109, 0, 0, 58, 193, - 191, 0, 343, 0, 203, 59, 203, 0, 203, 59, + 0, 0, 370, 222, 236, 245, 64, 190, 253, 0, + 185, 0, 109, 0, 333, 331, 109, 0, 333, 331, + 1, 109, 0, 333, 1, 109, 0, 0, 58, 193, + 191, 0, 345, 0, 203, 59, 203, 0, 203, 59, 1, 0, 194, 59, 203, 0, 194, 59, 1, 0, - 203, 0, 194, 0, 212, 0, 118, 202, 0, 80, + 203, 0, 194, 0, 213, 0, 118, 202, 0, 80, 202, 0, 70, 202, 0, 88, 202, 0, 184, 202, - 0, 67, 163, 0, 13, 196, 0, 13, 93, 223, - 108, 0, 29, 196, 0, 29, 93, 223, 108, 0, - 214, 296, 0, 214, 296, 200, 0, 214, 199, 296, - 0, 214, 199, 296, 200, 0, 214, 93, 198, 223, - 197, 0, 214, 93, 198, 223, 197, 200, 0, 214, - 199, 93, 198, 223, 197, 0, 214, 199, 93, 198, - 223, 197, 200, 0, 215, 202, 0, 215, 94, 111, - 202, 0, 215, 94, 185, 111, 202, 0, 34, 202, + 0, 67, 163, 0, 13, 196, 0, 13, 93, 224, + 108, 0, 29, 196, 0, 29, 93, 224, 108, 0, + 215, 297, 0, 215, 297, 200, 0, 215, 199, 297, + 0, 215, 199, 297, 200, 0, 215, 93, 198, 224, + 197, 0, 215, 93, 198, 224, 197, 200, 0, 215, + 199, 93, 198, 224, 197, 0, 215, 199, 93, 198, + 224, 197, 200, 0, 216, 202, 0, 216, 94, 111, + 202, 0, 216, 94, 185, 111, 202, 0, 34, 202, 0, 35, 202, 0, 108, 0, 0, 93, 198, 195, 108, 0, 58, 198, 195, 109, 0, 93, 195, 108, - 0, 47, 0, 93, 230, 108, 0, 64, 252, 0, - 93, 223, 108, 0, 201, 93, 223, 108, 0, 196, - 0, 201, 196, 0, 201, 58, 253, 264, 109, 0, + 0, 47, 0, 93, 231, 108, 0, 64, 253, 0, + 93, 224, 108, 0, 201, 93, 224, 108, 0, 196, + 0, 201, 196, 0, 201, 58, 254, 265, 109, 0, 202, 0, 203, 83, 203, 0, 203, 84, 203, 0, 203, 78, 203, 0, 203, 79, 203, 0, 203, 80, 203, 0, 203, 81, 203, 0, 203, 82, 203, 0, @@ -442,293 +442,294 @@ static const short yyrhs[] = { -1, 203, 72, 203, 0, 203, 71, 203, 0, 203, 70, 203, 0, 203, 68, 203, 0, 203, 69, 203, 0, 203, 67, 203, 0, 203, 66, 203, 0, 203, 65, - 373, 62, 203, 0, 203, 64, 203, 0, 203, 63, - 203, 0, 61, 0, 61, 203, 0, 88, 388, 163, - 0, 88, 388, 177, 0, 206, 0, 395, 0, 3, + 375, 62, 203, 0, 203, 64, 203, 0, 203, 63, + 203, 0, 61, 0, 61, 203, 0, 88, 390, 163, + 0, 88, 390, 177, 0, 206, 0, 397, 0, 3, 0, 56, 0, 57, 0, 0, 6, 74, 205, 181, - 180, 0, 395, 74, 205, 181, 180, 0, 48, 163, + 180, 0, 397, 74, 205, 181, 180, 0, 48, 163, 74, 181, 180, 0, 48, 6, 74, 181, 180, 0, - 48, 395, 74, 181, 180, 0, 204, 0, 4, 0, - 5, 0, 204, 0, 80, 209, 0, 70, 209, 0, - 93, 209, 108, 0, 3, 74, 181, 180, 0, 57, - 74, 182, 180, 0, 309, 0, 204, 0, 210, 0, - 93, 209, 108, 0, 204, 0, 10, 0, 216, 0, - 217, 0, 93, 185, 108, 0, 93, 209, 108, 0, - 93, 1, 108, 0, 0, 93, 213, 335, 108, 0, - 204, 93, 195, 108, 0, 204, 47, 0, 212, 93, - 195, 108, 0, 212, 47, 0, 212, 94, 185, 111, - 0, 212, 86, 0, 212, 87, 0, 40, 0, 9, - 93, 195, 108, 0, 313, 0, 50, 74, 223, 75, - 93, 185, 108, 0, 51, 74, 223, 75, 93, 185, - 108, 0, 52, 74, 223, 75, 93, 185, 108, 0, - 53, 74, 223, 75, 93, 185, 108, 0, 49, 93, - 185, 108, 0, 49, 93, 223, 108, 0, 324, 3, - 0, 324, 206, 0, 324, 395, 0, 312, 0, 312, - 93, 195, 108, 0, 312, 47, 0, 219, 207, 0, - 219, 207, 93, 195, 108, 0, 219, 207, 47, 0, - 219, 208, 0, 219, 312, 0, 219, 208, 93, 195, - 108, 0, 219, 208, 47, 0, 219, 312, 93, 195, - 108, 0, 219, 312, 47, 0, 219, 88, 8, 47, - 0, 219, 8, 54, 88, 8, 47, 0, 219, 1, - 0, 39, 0, 324, 39, 0, 38, 0, 324, 215, - 0, 42, 0, 43, 0, 11, 0, 217, 11, 0, - 0, 212, 92, 0, 212, 91, 0, 230, 232, 60, - 0, 224, 232, 60, 0, 227, 233, 60, 0, 224, - 60, 0, 227, 60, 0, 118, 220, 0, 302, 0, - 307, 0, 47, 0, 222, 47, 0, 228, 327, 0, - 298, 327, 0, 230, 327, 0, 228, 0, 298, 0, - 228, 0, 225, 0, 227, 230, 0, 230, 226, 0, - 230, 229, 226, 0, 227, 230, 226, 0, 227, 230, - 229, 0, 227, 230, 229, 226, 0, 7, 0, 226, - 231, 0, 226, 7, 0, 226, 245, 0, 245, 0, - 298, 0, 7, 0, 227, 9, 0, 227, 7, 0, - 227, 245, 0, 245, 0, 230, 0, 298, 230, 0, - 230, 229, 0, 298, 230, 229, 0, 231, 0, 229, - 231, 0, 259, 0, 8, 0, 304, 0, 28, 93, - 185, 108, 0, 28, 93, 223, 108, 0, 30, 93, - 185, 108, 0, 30, 93, 223, 108, 0, 8, 0, - 9, 0, 259, 0, 240, 0, 232, 59, 236, 0, - 241, 0, 233, 59, 236, 0, 242, 0, 234, 59, - 236, 0, 0, 119, 93, 217, 108, 0, 0, 221, - 235, 244, 64, 237, 252, 0, 221, 235, 244, 0, - 0, 244, 64, 239, 252, 0, 244, 0, 221, 235, - 238, 0, 307, 235, 238, 0, 0, 307, 235, 243, - 238, 0, 149, 235, 244, 0, 0, 245, 0, 246, - 0, 245, 246, 0, 31, 93, 93, 247, 108, 108, - 0, 248, 0, 247, 59, 248, 0, 0, 249, 0, - 249, 93, 3, 108, 0, 249, 93, 3, 59, 195, - 108, 0, 249, 93, 195, 108, 0, 163, 0, 7, - 0, 8, 0, 9, 0, 163, 0, 250, 59, 163, - 0, 0, 64, 252, 0, 203, 0, 58, 109, 0, - 58, 253, 109, 0, 58, 253, 59, 109, 0, 1, - 0, 252, 0, 253, 59, 252, 0, 94, 203, 111, - 252, 0, 163, 62, 252, 0, 253, 59, 163, 62, - 252, 0, 97, 0, 254, 146, 145, 334, 0, 254, - 146, 358, 0, 254, 146, 1, 0, 0, 256, 255, - 147, 0, 102, 203, 107, 0, 102, 1, 107, 0, - 0, 258, 257, 0, 258, 1, 0, 0, 14, 163, - 58, 260, 294, 265, 109, 0, 14, 163, 58, 109, - 0, 0, 14, 58, 261, 294, 265, 109, 0, 14, - 58, 109, 0, 14, 163, 0, 14, 322, 0, 45, - 317, 0, 0, 0, 273, 279, 281, 109, 244, 262, - 258, 263, 256, 0, 273, 0, 0, 59, 0, 0, - 59, 0, 36, 0, 266, 7, 0, 266, 8, 0, - 266, 9, 0, 266, 36, 0, 266, 245, 0, 266, - 163, 0, 266, 165, 0, 267, 58, 0, 267, 62, - 0, 266, 315, 163, 0, 266, 324, 315, 163, 0, - 266, 324, 163, 0, 266, 177, 0, 266, 315, 177, - 0, 267, 0, 0, 268, 271, 274, 0, 269, 274, - 0, 266, 58, 0, 272, 0, 270, 0, 0, 62, - 388, 0, 62, 388, 275, 0, 276, 0, 275, 59, - 388, 276, 0, 277, 0, 278, 388, 277, 0, 317, - 0, 303, 0, 30, 93, 185, 108, 0, 30, 93, - 223, 108, 0, 37, 388, 0, 7, 388, 0, 278, - 37, 388, 0, 278, 7, 388, 0, 58, 0, 0, - 280, 0, 280, 283, 0, 281, 282, 283, 0, 281, - 282, 0, 37, 62, 0, 284, 0, 283, 284, 0, - 285, 60, 0, 285, 109, 0, 156, 62, 0, 156, - 95, 0, 156, 25, 0, 156, 58, 0, 60, 0, - 118, 284, 0, 134, 284, 0, 134, 224, 60, 0, - 224, 286, 0, 227, 287, 0, 307, 235, 244, 251, - 0, 149, 235, 244, 251, 0, 62, 203, 0, 1, - 0, 227, 155, 235, 244, 251, 0, 155, 235, 244, - 251, 0, 127, 0, 0, 288, 0, 286, 59, 289, - 0, 0, 291, 0, 287, 59, 293, 0, 290, 0, - 291, 0, 292, 0, 293, 0, 302, 235, 244, 251, - 0, 4, 62, 203, 244, 0, 307, 235, 244, 251, - 0, 149, 235, 244, 251, 0, 3, 62, 203, 244, - 0, 62, 203, 244, 0, 302, 235, 244, 251, 0, - 4, 62, 203, 244, 0, 307, 235, 244, 251, 0, - 3, 62, 203, 244, 0, 62, 203, 244, 0, 295, - 0, 294, 59, 295, 0, 163, 0, 163, 64, 203, - 0, 368, 325, 0, 368, 0, 93, 198, 223, 197, - 94, 185, 111, 0, 0, 297, 9, 0, 9, 0, - 298, 9, 0, 0, 299, 185, 0, 299, 93, 195, - 108, 0, 299, 93, 378, 108, 0, 299, 47, 0, - 299, 93, 1, 108, 0, 80, 298, 302, 0, 70, - 298, 302, 0, 80, 302, 0, 70, 302, 0, 323, - 297, 302, 0, 306, 0, 314, 0, 324, 314, 0, - 303, 0, 305, 0, 324, 305, 0, 315, 314, 0, - 306, 301, 297, 390, 0, 306, 94, 300, 111, 0, - 306, 94, 111, 0, 93, 302, 108, 0, 315, 314, - 0, 314, 0, 80, 298, 307, 0, 70, 298, 307, - 0, 80, 307, 0, 70, 307, 0, 323, 297, 307, - 0, 211, 0, 80, 298, 307, 0, 70, 298, 307, - 0, 80, 308, 0, 70, 308, 0, 323, 297, 307, - 0, 309, 0, 211, 301, 297, 390, 0, 93, 308, - 108, 0, 211, 94, 300, 111, 0, 211, 94, 111, - 0, 311, 0, 315, 210, 0, 315, 208, 0, 315, - 207, 0, 315, 204, 0, 315, 207, 0, 311, 0, - 324, 311, 0, 230, 93, 195, 108, 0, 230, 93, - 209, 108, 0, 230, 222, 0, 4, 0, 5, 0, - 177, 0, 316, 0, 315, 316, 0, 315, 48, 321, + 48, 397, 74, 181, 180, 0, 204, 0, 4, 0, + 5, 0, 210, 0, 246, 210, 0, 204, 0, 80, + 209, 0, 70, 209, 0, 93, 209, 108, 0, 3, + 74, 181, 180, 0, 57, 74, 182, 180, 0, 311, + 0, 204, 0, 211, 0, 93, 209, 108, 0, 204, + 0, 10, 0, 217, 0, 218, 0, 93, 185, 108, + 0, 93, 209, 108, 0, 93, 1, 108, 0, 0, + 93, 214, 337, 108, 0, 204, 93, 195, 108, 0, + 204, 47, 0, 213, 93, 195, 108, 0, 213, 47, + 0, 213, 94, 185, 111, 0, 213, 86, 0, 213, + 87, 0, 40, 0, 9, 93, 195, 108, 0, 315, + 0, 50, 74, 224, 75, 93, 185, 108, 0, 51, + 74, 224, 75, 93, 185, 108, 0, 52, 74, 224, + 75, 93, 185, 108, 0, 53, 74, 224, 75, 93, + 185, 108, 0, 49, 93, 185, 108, 0, 49, 93, + 224, 108, 0, 326, 3, 0, 326, 206, 0, 326, + 397, 0, 314, 0, 314, 93, 195, 108, 0, 314, + 47, 0, 220, 207, 0, 220, 207, 93, 195, 108, + 0, 220, 207, 47, 0, 220, 208, 0, 220, 314, + 0, 220, 208, 93, 195, 108, 0, 220, 208, 47, + 0, 220, 314, 93, 195, 108, 0, 220, 314, 47, + 0, 220, 88, 8, 47, 0, 220, 8, 54, 88, + 8, 47, 0, 220, 1, 0, 39, 0, 326, 39, + 0, 38, 0, 326, 216, 0, 42, 0, 43, 0, + 11, 0, 218, 11, 0, 0, 213, 92, 0, 213, + 91, 0, 231, 233, 60, 0, 225, 233, 60, 0, + 228, 234, 60, 0, 225, 60, 0, 228, 60, 0, + 118, 221, 0, 303, 0, 309, 0, 47, 0, 223, + 47, 0, 229, 329, 0, 299, 329, 0, 231, 329, + 0, 229, 0, 299, 0, 229, 0, 226, 0, 228, + 231, 0, 231, 227, 0, 231, 230, 227, 0, 228, + 231, 227, 0, 228, 231, 230, 0, 228, 231, 230, + 227, 0, 7, 0, 227, 232, 0, 227, 7, 0, + 227, 246, 0, 246, 0, 299, 0, 7, 0, 228, + 9, 0, 228, 7, 0, 228, 246, 0, 246, 0, + 231, 0, 299, 231, 0, 231, 230, 0, 299, 231, + 230, 0, 232, 0, 230, 232, 0, 260, 0, 8, + 0, 305, 0, 28, 93, 185, 108, 0, 28, 93, + 224, 108, 0, 30, 93, 185, 108, 0, 30, 93, + 224, 108, 0, 8, 0, 9, 0, 260, 0, 241, + 0, 233, 59, 237, 0, 242, 0, 234, 59, 237, + 0, 243, 0, 235, 59, 237, 0, 0, 119, 93, + 218, 108, 0, 0, 222, 236, 245, 64, 238, 253, + 0, 222, 236, 245, 0, 0, 245, 64, 240, 253, + 0, 245, 0, 222, 236, 239, 0, 309, 236, 239, + 0, 0, 309, 236, 244, 239, 0, 149, 236, 245, + 0, 0, 246, 0, 247, 0, 246, 247, 0, 31, + 93, 93, 248, 108, 108, 0, 249, 0, 248, 59, + 249, 0, 0, 250, 0, 250, 93, 3, 108, 0, + 250, 93, 3, 59, 195, 108, 0, 250, 93, 195, + 108, 0, 163, 0, 7, 0, 8, 0, 9, 0, + 163, 0, 251, 59, 163, 0, 0, 64, 253, 0, + 203, 0, 58, 109, 0, 58, 254, 109, 0, 58, + 254, 59, 109, 0, 1, 0, 253, 0, 254, 59, + 253, 0, 94, 203, 111, 253, 0, 163, 62, 253, + 0, 254, 59, 163, 62, 253, 0, 97, 0, 255, + 146, 145, 336, 0, 255, 146, 360, 0, 255, 146, + 1, 0, 0, 257, 256, 147, 0, 102, 203, 107, + 0, 102, 1, 107, 0, 0, 259, 258, 0, 259, + 1, 0, 0, 14, 163, 58, 261, 295, 266, 109, + 0, 14, 163, 58, 109, 0, 0, 14, 58, 262, + 295, 266, 109, 0, 14, 58, 109, 0, 14, 163, + 0, 14, 324, 0, 45, 319, 0, 0, 0, 274, + 280, 282, 109, 245, 263, 259, 264, 257, 0, 274, + 0, 0, 59, 0, 0, 59, 0, 36, 0, 267, + 7, 0, 267, 8, 0, 267, 9, 0, 267, 36, + 0, 267, 246, 0, 267, 163, 0, 267, 165, 0, + 268, 58, 0, 268, 62, 0, 267, 317, 163, 0, + 267, 326, 317, 163, 0, 267, 326, 163, 0, 267, + 177, 0, 267, 317, 177, 0, 268, 0, 0, 269, + 272, 275, 0, 270, 275, 0, 267, 58, 0, 273, + 0, 271, 0, 0, 62, 390, 0, 62, 390, 276, + 0, 277, 0, 276, 59, 390, 277, 0, 278, 0, + 279, 390, 278, 0, 319, 0, 304, 0, 30, 93, + 185, 108, 0, 30, 93, 224, 108, 0, 37, 390, + 0, 7, 390, 0, 279, 37, 390, 0, 279, 7, + 390, 0, 58, 0, 0, 281, 0, 281, 284, 0, + 282, 283, 284, 0, 282, 283, 0, 37, 62, 0, + 285, 0, 284, 285, 0, 286, 60, 0, 286, 109, + 0, 156, 62, 0, 156, 95, 0, 156, 25, 0, + 156, 58, 0, 60, 0, 118, 285, 0, 134, 285, + 0, 134, 225, 60, 0, 225, 287, 0, 228, 288, + 0, 309, 236, 245, 252, 0, 149, 236, 245, 252, + 0, 62, 203, 0, 1, 0, 228, 155, 236, 245, + 252, 0, 155, 236, 245, 252, 0, 127, 0, 0, + 289, 0, 287, 59, 290, 0, 0, 292, 0, 288, + 59, 294, 0, 291, 0, 292, 0, 293, 0, 294, + 0, 303, 236, 245, 252, 0, 4, 62, 203, 245, + 0, 309, 236, 245, 252, 0, 149, 236, 245, 252, + 0, 3, 62, 203, 245, 0, 62, 203, 245, 0, + 303, 236, 245, 252, 0, 4, 62, 203, 245, 0, + 309, 236, 245, 252, 0, 3, 62, 203, 245, 0, + 62, 203, 245, 0, 296, 0, 295, 59, 296, 0, + 163, 0, 163, 64, 203, 0, 370, 327, 0, 370, + 0, 93, 198, 224, 197, 94, 185, 111, 0, 0, + 298, 9, 0, 9, 0, 299, 9, 0, 0, 300, + 185, 0, 300, 93, 195, 108, 0, 300, 93, 380, + 108, 0, 300, 47, 0, 300, 93, 1, 108, 0, + 80, 299, 303, 0, 70, 299, 303, 0, 80, 303, + 0, 70, 303, 0, 325, 298, 303, 0, 307, 0, + 316, 0, 326, 316, 0, 304, 0, 306, 0, 326, + 306, 0, 317, 316, 0, 307, 302, 298, 392, 0, + 307, 94, 301, 111, 0, 307, 94, 111, 0, 93, + 303, 108, 0, 317, 316, 0, 316, 0, 309, 0, + 246, 309, 0, 80, 299, 308, 0, 70, 299, 308, + 0, 80, 308, 0, 70, 308, 0, 325, 298, 308, + 0, 212, 0, 80, 299, 308, 0, 70, 299, 308, + 0, 80, 310, 0, 70, 310, 0, 325, 298, 308, + 0, 311, 0, 212, 302, 298, 392, 0, 93, 310, + 108, 0, 212, 94, 301, 111, 0, 212, 94, 111, + 0, 313, 0, 317, 211, 0, 317, 208, 0, 317, + 207, 0, 317, 204, 0, 317, 207, 0, 313, 0, + 326, 313, 0, 231, 93, 195, 108, 0, 231, 93, + 209, 108, 0, 231, 223, 0, 4, 0, 5, 0, + 177, 0, 318, 0, 317, 318, 0, 317, 48, 323, 54, 0, 4, 54, 0, 5, 54, 0, 57, 54, - 0, 177, 54, 0, 318, 0, 324, 318, 0, 319, - 163, 0, 319, 177, 0, 319, 321, 0, 319, 48, - 321, 0, 320, 0, 319, 320, 0, 319, 321, 54, - 0, 319, 48, 321, 54, 0, 4, 54, 0, 5, + 0, 177, 54, 0, 320, 0, 326, 320, 0, 321, + 163, 0, 321, 177, 0, 321, 323, 0, 321, 48, + 323, 0, 322, 0, 321, 322, 0, 321, 323, 54, + 0, 321, 48, 323, 54, 0, 4, 54, 0, 5, 54, 0, 177, 54, 0, 56, 54, 0, 3, 54, - 0, 57, 54, 0, 163, 74, 181, 180, 0, 324, - 314, 0, 305, 0, 324, 305, 0, 315, 80, 0, - 324, 315, 80, 0, 54, 0, 80, 297, 325, 0, - 80, 297, 0, 70, 297, 325, 0, 70, 297, 0, - 323, 297, 0, 323, 297, 325, 0, 326, 0, 94, - 185, 111, 0, 326, 94, 300, 111, 0, 80, 298, - 327, 0, 80, 327, 0, 80, 298, 0, 80, 0, - 70, 298, 327, 0, 70, 327, 0, 70, 298, 0, - 70, 0, 323, 297, 0, 323, 297, 327, 0, 328, - 0, 93, 327, 108, 0, 90, 0, 328, 93, 378, - 108, 297, 390, 0, 328, 47, 297, 390, 0, 328, - 94, 300, 111, 0, 328, 94, 111, 0, 93, 379, - 108, 297, 390, 0, 201, 297, 390, 0, 222, 297, - 390, 0, 94, 300, 111, 0, 94, 111, 0, 342, - 0, 330, 0, 329, 342, 0, 329, 330, 0, 1, - 60, 0, 0, 332, 0, 333, 0, 332, 333, 0, - 33, 250, 60, 0, 335, 0, 1, 335, 0, 0, - 58, 336, 191, 0, 0, 0, 15, 338, 187, 339, - 340, 0, 335, 0, 0, 341, 343, 0, 335, 0, - 343, 0, 220, 0, 185, 60, 0, 0, 337, 16, - 344, 340, 0, 337, 0, 0, 0, 17, 345, 187, - 346, 192, 0, 0, 0, 18, 347, 340, 17, 348, - 186, 60, 0, 0, 0, 0, 0, 19, 349, 93, - 371, 350, 188, 60, 351, 373, 108, 352, 192, 0, - 0, 0, 20, 353, 93, 189, 108, 354, 340, 0, - 0, 21, 203, 62, 355, 342, 0, 0, 21, 203, - 12, 203, 62, 356, 342, 0, 0, 22, 62, 357, - 342, 0, 23, 60, 0, 24, 60, 0, 25, 60, - 0, 25, 185, 60, 0, 119, 372, 93, 217, 108, - 60, 0, 119, 372, 93, 217, 62, 374, 108, 60, - 0, 119, 372, 93, 217, 62, 374, 62, 374, 108, - 60, 0, 119, 372, 93, 217, 62, 374, 62, 374, - 62, 377, 108, 60, 0, 26, 80, 185, 60, 0, - 26, 163, 60, 0, 370, 342, 0, 370, 109, 0, - 60, 0, 361, 0, 129, 0, 128, 0, 125, 0, - 0, 0, 95, 359, 145, 335, 360, 364, 0, 0, - 0, 95, 362, 335, 363, 364, 0, 365, 0, 364, - 365, 0, 0, 0, 96, 366, 369, 367, 335, 0, - 228, 0, 298, 0, 93, 12, 108, 0, 93, 387, + 0, 57, 54, 0, 163, 74, 181, 180, 0, 326, + 316, 0, 306, 0, 326, 306, 0, 317, 80, 0, + 326, 317, 80, 0, 54, 0, 80, 298, 327, 0, + 80, 298, 0, 70, 298, 327, 0, 70, 298, 0, + 325, 298, 0, 325, 298, 327, 0, 328, 0, 94, + 185, 111, 0, 328, 94, 301, 111, 0, 80, 299, + 329, 0, 80, 329, 0, 80, 299, 0, 80, 0, + 70, 299, 329, 0, 70, 329, 0, 70, 299, 0, + 70, 0, 325, 298, 0, 325, 298, 329, 0, 330, + 0, 93, 329, 108, 0, 90, 0, 330, 93, 380, + 108, 298, 392, 0, 330, 47, 298, 392, 0, 330, + 94, 301, 111, 0, 330, 94, 111, 0, 93, 381, + 108, 298, 392, 0, 201, 298, 392, 0, 223, 298, + 392, 0, 94, 301, 111, 0, 94, 111, 0, 344, + 0, 332, 0, 331, 344, 0, 331, 332, 0, 1, + 60, 0, 0, 334, 0, 335, 0, 334, 335, 0, + 33, 251, 60, 0, 337, 0, 1, 337, 0, 0, + 58, 338, 191, 0, 0, 0, 15, 340, 187, 341, + 342, 0, 337, 0, 0, 343, 345, 0, 337, 0, + 345, 0, 221, 0, 185, 60, 0, 0, 339, 16, + 346, 342, 0, 339, 0, 0, 0, 17, 347, 187, + 348, 192, 0, 0, 0, 18, 349, 342, 17, 350, + 186, 60, 0, 0, 0, 0, 0, 19, 351, 93, + 373, 352, 188, 60, 353, 375, 108, 354, 192, 0, + 0, 0, 20, 355, 93, 189, 108, 356, 342, 0, + 0, 21, 203, 62, 357, 344, 0, 0, 21, 203, + 12, 203, 62, 358, 344, 0, 0, 22, 62, 359, + 344, 0, 23, 60, 0, 24, 60, 0, 25, 60, + 0, 25, 185, 60, 0, 119, 374, 93, 218, 108, + 60, 0, 119, 374, 93, 218, 62, 376, 108, 60, + 0, 119, 374, 93, 218, 62, 376, 62, 376, 108, + 60, 0, 119, 374, 93, 218, 62, 376, 62, 376, + 62, 379, 108, 60, 0, 26, 80, 185, 60, 0, + 26, 163, 60, 0, 372, 344, 0, 372, 109, 0, + 60, 0, 363, 0, 129, 0, 128, 0, 125, 0, + 0, 0, 95, 361, 145, 337, 362, 366, 0, 0, + 0, 95, 364, 337, 365, 366, 0, 367, 0, 366, + 367, 0, 0, 0, 96, 368, 371, 369, 337, 0, + 229, 0, 299, 0, 93, 12, 108, 0, 93, 389, 108, 0, 3, 62, 0, 56, 62, 0, 4, 62, - 0, 5, 62, 0, 373, 60, 0, 220, 0, 58, + 0, 5, 62, 0, 375, 60, 0, 221, 0, 58, 191, 0, 0, 9, 0, 0, 185, 0, 1, 0, - 0, 375, 0, 376, 0, 375, 59, 376, 0, 11, - 93, 185, 108, 0, 11, 0, 377, 59, 11, 0, - 0, 379, 0, 223, 0, 383, 0, 384, 12, 0, - 383, 12, 0, 223, 12, 0, 12, 0, 383, 62, - 0, 223, 62, 0, 0, 64, 381, 382, 0, 101, - 0, 252, 0, 385, 0, 387, 380, 0, 384, 386, - 0, 384, 389, 0, 384, 389, 64, 252, 0, 383, - 59, 0, 223, 59, 0, 225, 221, 0, 228, 221, - 0, 230, 221, 0, 225, 327, 0, 225, 0, 227, - 307, 0, 387, 0, 387, 380, 0, 385, 0, 223, - 0, 0, 0, 307, 0, 0, 61, 93, 392, 108, - 0, 61, 47, 0, 223, 0, 391, 0, 392, 59, - 391, 0, 0, 80, 297, 393, 0, 70, 297, 393, - 0, 323, 297, 393, 0, 41, 0, 394, 80, 0, - 394, 81, 0, 394, 82, 0, 394, 78, 0, 394, - 79, 0, 394, 70, 0, 394, 68, 0, 394, 69, - 0, 394, 88, 0, 394, 59, 0, 394, 73, 0, - 394, 74, 0, 394, 75, 0, 394, 72, 0, 394, - 63, 0, 394, 64, 0, 394, 76, 0, 394, 77, - 0, 394, 86, 0, 394, 87, 0, 394, 67, 0, - 394, 66, 0, 394, 110, 0, 394, 65, 62, 0, - 394, 71, 0, 394, 91, 0, 394, 83, 0, 394, - 47, 0, 394, 94, 111, 0, 394, 39, 0, 394, - 38, 0, 394, 39, 94, 111, 0, 394, 38, 94, - 111, 0, 394, 368, 393, 0, 394, 1, 0 + 0, 377, 0, 378, 0, 377, 59, 378, 0, 11, + 93, 185, 108, 0, 11, 0, 379, 59, 11, 0, + 0, 381, 0, 224, 0, 385, 0, 386, 12, 0, + 385, 12, 0, 224, 12, 0, 12, 0, 385, 62, + 0, 224, 62, 0, 0, 64, 383, 384, 0, 101, + 0, 253, 0, 387, 0, 389, 382, 0, 386, 388, + 0, 386, 391, 0, 386, 391, 64, 253, 0, 385, + 59, 0, 224, 59, 0, 226, 222, 0, 229, 222, + 0, 231, 222, 0, 226, 329, 0, 226, 0, 228, + 309, 0, 389, 0, 389, 382, 0, 387, 0, 224, + 0, 0, 0, 309, 0, 0, 61, 93, 394, 108, + 0, 61, 47, 0, 224, 0, 393, 0, 394, 59, + 393, 0, 0, 80, 298, 395, 0, 70, 298, 395, + 0, 325, 298, 395, 0, 41, 0, 396, 80, 0, + 396, 81, 0, 396, 82, 0, 396, 78, 0, 396, + 79, 0, 396, 70, 0, 396, 68, 0, 396, 69, + 0, 396, 88, 0, 396, 59, 0, 396, 73, 0, + 396, 74, 0, 396, 75, 0, 396, 72, 0, 396, + 63, 0, 396, 64, 0, 396, 76, 0, 396, 77, + 0, 396, 86, 0, 396, 87, 0, 396, 67, 0, + 396, 66, 0, 396, 110, 0, 396, 65, 62, 0, + 396, 71, 0, 396, 91, 0, 396, 83, 0, 396, + 47, 0, 396, 94, 111, 0, 396, 39, 0, 396, + 38, 0, 396, 39, 94, 111, 0, 396, 38, 94, + 111, 0, 396, 370, 395, 0, 396, 1, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 334, 336, 344, 347, 348, 352, 354, 357, 362, 366, - 372, 376, 379, 383, 386, 388, 390, 393, 395, 398, - 401, 403, 405, 407, 409, 410, 412, 413, 417, 420, - 429, 432, 434, 438, 441, 443, 447, 450, 462, 469, - 477, 479, 480, 482, 486, 489, 495, 498, 500, 505, - 508, 512, 515, 518, 521, 525, 530, 540, 542, 544, - 546, 548, 561, 564, 568, 571, 573, 575, 578, 581, - 585, 587, 589, 591, 596, 598, 600, 602, 604, 605, - 612, 613, 614, 617, 620, 624, 626, 627, 630, 632, - 635, 638, 640, 644, 647, 649, 653, 655, 657, 661, - 663, 665, 669, 671, 673, 679, 683, 686, 689, 692, - 697, 700, 702, 704, 710, 722, 725, 729, 733, 736, - 740, 745, 754, 757, 759, 763, 776, 796, 799, 801, - 802, 805, 812, 818, 820, 822, 824, 826, 829, 834, - 836, 837, 838, 839, 842, 844, 845, 848, 850, 851, - 854, 859, 859, 863, 863, 866, 866, 869, 869, 873, - 873, 878, 878, 881, 881, 884, 886, 889, 896, 900, - 903, 906, 912, 921, 923, 931, 934, 937, 940, 944, - 947, 949, 952, 955, 957, 959, 961, 965, 968, 971, - 976, 980, 985, 989, 992, 993, 997, 1016, 1023, 1026, - 1028, 1029, 1030, 1033, 1037, 1038, 1042, 1046, 1049, 1051, - 1055, 1058, 1061, 1065, 1068, 1070, 1072, 1074, 1077, 1081, - 1083, 1085, 1087, 1093, 1096, 1099, 1102, 1114, 1119, 1123, - 1127, 1132, 1134, 1138, 1142, 1144, 1153, 1157, 1160, 1163, - 1168, 1171, 1173, 1181, 1194, 1199, 1205, 1207, 1209, 1222, - 1225, 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, - 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1263, - 1265, 1269, 1271, 1273, 1290, 1293, 1295, 1296, 1297, 1298, - 1299, 1302, 1305, 1308, 1312, 1315, 1317, 1322, 1324, 1325, - 1328, 1330, 1332, 1334, 1338, 1341, 1345, 1349, 1350, 1351, - 1355, 1363, 1364, 1365, 1379, 1381, 1384, 1386, 1397, 1402, - 1404, 1406, 1408, 1410, 1412, 1414, 1417, 1419, 1463, 1464, - 1468, 1472, 1476, 1480, 1482, 1486, 1488, 1490, 1498, 1500, - 1502, 1504, 1508, 1510, 1512, 1514, 1519, 1521, 1523, 1525, - 1528, 1530, 1532, 1576, 1579, 1583, 1586, 1590, 1593, 1598, - 1600, 1604, 1617, 1620, 1627, 1634, 1639, 1641, 1646, 1648, - 1655, 1657, 1661, 1665, 1671, 1675, 1678, 1681, 1684, 1694, - 1696, 1699, 1703, 1706, 1709, 1712, 1715, 1721, 1727, 1729, - 1734, 1736, 1745, 1748, 1750, 1753, 1759, 1761, 1771, 1775, - 1778, 1781, 1786, 1789, 1797, 1799, 1801, 1803, 1806, 1809, - 1824, 1843, 1846, 1848, 1851, 1853, 1857, 1859, 1863, 1865, - 1869, 1872, 1876, 1882, 1883, 1895, 1902, 1905, 1911, 1915, - 1920, 1926, 1927, 1935, 1938, 1942, 1945, 1949, 1954, 1957, - 1961, 1964, 1966, 1968, 1970, 1977, 1979, 1980, 1981, 1985, - 1988, 1992, 1995, 2001, 2003, 2006, 2009, 2012, 2018, 2021, - 2024, 2026, 2028, 2032, 2038, 2046, 2048, 2052, 2054, 2059, - 2062, 2065, 2067, 2069, 2073, 2078, 2085, 2089, 2093, 2100, - 2104, 2107, 2110, 2116, 2128, 2130, 2133, 2153, 2155, 2158, - 2160, 2165, 2167, 2169, 2171, 2173, 2175, 2179, 2187, 2190, - 2192, 2196, 2202, 2207, 2212, 2214, 2218, 2221, 2223, 2229, - 2246, 2252, 2254, 2257, 2260, 2262, 2266, 2268, 2272, 2277, - 2283, 2286, 2287, 2308, 2331, 2333, 2337, 2348, 2362, 2367, - 2374, 2376, 2377, 2378, 2381, 2396, 2401, 2407, 2409, 2414, - 2416, 2418, 2420, 2422, 2424, 2427, 2437, 2444, 2469, 2475, - 2478, 2481, 2483, 2494, 2499, 2502, 2507, 2510, 2517, 2527, - 2530, 2537, 2547, 2549, 2552, 2554, 2557, 2564, 2572, 2579, - 2585, 2591, 2599, 2603, 2608, 2612, 2615, 2624, 2626, 2630, - 2633, 2638, 2642, 2648, 2659, 2662, 2666, 2670, 2678, 2683, - 2689, 2692, 2694, 2696, 2702, 2705, 2707, 2709, 2711, 2715, - 2718, 2736, 2746, 2748, 2749, 2753, 2758, 2761, 2763, 2765, - 2767, 2771, 2777, 2780, 2782, 2784, 2786, 2790, 2793, 2796, - 2798, 2800, 2802, 2806, 2809, 2812, 2814, 2816, 2818, 2820, - 2827, 2831, 2836, 2840, 2845, 2847, 2851, 2854, 2856, 2859, - 2861, 2862, 2865, 2867, 2869, 2875, 2890, 2896, 2902, 2916, - 2918, 2922, 2936, 2938, 2940, 2944, 2950, 2963, 2965, 2969, - 2982, 2988, 2990, 2991, 2992, 3000, 3005, 3014, 3015, 3019, - 3022, 3028, 3034, 3037, 3039, 3041, 3043, 3047, 3051, 3055, - 3058, 3063, 3066, 3068, 3070, 3072, 3074, 3076, 3078, 3080, - 3084, 3088, 3092, 3096, 3097, 3099, 3101, 3103, 3105, 3107, - 3109, 3111, 3113, 3121, 3123, 3124, 3125, 3128, 3134, 3136, - 3141, 3143, 3146, 3160, 3163, 3166, 3170, 3173, 3180, 3182, - 3185, 3187, 3189, 3192, 3195, 3198, 3201, 3203, 3206, 3210, - 3212, 3218, 3220, 3221, 3223, 3228, 3230, 3232, 3234, 3236, - 3239, 3240, 3242, 3245, 3246, 3249, 3249, 3252, 3252, 3255, - 3255, 3257, 3259, 3261, 3263, 3269, 3275, 3278, 3281, 3287, - 3289, 3291, 3295, 3297, 3298, 3299, 3301, 3304, 3311, 3316, - 3324, 3328, 3330, 3333, 3335, 3338, 3342, 3344, 3347, 3349, - 3352, 3369, 3375, 3383, 3385, 3387, 3391, 3394, 3395, 3403, - 3407, 3411, 3414, 3415, 3421, 3424, 3427, 3429, 3433, 3438, - 3441, 3451, 3456, 3457, 3464, 3467, 3470, 3472, 3475, 3477, - 3487, 3501, 3505, 3508, 3510, 3514, 3518, 3521, 3524, 3526, - 3530, 3532, 3539, 3546, 3549, 3552, 3556, 3560, 3566, 3570, - 3575, 3577, 3580, 3585, 3591, 3602, 3605, 3607, 3611, 3616, - 3618, 3625, 3628, 3630, 3632, 3638, 3643, 3646, 3648, 3650, - 3652, 3654, 3656, 3658, 3660, 3662, 3664, 3666, 3668, 3670, - 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, - 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708, 3711, - 3713 + 336, 338, 346, 349, 350, 354, 356, 359, 364, 368, + 374, 378, 381, 385, 388, 390, 392, 395, 397, 400, + 403, 405, 407, 409, 411, 412, 414, 415, 419, 422, + 431, 434, 436, 440, 443, 445, 449, 452, 464, 471, + 479, 481, 482, 484, 488, 491, 497, 500, 502, 507, + 510, 514, 517, 520, 523, 527, 532, 542, 544, 546, + 548, 550, 563, 566, 570, 573, 575, 577, 580, 583, + 587, 589, 591, 593, 598, 600, 602, 604, 606, 607, + 614, 615, 616, 619, 622, 626, 628, 629, 632, 634, + 637, 640, 642, 646, 649, 651, 655, 657, 659, 663, + 665, 667, 671, 673, 675, 681, 685, 688, 691, 694, + 699, 702, 704, 706, 712, 724, 727, 732, 737, 740, + 745, 750, 759, 762, 764, 768, 781, 801, 804, 806, + 807, 810, 817, 823, 825, 827, 829, 831, 834, 839, + 841, 842, 843, 844, 847, 849, 850, 853, 855, 856, + 859, 864, 864, 868, 868, 871, 871, 874, 874, 878, + 878, 883, 883, 886, 886, 889, 891, 894, 901, 905, + 908, 911, 917, 926, 928, 936, 939, 942, 945, 949, + 952, 954, 957, 960, 962, 964, 966, 970, 973, 976, + 981, 985, 990, 994, 997, 998, 1002, 1021, 1028, 1031, + 1033, 1034, 1035, 1038, 1042, 1043, 1047, 1051, 1054, 1056, + 1060, 1063, 1066, 1070, 1073, 1075, 1077, 1079, 1082, 1086, + 1088, 1090, 1092, 1098, 1101, 1104, 1107, 1119, 1124, 1128, + 1132, 1137, 1139, 1143, 1147, 1149, 1158, 1162, 1165, 1168, + 1173, 1176, 1178, 1186, 1199, 1204, 1210, 1212, 1214, 1227, + 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, + 1250, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268, + 1270, 1274, 1276, 1278, 1295, 1298, 1300, 1301, 1302, 1303, + 1304, 1307, 1310, 1313, 1317, 1320, 1322, 1327, 1329, 1330, + 1333, 1335, 1343, 1345, 1347, 1349, 1353, 1356, 1360, 1364, + 1365, 1366, 1370, 1378, 1379, 1380, 1394, 1396, 1399, 1401, + 1412, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1432, 1434, + 1478, 1479, 1483, 1487, 1491, 1495, 1497, 1501, 1503, 1505, + 1513, 1515, 1517, 1519, 1523, 1525, 1527, 1529, 1534, 1536, + 1538, 1540, 1543, 1545, 1547, 1591, 1594, 1598, 1601, 1605, + 1608, 1613, 1615, 1619, 1632, 1635, 1642, 1649, 1654, 1656, + 1661, 1663, 1670, 1672, 1676, 1680, 1686, 1690, 1693, 1696, + 1699, 1709, 1711, 1714, 1718, 1721, 1724, 1727, 1730, 1736, + 1742, 1744, 1749, 1751, 1760, 1763, 1765, 1768, 1774, 1776, + 1786, 1790, 1793, 1796, 1801, 1804, 1812, 1814, 1816, 1818, + 1821, 1824, 1839, 1858, 1861, 1863, 1866, 1868, 1872, 1874, + 1878, 1880, 1884, 1887, 1891, 1897, 1898, 1910, 1917, 1920, + 1926, 1930, 1935, 1941, 1942, 1950, 1953, 1957, 1960, 1964, + 1969, 1972, 1976, 1979, 1981, 1983, 1985, 1992, 1994, 1995, + 1996, 2000, 2003, 2007, 2010, 2016, 2018, 2021, 2024, 2027, + 2033, 2036, 2039, 2041, 2043, 2047, 2053, 2061, 2063, 2067, + 2069, 2074, 2077, 2080, 2082, 2084, 2088, 2093, 2100, 2104, + 2108, 2115, 2119, 2122, 2125, 2131, 2143, 2145, 2148, 2168, + 2170, 2173, 2175, 2180, 2182, 2184, 2186, 2188, 2190, 2194, + 2202, 2205, 2207, 2211, 2217, 2222, 2227, 2229, 2233, 2236, + 2238, 2244, 2261, 2267, 2269, 2272, 2275, 2277, 2281, 2283, + 2287, 2292, 2298, 2301, 2302, 2323, 2346, 2348, 2352, 2363, + 2377, 2382, 2389, 2391, 2392, 2393, 2396, 2411, 2416, 2422, + 2424, 2429, 2431, 2433, 2435, 2437, 2439, 2442, 2452, 2459, + 2484, 2490, 2493, 2496, 2498, 2509, 2514, 2517, 2522, 2525, + 2532, 2542, 2545, 2552, 2562, 2564, 2567, 2569, 2572, 2579, + 2587, 2594, 2600, 2606, 2614, 2618, 2623, 2627, 2630, 2639, + 2641, 2645, 2648, 2653, 2657, 2663, 2674, 2677, 2681, 2685, + 2693, 2698, 2704, 2707, 2709, 2711, 2717, 2720, 2722, 2724, + 2726, 2730, 2733, 2751, 2761, 2763, 2764, 2768, 2773, 2776, + 2778, 2780, 2782, 2786, 2792, 2794, 2802, 2805, 2807, 2809, + 2811, 2815, 2818, 2821, 2823, 2825, 2827, 2831, 2834, 2837, + 2839, 2841, 2843, 2845, 2852, 2856, 2861, 2865, 2870, 2872, + 2876, 2879, 2881, 2884, 2886, 2887, 2890, 2892, 2894, 2900, + 2915, 2921, 2927, 2941, 2943, 2947, 2961, 2963, 2965, 2969, + 2975, 2988, 2990, 2994, 3007, 3013, 3015, 3016, 3017, 3025, + 3030, 3039, 3040, 3044, 3047, 3053, 3059, 3062, 3064, 3066, + 3068, 3072, 3076, 3080, 3083, 3088, 3091, 3093, 3095, 3097, + 3099, 3101, 3103, 3105, 3109, 3113, 3117, 3121, 3122, 3124, + 3126, 3128, 3130, 3132, 3134, 3136, 3138, 3146, 3148, 3149, + 3150, 3153, 3159, 3161, 3166, 3168, 3171, 3185, 3188, 3191, + 3195, 3198, 3205, 3207, 3210, 3212, 3214, 3217, 3220, 3223, + 3226, 3228, 3231, 3235, 3237, 3243, 3245, 3246, 3248, 3253, + 3255, 3257, 3259, 3261, 3264, 3265, 3267, 3270, 3271, 3274, + 3274, 3277, 3277, 3280, 3280, 3282, 3284, 3286, 3288, 3294, + 3300, 3303, 3306, 3312, 3314, 3316, 3320, 3322, 3323, 3324, + 3326, 3329, 3336, 3341, 3349, 3353, 3355, 3358, 3360, 3363, + 3367, 3369, 3372, 3374, 3377, 3394, 3400, 3408, 3410, 3412, + 3416, 3419, 3420, 3428, 3432, 3436, 3439, 3440, 3446, 3449, + 3452, 3454, 3458, 3463, 3466, 3476, 3481, 3482, 3489, 3492, + 3495, 3497, 3500, 3502, 3512, 3526, 3530, 3533, 3535, 3539, + 3543, 3546, 3549, 3551, 3555, 3557, 3564, 3571, 3574, 3577, + 3581, 3585, 3591, 3595, 3600, 3602, 3605, 3610, 3616, 3627, + 3630, 3632, 3636, 3641, 3643, 3650, 3653, 3655, 3657, 3663, + 3668, 3671, 3673, 3675, 3677, 3679, 3681, 3683, 3685, 3687, + 3689, 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705, 3707, + 3709, 3711, 3713, 3715, 3717, 3719, 3721, 3723, 3725, 3727, + 3729, 3731, 3733, 3736, 3738 }; #endif @@ -766,40 +767,42 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER" "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement", "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas", "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id", -"expr_or_declarator","notype_template_declarator","direct_notype_declarator", -"primary","@22","new","delete","boolean.literal","string","nodecls","object", -"decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1", -"reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec", -"typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm", -"initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0", -"@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word", -"identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline", -"pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28", -"@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype", -"named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype", -"named_class_head","@30","unnamed_class_head","class_head","maybe_base_class_list", -"base_class_list","base_class","base_class.1","base_class_access_list","left_curly", -"self_reference","opt.component_decl_list","access_specifier","component_decl_list", -"component_decl","component_decl_1","components","notype_components","component_declarator0", -"component_declarator","after_type_component_declarator0","notype_component_declarator0", -"after_type_component_declarator","notype_component_declarator","enumlist","enumerator", -"new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr", -"maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name", -"nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator", -"complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id", -"functional_cast","type_name","nested_name_specifier","nested_name_specifier_1", -"typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type", -"complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator", -"absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls", -"label_decls","label_decl","compstmt_or_error","compstmt","@31","simple_if", -"@32","@33","implicitly_scoped_stmt","@34","stmt","simple_stmt","@35","@36", -"@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","function_try_block", -"@49","@50","try_block","@51","@52","handler_seq","handler","@53","@54","type_specifier_seq", -"handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr", -"asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist", -"complex_parmlist","defarg","@55","defarg1","parms","parms_comma","named_parm", -"full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier", -"ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL +"expr_or_declarator_intern","expr_or_declarator","notype_template_declarator", +"direct_notype_declarator","primary","@22","new","delete","boolean.literal", +"string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id", +"typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs", +"reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls", +"nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0", +"notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute", +"attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init", +"init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again", +"pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn", +"aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn", +"named_complex_class_head_sans_basetype","named_class_head","@30","unnamed_class_head", +"class_head","maybe_base_class_list","base_class_list","base_class","base_class.1", +"base_class_access_list","left_curly","self_reference","opt.component_decl_list", +"access_specifier","component_decl_list","component_decl","component_decl_1", +"components","notype_components","component_declarator0","component_declarator", +"after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator", +"notype_component_declarator","enumlist","enumerator","new_type_id","cv_qualifiers", +"nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr","maybe_parmlist", +"after_type_declarator","nonnested_type","complete_type_name","nested_type", +"direct_after_type_declarator","notype_declarator_intern","notype_declarator", +"complex_notype_declarator","complex_direct_notype_declarator","qualified_id", +"notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier", +"nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2", +"explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator", +"direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt", +"maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt", +"@31","simple_if","@32","@33","implicitly_scoped_stmt","@34","stmt","simple_stmt", +"@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47", +"@48","function_try_block","@49","@50","try_block","@51","@52","handler_seq", +"handler","@53","@54","type_specifier_seq","handler_args","label_colon","for.init.statement", +"maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand", +"asm_clobbers","parmlist","complex_parmlist","defarg","@55","defarg1","parms", +"parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt", +"ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator", +"operator_name", NULL }; #endif @@ -833,65 +836,65 @@ static const short yyr1[] = { 0, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204, 204, 204, 204, 204, 204, 205, 206, 206, 207, 207, 207, 208, 208, 208, - 209, 209, 209, 209, 210, 210, 211, 211, 211, 211, - 212, 212, 212, 212, 212, 212, 212, 213, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 214, 214, 215, 215, 216, 216, 217, - 217, 218, 219, 219, 220, 220, 220, 220, 220, 220, - 221, 221, 222, 222, 223, 223, 223, 223, 223, 224, - 224, 225, 225, 225, 225, 225, 225, 226, 226, 226, - 226, 226, 227, 227, 227, 227, 227, 227, 228, 228, - 228, 228, 229, 229, 230, 230, 230, 230, 230, 230, - 230, 231, 231, 231, 232, 232, 233, 233, 234, 234, - 235, 235, 237, 236, 236, 239, 238, 238, 240, 241, - 243, 242, 242, 244, 244, 245, 245, 246, 247, 247, - 248, 248, 248, 248, 248, 249, 249, 249, 249, 250, - 250, 251, 251, 252, 252, 252, 252, 252, 253, 253, - 253, 253, 253, 254, 255, 255, 255, 256, 256, 257, - 257, 258, 258, 258, 260, 259, 259, 261, 259, 259, - 259, 259, 259, 262, 263, 259, 259, 264, 264, 265, - 265, 266, 266, 266, 266, 266, 266, 267, 268, 268, - 268, 269, 269, 269, 269, 269, 270, 271, 270, 270, - 272, 273, 273, 274, 274, 274, 275, 275, 276, 276, - 277, 277, 277, 277, 278, 278, 278, 278, 279, 280, - 281, 281, 281, 281, 282, 283, 283, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 285, 285, 285, - 285, 285, 285, 285, 285, 285, 286, 286, 286, 287, - 287, 287, 288, 288, 289, 289, 290, 290, 291, 291, - 291, 291, 292, 292, 293, 293, 293, 294, 294, 295, - 295, 296, 296, 296, 297, 297, 298, 298, 299, 300, - 301, 301, 301, 301, 302, 302, 302, 302, 302, 302, - 303, 303, 304, 304, 304, 305, 306, 306, 306, 306, - 306, 306, 307, 307, 307, 307, 307, 307, 308, 308, - 308, 308, 308, 308, 309, 309, 309, 309, 309, 309, - 310, 310, 311, 311, 312, 312, 313, 313, 313, 314, - 314, 314, 315, 315, 315, 316, 316, 316, 316, 317, - 317, 318, 318, 318, 318, 319, 319, 319, 319, 320, - 320, 320, 320, 320, 320, 321, 322, 322, 322, 323, - 323, 324, 325, 325, 325, 325, 325, 325, 325, 326, - 326, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 328, 328, 328, 328, 328, 328, 328, 328, - 328, 328, 328, 329, 329, 329, 329, 330, 331, 331, - 332, 332, 333, 334, 334, 336, 335, 338, 339, 337, - 340, 341, 340, 342, 342, 343, 343, 344, 343, 343, - 345, 346, 343, 347, 348, 343, 349, 350, 351, 352, - 343, 353, 354, 343, 355, 343, 356, 343, 357, 343, - 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 343, 343, 343, 343, 343, 343, 359, 360, 358, - 362, 363, 361, 364, 364, 366, 367, 365, 368, 368, - 369, 369, 370, 370, 370, 370, 371, 371, 371, 372, - 372, 373, 373, 373, 374, 374, 375, 375, 376, 377, - 377, 378, 378, 378, 379, 379, 379, 379, 379, 379, - 379, 381, 380, 382, 382, 383, 383, 383, 383, 383, - 384, 384, 385, 385, 385, 385, 385, 385, 386, 386, - 387, 387, 388, 389, 389, 390, 390, 390, 391, 392, - 392, 393, 393, 393, 393, 394, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395 + 209, 209, 210, 210, 210, 210, 211, 211, 212, 212, + 212, 212, 213, 213, 213, 213, 213, 213, 213, 214, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 215, 215, 216, 216, 217, + 217, 218, 218, 219, 220, 220, 221, 221, 221, 221, + 221, 221, 222, 222, 223, 223, 224, 224, 224, 224, + 224, 225, 225, 226, 226, 226, 226, 226, 226, 227, + 227, 227, 227, 227, 228, 228, 228, 228, 228, 228, + 229, 229, 229, 229, 230, 230, 231, 231, 231, 231, + 231, 231, 231, 232, 232, 232, 233, 233, 234, 234, + 235, 235, 236, 236, 238, 237, 237, 240, 239, 239, + 241, 242, 244, 243, 243, 245, 245, 246, 246, 247, + 248, 248, 249, 249, 249, 249, 249, 250, 250, 250, + 250, 251, 251, 252, 252, 253, 253, 253, 253, 253, + 254, 254, 254, 254, 254, 255, 256, 256, 256, 257, + 257, 258, 258, 259, 259, 259, 261, 260, 260, 262, + 260, 260, 260, 260, 260, 263, 264, 260, 260, 265, + 265, 266, 266, 267, 267, 267, 267, 267, 267, 268, + 269, 269, 269, 270, 270, 270, 270, 270, 271, 272, + 271, 271, 273, 274, 274, 275, 275, 275, 276, 276, + 277, 277, 278, 278, 278, 278, 279, 279, 279, 279, + 280, 281, 282, 282, 282, 282, 283, 284, 284, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, + 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, + 287, 288, 288, 288, 289, 289, 290, 290, 291, 291, + 292, 292, 292, 292, 293, 293, 294, 294, 294, 295, + 295, 296, 296, 297, 297, 297, 298, 298, 299, 299, + 300, 301, 302, 302, 302, 302, 303, 303, 303, 303, + 303, 303, 304, 304, 305, 305, 305, 306, 307, 307, + 307, 307, 307, 307, 308, 308, 309, 309, 309, 309, + 309, 309, 310, 310, 310, 310, 310, 310, 311, 311, + 311, 311, 311, 311, 312, 312, 313, 313, 314, 314, + 315, 315, 315, 316, 316, 316, 317, 317, 317, 318, + 318, 318, 318, 319, 319, 320, 320, 320, 320, 321, + 321, 321, 321, 322, 322, 322, 322, 322, 322, 323, + 324, 324, 324, 325, 325, 326, 327, 327, 327, 327, + 327, 327, 327, 328, 328, 329, 329, 329, 329, 329, + 329, 329, 329, 329, 329, 329, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 331, 331, 331, + 331, 332, 333, 333, 334, 334, 335, 336, 336, 338, + 337, 340, 341, 339, 342, 343, 342, 344, 344, 345, + 345, 346, 345, 345, 347, 348, 345, 349, 350, 345, + 351, 352, 353, 354, 345, 355, 356, 345, 357, 345, + 358, 345, 359, 345, 345, 345, 345, 345, 345, 345, + 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 345, 361, 362, 360, 364, 365, 363, 366, 366, 368, + 369, 367, 370, 370, 371, 371, 372, 372, 372, 372, + 373, 373, 373, 374, 374, 375, 375, 375, 376, 376, + 377, 377, 378, 379, 379, 380, 380, 380, 381, 381, + 381, 381, 381, 381, 381, 383, 382, 384, 384, 385, + 385, 385, 385, 385, 386, 386, 387, 387, 387, 387, + 387, 387, 388, 388, 389, 389, 390, 391, 391, 392, + 392, 392, 393, 394, 394, 395, 395, 395, 395, 396, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 397 }; static const short yyr2[] = { 0, @@ -924,2335 +927,2343 @@ static const short yyr2[] = { 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 1, 2, 3, 3, 1, 1, 1, 1, 1, 0, 5, 5, 5, 5, 5, 1, 1, 1, - 1, 2, 2, 3, 4, 4, 1, 1, 1, 3, - 1, 1, 1, 1, 3, 3, 3, 0, 4, 4, - 2, 4, 2, 4, 2, 2, 1, 4, 1, 7, - 7, 7, 7, 4, 4, 2, 2, 2, 1, 4, - 2, 2, 5, 3, 2, 2, 5, 3, 5, 3, - 4, 6, 2, 1, 2, 1, 2, 1, 1, 1, - 2, 0, 2, 2, 3, 3, 3, 2, 2, 2, - 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, - 1, 2, 2, 3, 3, 3, 4, 1, 2, 2, - 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, - 2, 3, 1, 2, 1, 1, 1, 4, 4, 4, - 4, 1, 1, 1, 1, 3, 1, 3, 1, 3, - 0, 4, 0, 6, 3, 0, 4, 1, 3, 3, - 0, 4, 3, 0, 1, 1, 2, 6, 1, 3, - 0, 1, 4, 6, 4, 1, 1, 1, 1, 1, - 3, 0, 2, 1, 2, 3, 4, 1, 1, 3, - 4, 3, 5, 1, 4, 3, 3, 0, 3, 3, - 3, 0, 2, 2, 0, 7, 4, 0, 6, 3, - 2, 2, 2, 0, 0, 9, 1, 0, 1, 0, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 3, 4, 3, 2, 3, 1, 0, 3, 2, - 2, 1, 1, 0, 2, 3, 1, 4, 1, 3, - 1, 1, 4, 4, 2, 2, 3, 3, 1, 0, - 1, 2, 3, 2, 2, 1, 2, 2, 2, 2, - 2, 2, 2, 1, 2, 2, 3, 2, 2, 4, - 4, 2, 1, 5, 4, 1, 0, 1, 3, 0, - 1, 3, 1, 1, 1, 1, 4, 4, 4, 4, - 4, 3, 4, 4, 4, 4, 3, 1, 3, 1, - 3, 2, 1, 7, 0, 2, 1, 2, 0, 2, - 4, 4, 2, 4, 3, 3, 2, 2, 3, 1, - 1, 2, 1, 1, 2, 2, 4, 4, 3, 3, - 2, 1, 3, 3, 2, 2, 3, 1, 3, 3, - 2, 2, 3, 1, 4, 3, 4, 3, 1, 2, - 2, 2, 2, 2, 1, 2, 4, 4, 2, 1, - 1, 1, 1, 2, 4, 2, 2, 2, 2, 1, - 2, 2, 2, 2, 3, 1, 2, 3, 4, 2, - 2, 2, 2, 2, 2, 4, 2, 1, 2, 2, - 3, 1, 3, 2, 3, 2, 2, 3, 1, 3, - 4, 3, 2, 2, 1, 3, 2, 2, 1, 2, - 3, 1, 3, 1, 6, 4, 4, 3, 5, 3, - 3, 3, 2, 1, 1, 2, 2, 2, 0, 1, - 1, 2, 3, 1, 2, 0, 3, 0, 0, 5, - 1, 0, 2, 1, 1, 1, 2, 0, 4, 1, - 0, 0, 5, 0, 0, 7, 0, 0, 0, 0, - 12, 0, 0, 7, 0, 5, 0, 7, 0, 4, - 2, 2, 2, 3, 6, 8, 10, 12, 4, 3, - 2, 2, 1, 1, 1, 1, 1, 0, 0, 6, - 0, 0, 5, 1, 2, 0, 0, 5, 1, 1, - 3, 3, 2, 2, 2, 2, 2, 1, 2, 0, - 1, 0, 1, 1, 0, 1, 1, 3, 4, 1, - 3, 0, 1, 1, 1, 2, 2, 2, 1, 2, - 2, 0, 3, 1, 1, 1, 2, 2, 2, 4, - 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, - 1, 1, 0, 0, 1, 0, 4, 2, 1, 1, - 3, 0, 3, 3, 3, 1, 2, 2, 2, 2, + 1, 2, 1, 2, 2, 3, 4, 4, 1, 1, + 1, 3, 1, 1, 1, 1, 3, 3, 3, 0, + 4, 4, 2, 4, 2, 4, 2, 2, 1, 4, + 1, 7, 7, 7, 7, 4, 4, 2, 2, 2, + 1, 4, 2, 2, 5, 3, 2, 2, 5, 3, + 5, 3, 4, 6, 2, 1, 2, 1, 2, 1, + 1, 1, 2, 0, 2, 2, 3, 3, 3, 2, + 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, + 1, 1, 1, 2, 2, 3, 3, 3, 4, 1, + 2, 2, 2, 1, 1, 1, 2, 2, 2, 1, + 1, 2, 2, 3, 1, 2, 1, 1, 1, 4, + 4, 4, 4, 1, 1, 1, 1, 3, 1, 3, + 1, 3, 0, 4, 0, 6, 3, 0, 4, 1, + 3, 3, 0, 4, 3, 0, 1, 1, 2, 6, + 1, 3, 0, 1, 4, 6, 4, 1, 1, 1, + 1, 1, 3, 0, 2, 1, 2, 3, 4, 1, + 1, 3, 4, 3, 5, 1, 4, 3, 3, 0, + 3, 3, 3, 0, 2, 2, 0, 7, 4, 0, + 6, 3, 2, 2, 2, 0, 0, 9, 1, 0, + 1, 0, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 4, 3, 2, 3, 1, 0, + 3, 2, 2, 1, 1, 0, 2, 3, 1, 4, + 1, 3, 1, 1, 4, 4, 2, 2, 3, 3, + 1, 0, 1, 2, 3, 2, 2, 1, 2, 2, + 2, 2, 2, 2, 2, 1, 2, 2, 3, 2, + 2, 4, 4, 2, 1, 5, 4, 1, 0, 1, + 3, 0, 1, 3, 1, 1, 1, 1, 4, 4, + 4, 4, 4, 3, 4, 4, 4, 4, 3, 1, + 3, 1, 3, 2, 1, 7, 0, 2, 1, 2, + 0, 2, 4, 4, 2, 4, 3, 3, 2, 2, + 3, 1, 1, 2, 1, 1, 2, 2, 4, 4, + 3, 3, 2, 1, 1, 2, 3, 3, 2, 2, + 3, 1, 3, 3, 2, 2, 3, 1, 4, 3, + 4, 3, 1, 2, 2, 2, 2, 2, 1, 2, + 4, 4, 2, 1, 1, 1, 1, 2, 4, 2, + 2, 2, 2, 1, 2, 2, 2, 2, 3, 1, + 2, 3, 4, 2, 2, 2, 2, 2, 2, 4, + 2, 1, 2, 2, 3, 1, 3, 2, 3, 2, + 2, 3, 1, 3, 4, 3, 2, 2, 1, 3, + 2, 2, 1, 2, 3, 1, 3, 1, 6, 4, + 4, 3, 5, 3, 3, 3, 2, 1, 1, 2, + 2, 2, 0, 1, 1, 2, 3, 1, 2, 0, + 3, 0, 0, 5, 1, 0, 2, 1, 1, 1, + 2, 0, 4, 1, 0, 0, 5, 0, 0, 7, + 0, 0, 0, 0, 12, 0, 0, 7, 0, 5, + 0, 7, 0, 4, 2, 2, 2, 3, 6, 8, + 10, 12, 4, 3, 2, 2, 1, 1, 1, 1, + 1, 0, 0, 6, 0, 0, 5, 1, 2, 0, + 0, 5, 1, 1, 3, 3, 2, 2, 2, 2, + 2, 1, 2, 0, 1, 0, 1, 1, 0, 1, + 1, 3, 4, 1, 3, 0, 1, 1, 1, 2, + 2, 2, 1, 2, 2, 0, 3, 1, 1, 1, + 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, + 1, 2, 1, 2, 1, 1, 0, 0, 1, 0, + 4, 2, 1, 1, 3, 0, 3, 3, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, - 2, 2, 2, 2, 3, 2, 2, 4, 4, 3, - 2 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, + 2, 4, 4, 3, 2 }; static const short yydefact[] = { 3, - 12, 12, 5, 0, 4, 0, 279, 630, 631, 0, - 384, 396, 577, 0, 11, 0, 0, 0, 10, 482, - 836, 0, 0, 0, 167, 662, 280, 281, 83, 0, - 0, 823, 0, 45, 0, 0, 13, 25, 0, 27, - 8, 0, 16, 15, 89, 110, 86, 0, 632, 171, - 298, 277, 299, 608, 0, 371, 0, 370, 389, 0, - 409, 388, 426, 395, 0, 497, 498, 504, 503, 502, - 477, 383, 593, 397, 594, 108, 297, 619, 591, 0, - 633, 575, 0, 0, 278, 81, 82, 176, 636, 176, - 637, 176, 282, 167, 140, 141, 142, 143, 144, 468, - 471, 0, 658, 0, 472, 0, 0, 0, 0, 141, + 12, 12, 5, 0, 4, 0, 279, 634, 635, 0, + 386, 398, 579, 0, 11, 0, 0, 0, 10, 484, + 840, 0, 0, 0, 167, 666, 280, 281, 83, 0, + 0, 827, 0, 45, 0, 0, 13, 25, 0, 27, + 8, 0, 16, 15, 89, 110, 86, 0, 636, 171, + 300, 277, 301, 612, 0, 373, 0, 372, 391, 0, + 411, 390, 428, 397, 0, 499, 500, 506, 505, 504, + 479, 385, 595, 399, 596, 108, 299, 623, 593, 0, + 637, 577, 0, 0, 278, 81, 82, 176, 640, 176, + 641, 176, 282, 167, 140, 141, 142, 143, 144, 470, + 473, 0, 662, 0, 474, 0, 0, 0, 0, 141, 142, 143, 144, 23, 0, 0, 0, 0, 0, 0, - 0, 473, 640, 0, 646, 0, 0, 0, 37, 0, - 0, 31, 0, 0, 47, 0, 176, 638, 0, 0, - 606, 0, 0, 0, 605, 0, 0, 0, 0, 298, - 0, 579, 0, 297, 575, 28, 0, 26, 3, 46, - 0, 64, 384, 0, 0, 8, 67, 63, 66, 89, - 0, 0, 0, 395, 90, 14, 0, 424, 0, 0, - 442, 87, 79, 639, 579, 0, 575, 80, 0, 0, - 0, 106, 0, 405, 361, 590, 362, 602, 0, 575, - 386, 385, 78, 109, 372, 0, 407, 387, 107, 378, - 402, 403, 373, 391, 393, 382, 404, 0, 75, 427, - 483, 484, 485, 486, 501, 149, 148, 150, 488, 489, - 495, 487, 0, 0, 490, 491, 504, 823, 500, 519, - 520, 578, 390, 0, 421, 631, 0, 660, 171, 623, - 624, 620, 596, 634, 0, 595, 592, 0, 871, 867, - 866, 864, 846, 851, 852, 0, 858, 857, 843, 844, - 842, 861, 850, 847, 848, 849, 853, 854, 840, 841, - 837, 838, 839, 863, 855, 856, 845, 862, 0, 859, - 769, 389, 770, 832, 282, 279, 577, 302, 350, 0, - 0, 0, 0, 346, 344, 317, 348, 349, 0, 0, - 0, 0, 0, 280, 281, 273, 0, 0, 184, 183, - 0, 185, 186, 0, 0, 187, 0, 0, 177, 178, - 0, 247, 0, 250, 182, 301, 213, 0, 0, 303, - 304, 0, 180, 368, 389, 369, 625, 329, 319, 0, - 0, 0, 0, 176, 0, 470, 0, 465, 0, 659, - 657, 0, 188, 189, 0, 0, 0, 431, 3, 21, - 29, 654, 650, 651, 653, 655, 652, 140, 141, 142, - 0, 143, 144, 642, 643, 647, 644, 641, 0, 289, - 290, 288, 622, 621, 33, 32, 49, 0, 157, 0, - 0, 389, 155, 0, 0, 604, 0, 603, 141, 142, - 275, 276, 293, 0, 612, 292, 0, 611, 0, 300, - 616, 0, 0, 12, 0, 167, 9, 9, 70, 0, - 65, 0, 0, 71, 74, 0, 423, 425, 122, 93, - 127, 758, 0, 85, 84, 92, 125, 0, 0, 123, - 88, 618, 0, 0, 583, 0, 826, 0, 588, 0, - 587, 0, 0, 0, 0, 575, 424, 0, 77, 579, - 575, 601, 0, 375, 376, 0, 76, 424, 380, 379, - 381, 374, 394, 411, 410, 492, 496, 494, 0, 499, - 505, 0, 0, 392, 424, 575, 94, 0, 0, 0, - 0, 575, 100, 576, 607, 631, 661, 171, 0, 0, - 860, 865, 391, 575, 575, 0, 575, 870, 176, 0, - 0, 0, 220, 0, 0, 222, 235, 236, 0, 0, - 0, 0, 0, 274, 219, 216, 215, 217, 0, 0, - 0, 0, 0, 301, 0, 0, 0, 214, 174, 175, - 295, 0, 218, 0, 0, 248, 0, 0, 0, 0, + 0, 475, 644, 0, 650, 0, 0, 0, 37, 0, + 0, 31, 0, 0, 47, 0, 176, 642, 0, 0, + 0, 610, 605, 0, 0, 0, 609, 0, 0, 0, + 0, 300, 0, 291, 581, 0, 0, 299, 577, 28, + 0, 26, 3, 46, 0, 64, 386, 0, 0, 8, + 67, 63, 66, 89, 0, 0, 0, 397, 90, 14, + 0, 426, 0, 0, 444, 87, 79, 643, 581, 0, + 577, 80, 0, 0, 0, 106, 0, 407, 363, 592, + 364, 604, 0, 577, 388, 387, 78, 109, 374, 0, + 409, 389, 107, 380, 404, 405, 375, 393, 395, 384, + 406, 0, 75, 429, 485, 486, 487, 488, 503, 149, + 148, 150, 490, 491, 497, 489, 0, 0, 492, 493, + 506, 827, 502, 521, 522, 580, 392, 0, 423, 635, + 0, 664, 171, 627, 628, 624, 598, 638, 0, 597, + 594, 0, 875, 871, 870, 868, 850, 855, 856, 0, + 862, 861, 847, 848, 846, 865, 854, 851, 852, 853, + 857, 858, 844, 845, 841, 842, 843, 867, 859, 860, + 849, 866, 0, 863, 773, 391, 774, 836, 282, 279, + 579, 304, 352, 0, 0, 0, 0, 348, 346, 319, + 350, 351, 0, 0, 0, 0, 0, 280, 281, 273, + 0, 0, 184, 183, 0, 185, 186, 0, 0, 187, + 0, 0, 177, 178, 0, 247, 0, 250, 182, 303, + 213, 0, 0, 305, 306, 0, 180, 370, 391, 371, + 629, 331, 321, 0, 0, 0, 0, 176, 0, 472, + 0, 467, 0, 663, 661, 0, 188, 189, 0, 0, + 0, 433, 3, 21, 29, 658, 654, 655, 657, 659, + 656, 140, 141, 142, 0, 143, 144, 646, 647, 651, + 648, 645, 0, 289, 290, 288, 626, 625, 33, 32, + 49, 0, 157, 0, 0, 391, 155, 0, 0, 606, + 608, 0, 607, 141, 142, 275, 276, 295, 0, 616, + 294, 0, 615, 0, 302, 280, 281, 0, 0, 0, + 293, 292, 620, 0, 0, 12, 0, 167, 9, 9, + 70, 0, 65, 0, 0, 71, 74, 0, 425, 427, + 122, 93, 127, 762, 0, 85, 84, 92, 125, 0, + 0, 123, 88, 622, 0, 0, 585, 0, 830, 0, + 590, 0, 589, 0, 0, 0, 0, 577, 426, 0, + 77, 581, 577, 603, 0, 377, 378, 0, 76, 426, + 382, 381, 383, 376, 396, 413, 412, 494, 498, 496, + 0, 501, 507, 0, 0, 394, 426, 577, 94, 0, + 0, 0, 0, 577, 100, 578, 611, 635, 665, 171, + 0, 0, 864, 869, 393, 577, 577, 0, 577, 874, + 176, 0, 0, 0, 220, 0, 0, 222, 235, 236, + 0, 0, 0, 0, 0, 274, 219, 216, 215, 217, + 0, 0, 0, 0, 0, 303, 0, 0, 0, 214, + 174, 175, 297, 0, 218, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, - 313, 315, 316, 354, 353, 0, 0, 238, 238, 0, - 224, 573, 0, 232, 351, 343, 0, 0, 823, 332, - 335, 336, 0, 0, 363, 679, 675, 684, 0, 579, - 575, 575, 575, 365, 682, 0, 629, 367, 0, 0, - 366, 331, 0, 326, 345, 327, 347, 626, 0, 328, - 173, 173, 0, 165, 0, 389, 163, 570, 480, 568, - 467, 0, 0, 398, 0, 0, 399, 400, 401, 437, - 438, 439, 436, 0, 429, 432, 0, 3, 0, 645, - 176, 648, 0, 41, 42, 0, 53, 0, 0, 57, - 61, 50, 822, 817, 0, 368, 389, 53, 369, 821, - 59, 168, 153, 151, 168, 173, 296, 610, 609, 300, - 613, 0, 18, 20, 89, 9, 9, 73, 72, 0, - 128, 352, 0, 706, 91, 704, 448, 0, 444, 443, - 212, 0, 211, 580, 617, 0, 799, 0, 794, 389, - 0, 793, 795, 824, 806, 0, 0, 615, 586, 585, - 0, 0, 600, 0, 419, 418, 406, 599, 0, 826, - 589, 377, 408, 420, 424, 493, 630, 631, 823, 0, - 823, 632, 506, 507, 509, 823, 512, 511, 0, 543, - 631, 0, 534, 0, 0, 546, 0, 121, 116, 0, - 171, 547, 550, 0, 526, 0, 119, 0, 424, 0, - 422, 826, 792, 176, 176, 635, 176, 826, 792, 575, - 97, 575, 103, 869, 868, 832, 832, 832, 0, 0, - 0, 0, 629, 0, 0, 0, 0, 389, 0, 0, - 0, 307, 0, 305, 306, 0, 245, 179, 279, 630, - 631, 280, 281, 0, 0, 449, 478, 0, 272, 271, - 784, 783, 0, 269, 268, 266, 267, 265, 264, 263, - 260, 261, 262, 258, 259, 253, 254, 255, 256, 257, - 251, 252, 0, 0, 0, 0, 0, 238, 226, 242, - 0, 0, 225, 575, 575, 0, 575, 572, 669, 0, - 0, 0, 0, 0, 334, 0, 338, 0, 340, 0, - 678, 677, 674, 673, 822, 0, 0, 693, 0, 0, - 826, 364, 826, 680, 575, 792, 579, 679, 675, 0, - 0, 575, 0, 0, 0, 0, 0, 170, 172, 283, - 168, 161, 159, 168, 0, 481, 0, 480, 210, 209, - 208, 207, 431, 0, 0, 24, 0, 0, 649, 0, - 38, 44, 43, 55, 52, 53, 0, 48, 0, 0, - 679, 675, 0, 813, 575, 816, 818, 0, 814, 815, - 54, 488, 0, 158, 168, 168, 156, 169, 17, 19, - 69, 89, 412, 145, 133, 146, 147, 0, 126, 129, - 0, 0, 0, 0, 705, 699, 445, 0, 124, 584, - 581, 798, 812, 801, 0, 582, 797, 811, 800, 796, - 825, 808, 819, 809, 802, 807, 828, 0, 416, 598, - 597, 415, 516, 0, 515, 823, 823, 823, 0, 575, - 792, 542, 535, 547, 536, 424, 424, 532, 533, 530, - 531, 575, 792, 279, 630, 0, 411, 117, 538, 548, - 553, 554, 411, 411, 0, 0, 411, 115, 539, 551, - 411, 527, 528, 529, 424, 525, 474, 0, 96, 0, - 0, 0, 0, 102, 0, 826, 792, 826, 792, 834, - 833, 835, 284, 318, 221, 223, 324, 325, 0, 0, - 0, 0, 306, 309, 0, 0, 0, 0, 246, 0, - 310, 312, 314, 0, 0, 0, 0, 227, 244, 0, - 0, 666, 664, 0, 667, 579, 233, 0, 0, 176, - 341, 0, 0, 0, 676, 672, 683, 575, 692, 690, - 691, 681, 826, 0, 688, 0, 627, 628, 0, 330, - 166, 168, 168, 164, 571, 569, 469, 0, 430, 428, - 279, 0, 22, 30, 656, 56, 51, 58, 62, 678, - 674, 679, 675, 0, 591, 0, 575, 680, 60, 154, - 152, 68, 0, 131, 0, 135, 0, 137, 0, 139, - 0, 759, 0, 200, 707, 0, 700, 701, 0, 446, - 679, 675, 0, 301, 0, 625, 820, 0, 0, 829, - 830, 0, 0, 413, 0, 0, 0, 518, 517, 510, - 826, 0, 537, 442, 442, 826, 0, 0, 0, 424, - 424, 0, 424, 424, 0, 424, 0, 442, 462, 575, - 286, 285, 287, 575, 99, 0, 105, 0, 0, 0, - 0, 0, 0, 452, 0, 450, 249, 270, 240, 239, - 237, 228, 0, 241, 243, 665, 663, 670, 668, 0, - 234, 0, 0, 333, 337, 339, 826, 686, 575, 687, - 162, 160, 466, 0, 433, 435, 678, 674, 596, 680, - 132, 130, 0, 0, 0, 0, 440, 0, 0, 279, - 630, 631, 708, 721, 724, 727, 732, 0, 0, 0, - 0, 0, 0, 0, 0, 280, 753, 761, 0, 780, - 757, 756, 755, 0, 716, 0, 0, 389, 0, 695, - 714, 720, 694, 715, 754, 0, 702, 447, 0, 628, - 810, 804, 805, 803, 0, 827, 417, 0, 513, 514, - 508, 112, 575, 541, 545, 114, 575, 424, 424, 562, - 442, 279, 630, 0, 549, 555, 556, 411, 411, 442, - 442, 0, 442, 552, 540, 0, 826, 826, 575, 575, - 0, 0, 0, 0, 451, 0, 0, 229, 230, 671, - 342, 285, 689, 826, 0, 134, 136, 138, 766, 760, - 764, 0, 703, 698, 203, 773, 775, 776, 0, 0, - 712, 0, 0, 0, 739, 741, 742, 743, 0, 0, - 0, 0, 0, 0, 0, 774, 0, 360, 781, 0, - 717, 358, 411, 0, 359, 0, 411, 0, 0, 0, - 201, 697, 696, 718, 752, 751, 306, 831, 414, 826, - 826, 561, 558, 560, 0, 0, 424, 424, 424, 557, - 559, 544, 464, 0, 463, 458, 95, 101, 826, 826, - 320, 321, 322, 323, 453, 0, 231, 685, 434, 0, - 765, 441, 192, 0, 709, 722, 711, 0, 0, 0, - 0, 0, 735, 0, 744, 0, 750, 39, 144, 34, - 144, 0, 35, 762, 0, 356, 357, 0, 0, 0, - 355, 202, 712, 111, 113, 424, 424, 567, 442, 442, - 0, 0, 476, 98, 104, 574, 0, 767, 199, 0, - 389, 0, 712, 0, 725, 713, 699, 778, 728, 0, - 0, 0, 0, 740, 749, 40, 36, 0, 0, 719, - 566, 564, 563, 565, 461, 460, 454, 86, 89, 0, - 0, 0, 193, 411, 710, 204, 723, 206, 0, 779, - 0, 777, 733, 737, 736, 763, 785, 0, 0, 459, - 771, 772, 768, 424, 699, 190, 0, 0, 196, 0, - 195, 712, 0, 0, 0, 786, 787, 745, 457, 0, - 456, 0, 205, 0, 726, 729, 734, 738, 0, 785, - 0, 0, 455, 197, 191, 0, 0, 0, 746, 788, - 0, 0, 789, 0, 0, 198, 730, 790, 0, 747, - 0, 0, 0, 731, 791, 748, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 313, 0, 315, 317, 318, 356, 355, 0, 0, 238, + 238, 0, 224, 575, 0, 232, 353, 345, 0, 0, + 827, 334, 337, 338, 0, 0, 365, 683, 679, 688, + 0, 581, 577, 577, 577, 367, 686, 0, 633, 369, + 0, 0, 368, 333, 0, 328, 347, 329, 349, 630, + 0, 330, 173, 173, 0, 165, 0, 391, 163, 572, + 482, 570, 469, 0, 0, 400, 0, 0, 401, 402, + 403, 439, 440, 441, 438, 0, 431, 434, 0, 3, + 0, 649, 176, 652, 0, 41, 42, 0, 53, 0, + 0, 57, 61, 50, 826, 821, 0, 370, 391, 53, + 371, 825, 59, 168, 153, 151, 168, 173, 298, 614, + 613, 302, 0, 617, 0, 18, 20, 89, 9, 9, + 73, 72, 0, 128, 354, 0, 710, 91, 708, 450, + 0, 446, 445, 212, 0, 211, 582, 621, 0, 803, + 0, 798, 391, 0, 797, 799, 828, 810, 0, 0, + 619, 588, 587, 0, 0, 602, 0, 421, 420, 408, + 601, 0, 830, 591, 379, 410, 422, 426, 495, 634, + 635, 827, 0, 827, 636, 508, 509, 511, 827, 514, + 513, 0, 545, 635, 0, 536, 0, 0, 548, 0, + 121, 116, 0, 171, 549, 552, 0, 528, 0, 119, + 0, 426, 0, 424, 830, 796, 176, 176, 639, 176, + 830, 796, 577, 97, 577, 103, 873, 872, 836, 836, + 836, 0, 0, 0, 0, 633, 0, 0, 0, 0, + 391, 0, 0, 0, 309, 0, 307, 308, 0, 245, + 179, 279, 634, 635, 280, 281, 0, 0, 451, 480, + 0, 272, 271, 788, 787, 0, 269, 268, 266, 267, + 265, 264, 263, 260, 261, 262, 258, 259, 253, 254, + 255, 256, 257, 251, 252, 0, 0, 0, 0, 0, + 238, 226, 242, 0, 0, 225, 577, 577, 0, 577, + 574, 673, 0, 0, 0, 0, 0, 336, 0, 340, + 0, 342, 0, 682, 681, 678, 677, 826, 0, 0, + 697, 0, 0, 830, 366, 830, 684, 577, 796, 581, + 683, 679, 0, 0, 577, 0, 390, 0, 0, 0, + 0, 170, 172, 283, 168, 161, 159, 168, 0, 483, + 0, 482, 210, 209, 208, 207, 433, 0, 0, 24, + 0, 0, 653, 0, 38, 44, 43, 55, 52, 53, + 0, 48, 0, 0, 683, 679, 0, 817, 577, 820, + 822, 0, 818, 819, 54, 490, 0, 158, 168, 168, + 156, 169, 296, 17, 19, 69, 89, 414, 145, 133, + 146, 147, 0, 126, 129, 0, 0, 0, 0, 709, + 703, 447, 0, 124, 586, 583, 802, 816, 805, 0, + 584, 801, 815, 804, 800, 829, 812, 823, 813, 806, + 811, 832, 0, 418, 600, 599, 417, 518, 0, 517, + 827, 827, 827, 0, 577, 796, 544, 537, 549, 538, + 426, 426, 534, 535, 532, 533, 577, 796, 279, 634, + 0, 413, 117, 540, 550, 555, 556, 413, 413, 0, + 0, 413, 115, 541, 553, 413, 529, 530, 531, 426, + 527, 476, 0, 96, 0, 0, 0, 0, 102, 0, + 830, 796, 830, 796, 838, 837, 839, 284, 320, 221, + 223, 326, 327, 0, 0, 0, 0, 308, 311, 0, + 0, 0, 0, 246, 0, 312, 314, 316, 0, 0, + 0, 0, 227, 244, 0, 0, 670, 668, 0, 671, + 581, 233, 0, 0, 176, 343, 0, 0, 0, 680, + 676, 687, 577, 696, 694, 695, 685, 830, 0, 692, + 0, 631, 632, 0, 332, 166, 168, 168, 164, 573, + 571, 471, 0, 432, 430, 279, 0, 22, 30, 660, + 56, 51, 58, 62, 682, 678, 683, 679, 0, 593, + 0, 577, 684, 60, 154, 152, 68, 0, 131, 0, + 135, 0, 137, 0, 139, 0, 763, 0, 200, 711, + 0, 704, 705, 0, 448, 683, 679, 0, 303, 0, + 629, 824, 0, 0, 833, 834, 0, 0, 415, 0, + 0, 0, 520, 519, 512, 830, 0, 539, 444, 444, + 830, 0, 0, 0, 426, 426, 0, 426, 426, 0, + 426, 0, 444, 464, 577, 286, 285, 287, 577, 99, + 0, 105, 0, 0, 0, 0, 0, 0, 454, 0, + 452, 249, 270, 240, 239, 237, 228, 0, 241, 243, + 669, 667, 674, 672, 0, 234, 0, 0, 335, 339, + 341, 830, 690, 577, 691, 162, 160, 468, 0, 435, + 437, 682, 678, 598, 684, 132, 130, 0, 0, 0, + 0, 442, 0, 0, 279, 634, 635, 712, 725, 728, + 731, 736, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 757, 765, 0, 784, 761, 760, 759, 0, 720, + 0, 0, 391, 0, 699, 718, 724, 698, 719, 758, + 0, 706, 449, 0, 632, 814, 808, 809, 807, 0, + 831, 419, 0, 515, 516, 510, 112, 577, 543, 547, + 114, 577, 426, 426, 564, 444, 279, 634, 0, 551, + 557, 558, 413, 413, 444, 444, 0, 444, 554, 542, + 0, 830, 830, 577, 577, 0, 0, 0, 0, 453, + 0, 0, 229, 230, 675, 344, 285, 693, 830, 0, + 134, 136, 138, 770, 764, 768, 0, 707, 702, 203, + 777, 779, 780, 0, 0, 716, 0, 0, 0, 743, + 745, 746, 747, 0, 0, 0, 0, 0, 0, 0, + 778, 0, 362, 785, 0, 721, 360, 413, 0, 361, + 0, 413, 0, 0, 0, 201, 701, 700, 722, 756, + 755, 308, 835, 416, 830, 830, 563, 560, 562, 0, + 0, 426, 426, 426, 559, 561, 546, 466, 0, 465, + 460, 95, 101, 830, 830, 322, 323, 324, 325, 455, + 0, 231, 689, 436, 0, 769, 443, 192, 0, 713, + 726, 715, 0, 0, 0, 0, 0, 739, 0, 748, + 0, 754, 39, 144, 34, 144, 0, 35, 766, 0, + 358, 359, 0, 0, 0, 357, 202, 716, 111, 113, + 426, 426, 569, 444, 444, 0, 0, 478, 98, 104, + 576, 0, 771, 199, 0, 391, 0, 716, 0, 729, + 717, 703, 782, 732, 0, 0, 0, 0, 744, 753, + 40, 36, 0, 0, 723, 568, 566, 565, 567, 463, + 462, 456, 86, 89, 0, 0, 0, 193, 413, 714, + 204, 727, 206, 0, 783, 0, 781, 737, 741, 740, + 767, 789, 0, 0, 461, 775, 776, 772, 426, 703, + 190, 0, 0, 196, 0, 195, 716, 0, 0, 0, + 790, 791, 749, 459, 0, 458, 0, 205, 0, 730, + 733, 738, 742, 0, 789, 0, 0, 457, 197, 191, + 0, 0, 0, 750, 792, 0, 0, 793, 0, 0, + 198, 734, 794, 0, 751, 0, 0, 0, 735, 795, + 752, 0, 0, 0 }; -static const short yydefgoto[] = { 1607, - 424, 2, 425, 161, 694, 327, 177, 3, 4, 37, - 658, 369, 1291, 659, 766, 1292, 1293, 389, 1394, 663, - 41, 767, 398, 669, 934, 670, 671, 672, 43, 168, - 169, 44, 443, 180, 176, 45, 46, 783, 1057, 789, - 1059, 47, 769, 770, 181, 182, 444, 701, 969, 970, - 638, 971, 230, 48, 956, 955, 685, 682, 1123, 1122, - 914, 911, 136, 954, 49, 50, 908, 551, 328, 329, - 330, 331, 1294, 1558, 1455, 1560, 1500, 1591, 1165, 1537, - 1555, 363, 901, 332, 1232, 856, 590, 863, 333, 334, - 364, 336, 354, 52, 251, 664, 413, 53, 54, 337, - 546, 338, 339, 340, 341, 445, 342, 1295, 484, 612, - 343, 1296, 56, 213, 675, 344, 214, 524, 215, 193, - 206, 60, 467, 485, 1318, 735, 1183, 194, 207, 61, - 495, 736, 62, 63, 654, 655, 656, 1268, 450, 826, - 827, 1528, 1529, 1493, 1435, 1346, 64, 642, 357, 1209, - 1436, 1078, 917, 65, 66, 67, 68, 69, 237, 70, - 71, 239, 753, 754, 755, 756, 241, 492, 493, 780, - 774, 775, 776, 1029, 1039, 1030, 1335, 1031, 1032, 1336, - 1337, 639, 640, 591, 891, 346, 453, 454, 187, 195, - 73, 74, 75, 196, 197, 153, 77, 132, 347, 348, - 349, 79, 350, 81, 758, 123, 124, 125, 500, 105, - 82, 351, 868, 869, 886, 615, 1299, 1300, 1166, 1167, - 1168, 705, 1301, 976, 1302, 1379, 1503, 1458, 1459, 1303, - 1304, 1483, 1380, 1504, 1381, 1539, 1382, 1541, 1586, 1601, - 1383, 1562, 1513, 1563, 1464, 446, 702, 1266, 1305, 1397, - 1518, 1370, 1371, 1450, 1532, 1502, 1498, 1306, 1509, 1400, - 833, 1565, 1566, 1567, 1599, 721, 722, 996, 1179, 1314, - 723, 724, 725, 992, 726, 146, 994, 728, 1181, 1182, - 518, 84, 85 +static const short yydefgoto[] = { 1622, + 436, 2, 437, 165, 707, 331, 181, 3, 4, 37, + 670, 373, 1306, 671, 779, 1307, 1308, 393, 1409, 675, + 41, 780, 402, 681, 948, 682, 683, 684, 43, 172, + 173, 44, 455, 184, 180, 45, 46, 796, 1072, 802, + 1074, 47, 782, 783, 185, 186, 456, 714, 984, 985, + 650, 986, 234, 48, 970, 969, 697, 694, 1138, 1137, + 928, 925, 136, 968, 49, 50, 922, 563, 332, 333, + 334, 335, 1309, 1573, 1470, 1575, 1515, 1606, 1180, 1552, + 1570, 367, 914, 336, 1247, 869, 602, 876, 337, 338, + 368, 340, 358, 52, 255, 676, 418, 154, 53, 54, + 341, 558, 342, 343, 344, 345, 457, 346, 1310, 496, + 624, 347, 1311, 56, 217, 687, 348, 218, 536, 219, + 197, 210, 60, 479, 497, 1333, 748, 1198, 198, 211, + 61, 507, 749, 62, 63, 666, 667, 668, 1283, 462, + 839, 840, 1543, 1544, 1508, 1450, 1361, 64, 654, 361, + 1224, 1451, 1093, 931, 65, 66, 67, 68, 69, 241, + 70, 71, 243, 766, 767, 768, 769, 245, 504, 505, + 793, 787, 788, 789, 1044, 1054, 1045, 1350, 1046, 1047, + 1351, 1352, 651, 652, 603, 904, 350, 465, 466, 191, + 199, 73, 74, 75, 200, 142, 143, 157, 77, 132, + 351, 352, 353, 79, 354, 81, 771, 123, 124, 125, + 512, 105, 82, 355, 881, 882, 899, 627, 1314, 1315, + 1181, 1182, 1183, 718, 1316, 991, 1317, 1394, 1518, 1473, + 1474, 1318, 1319, 1498, 1395, 1519, 1396, 1554, 1397, 1556, + 1601, 1616, 1398, 1577, 1528, 1578, 1479, 458, 715, 1281, + 1320, 1412, 1533, 1385, 1386, 1465, 1547, 1517, 1513, 1321, + 1524, 1415, 846, 1580, 1581, 1582, 1614, 734, 735, 1011, + 1194, 1329, 736, 737, 738, 1007, 739, 148, 1009, 741, + 1196, 1197, 530, 84, 85 }; -static const short yypact[] = { 129, - 148,-32768,-32768, 10535,-32768, 92, 171, 272, 418, 199, - 124,-32768,-32768, 917,-32768, 270, 355, 360,-32768,-32768, --32768, 1076, 1285, 1017, 216,-32768, 409, 499,-32768, 1618, - 1618,-32768, 4295,-32768, 10535, 415,-32768,-32768, 457,-32768, - 56, 4736,-32768,-32768, 412, 903, 509, 492, 505,-32768, --32768,-32768,-32768, 404, 1979,-32768, 4015,-32768, 2281, 329, --32768, 560,-32768,-32768, 798, 328,-32768, 548,-32768,-32768, - 567, 3285,-32768,-32768,-32768, 580,-32768,-32768,-32768, 1021, --32768,-32768, 274, 7834, 555,-32768,-32768, 9429,-32768, 9429, --32768, 9429,-32768,-32768,-32768, 272, 418, 409, 578, 563, - 600, 505,-32768, 760,-32768, 274, 9515, 9515, 607,-32768, --32768,-32768,-32768,-32768, 601, 648, 549, 665, 680, 663, - 670,-32768,-32768, 1357,-32768, 1247, 272, 418,-32768, 409, - 578,-32768, 690, 1972, 657, 5887, 9429,-32768, 9429, 2223, --32768, 2434, 402, 2223,-32768, 1599, 2316, 2316, 4295, 641, - 654, 649, 658, 679,-32768,-32768, 781,-32768, 685,-32768, - 3410,-32768,-32768, 216, 3278, 722,-32768,-32768,-32768, 412, - 4520, 10740, 737, 749,-32768,-32768, 735, 560, 843, 98, - 689, 791,-32768,-32768, 736, 66,-32768,-32768, 2840, 2840, - 4591, 580, 855,-32768,-32768, 540,-32768,-32768, 2691,-32768, --32768,-32768,-32768,-32768, 2281, 878,-32768, 560, 580,-32768, --32768,-32768, 2369, 2281,-32768, 560,-32768, 4520,-32768,-32768, +static const short yypact[] = { 134, + 147,-32768,-32768, 10614,-32768, 113, 124, 383, 475, 168, + 235,-32768,-32768, 1317,-32768, 193, 230, 267,-32768,-32768, +-32768, 797, 818, 588, 296,-32768, 326, 491,-32768, 3006, + 3006,-32768, 2737,-32768, 10614, 330,-32768,-32768, 365,-32768, + 73, 3940,-32768,-32768, 333, 911, 425, 405, 437,-32768, +-32768,-32768,-32768, 325, 2831,-32768, 4345,-32768, 1547, 700, +-32768, 467,-32768,-32768, 2099, 254,-32768, 458,-32768,-32768, + 500, 7261,-32768,-32768,-32768, 1031,-32768,-32768,-32768, 1082, +-32768,-32768, 359, 6042, 490,-32768,-32768, 9680,-32768, 9680, +-32768, 9680,-32768,-32768,-32768, 383, 475, 326, 528, 504, + 585, 437,-32768, 617,-32768, 359, 9766, 9766, 548,-32768, +-32768,-32768,-32768,-32768, 255, 592, 522, 741, 760, 594, + 610,-32768,-32768, 1984,-32768, 710, 383, 475,-32768, 326, + 528,-32768, 1230, 1299, 595, 5960, 9680,-32768, 9680, 4453, + 3755,-32768,-32768, 1402, 680, 3755,-32768, 1687, 3899, 3899, + 2737, 559, 569,-32768, 587, 1881, 614, 618,-32768,-32768, + 682,-32768, 582,-32768, 3152,-32768,-32768, 296, 5610, 597, +-32768,-32768,-32768, 333, 3414, 10887, 835, 688,-32768,-32768, + 661, 467, 753, 155, 402, 703,-32768,-32768, 662, 98, +-32768,-32768, 4138, 4138, 4947, 1031, 868,-32768,-32768, 454, +-32768,-32768, 2487,-32768,-32768,-32768,-32768,-32768, 1547, 892, +-32768, 467, 1031,-32768,-32768,-32768, 1705, 1547,-32768, 467, +-32768, 3414,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 437, 467, 1998, 1822,-32768,-32768, + 458,-32768,-32768,-32768,-32768,-32768, 1038, 359,-32768, 304, + 1529,-32768, 185,-32768,-32768,-32768,-32768,-32768, 4607,-32768, +-32768, 803,-32768, 690, 697,-32768,-32768,-32768,-32768, 737, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 505, 560, 1485, 1636,-32768,-32768, 548,-32768,-32768,-32768, --32768,-32768, 1027, 274,-32768, 217, 1224,-32768, 94,-32768, --32768,-32768,-32768,-32768, 2883,-32768,-32768, 229,-32768, 765, - 769,-32768,-32768,-32768,-32768, 811,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 764,-32768, --32768, 1027, 3285, 814,-32768,-32768, 790,-32768,-32768, 10123, - 10209, 10295, 10295,-32768,-32768,-32768,-32768,-32768, 800, 825, - 834, 853, 870, 1090, 578, 9601, 1697, 10295,-32768,-32768, - 10295,-32768,-32768, 10295, 7312,-32768, 10295, 181, 894,-32768, - 10295,-32768, 9687,-32768, 10982, 370, 1912, 4227, 9773,-32768, - 948, 2212,-32768, 1316, 3488, 3177,-32768, 380,-32768, 1589, - 1575, 181, 181, 9429, 5887,-32768, 1697, 857, 1697,-32768, --32768, 871, 934, 10915, 889, 902, 908, 1438, 685,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 648, 549, 665, - 1697, 680, 663, 932, 670,-32768, 969,-32768, 3160, 272, - 418,-32768,-32768,-32768,-32768,-32768,-32768, 4962,-32768, 4520, - 5717, 557,-32768, 181, 865,-32768, 366,-32768, 977, 985, --32768,-32768,-32768, 2223,-32768,-32768, 2223,-32768, 935,-32768, --32768, 2883, 96, 951, 957,-32768,-32768,-32768,-32768, 5887, --32768, 890, 897,-32768,-32768, 781,-32768, 560,-32768,-32768, --32768,-32768, 145,-32768,-32768,-32768,-32768, 7403, 9601,-32768, --32768,-32768, 9601, 973,-32768, 6666, 131, 3139,-32768, 3139, --32768, 3732, 3732, 4591, 978,-32768, 560, 4520,-32768, 974, --32768,-32768, 3884, 2369, 2281, 4520,-32768, 560,-32768,-32768, - 560, 2369,-32768, 1061,-32768,-32768, 505,-32768, 1485,-32768, - 1755, 5946, 61, 1027, 560,-32768,-32768, 991, 1015, 1037, - 1019,-32768,-32768,-32768,-32768, 387,-32768, 392, 983, 986, --32768,-32768, 1027,-32768,-32768, 466,-32768,-32768, 9429, 9601, - 790, 7312,-32768, 400, 7312,-32768,-32768,-32768, 9515, 3739, - 3739, 3739, 3739, 10960,-32768,-32768,-32768,-32768, 990, 10381, - 10381, 7312, 995, 50, 999, 1050, 1003,-32768,-32768,-32768, --32768, 9429,-32768, 6942, 7312,-32768, 9601, 9601, 7494, 9601, - 9601, 9601, 9601, 9601, 9601, 9601, 9601, 9601, 9601, 9601, - 9601, 9601, 9601, 9601, 9601, 9601, 9601, 9601,-32768, 9601, --32768,-32768,-32768,-32768,-32768, 9601, 9601,-32768,-32768, 4867, - 796, 610, 8194,-32768,-32768,-32768, 1065, 1224, 1112, 448, - 502, 520, 1832, 402,-32768, 1177, 1177,-32768, 2598, 1012, - 1031, 1080,-32768,-32768, 575, 8884, 956,-32768, 711, 274, --32768,-32768, 9601,-32768,-32768,-32768,-32768,-32768, 562, 555, --32768,-32768, 181,-32768, 4520, 2080,-32768, 1067, 1070,-32768, --32768, 1697, 932,-32768, 7926, 8017,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 141,-32768, 1049, 1039, 685, 3160, 1093, - 9429,-32768, 1091,-32768,-32768, 1972, 1328, 1116, 481, 1092, - 1096,-32768,-32768, 2423, 10740, 2423, 2100, 798, 4579,-32768, - 1102,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1046, --32768, 1097,-32768,-32768, 412,-32768,-32768,-32768,-32768, 97, - 362, 1106, 1050,-32768,-32768,-32768,-32768, 6848, 10960,-32768, - 934, 1062, 10915,-32768,-32768, 1063,-32768, 1066, 624, 2989, - 1072,-32768, 154, 5663, 1109, 1111, 577,-32768,-32768,-32768, - 3139, 3139,-32768, 3884,-32768, 1119,-32768,-32768, 1073, 131, --32768, 2369,-32768,-32768, 560,-32768, 549, 665,-32768, 1095, --32768, 670, 1133,-32768,-32768, 376,-32768,-32768, 1770,-32768, - 635, 785,-32768, 9601, 10613,-32768, 10613, 365, 365, 343, - 630, 3533, 5783, 8262,-32768, 191, 365, 1131, 560, 8332, --32768, 131, 4646, 9429, 9429,-32768, 9429, 131, 4646,-32768, --32768,-32768,-32768,-32768,-32768, 526, 526, 526, 181, 1086, - 1089, 9865, 1080, 1098, 1099, 1100, 1125, 3672, 1134, 1142, - 1146,-32768, 1114,-32768,-32768, 1115,-32768,-32768, 1163, 422, - 547, 325, 85, 9601, 1164,-32768, 1173, 1127, 10960, 10960, --32768,-32768, 1175, 4072, 3326, 5005, 3563, 5041, 4438, 2541, - 3040, 3040, 3040, 2262, 2262, 1391, 1391, 146, 146, 146, --32768,-32768, 1136, 1137, 1130, 9601, 9515,-32768, 796,-32768, - 7403, 9601,-32768,-32768,-32768, 9601,-32768,-32768, 1148, 10295, - 1143, 1178, 1198, 1226,-32768, 9601,-32768, 9601,-32768, 9601, - 1792,-32768, 1792,-32768, 103, 1166, 1168,-32768, 1171, 3739, - 131,-32768, 131, 2092,-32768, 4646, 1172, 9068, 9068, 6252, - 1176, 9687, 1183, 2753, 1575, 861, 1186,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 9601, 1697, 1197, 1070,-32768, 10960, --32768, 10960, 1438, 1202, 9951,-32768, 1204, 1255,-32768, 181, --32768,-32768,-32768,-32768,-32768, 1207, 4962,-32768, 3739, 9429, - 1346, 1346, 4301,-32768,-32768,-32768,-32768, 2691,-32768,-32768, --32768, 993, 9601,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 412,-32768, 648,-32768, 680, 663, 9601, 1227,-32768, - 637, 644, 667, 1050,-32768, 93,-32768, 117,-32768,-32768, --32768,-32768,-32768,-32768, 8976,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1111, 1252,-32768,-32768,-32768, 3739,-32768,-32768, --32768, 1253,-32768, 9515,-32768,-32768,-32768,-32768, 875,-32768, - 4646, 10960,-32768, 1199,-32768, 560, 560,-32768,-32768,-32768, --32768,-32768, 4646, 523, 898, 9601, 1061,-32768, 1263,-32768, --32768,-32768, 197, 225, 1021, 402, 333, 365, 1267,-32768, - 462,-32768,-32768,-32768, 560,-32768,-32768, 8402,-32768, 1222, - 181, 181, 181,-32768, 1229, 131, 4646, 131, 4646,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1241, 1242, - 1245, 1250, 1046,-32768, 10848, 7403, 7036, 1231,-32768, 9601, --32768,-32768,-32768, 1239, 1246, 1248, 3739,-32768,-32768, 1249, - 361, 768, 768, 1257, 768,-32768,-32768, 10295, 1350, 9429, --32768, 1266, 1280, 1281,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 131, 1282,-32768, 1260,-32768,-32768, 2901,-32768, --32768,-32768,-32768,-32768, 10960,-32768,-32768, 1283,-32768,-32768, - 210, 1286,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1374, - 1374, 1710, 1710, 4301,-32768, 2691,-32768, 1851, 10982,-32768, --32768,-32768, 1287,-32768, 362,-32768, 9601,-32768, 9601,-32768, - 9601,-32768, 1697,-32768,-32768, 6460, 1342,-32768, 7127,-32768, - 9160, 9160, 6572, 285, 1289, 373,-32768, 7403, 7218,-32768, --32768, 268, 7403,-32768, 1290, 1291, 1755,-32768,-32768,-32768, - 131, 1296,-32768, 1343, 1343, 131, 1304, 9601, 9601, 10826, - 560, 3996, 560, 560, 921, 560, 4123, 1343,-32768,-32768, --32768, 1365,-32768,-32768,-32768, 1312,-32768, 1317, 9601, 9601, - 9601, 9601, 7403,-32768, 1367,-32768,-32768, 10960,-32768,-32768, --32768, 496, 1248,-32768,-32768,-32768,-32768,-32768,-32768, 1321, --32768, 1380, 181,-32768,-32768,-32768, 131,-32768,-32768,-32768, --32768,-32768,-32768, 9601,-32768,-32768, 1374, 1374,-32768, 1851, --32768,-32768, 1325, 1327, 1330, 1352,-32768, 923, 275, 1387, - 980, 1038,-32768,-32768,-32768,-32768,-32768, 9601, 1396, 1399, - 1401, 9252, 237, 1697, 421, 636,-32768,-32768, 9343, 1454, --32768,-32768,-32768, 1409,-32768, 4396, 10681, 10795, 6350,-32768, --32768, 1461,-32768,-32768,-32768, 8495,-32768,-32768, 1372, 614, --32768,-32768,-32768,-32768, 3739,-32768,-32768, 7403,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 10826, 10826,-32768, - 1343, 651, 1048, 9601,-32768,-32768,-32768, 1061, 1061, 1343, - 1343, 387, 1343,-32768,-32768, 6089, 131, 131,-32768,-32768, - 1376, 1377, 1379, 1383,-32768, 7403, 9601,-32768, 496,-32768, --32768,-32768,-32768, 131, 1388,-32768,-32768,-32768,-32768, 1352, --32768, 1697,-32768,-32768,-32768,-32768,-32768,-32768, 682, 682, - 1050, 1404, 1410, 5995,-32768,-32768,-32768,-32768, 1442, 9601, - 1444, 1441, 1458, 1840, 1872,-32768, 1050,-32768,-32768, 1422, --32768,-32768, 1061, 927,-32768, 954, 1061, 10037, 987, 289, --32768,-32768,-32768,-32768,-32768,-32768, 397,-32768,-32768, 131, - 131,-32768,-32768,-32768, 9601, 9601, 10826, 560, 560,-32768, --32768,-32768,-32768, 8108,-32768,-32768,-32768,-32768, 131, 131, --32768,-32768,-32768,-32768,-32768, 1405,-32768,-32768,-32768, 1424, --32768,-32768,-32768, 9515,-32768,-32768,-32768, 1501, 8791, 6757, - 9515, 9601,-32768, 8603,-32768, 1460,-32768,-32768, 1467,-32768, - 1458, 1840,-32768,-32768, 781,-32768,-32768, 10467, 10467, 7585, --32768,-32768, 1050,-32768,-32768, 10826, 10826,-32768, 1343, 1343, - 1415, 10870, 1430,-32768,-32768,-32768, 5586,-32768,-32768, 1420, - 252, 4520, 1050, 8697,-32768,-32768, 93,-32768,-32768, 1471, - 1427, 10938, 8603,-32768,-32768,-32768,-32768, 1352, 89,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 509, 412, 1431, - 1432, 1050,-32768, 1061,-32768,-32768,-32768,-32768, 705,-32768, - 7676,-32768,-32768,-32768,-32768, 1352, 1527, 1486, 170,-32768, --32768,-32768,-32768, 560, 93,-32768, 9601, 1487,-32768, 1488, --32768, 1050, 8603, 1452, 753, 1493,-32768,-32768,-32768, 145, --32768, 1489,-32768, 1446,-32768,-32768,-32768,-32768, 9601, 1527, - 1495, 1527,-32768,-32768,-32768, 7767, 1457, 787,-32768,-32768, - 7403, 1459,-32768, 1557, 1511,-32768,-32768,-32768, 295,-32768, - 8697, 1561, 1513,-32768,-32768,-32768, 1576, 1577,-32768 +-32768,-32768, 699,-32768,-32768, 1038, 7261, 650,-32768,-32768, + 727,-32768,-32768, 10374, 10460, 10546, 10546,-32768,-32768,-32768, +-32768,-32768, 738, 770, 772, 790, 804, 939, 528, 9852, + 2016, 10546,-32768,-32768, 10546,-32768,-32768, 10546, 7206,-32768, + 10546, 318, 851,-32768, 10546,-32768, 9938,-32768, 11105, 228, + 821, 2403, 10024,-32768, 869, 440,-32768, 685, 927, 1846, +-32768, 237,-32768, 1902, 3265, 318, 318, 9680, 5960,-32768, + 2016, 775, 2016,-32768,-32768, 810, 878, 11038, 831, 879, + 887, 1713, 582,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 592, 522, 741, 2016, 760, 594, 918, 610,-32768, + 965,-32768, 1075, 383, 475,-32768,-32768,-32768,-32768,-32768, +-32768, 6810,-32768, 3414, 10954, 994,-32768, 318, 581,-32768, +-32768, 898,-32768, 961, 971,-32768,-32768,-32768, 3755,-32768, +-32768, 3755,-32768, 943,-32768,-32768,-32768, 1881, 1881, 1881, +-32768,-32768,-32768, 4607, 97, 947, 951,-32768,-32768,-32768, +-32768, 5960,-32768, 973, 984,-32768,-32768, 682,-32768, 467, +-32768,-32768,-32768,-32768, 126,-32768,-32768,-32768,-32768, 7781, + 9852,-32768,-32768,-32768, 9852, 978,-32768, 6717, 119, 4618, +-32768, 4618,-32768, 4748, 4748, 4947, 985,-32768, 467, 3414, +-32768, 989,-32768,-32768, 4855, 1705, 1547, 3414,-32768, 467, +-32768,-32768, 467, 1705,-32768, 1065,-32768,-32768, 437,-32768, + 1998,-32768, 1941, 5099, 72, 1038, 467,-32768,-32768, 1027, + 1030, 1052, 1033,-32768,-32768,-32768,-32768, 628,-32768, 247, + 998, 1001,-32768,-32768, 1038,-32768,-32768, 981,-32768,-32768, + 9680, 9852, 727, 7206,-32768, 287, 7206,-32768,-32768,-32768, + 9766, 10998, 10998, 10998, 10998, 11083,-32768,-32768,-32768,-32768, + 1005, 10116, 10116, 7206, 1009, 136, 1013, 1062, 1016,-32768, +-32768,-32768,-32768, 9680,-32768, 7320, 7206,-32768, 9852, 9852, + 7872, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, + 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, +-32768, 9852,-32768,-32768,-32768,-32768,-32768, 9852, 9852,-32768, +-32768, 6212, 468, 183, 8413,-32768,-32768,-32768, 1071, 1529, + 1119, 362, 413, 463, 2639, 680,-32768, 1170, 1170,-32768, + 3651, 1022, 1042, 1090,-32768,-32768, 543, 8963, 1352,-32768, + 1019, 359,-32768,-32768, 9852,-32768,-32768,-32768,-32768,-32768, + 266, 490,-32768,-32768, 318,-32768, 3414, 2324,-32768, 1080, + 1089,-32768,-32768, 2016, 918,-32768, 8145, 8236,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 61,-32768, 1056, 1044, 582, + 1075, 1097, 9680,-32768, 1094,-32768,-32768, 1299, 1620, 1124, + 433, 1101, 1102,-32768,-32768, 1616, 10887, 1616, 3284, 2099, + 4549,-32768, 1107,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 1053, 1068,-32768, 1118,-32768,-32768, 333,-32768,-32768, +-32768,-32768, 106, 328, 1123, 1062,-32768,-32768,-32768,-32768, + 7112, 11083,-32768, 878, 1073, 11038,-32768,-32768, 1081,-32768, + 1084, 542, 5731, 1086,-32768, 150, 3420, 1131, 1137, 466, +-32768,-32768,-32768, 4618, 4618,-32768, 4855,-32768, 1138,-32768, +-32768, 1092, 119,-32768, 1705,-32768,-32768, 467,-32768, 522, + 741,-32768, 1113,-32768, 610, 1149,-32768,-32768, 273,-32768, +-32768, 2023,-32768, 664, 825,-32768, 9852, 10692,-32768, 10692, + 241, 241, 447, 541, 4866, 10760, 5486,-32768, 156, 241, + 1145, 467, 6153,-32768, 119, 5039, 9680, 9680,-32768, 9680, + 119, 5039,-32768,-32768,-32768,-32768,-32768,-32768, 1324, 1324, + 1324, 318, 1110, 1114, 9331, 1090, 1115, 1117, 1129, 1134, + 3596, 1140, 1146, 1169,-32768, 1139,-32768,-32768, 1141,-32768, +-32768, 1183, 283, 795, 92, 469, 9852, 1196,-32768, 1202, + 1151, 11083, 11083,-32768,-32768, 1204, 6378, 6411, 6614, 11008, + 3061, 3485, 3796, 2854, 2854, 2854, 1373, 1373, 1148, 1148, + 532, 532, 532,-32768,-32768, 1154, 1160, 1158, 9852, 9766, +-32768, 468,-32768, 7781, 9852,-32768,-32768,-32768, 9852,-32768, +-32768, 1176, 10546, 1166, 1191, 1211, 1234,-32768, 9852,-32768, + 9852,-32768, 9852, 2254,-32768, 2254,-32768, 162, 1180, 1185, +-32768, 1187, 10998, 119,-32768, 119, 2810,-32768, 5039, 1190, + 9147, 9147, 5316, 1186, 9938, 1188, 1881, 3529, 3265, 1195, + 1198,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9852, 2016, + 1182, 1089,-32768, 11083,-32768, 11083, 1713, 1199, 10202,-32768, + 1203, 1249,-32768, 318,-32768,-32768,-32768,-32768,-32768, 1810, + 6810,-32768, 10998, 9680, 1977, 1977, 4216,-32768,-32768,-32768, +-32768, 2487,-32768,-32768,-32768, 884, 9852,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 333,-32768, 592,-32768, + 760, 594, 9852, 1252,-32768, 578, 583, 651, 1062,-32768, + 88,-32768, 84,-32768,-32768,-32768,-32768,-32768,-32768, 9055, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1137, 1255,-32768, +-32768,-32768, 10998,-32768,-32768,-32768, 1261,-32768, 9766,-32768, +-32768,-32768,-32768, 1602,-32768, 5039, 11083,-32768, 836,-32768, + 467, 467,-32768,-32768,-32768,-32768,-32768, 5039, 334, 811, + 9852, 1065,-32768, 1254,-32768,-32768,-32768, 211, 352, 1082, + 680, 364, 241, 1268,-32768, 556,-32768,-32768,-32768, 467, +-32768,-32768, 8481,-32768, 1226, 318, 318, 318,-32768, 1228, + 119, 5039, 119, 5039,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 1244, 1248, 1257, 1258, 1053,-32768, 6933, + 7781, 7414, 1233,-32768, 9852,-32768,-32768,-32768, 1253, 1259, + 1260, 10998,-32768,-32768, 1262, 214, 423, 423, 1265, 423, +-32768,-32768, 10546, 1355, 9680,-32768, 1269, 1275, 1277,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 119, 1280,-32768, + 1278,-32768,-32768, 3668,-32768,-32768,-32768,-32768,-32768, 11083, +-32768,-32768, 1256,-32768,-32768, 151, 1283,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 2225, 2225, 2666, 2666, 4216,-32768, + 2487,-32768, 2960, 11105,-32768,-32768,-32768, 1284,-32768, 328, +-32768, 9852,-32768, 9852,-32768, 9852,-32768, 2016,-32768,-32768, + 6871, 1333,-32768, 7505,-32768, 9239, 9239, 5831, 188, 1287, + 294,-32768, 7781, 7596,-32768,-32768, 166, 7781,-32768, 1288, + 1289, 1941,-32768,-32768,-32768, 119, 1290,-32768, 1336, 1336, + 119, 1301, 9852, 9852, 4666, 467, 5218, 467, 467, 1200, + 467, 5335, 1336,-32768,-32768,-32768, 1358,-32768,-32768,-32768, + 1307,-32768, 1310, 9852, 9852, 9852, 9852, 7781,-32768, 1359, +-32768,-32768, 11083,-32768,-32768,-32768, 533, 1260,-32768,-32768, +-32768,-32768,-32768,-32768, 1311,-32768, 1377, 318,-32768,-32768, +-32768, 119,-32768,-32768,-32768,-32768,-32768,-32768, 9852,-32768, +-32768, 2225, 2225,-32768, 2960,-32768,-32768, 1320, 1322, 1323, + 1337,-32768, 990, 206, 1370, 871, 902,-32768,-32768,-32768, +-32768,-32768, 9852, 1372, 1375, 1376, 9417, 606, 2016, 655, + 442,-32768,-32768, 9508, 1431,-32768,-32768,-32768, 1382,-32768, + 5376, 10828, 4008, 6334,-32768,-32768, 1428,-32768,-32768,-32768, + 8574,-32768,-32768, 1339, 641,-32768,-32768,-32768,-32768, 10998, +-32768,-32768, 7781,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 4666, 4666,-32768, 1336, 545, 915, 9852,-32768, +-32768,-32768, 1065, 1065, 1336, 1336, 628, 1336,-32768,-32768, + 6555, 119, 119,-32768,-32768, 1341, 1354, 1356, 1360,-32768, + 7781, 9852,-32768, 533,-32768,-32768,-32768,-32768, 119, 1361, +-32768,-32768,-32768,-32768, 1337,-32768, 2016,-32768,-32768,-32768, +-32768,-32768,-32768, 684, 684, 1062, 1380, 1381, 6461,-32768, +-32768,-32768,-32768, 1417, 9852, 1420, 1419, 1412, 2034, 2055, +-32768, 1062,-32768,-32768, 1394,-32768,-32768, 1065, 1004,-32768, + 1006, 1065, 9594, 1012, 240,-32768,-32768,-32768,-32768,-32768, +-32768, 360,-32768,-32768, 119, 119,-32768,-32768,-32768, 9852, + 9852, 4666, 467, 467,-32768,-32768,-32768,-32768, 8327,-32768, +-32768,-32768,-32768, 119, 119,-32768,-32768,-32768,-32768,-32768, + 1387,-32768,-32768,-32768, 1399,-32768,-32768,-32768, 9766,-32768, +-32768,-32768, 1482, 8870, 7021, 9766, 9852,-32768, 8682,-32768, + 1442,-32768,-32768, 1447,-32768, 1412, 2034,-32768,-32768, 682, +-32768,-32768, 10288, 10288, 7690,-32768,-32768, 1062,-32768,-32768, + 4666, 4666,-32768, 1336, 1336, 1404, 10993, 1415,-32768,-32768, +-32768, 10941,-32768,-32768, 1401, 510, 3414, 1062, 8776,-32768, +-32768, 88,-32768,-32768, 1456, 1409, 11061, 8682,-32768,-32768, +-32768,-32768, 1337, 68,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 425, 333, 1418, 1423, 1062,-32768, 1065,-32768, +-32768,-32768,-32768, 693,-32768, 7963,-32768,-32768,-32768,-32768, + 1337, 1509, 1463, 169,-32768,-32768,-32768,-32768, 467, 88, +-32768, 9852, 1465,-32768, 1468,-32768, 1062, 8682, 1443, 742, + 1486,-32768,-32768,-32768, 126,-32768, 1477,-32768, 1439,-32768, +-32768,-32768,-32768, 9852, 1509, 1488, 1509,-32768,-32768,-32768, + 8054, 1445, 754,-32768,-32768, 7781, 1449,-32768, 1538, 1500, +-32768,-32768,-32768, 184,-32768, 8776, 1551, 1503,-32768,-32768, +-32768, 1568, 1569,-32768 }; static const short yypgoto[] = {-32768, - 1586,-32768, -336, 1421, -382, 70, 6, 1573,-32768, 1554, --32768,-32768, 266,-32768, 277,-32768, 396,-32768, 195, 937, - 52, 14,-32768,-32768, -628,-32768,-32768, 661, 53, 1426, - 1179, 1439, -685, 77, -162, 13, 139,-32768,-32768,-32768, --32768,-32768, 835,-32768,-32768,-32768,-32768,-32768,-32768, 456, - 1536,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1518, -616, 5440, -68, -498, -295, 26, 1478, - -508,-32768, -43,-32768, 245,-32768, -1359,-32768, -1380, 27, --32768, 1476, 1201, -274, 405, -542,-32768, -817, 4764, 1360, - 1170, 3522, 1349, -326, -85, -94, 105, -71, -27,-32768, --32768,-32768, -327,-32768, -156,-32768,-32768, -1216, 68, -343, - 4423, 107, 1101, -118, 19, 102, -200, -4, -138, -160, - -169, 20, -42, -245,-32768, -342,-32768,-32768,-32768,-32768, --32768, -5, 1809, -17,-32768, 724,-32768,-32768, -988, -428, - 941,-32768,-32768,-32768,-32768,-32768, 168,-32768,-32768,-32768, --32768,-32768, 733, -362,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1416,-32768, 465, 645,-32768,-32768,-32768,-32768,-32768, - 881, -684,-32768,-32768,-32768,-32768,-32768,-32768, 885,-32768, - 460, 1022, 752, 1083, 4670, 47, 25, -441, 1474, 2689, - -454,-32768, 18,-32768, 5069, -134, 156, -82, 4079, 1334, --32768, 4154, 1775, 1562, -16, -107,-32768, 1555, -58,-32768, - 4257, 2711, -195,-32768, 2673,-32768,-32768, 381,-32768,-32768, - 516, 115, -427,-32768,-32768,-32768,-32768, -1353,-32768, -1239, - -1387,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 137,-32768,-32768,-32768,-32768, --32768, 176, -1300,-32768,-32768, -54,-32768,-32768,-32768,-32768, - -1367, 116,-32768, 123,-32768, -698, -581, 704,-32768,-32768, --32768,-32768, -383,-32768, -376, -175,-32768, 1675, 393,-32768, - 232,-32768, -226 + 1572,-32768, -314, 1403, -401, 39, 2, 1574,-32768, 1542, +-32768,-32768, 120,-32768, 252,-32768, 486,-32768, 191, 908, + 57, 9,-32768,-32768, -614,-32768,-32768, 643, 64, 1426, + 1161, 1437, -697, 67, -172, 20, -35,-32768,-32768,-32768, +-32768,-32768, 822,-32768,-32768,-32768,-32768,-32768,-32768, 434, + 1848,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 1517, -626, 6173, -70, -491, 74, -73, 1490, + -541,-32768, 363,-32768, 221,-32768, -1357,-32768, -1384, 15, +-32768, 2213, 1279, -255, 385, -529,-32768, -830, 3900, 1424, + 1207, 4286, 1335, -328, -56, -79, 1613, -147, -51, 0, +-32768,-32768,-32768, -330,-32768, -160,-32768,-32768, -1213, -39, + -334, 3372, 83, 1441, -148, 65, 31, -201, -4, -120, + -168, -165, 25, 66, 46,-32768, -350,-32768,-32768,-32768, +-32768,-32768, -5, 1208, -30,-32768, 698,-32768,-32768, -952, + -413, 919,-32768,-32768,-32768,-32768,-32768, 80,-32768,-32768, +-32768,-32768,-32768, 707, -366,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 1400,-32768, 443, 620,-32768,-32768,-32768,-32768, +-32768, 855, -695,-32768,-32768,-32768,-32768,-32768,-32768, 863, +-32768, 428, 997, 722, 1051, 2738, 10, 60, -454, 1454, + 1818, -473,-32768, 7,-32768, 17, 1406, -146, 96, -76, + 4791, 1315,-32768, 5548, 2440, 1788, -18, -106,-32768, 1540, + -59,-32768, 4983, 3380, -219,-32768, 2934,-32768,-32768, 348, +-32768,-32768, 483, 81, -421,-32768,-32768,-32768,-32768, -1354, +-32768, -1225, -1396,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 105,-32768,-32768, +-32768,-32768,-32768, 138, -1310,-32768,-32768, -24,-32768,-32768, +-32768,-32768, -1373, 90,-32768, 82,-32768, -691, -565, 681, +-32768,-32768,-32768,-32768, -378,-32768, -376, -185,-32768, 1735, + 358,-32768, 195,-32768, -239 }; -#define YYLAST 11066 +#define YYLAST 11189 static const short yytable[] = { 59, - 423, 617, 433, 178, 475, 152, 122, 431, 252, 36, - 432, 249, 415, 418, 680, 706, 974, 42, 388, 710, - 501, 681, 57, 627, 626, 523, 526, 887, 739, 294, - 59, 103, 657, 245, 887, 678, 757, 59, 394, 395, - 36, 1088, 494, 818, 220, 695, 857, 393, 42, 951, - 72, 396, 205, 57, 170, 42, 631, 632, 556, 1413, - 172, 173, 491, 362, 366, 387, 1416, 243, 957, 1451, - 252, 1506, 1398, 35, 480, 483, 140, 144, 186, 292, - 1013, 72, 1015, 345, 1050, 345, 474, 345, 72, 1042, - 1055, 513, 1510, 166, 167, 482, 579, 778, 440, 595, - 256, 1511, 345, 345, 35, 58, 595, 595, 686, 687, - 55, 165, 455, 159, 982, 352, 1538, 353, 816, 152, - 152, 152, 192, 360, 630, 1163, 1540, 252, -1, 1520, - 293, 402, 345, 909, 345, 744, 58, 151, 138, 504, - 502, 55, 580, 58, 513, 703, -144, -2, 171, 1535, - 1547, 86, 781, 160, 401, -352, 59, -291, 456, 441, - 59, 983, 404, 152, 984, 987, 478, 205, 889, 779, - 1569, 94, 437, 428, 1573, 1169, 186, 170, 42, 57, - 803, 1561, 72, 172, 173, 291, 503, 958, 154, 508, - 220, 727, 442, 414, 417, 204, 1548, 1114, 220, 923, - 87, 1164, 704, 692, 963, 1324, 1325, 72, 1577, 174, - 817, 72, 988, 1538, 220, 989, 166, 167, 1592, 1345, - 186, -361, 737, 15, 1514, 1170, 217, -352, 577, 578, - 743, 441, 8, 506, 165, 458, 460, 58, 192, 95, - 110, 111, 400, 1508, 88, 1451, 972, 601, 924, -362, - 1043, 15, 416, 419, -361, 549, 600, 550, -361, 211, - 212, 256, 58, 496, 442, 14, 58, 55, 1254, 38, - 91, 171, 93, 1545, 399, 975, 359, 8, 9, 700, - 39, 543, -362, 592, 130, 131, -362, 20, 243, 135, - 92, -361, 112, 113, 1121, 151, 23, 1124, 605, 1044, - 38, 627, 154, 154, 154, 936, 665, 1136, 507, 497, - 204, 39, 1192, 961, 962, 1087, 1390, 1255, 887, -362, - 345, 927, 660, 1578, 1197, 89, 1315, 415, 418, 130, - 131, -298, 174, 292, 1374, 480, 483, 910, 1150, 1151, - 680, 243, 1424, 480, 802, 90, 154, 993, 1374, 345, - 636, 1430, 1431, 1602, 1432, 483, 742, -120, 1216, 15, - 1218, 887, 107, 1042, 964, 747, 748, 1018, 256, 127, - 128, 501, 217, 401, 483, 1316, 617, -298, -298, 633, - 217, 217, 1007, 1375, 293, 235, -143, 218, 219, 236, - -120, 15, -291, 677, -120, -411, 205, 1482, 137, 40, - 1019, 72, 1603, 887, 1020, 127, 128, 605, 965, 714, - 217, 668, 1008, 359, 1358, 26, 579, 966, 967, -619, - 220, 130, 131, 771, -411, 59, 622, -120, -411, 545, - 40, 1139, 1089, 790, 152, 152, 152, 1021, 792, 291, - 91, 745, 697, -300, 679, 507, 605, 108, 172, 173, - -579, 720, 109, 802, 968, 1116, 58, 130, 131, 217, - 92, 635, 580, 220, 129, -619, -619, 683, 1235, 127, - 128, 91, 623, -411, 26, 89, 72, 1393, 543, 791, - -619, 543, 137, -141, 793, 805, -118, 59, 15, -300, - -300, 92, 802, 634, 875, 90, -579, 185, 543, 676, - 1523, 1524, 679, 1063, -294, 1251, 1252, 157, 731, 732, - 773, 543, 217, 359, 345, 832, 158, 345, 175, -118, - 345, 130, 131, -118, 345, 808, 808, 808, 808, 127, - 128, 58, 960, 179, 504, 592, 171, 345, 72, 937, - 876, 1447, 860, 855, 799, 248, 1162, 345, 877, 871, - 345, 183, 138, 680, 757, 938, -118, 676, 184, 861, - 681, 765, 887, 210, 211, 212, 879, 416, 419, 217, - 14, 932, 139, 1003, 678, 1005, 665, 627, 626, 26, - 1009, 130, 131, 933, 1198, 292, -579, 18, 862, 1357, - 18, 887, 20, 58, 878, 514, 88, 174, 772, 304, - 91, 23, 373, 480, 677, 515, 15, 513, -142, 238, - -411, 720, 880, 127, 128, 26, 684, 154, 154, 154, - 92, 895, 90, 997, 240, -300, 545, 556, 295, 545, - 768, 138, -579, 470, 1135, 982, 293, 256, -411, -411, - -300, 217, 217, -411, -300, 416, 813, 1224, 1226, 217, - 122, 388, 881, 883, 1240, 679, 345, 358, 370, 545, - -300, 217, 679, 26, 371, 130, 131, 896, 897, 998, - 205, 356, -300, -300, 243, -300, 1022, -300, 630, 864, - 217, 1010, 983, 1156, 973, 984, 930, -822, 91, 865, - 1158, 291, 296, 390, 391, 10, 771, 1396, 771, 368, - 972, 372, 912, 866, 771, 771, -300, -300, 92, 137, - 676, 771, 1425, 1160, 8, 9, 376, 676, 374, 677, - 903, -300, 1023, 377, 88, 1016, 1017, 1011, 1453, 1157, - 21, 397, 757, 375, 1045, 447, 1159, 247, 92, 1002, - 1226, 944, 185, 949, 950, 27, 315, 803, -291, 1311, - 1313, 1556, 448, 137, 1317, 1211, 1212, 1213, 359, 1161, - 59, 420, 59, 8, 9, 421, 130, 131, 205, 59, - 679, 127, 128, 1047, 1454, 59, 504, 32, 677, 345, - 345, 449, 345, 773, 677, 773, -614, 950, 127, 128, - 248, 299, 773, -7, 1355, 218, 434, 1557, 773, 1152, - 95, 96, 97, 217, 221, 222, 223, 359, 435, 1051, - 1052, 72, 1053, 72, 1580, 130, 131, 127, 128, 160, - 72, 26, 1094, 130, 131, 676, 72, 436, 18, 679, - 1187, 1188, 1189, 224, 765, 679, 765, 864, 26, 1028, - 130, 131, 860, 765, 217, 439, 452, 865, 1594, 765, - 451, 26, 345, 98, 99, 225, 543, 1091, 509, 861, - 1581, 866, 510, 1570, 8, 9, 58, 26, 58, 130, - 131, 772, 511, 1014, 512, 58, 252, 116, 747, 748, - 772, 58, 520, 514, 676, 808, 772, 217, 862, 1419, - 676, 677, 529, 515, 1595, 720, 1236, 1237, 530, 1239, - 226, 227, 228, 768, 750, 768, 903, 531, 359, 217, - 1027, 1037, 768, 468, 469, 152, 130, 131, 768, 95, - 96, 97, 256, 552, 127, 1342, 532, 1445, 26, 15, - 119, 120, 677, -411, 808, 345, 476, 477, 677, 549, - 507, 550, 679, 533, 881, 883, 679, 1362, 468, 698, - 668, 89, 552, 1457, 803, 476, 699, 152, 595, 1199, - 1185, -411, -411, 252, -575, 641, 249, -575, 359, 1474, - 26, 90, 98, 99, 100, 217, 130, 131, 644, 771, - 720, 1372, 1373, 679, 1201, 468, 1476, 1140, 1141, 679, - 1203, 1204, 645, 808, 1201, 1206, 647, 676, 1204, 345, - 507, 676, 892, 416, 813, 661, 677, 415, 418, 648, - 1194, 1195, 476, 1477, -575, 649, -575, -575, 677, -575, - 127, 128, 662, 7, 8, 246, 10, 1060, 1061, 1062, - -575, 679, -575, 89, 211, 212, 415, 418, 676, 1208, - 14, 1377, 690, 59, 676, 468, 1481, 151, -575, -575, - 90, -52, 677, 90, 677, 1457, -52, 679, 92, -6, - 129, 21, 20, -575, 784, 693, 773, -52, 247, 679, - 26, 23, 130, 131, 252, 1457, 27, 28, 95, 110, - 111, 1028, 808, 715, 738, 733, 676, 15, 785, 1175, - 786, 91, 787, 794, 72, 345, 795, 812, 154, 1378, - 248, 89, 814, 679, 1553, 679, 815, 704, 32, 1426, - 817, 92, 676, 680, 152, 152, 152, 765, 872, 874, - 1531, 90, 888, 890, 676, 1243, 892, 1406, 916, 543, - 915, 112, 113, 114, 1457, 1404, 508, 1409, 973, 677, - 154, 925, 706, 152, 152, 152, 929, 926, -181, 58, - 931, 20, 1027, -294, 772, 939, 959, 803, 676, 940, - 676, 1298, 1596, 137, -181, 953, -181, 441, 720, 979, - 980, 1290, -821, 981, 995, 1351, 1352, 1353, 1354, 986, - 127, 128, 999, 1000, 1297, 13, 768, 1004, 1257, 1258, - 679, 1006, 1046, 1064, 1330, 1331, 1065, 1340, 1341, 1069, - 1343, 1024, 1025, 9, 10, 1066, 1067, 1068, 1070, 95, - 110, 111, 72, 221, 222, 223, 1071, 1257, 1258, 679, - 1072, 1073, 1074, 605, -140, 1076, 95, 110, 111, 498, - 26, 1077, 130, 131, 1079, 1289, 1080, 18, 1389, 21, - 1083, 1096, 224, 1081, 1082, 676, 606, 416, 419, 116, - 117, 118, 26, 1098, 27, 28, 607, 335, 1193, 335, - 1026, 335, 112, 113, 21, 1099, 608, 58, 189, 609, - 610, 1100, 1101, 1107, 676, 1108, 416, 1309, 190, 112, - 113, 1109, 1115, 1117, 1298, 1155, 32, 116, 117, 118, - 1118, 191, 205, 1120, 1298, 1428, 1429, 154, 154, 154, - 513, 1298, 119, 120, 1290, 1127, 335, 1297, 335, 1130, - 808, 1290, 1133, 1446, 1134, 1178, 1184, 1297, 1519, 127, - 128, 1202, 1422, 1423, 1297, 1207, 154, 154, 154, 1210, - 378, 379, 380, 1219, 1220, 72, 1214, 1221, 26, 1227, - 119, 120, 1222, 415, 418, 72, 1466, 1229, 7, 8, - 9, 10, 72, 1230, 13, 1231, 1234, 1242, 1289, 378, - 379, 380, 605, 1403, 478, 1403, 1550, 1238, 1289, 26, - 1250, 130, 131, 1244, 1163, 1289, 7, 8, 9, 10, - 152, 26, 242, 382, 383, 606, 21, 1245, 1246, 1249, - 58, 1253, 605, 1256, 1261, 607, 1310, 1319, 1320, 26, - 58, 27, 28, 1323, 381, 608, 448, 58, 609, 610, - 1499, 1327, 382, 383, 21, 941, 832, 1499, -656, 1349, - 605, 1488, 1489, 1490, 1350, 942, 1361, 26, 1356, 27, - 28, 1360, 1366, 32, 1367, 608, 543, 1368, 943, 610, - 95, 110, 111, 941, 650, 651, 652, 1369, 1376, 1501, - 152, 152, 152, 942, 1298, 1298, 1501, 1385, 1386, 1298, - 1387, 32, 1399, 608, 1290, 217, 943, 610, 1401, 1290, - 574, 575, 576, 577, 578, 345, 1414, 1297, 1297, 1417, - 1521, 1522, 1297, 1441, 1442, 534, 1443, 95, 96, 97, - 1444, 1554, 677, 112, 113, 1449, 1460, 1499, 674, 1298, - 293, 1465, 1461, 1467, 371, 72, 72, 293, 1298, 1290, - 72, 1468, 1175, 1574, 1475, 1496, 1497, 1505, 1290, 1515, - 1516, 1525, 1297, 335, 731, 732, 1527, 1533, 1289, 1289, - 1542, 1297, 359, 1289, 1543, 1587, 1501, 1564, 1551, 1552, - 98, 99, 832, 679, 1579, 1568, 1575, 1576, 1572, 101, - 72, 1582, 1584, 1585, 1589, 291, 674, 115, 1298, 72, - 58, 58, 291, 154, 1593, 58, 1597, 1598, 1290, 1534, - 1600, 1605, 1606, 1289, 5, 1608, 1609, 624, 8, 9, - 10, 1297, 1289, 416, 1309, 1, 430, 293, 156, 1472, - 429, 296, 8, 9, 10, 928, 1298, 1137, 676, 427, - 229, 95, 409, 410, 1549, 58, 1290, 1038, 696, 72, - 1262, 355, 304, 625, 58, 21, 405, 709, 713, 1297, - 7, 127, 128, 10, 1456, 713, 13, 1604, 26, 21, - 130, 131, 1289, 154, 154, 154, 247, 1359, 95, 96, - 97, 254, 291, 519, 27, 315, 1129, 72, 978, 712, - 1128, 1321, 490, 1190, 98, 113, 718, 1040, 21, 384, - 1048, 527, 528, 918, 58, 254, 1344, 1126, 217, 471, - 1289, 26, 859, 27, 28, 602, 32, 536, 386, 1412, - 537, 411, 1307, 538, 1583, 1571, 548, 30, 335, 713, - 553, 98, 99, 1546, 254, 1588, 1177, 31, 594, 95, - 110, 111, 58, 254, 1590, 32, 0, 1418, 0, 674, - 33, 0, 7, 8, 9, 10, 674, 0, 13, 0, - 800, 335, 0, 709, 0, 0, 829, 830, 0, 834, - 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, - 845, 846, 847, 848, 849, 850, 851, 852, 0, 713, - 21, 0, 112, 113, 0, 713, 605, 116, 747, 748, - 254, 749, 0, 26, 0, 27, 28, 0, 486, 488, - 0, 0, 116, 747, 748, 0, 0, 0, 80, 1142, - 853, 0, 499, 0, 750, 713, 854, 0, 104, 1143, - 0, 751, 713, 0, 254, 127, 128, 32, 133, 608, - 242, 0, 1144, 610, 142, 142, 0, 142, 26, 80, - 119, 120, 0, 0, 920, 922, 80, 0, 0, 254, - 0, 0, 0, 907, 674, 119, 120, 0, 0, 199, - 335, 80, 0, 0, 296, 127, 128, 10, 605, 233, - 0, 0, 95, 110, 111, 26, 104, 130, 131, 0, - 0, 0, 535, 7, 8, 9, 10, 258, 104, 504, - 0, 606, 0, 0, 0, 208, 0, 216, 0, 0, - 0, 607, 21, 232, 95, 110, 111, 709, 0, 247, - 104, 608, 0, 674, 609, 610, 0, 27, 315, 674, - 0, 21, 0, 0, 643, 112, 1469, 605, 0, 536, - 537, 0, 0, 653, 26, 0, 27, 28, 133, 0, - 80, 254, 0, 0, 142, 0, 643, 407, 142, 32, - 941, 142, 142, 142, 711, 0, 0, 112, 1471, 0, - 942, 711, 0, 1012, 0, 80, 0, 0, 32, 80, - 608, 0, 0, 943, 610, 199, 80, 0, 0, 0, - 0, 0, 0, 335, 335, 0, 335, 0, 581, 0, - 0, 0, 0, 199, 199, 199, 0, 0, 254, 0, - 0, 713, 0, 0, 296, 390, 391, 10, 0, 0, - 208, 7, 8, 9, 10, 0, 438, 0, 0, 0, - 0, 0, 199, 1075, 0, 711, 674, 582, 583, 0, - 674, 0, 584, 585, 586, 587, 0, 0, 489, 0, - 0, 0, 21, 216, 0, 0, 0, 0, 104, 21, - 0, 481, 216, 0, 746, 713, 713, 27, 315, 142, - 709, 713, 26, 0, 27, 28, 0, 674, 188, 0, - 0, 0, 0, 674, 0, 713, 0, 713, 189, 713, - 254, 0, 0, 0, 0, 711, 1084, 1085, 190, 32, - 0, 711, 1090, 0, 0, 0, 32, 104, 516, 0, - 0, 191, 0, 0, 0, 0, 1102, 254, 1103, 0, - 1104, 0, 0, 0, 1125, 674, 210, 211, 212, 825, - 0, 711, 0, 14, 713, 127, 128, 0, 711, 0, - 504, 0, 7, 8, 9, 10, 210, 211, 212, 335, - 18, 674, 104, 14, 0, 20, 603, 0, 516, 516, - 619, 0, 1149, 674, 23, 1132, 0, 0, 0, 80, - 18, 0, 0, 873, 0, 20, 0, 713, 605, 913, - 21, 0, 0, 0, 23, 26, 605, 130, 131, 0, - 0, 0, 0, 26, 713, 27, 28, 674, 0, 674, - 0, 606, 0, 133, 254, 0, 0, 0, 1153, 941, - 0, 607, 104, 0, 199, 104, 0, 0, 0, 942, - 254, 608, 0, 0, 609, 610, 0, 32, 142, 608, - 0, 142, 943, 610, 0, 1200, 142, 0, 0, 0, - 0, 0, 935, 0, 80, 0, 0, 0, 0, 208, - 216, 0, 596, 952, 296, 390, 391, 10, 0, 597, - 0, 0, 0, 0, 0, 7, 127, 128, 10, 1097, - 0, 242, 199, 0, 199, 0, 199, 199, 199, 0, - 0, 0, 199, 825, 674, 709, 709, 199, 0, 1228, - 199, 0, 21, 0, 0, 0, 0, 536, 537, 598, - 0, 0, 0, 21, 0, 26, 80, 27, 315, 335, - 0, 0, 0, 674, 0, 438, 26, 711, 27, 28, - 0, 0, 481, 216, 0, 0, 438, 210, 211, 212, - 481, 0, 30, 0, 14, 0, 0, 0, 0, 599, - 0, 0, 31, 438, 104, 104, 104, 104, 0, 0, - 32, 18, 0, 0, 0, 33, 20, 0, 7, 127, - 128, 10, 0, 0, 13, 23, 713, 0, 713, 0, - 713, 711, 711, 0, 0, 0, 0, 711, 709, 572, - 573, 574, 575, 576, 577, 578, 0, 709, 709, 0, - 0, 711, 709, 711, 0, 711, 21, 1263, 0, 1264, - 0, 1265, 0, 0, 104, 0, 516, 1328, 1329, 26, - 0, 27, 28, 0, 0, 479, 211, 212, 603, 0, - 516, 516, 14, 619, 0, 147, 0, 0, 0, 0, - 904, 0, 709, 0, 906, 148, 0, 0, 0, 18, - 711, 0, 0, 32, 20, 0, 0, 0, 149, 199, - 0, 0, 0, 23, 1001, 0, 0, 0, 0, 0, - 0, 0, 0, 713, 0, 7, 8, 9, 10, 0, - 0, 0, 0, 133, 0, 0, 7, 127, 128, 10, - 133, 0, 0, 711, 216, 0, 0, 1384, 199, 948, - 199, 199, 233, 619, 1365, 0, 1049, 1241, 653, 0, - 711, 0, 1054, 21, 0, 254, 0, 254, 0, 605, - 0, 935, 0, 0, 21, 0, 26, 0, 27, 28, - 0, 247, 0, 208, 0, 216, 232, 709, 0, 27, - 28, 0, 941, 0, 199, 0, 0, 0, 948, 0, - 0, 0, 942, 1427, 0, 199, 199, 0, 199, 254, - 32, 0, 608, 248, 0, 943, 610, 0, 0, 0, - 0, 32, 0, 0, 0, 709, 0, 0, 216, 0, - 536, 537, 0, 0, 0, 0, 133, 0, 0, 80, - 0, 80, 0, 0, 0, 0, 1035, 80, 80, 0, - 481, 0, 0, 438, 80, 0, 0, 104, 0, 0, - 0, 0, 0, 104, 0, 1110, 0, 1111, 0, 0, - 516, 516, 516, 0, 0, 0, 0, 713, 0, 0, - 0, 208, 516, 0, 0, 0, 0, 438, 0, 0, - 0, 0, 0, 0, 1486, 1487, 254, 674, 0, 0, - 0, 8, 9, 1492, 163, 12, 13, 0, 0, 717, - 0, 14, 1225, 567, 568, 569, 570, 571, 572, 573, - 574, 575, 576, 577, 578, 16, 0, 17, 18, 0, - 0, 1512, 711, 20, 711, 0, 711, 0, 0, 0, - 0, 0, 23, 0, 605, 0, 0, 0, 548, 0, - 0, 26, 0, 130, 131, 516, 0, 516, 0, 0, - 0, 0, 0, 0, 104, 0, 0, 606, 516, 0, - 104, 0, 904, 904, 904, 0, 0, 607, 0, 1119, - 254, 0, 0, 0, 0, 0, 0, 608, 0, 0, - 609, 610, 0, 7, 8, 9, 10, 0, 1267, 0, - 0, 0, 0, 0, 1225, 0, 0, 254, 0, 0, - 0, 104, 0, 104, 83, 199, 199, 1146, 0, 0, - 0, 0, 0, 0, 106, 0, 0, 0, 0, 711, - 1215, 21, 1217, 126, 134, 0, 0, 0, 247, 0, - 143, 143, 0, 143, 232, 83, 27, 28, 0, 0, - 0, 0, 83, 0, 0, 296, 8, 9, 10, 1146, - 709, 0, 0, 0, 0, 143, 254, 83, 0, 0, - 248, 0, 104, 0, 0, 234, 0, 0, 32, 0, - 0, 0, 244, 0, 0, 104, 0, 1248, 1035, 0, - 0, 0, 0, 21, 244, 0, 0, 104, 0, 0, - 247, 0, 0, 0, 0, 0, 0, 0, 27, 315, - 1205, 0, 0, 0, 0, 0, 0, 0, 1391, 1392, - 0, 0, 80, 0, 438, 438, 0, 0, 0, 0, - 0, 104, 248, 104, 0, 0, 0, 536, 537, 0, - 32, 0, 7, 8, 9, 10, 83, 0, 13, 0, - 143, 0, 0, 438, 143, 0, 0, 143, 143, 143, - 0, 104, 0, 0, 0, 1322, 516, 516, 0, 516, - 1326, 83, 0, 0, 0, 83, 0, 459, 461, 465, - 21, 143, 83, 711, 0, 7, 127, 128, 10, 0, - 0, 504, 0, 26, 0, 27, 28, 0, 0, 143, - 143, 143, 0, 296, 8, 9, 10, 1452, 0, 189, - 0, 0, 0, 0, 199, 199, 199, 199, 1146, 190, - 0, 1363, 199, 21, 0, 0, 0, 32, 143, 1470, - 1473, 0, 191, 0, 0, 0, 26, 0, 27, 28, - 0, 21, 0, 0, 0, 1146, 1146, 1146, 247, 0, - 0, 0, 30, 0, 0, 0, 27, 315, 0, 0, - 0, 0, 31, 0, 0, 143, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 33, 199, 0, 0, 0, - 507, 142, 0, 0, 0, 0, 0, 0, 32, 0, - 0, 7, 8, 9, 10, 210, 211, 212, 0, 0, - 0, 0, 14, 244, 143, 0, 0, 1517, 438, 438, - 0, 438, 438, 0, 438, 0, 614, 618, 621, 18, - 0, 1437, 1438, 0, 20, 0, 0, 0, 0, 21, - 0, 199, 199, 23, 199, 605, 0, 0, 1448, 0, - 0, 0, 26, 0, 27, 28, 0, 0, 244, 0, - 0, 0, 604, 0, 143, 143, 620, 0, 941, 0, - 0, 629, 0, 0, 0, 83, 0, 0, 942, 0, - 199, 948, 199, 0, 0, 0, 32, 0, 608, 0, - 0, 985, 610, 0, 0, 0, 0, 0, 0, 104, - 0, 0, 0, 0, 1484, 1485, 0, 0, 0, 666, - 0, 0, 0, 0, 0, 208, 216, 0, 244, 0, - 143, 244, 0, 1494, 1495, 570, 571, 572, 573, 574, - 575, 576, 577, 578, 143, 0, 0, 143, 0, 0, - 0, 0, 143, 0, 0, 0, 438, 438, 0, 0, - 83, 7, 8, 9, 10, 0, 729, 242, 730, 0, - 459, 461, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 741, 296, 390, 391, 10, 0, 0, 143, 0, - 143, 0, 143, 143, 143, 0, 0, 0, 143, 21, - 8, 9, 1146, 143, 12, 242, 143, 0, 0, 0, - 14, 0, 26, 0, 27, 28, 0, 0, 0, 0, - 21, 759, 83, 0, 16, 0, 17, 0, 189, 0, - 0, 0, 20, 26, 0, 27, 315, 0, 190, 0, - 0, 23, 0, 605, 0, 0, 32, 0, 0, 0, - 26, 191, 130, 131, 0, 438, 438, 438, 0, 0, - 244, 244, 244, 244, 0, 0, 606, 32, 0, 0, - 0, 0, 1146, 1146, 1146, 0, 607, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 608, 0, 0, 609, - 610, 104, 0, 0, 0, 0, 199, 0, 882, 884, - 7, 8, 9, 10, 163, 12, 13, 0, 8, 9, - 0, 14, 12, 242, 438, 438, 0, 0, 14, 0, - 244, 0, 143, 0, 0, 16, 0, 17, 18, 19, - 0, 0, 16, 20, 17, 0, 143, 143, 21, 620, - 20, 0, 23, 0, 0, 164, 905, 0, 0, 23, - 0, 26, 0, 27, 28, 0, 0, 0, 26, 629, - 130, 131, 0, 0, 0, 143, 946, 30, 614, 618, - 0, 621, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 0, 438, 0, 0, 32, 0, 0, 0, 666, - 33, 0, 0, 0, 0, 34, 0, 126, 0, 0, - 0, 0, 0, 0, 143, 620, 143, 143, 234, 620, - 0, 0, 618, 562, 563, 564, 565, 566, 567, 568, - 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, - 6, 759, 7, 8, 9, 10, 11, 12, 13, 729, - 730, 0, 741, 14, 0, 0, 0, 0, 0, 0, - 143, 0, 0, 0, 620, 0, 0, 16, 0, 17, - 18, 143, 143, 0, 143, 20, 0, 0, 0, 0, - 21, 0, 0, 0, 23, 0, 0, 426, 0, 0, - 1033, 0, 0, 26, 0, 27, 28, 0, 0, 29, - 0, 0, 134, 0, 0, 83, 0, 83, 0, 30, - 618, 0, 1036, 83, 83, 0, 0, 0, 0, 31, - 83, 127, 128, 244, 0, 211, 212, 32, 0, 244, - 0, 14, 33, 0, 0, 0, 143, 143, 143, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, - 0, 0, 0, 20, 0, 51, 0, 0, 0, 0, - 0, 0, 23, 0, 605, 1024, 1025, 9, 10, 0, - 0, 26, 0, 130, 131, 0, 0, 0, 0, 0, - 0, 51, 51, 1105, 150, 1106, 51, 606, 0, 0, - 0, 0, 0, 51, 0, 0, 1112, 607, 0, 0, - 882, 884, 0, 21, 0, 0, 51, 608, 51, 0, - 616, 610, 0, 0, 0, 0, 26, 0, 27, 28, - 0, 143, 0, 143, 1026, 0, 0, 0, 0, 0, - 244, 250, 189, 0, 143, 0, 244, 0, 905, 905, - 905, 0, 190, 882, 884, 629, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 191, 0, 0, 0, 459, - 461, 465, 564, 565, 566, 567, 568, 569, 570, 571, - 572, 573, 574, 575, 576, 577, 578, 244, 0, 244, - 0, 143, 143, 620, 392, 392, 0, 51, 0, 0, - 0, 51, 0, 250, 0, 51, 0, 0, 150, 150, - 150, 0, 0, 465, 0, 127, 128, 0, 0, 211, - 212, 0, 51, 0, 0, 14, 51, 0, 0, 0, - 0, 0, 51, 51, 0, 905, 0, 0, 0, 0, - 0, 0, 1033, 0, 0, 0, 0, 20, 244, 0, - 51, 51, 150, 0, 0, 0, 23, 0, 605, 759, - 250, 244, 0, 0, 1036, 26, 0, 130, 131, 0, - 0, 0, 0, 244, 7, 8, 9, 10, 0, 51, - 13, 606, 8, 9, 0, 0, 12, 13, 0, 0, - 0, 607, 14, 0, 0, 0, 0, 0, 83, 0, - 0, 608, 0, 0, 609, 610, 16, 244, 17, 244, - 0, 0, 21, 0, 20, 0, 51, 0, 0, 0, - 0, 0, 0, 23, 0, 26, 0, 27, 28, 0, - 0, 0, 26, 0, 130, 131, 0, 244, 0, 0, - 0, 462, 143, 143, 0, 143, 0, 0, 0, 0, - 0, 463, 1105, 1106, 882, 884, 0, 0, 0, 32, - 1112, 0, 0, 0, 464, 0, 0, 0, 729, 730, - 459, 461, 465, 0, 0, 0, 741, 0, 0, 0, - 0, 0, 0, 882, 884, 0, 544, 0, 0, 0, - 143, 143, 143, 143, 620, 0, 0, 0, 143, 459, - 461, 465, 0, 392, 0, 759, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 905, 905, 905, 0, 0, 7, 8, 9, 10, - 1338, 0, 504, 0, 0, 0, 0, 759, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 392, 0, 143, 0, 0, 0, 0, 143, 0, 0, - 0, 51, 0, 0, 21, 0, 0, 0, 0, 1105, - 1106, 0, 1112, 0, 0, 51, 0, 26, 51, 27, - 28, 0, 0, 51, 0, 729, 730, 0, 741, 0, - 0, 51, 0, 189, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 190, 0, 0, 0, 143, 143, 0, - 143, 32, 0, 0, 0, 0, 191, 0, 0, 51, - 0, 51, 0, 150, 150, 150, 0, 0, 0, 51, - 0, 0, 0, 0, 51, 1395, 0, 51, 1332, 1333, - 9, 10, 0, 0, 0, 0, 143, 620, 143, 0, - 0, 0, 0, 51, 0, 0, 0, 7, 8, 9, - 10, 201, 12, 202, 0, 244, 0, 0, 14, 0, - 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, - 0, 0, 16, 544, 17, 18, 544, 0, 0, 26, - 20, 27, 28, 0, 0, 21, 0, 1334, 0, 23, - 0, 544, 544, 544, 0, 189, 0, 0, 26, 0, - 27, 28, 0, 0, 203, 190, 544, 0, 0, 0, - 0, 0, 78, 32, 30, 0, 0, 0, 191, 0, - 0, 0, 0, 0, 31, 0, 465, 0, 0, 0, - 0, 0, 32, 0, 0, 0, 0, 33, 78, 78, - 0, 78, 0, 78, 0, 0, 0, 0, 905, 0, - 78, 0, 0, 0, 250, 1332, 127, 128, 10, 0, - 0, 0, 0, 78, 0, 78, 0, 544, 561, 562, - 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, - 573, 574, 575, 576, 577, 578, 51, 0, 0, 0, - 0, 0, 0, 21, 0, 0, 459, 461, 465, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 27, 28, - 392, 0, 0, 0, 1334, 0, 0, 392, 905, 905, - 905, 0, 30, 0, 0, 51, 51, 51, 51, 0, - 0, 0, 31, 0, 0, 0, 0, 244, 198, 0, - 32, 0, 143, 0, 78, 33, 0, 0, 78, 0, - 0, 0, 78, 0, 0, 78, 78, 78, 0, 0, - 8, 9, 0, 253, 12, 13, 257, 0, 0, 78, - 14, 51, 0, 78, 0, 51, 0, 0, 0, 78, - 78, 0, 51, 51, 16, 51, 17, 253, 0, 361, - 0, 0, 20, 0, 0, 0, 0, 78, 78, 78, - 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 130, 131, 588, 0, 51, 0, 51, 155, - 0, 0, 0, 51, 51, 51, 78, 7, 127, 128, - 10, 51, 0, 7, 8, 9, 10, 163, 12, 13, - 0, 200, 717, 0, 14, 0, 0, 0, 0, 589, - 0, 0, 0, 544, 198, 0, 0, 0, 16, 0, - 17, 18, 0, 78, 0, 21, 20, 0, 0, 0, - 0, 21, 198, 198, 198, 23, 0, 605, 26, 0, - 27, 28, 472, 0, 26, 0, 27, 28, 0, 0, - 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, - 1142, 198, 0, 0, 148, 0, 0, 0, 0, 0, - 1143, 0, 32, 0, 0, 0, 0, 149, 32, 0, - 608, 0, 0, 1144, 610, 0, 0, 257, 7, 8, - 9, 10, 0, 155, 155, 155, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 0, 0, 0, 544, - 544, 544, 0, 0, 0, 250, 0, 200, 0, 628, - 0, 0, 0, 78, 0, 0, 21, 0, 0, 0, - 0, 0, 0, 0, 0, 200, 200, 466, 0, 26, - 0, 27, 28, 0, 0, 1402, 0, 0, 0, 0, - 0, 0, 51, 51, 150, 189, 0, 0, 0, 250, - 0, 0, 0, 0, 200, 190, 0, 0, 78, 0, - 0, 0, 0, 32, 0, 0, 0, 0, 191, 0, - 0, 0, 78, 0, 0, 78, 0, 0, 0, 0, - 78, 0, 0, 253, 257, 0, 1174, 0, 78, 566, - 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, - 577, 578, 7, 8, 9, 10, 0, 0, 0, 365, - 367, 0, 0, 0, 0, 51, 78, 0, 78, 0, - 78, 78, 78, 0, 0, 0, 78, 0, 0, 0, - 517, 78, 0, 198, 78, 0, 250, 0, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 78, 0, 0, 26, 0, 27, 28, 0, 0, 0, - 0, -383, 8, 9, -383, -383, 12, 242, 0, 189, - 0, 0, 14, 7, 8, 9, 10, 0, 0, 190, - 613, 613, 613, 0, 0, 0, 16, 32, 17, -383, - 0, 198, 191, 198, 20, 198, 198, 198, 0, -383, - 0, 198, 0, 23, 0, 605, 198, 0, 0, 198, - 0, 21, 26, 0, 130, 131, 0, 0, 0, 0, - 250, 0, 0, 0, 26, 0, 27, 28, 606, 8, - 9, 0, 163, 12, 13, 0, 200, 717, 607, 14, - 462, 51, 51, 150, 150, 150, -383, 250, 608, 51, - 463, 609, 610, 16, 0, 17, 18, 0, 32, 0, - 0, 20, 628, 464, 0, 0, 0, 0, 0, 0, - 23, 0, 1174, 1174, 1174, 0, 0, 0, 0, 26, - 0, 130, 131, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 200, 0, 200, 0, 466, 466, - 466, 0, 0, 51, 200, 0, 0, 0, 51, 200, - 0, 0, 200, 0, 0, 0, 162, 0, 7, 8, - 9, 10, 163, 12, 13, 0, 0, 547, 0, 14, - 0, 255, 78, 78, 78, 78, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, - 0, 20, 253, 257, 0, 0, 21, 0, 51, 51, - 23, 51, 0, 164, 0, 0, 0, 0, 198, 26, - 0, 27, 28, 0, 0, 0, 0, 0, 78, 0, - 0, 0, 78, 0, 0, 30, 0, 0, 0, 78, - 78, 0, 78, 0, 0, 31, 0, 51, 51, 51, - 673, 0, 0, 32, 422, 0, 0, 198, 33, 198, - 198, 0, 0, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 0, 78, 0, 0, 867, 0, - 78, 78, 78, 0, 0, 0, 457, 0, 78, 0, - 0, 0, 613, 613, 0, 613, 0, 0, 0, 473, - 8, 9, 613, 198, 12, 13, 0, 0, 719, 0, - 14, 0, 0, 0, 198, 198, 0, 198, 0, 0, - 0, 200, 0, 0, 16, 0, 17, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 23, 257, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 130, 131, 0, 198, 0, 0, 0, 1174, - 945, 0, 945, 945, 0, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 801, 0, 0, 804, 0, 0, - 0, 806, 807, 809, 810, 811, 0, 0, 0, 858, - 0, 0, 0, 0, 547, 8, 9, 0, 163, 12, - 13, 0, 0, 0, 0, 14, 945, 828, 0, 0, - 0, 0, 0, 628, 0, 0, 0, 200, 200, 16, - 200, 17, 18, 0, 0, 0, 0, 20, 0, 1174, - 1174, 1174, 0, 0, 0, 0, 667, 0, 0, 164, - 0, 0, 0, 0, 0, 26, 0, 130, 131, 78, - 78, 78, 0, 51, 0, 0, 0, 0, 200, 0, - 0, 885, 0, 0, 0, 0, 0, 0, 885, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 517, 517, 517, 0, 0, 253, 257, 253, - 0, 0, 0, 1176, 613, 0, 0, 0, 0, 0, - 0, 0, 76, 563, 564, 565, 566, 567, 568, 569, - 570, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 0, 78, 0, 198, 198, 1145, 0, 141, 145, - 0, 253, 0, 76, 0, 0, 0, 611, 611, 611, - 76, 565, 566, 567, 568, 569, 570, 571, 572, 573, - 574, 575, 576, 577, 578, 209, 78, 0, 0, 0, - 0, 0, 0, 0, 0, 734, 0, 613, 1145, 613, - 740, 0, 0, 0, 0, 0, 673, 0, 0, 0, - 613, 0, 0, 0, 613, 613, 613, 0, 0, 0, - 0, 0, 0, 0, 0, 782, 0, 198, 0, 0, - 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 796, 797, 0, 798, 0, 472, 0, - 0, 0, 0, 0, 0, 0, 0, 945, 945, 1147, - 0, 0, 0, 0, 403, 719, 0, 0, 406, 0, - 0, 719, 408, 0, 0, 0, 0, 0, 78, 78, - 78, 78, 78, 0, 0, 0, 78, 0, 0, 76, - 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, - 209, 1147, 0, 0, 0, 0, 0, 0, 0, 1176, - 1176, 1176, 0, 0, 0, 0, 0, 141, 145, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 200, 0, 253, 0, 0, 0, 0, 0, 0, 1086, - 78, 893, 894, 0, 0, 78, 893, 0, 0, 0, - 0, 0, 0, 198, 198, 198, 198, 1145, 0, 1259, - 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 828, 0, 0, 0, 0, 0, 719, 0, - 0, 0, 885, 505, 1145, 1145, 1145, 0, 0, 0, - 0, 0, 0, 0, 0, 78, 78, 0, 78, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 867, 867, - 0, 867, 0, 0, 0, 198, 0, 0, 0, 673, - 0, 1138, 0, 0, 0, 885, 0, 0, 0, 611, - 611, 0, 611, 0, 78, 78, 78, 0, 0, 902, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 945, 945, 1147, 1147, - 1147, 0, 0, 0, 945, 0, 0, 885, 0, 0, - 198, 198, 0, 198, 0, 0, 0, 0, 0, 0, - 1180, 0, 0, 637, 0, 0, 1186, 1147, 1147, 1147, - 0, 0, 0, 719, 0, 0, 0, 611, 0, 611, - 611, 0, 611, 0, 0, 719, 0, 0, 0, 198, - 0, 198, 0, 102, 0, 0, 0, 0, 200, 1056, - 0, 1058, 121, 102, 0, 0, 0, 0, 0, 102, - 102, 0, 102, 0, 0, 0, 0, 0, 0, 719, - 0, 719, 688, 611, 0, 689, 1176, 0, 0, 0, - 691, 0, 0, 0, 0, 0, 0, 0, 76, 0, - 0, 0, 0, 0, 231, 0, 0, 0, 0, 1233, - 0, 0, 0, 945, 945, 0, 945, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 406, 0, 408, 0, - 0, 0, 0, 1092, 1093, 0, 1095, 0, 0, 0, - 0, 505, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 200, 0, 200, 0, 1176, 1176, 1176, 0, - 777, 1145, 0, 385, 1113, 121, 885, 0, 0, 0, - 0, 611, 102, 102, 0, 0, 0, 0, 0, 102, - 78, 102, 102, 102, 0, 412, 102, 102, 102, 8, - 9, 0, 163, 12, 13, 885, 0, 1530, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 1148, 17, 18, 0, 0, 0, - 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, - 23, 1145, 1145, 1145, 0, 0, 0, 0, 0, 26, - 0, 130, 131, 0, 611, 0, 611, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 0, 611, 0, 0, - 0, 902, 902, 902, 466, 7, 8, 9, 10, 163, - 12, 13, 487, 102, 990, 0, 14, 0, 0, 1191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 1196, 17, 18, 102, 0, 0, 0, 20, 0, - 0, 0, 0, 21, 611, 611, 611, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 27, 28, - 8, 9, 0, 201, 12, 202, 0, 0, 0, 0, - 14, 0, 30, 102, 466, 466, 466, 1180, 0, 0, - 0, 0, 31, 947, 16, 0, 17, 18, 902, 0, - 32, 0, 20, 0, 0, 33, 0, 0, 200, 0, - 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 130, 131, 0, 0, 0, 1247, 0, 0, - 0, 102, 0, 102, 102, 1024, 8, 761, 10, 201, - 12, 202, 991, 0, 0, 0, 14, 0, 0, 688, - 689, 0, 691, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 17, 18, 0, 0, 1260, 0, 20, 0, - 0, 0, 0, 21, 0, 0, 0, 23, 102, 0, - 0, 0, 0, 777, 0, 777, 26, 0, 27, 28, - 1034, 1041, 777, 0, 1026, 0, 102, 0, 777, 0, - 0, 0, 30, 102, 0, 0, 102, 0, 0, 0, - 0, 102, 31, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 33, 0, 0, 0, 1347, - 0, 0, 0, 1348, 0, 0, 0, 0, 0, 7, - 8, 9, 10, 163, 12, 13, 0, 0, 0, 0, - 14, 0, 547, 611, 611, 611, 611, 611, 0, 0, - 0, 611, 0, 0, 16, 0, 17, 18, 1364, 673, - 0, 0, 20, 0, 0, 0, 0, 21, 102, 0, - 752, 23, 0, 0, 902, 902, 902, 0, 0, 0, - 26, 0, 27, 28, 0, 0, 760, 0, 7, 8, - 761, 10, 163, 12, 13, 102, 30, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, - 0, 0, 0, 16, 32, 17, 18, 19, 0, 33, - 0, 20, -521, 0, 0, 0, 21, 0, 0, 0, - 23, 762, 1420, 164, 0, 0, 1421, 0, 0, 26, - 0, 27, 28, 0, 0, 763, 1462, 764, 0, 141, - 145, 0, 0, 0, 0, 30, 0, 0, 1439, 1440, - 611, 611, 0, 611, 0, 31, 0, 0, 0, 0, - 0, 102, 0, 32, 0, 0, 0, 0, 33, 0, - 0, 0, 102, 102, 0, 102, 102, 0, 0, 0, - 0, 0, 0, 0, -521, 0, 1463, 557, 558, 559, - 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, - 570, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 0, 1034, 0, 0, 0, 0, 0, 0, 1433, - 0, -475, -475, -475, -475, -475, -475, -475, 102, 0, - -475, 0, -475, 0, 0, 102, 121, 0, 0, 0, - 0, 0, 0, -475, 0, -475, 777, 231, 0, -475, - 0, 0, 0, 0, -475, 0, 0, 0, 0, -475, - 0, 0, 0, -475, 0, -475, 0, 0, 0, 0, - 752, 0, -475, 0, -475, -475, -475, -475, -475, 0, - -475, -475, -475, -475, -475, -475, -475, -475, -475, -475, - -475, -475, -475, -475, -475, -475, -475, -475, -475, -475, - -475, -475, -475, 0, -475, -475, -475, 0, -475, -475, - -475, -475, -475, -475, 0, -475, 0, 0, 0, 0, - 1434, 0, 0, 0, 0, -475, -475, -475, 752, -475, - 0, 102, 0, 0, 0, 0, 0, 0, 406, 408, - 0, 0, 0, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 102, 102, 102, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 539, 0, 296, 8, 9, 10, 163, 12, - 297, 298, 299, 717, 300, 14, 0, 0, 0, 0, - 1339, 0, 0, 0, 0, 1339, 0, 0, 0, 16, - 301, 17, 18, 19, 0, 302, 303, 20, 0, 304, - 305, 306, 21, 307, 308, 0, 23, 0, 605, 0, - 309, 310, 311, 312, 313, 26, 0, 27, 315, -308, - 0, 0, 316, 0, 0, 0, 0, 0, 317, 0, - 102, 898, 102, 0, 0, 688, 689, 0, 691, 319, - 320, 899, 0, 102, 0, 0, 0, 322, 323, 324, - 0, 608, 0, 0, 900, 610, 0, 0, 0, 0, - 1410, 0, 1270, 1271, 1272, 10, 163, 12, 297, 298, - 299, 326, 300, 14, 1273, 1407, 1274, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 15, 16, 301, 17, - 18, 19, 0, 302, 303, 20, 0, 304, 305, 306, - 21, 307, 308, 1284, 23, 1285, 0, 0, 309, 310, - 311, 312, 313, 26, 0, 1286, 315, 704, 0, 1287, - 316, 0, 0, 0, 0, 0, 317, 0, 0, 318, - 0, 0, 0, 0, 0, 0, 0, 319, 320, 321, - 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, - 0, 0, 325, 0, 1288, 0, 0, 0, 752, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1411, 326, - 1269, 0, 1270, 1271, 1272, 10, 163, 12, 297, 298, - 299, 0, 300, 14, 1273, 102, 1274, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 15, 16, 301, 17, - 18, 19, 0, 302, 303, 20, 0, 304, 305, 306, - 21, 307, 308, 1284, 23, 1285, 0, 0, 309, 310, - 311, 312, 313, 26, 0, 1286, 315, 704, 0, 1287, - 316, 0, 0, 0, 0, 0, 317, 0, 0, 318, - 0, 102, 102, 0, 102, 0, 0, 319, 320, 321, - 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, - 0, 0, 325, 0, 1288, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, - 0, 0, 539, 0, 7, 8, 9, 10, 163, 12, - 297, 298, 299, 717, 300, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 752, 0, 0, 0, 0, 16, - 301, 17, 18, 19, 0, 302, 303, 20, 0, 304, - 305, 306, 21, 307, 308, 0, 23, 0, 605, 0, - 309, 310, 311, 312, 313, 26, 752, 27, 28, -308, - 0, 0, 316, 0, 0, 0, 0, 0, 317, 0, - 0, 1171, 0, 0, 102, 0, 102, 0, 0, 319, - 320, 1172, 0, 0, 0, 0, 0, 322, 323, 324, - 0, 608, 0, 0, 1173, 610, 716, 0, 296, 8, - 9, 10, 163, 12, 297, 298, 299, 717, 300, 14, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 301, 17, 18, 19, 0, 302, - 303, 20, 0, 304, 305, 306, 21, 307, 308, 0, - 23, 0, 0, 0, 309, 310, 311, 312, 313, 26, - 0, 27, 315, 0, 0, 0, 316, 0, 0, 0, - 0, 0, 317, 0, 0, 318, 0, 0, 0, 0, - 0, 0, 0, 319, 320, 321, 0, 0, 0, 0, - 0, 322, 323, 324, 0, 0, 0, 831, 325, 296, - 8, 9, 10, 163, 12, 297, 298, 299, 0, 300, - 14, 0, 0, -792, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 301, 17, 18, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 27, 315, 1507, 0, -782, 316, 0, 0, - 0, 0, 0, 317, 0, 0, 318, 0, 0, 0, - 0, 0, 0, 0, 319, 320, 321, 0, 0, 0, - 0, 0, 322, 323, 324, 0, 0, 0, 707, 325, - 819, 820, 821, 10, 0, 12, 521, 298, 299, 0, - 300, 14, 0, 0, 0, 0, 326, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 301, 17, 0, 19, - 0, 302, 303, 20, 0, 304, 305, 306, 21, 307, - 308, 0, 23, 0, 0, 0, 309, 310, 311, 312, - 313, 26, 0, 822, 823, 708, 0, 0, 316, 0, - 0, 0, 0, 0, 317, 0, 0, 318, 0, 0, - 0, 0, 0, 0, 0, 319, 320, 321, 0, 0, - 0, 0, 0, 322, 323, 324, 0, 0, 0, 0, - 325, 824, 707, 0, 819, 820, 821, 10, 0, 12, - 521, 298, 299, 0, 300, 14, 977, 326, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 301, 17, 0, 19, 0, 302, 303, 20, 0, 304, - 305, 306, 21, 307, 308, 0, 23, 0, 0, 0, - 309, 310, 311, 312, 313, 26, 0, 822, 823, 708, - 0, 0, 316, 0, 0, 0, 0, 0, 317, 0, - 0, 318, 0, 0, 0, 0, 0, 0, 0, 319, - 320, 321, 0, 0, 0, 0, 0, 322, 323, 324, - 0, 0, 0, 0, 325, 824, 707, 0, 819, 820, - 821, 10, 0, 12, 521, 298, 299, 0, 300, 14, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 301, 17, 0, 19, 0, 302, - 303, 20, 0, 304, 305, 306, 21, 307, 308, 0, - 23, 0, 0, 0, 309, 310, 311, 312, 313, 26, - 0, 822, 823, 708, 0, 0, 316, 0, 0, 0, - 0, 0, 317, 0, 0, 318, 0, 0, 0, 0, - 0, 0, 0, 319, 320, 321, 0, 0, 0, 0, - 0, 322, 323, 324, 0, 0, 0, 707, 325, 819, - 820, 821, 10, 0, 12, 521, 298, 299, 0, 300, - 14, 0, 0, 0, -479, 326, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 301, 17, 0, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 822, 823, 708, 0, 0, 316, 0, 0, - 0, 0, 0, 317, 0, 0, 318, 0, 0, 0, - 0, 0, 0, 0, 319, 320, 321, 0, 0, 0, - 0, 0, 322, 323, 324, 0, 0, 0, 707, 325, - 296, 8, 9, 10, 0, 12, 521, 298, 299, 0, - 300, 14, 0, 0, 0, 1308, 326, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 301, 17, 0, 19, - 0, 302, 303, 20, 0, 304, 305, 306, 21, 307, - 308, 0, 23, 0, 0, 0, 309, 310, 311, 312, - 313, 26, 0, 27, 315, 708, 0, 0, 316, 0, - 0, 0, 0, 0, 317, 0, 0, 318, 0, 0, - 0, 0, 0, 0, 0, 319, 320, 321, 0, 0, - 0, 0, 0, 322, 323, 324, 0, 0, 0, 0, - 325, 0, 539, 0, 296, 8, 9, 10, 1312, 12, - 297, 298, 299, 0, 300, 14, 0, 326, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 301, 17, 0, 19, 0, 302, 303, 20, 0, 304, - 305, 306, 21, 307, 308, 0, 23, 0, 0, 0, - 309, 310, 311, 312, 313, 26, 0, 27, 315, -308, - 0, 0, 316, 0, 0, 0, 0, 0, 317, 0, - 0, 540, 0, 0, 0, 0, 0, 0, 0, 319, - 320, 541, 0, 0, 0, 0, 0, 322, 323, 324, - 0, 0, 0, 707, 542, 296, 8, 9, 10, 0, - 12, 521, 298, 299, 0, 300, 14, 0, 0, 0, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 301, 17, 0, 19, 0, 302, 303, 20, 0, - 304, 305, 306, 21, 307, 308, 0, 23, 0, 0, - 0, 309, 310, 311, 312, 313, 26, 0, 27, 315, - 708, 0, 0, 316, 0, 0, 0, 0, 0, 317, - 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 319, 320, 321, 0, 0, 0, 0, 0, 322, 323, - 324, 0, 0, 0, 831, 325, 296, 8, 9, 10, - 0, 12, 521, 298, 299, 0, 300, 14, 0, 0, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 301, 17, 0, 19, 0, 302, 303, 20, - 0, 304, 305, 306, 21, 307, 308, 0, 23, 0, - 0, 0, 309, 310, 311, 312, 313, 26, 0, 27, - 315, 0, 0, 0, 316, -782, 0, 0, 0, 0, - 317, 0, 0, 318, 0, 0, 0, 0, 0, 0, - 0, 319, 320, 321, 0, 0, 0, 0, 0, 322, - 323, 324, 0, 0, 0, 539, 325, 7, 8, 9, - 10, 0, 12, 297, 298, 299, 0, 300, 14, 0, - 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 301, 17, 0, 19, 0, 302, 303, - 20, 0, 304, 305, 306, 21, 307, 308, 0, 23, - 0, 0, 0, 309, 310, 311, 312, 313, 26, 0, - 27, 28, -308, 0, 0, 316, 0, 0, 0, 0, - 0, 317, 0, 0, 1478, 0, 0, 0, 0, 0, - 0, 0, 319, 320, 1479, 0, 0, 0, 0, 0, - 322, 323, 324, 0, 0, 0, 1559, 1480, 296, 8, - 9, 10, 0, 12, 297, 298, 299, 0, 300, 14, - 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 301, 17, 0, 19, 0, 302, - 303, 20, 0, 304, 305, 306, 21, 307, 308, 0, - 23, 0, 0, 0, 309, 310, 311, 312, 313, 26, - 0, 27, 315, 0, 0, -194, 316, 0, 0, 0, - 0, 0, 317, 0, 0, 318, 0, 0, 0, 0, - 0, 0, 0, 319, 320, 321, 0, 0, 0, 0, - 0, 322, 323, 324, 0, 0, 0, 831, 325, 296, - 8, 9, 10, 0, 12, 521, 298, 299, 0, 300, - 14, 0, 0, 0, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 301, 17, 0, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 27, 315, 0, 0, 0, 316, 0, 0, - 0, 0, 0, 317, 259, 0, 318, 8, 9, 0, - 0, 12, 13, 0, 319, 320, 321, 14, 0, 0, - 0, 0, 322, 323, 324, 0, 0, 0, 0, 325, - 0, 16, 0, 17, 0, 0, 0, 0, 0, 20, - 0, 260, 261, 0, -782, 0, 326, 0, 23, 0, - 262, 0, 0, 0, 0, 0, 0, 26, 0, 130, - 131, 0, 263, 0, 0, 0, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 285, - 286, 287, 0, 0, 288, 0, 919, 289, 296, 8, - 9, 10, 0, 12, 521, 298, 299, 0, 300, 14, - 0, 0, 0, 290, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 301, 17, 0, 19, 0, 302, - 303, 20, 0, 304, 305, 306, 21, 307, 308, 0, - 23, 0, 0, 0, 309, 310, 311, 312, 313, 26, - 0, 27, 315, 0, 0, 0, 316, 0, 0, 0, - 0, 0, 317, 0, 0, 318, 0, 0, 0, 0, - 0, 0, 0, 319, 320, 321, 0, 0, 0, 0, - 0, 322, 323, 324, 0, 0, 0, 921, 325, 296, - 8, 9, 10, 0, 12, 521, 298, 299, 0, 300, - 14, 0, 0, 0, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 301, 17, 0, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 27, 315, 0, 0, 0, 316, 0, 0, - 0, 0, 0, 317, 0, 0, 318, 0, 0, 0, - 0, 0, 0, 0, 319, 320, 321, 0, 0, 0, - 0, 0, 322, 323, 324, 0, 0, 0, 1491, 325, - 296, 8, 9, 10, 0, 12, 521, 298, 299, 0, - 300, 14, 0, 0, 0, 0, 326, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 301, 17, 0, 19, - 0, 302, 303, 20, 0, 304, 305, 306, 21, 307, - 308, 0, 23, 0, 0, 0, 309, 310, 311, 312, - 313, 26, 0, 27, 315, 0, 0, 0, 316, 0, - 0, 0, 0, 0, 317, 0, 0, 318, 0, 0, - 0, 0, 0, 0, 0, 319, 320, 321, 0, 0, - 0, 0, 0, 322, 323, 324, 296, 8, 9, 10, - 325, 12, 521, 298, 299, 0, 300, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, - 0, 16, 301, 17, 0, 19, 0, 302, 303, 20, - 0, 304, 305, 306, 21, 307, 308, 0, 23, 0, - 0, 0, 309, 310, 311, 312, 313, 26, 0, 27, - 315, 0, 0, 0, 316, 0, 0, 0, 0, 0, - 317, 0, 760, 318, 7, 8, 761, 10, 163, 12, - 13, 319, 320, 321, 0, 14, 0, 0, 0, 322, - 323, 324, 0, 0, 0, 0, 325, 0, 0, 16, - 0, 17, 18, 19, 0, 0, 0, 20, -522, 0, - 0, 0, 21, 326, 870, 0, 23, 762, 0, 164, + 435, 443, 420, 423, 122, 36, 444, 487, 432, 253, + 445, 513, 42, 72, 629, 196, 356, 989, 357, 392, + 103, 208, 831, 692, 639, 693, 638, 752, 256, 770, + 59, 224, 155, 719, 58, 690, 36, 59, 708, 141, + 146, 1103, 35, 42, 72, 506, 723, 147, 535, 538, + 42, 72, 209, 398, 399, 900, 503, 400, 669, 298, + 486, 174, 900, 408, 391, 58, 177, 247, 57, 494, + 971, 870, 58, 35, 1466, 965, 397, 1521, 607, 296, + 169, 568, 1028, 349, 1030, 349, 55, 349, 1428, 260, + 1413, 1057, 256, 297, 525, 1431, 492, 495, 170, 57, + 403, 1525, 349, 349, 1065, 171, 176, 607, 791, 224, + 1070, 182, 364, 190, 295, 642, 607, 55, 1526, 937, + 1178, 178, 1553, 38, 175, 224, 716, 516, 158, 1562, + 163, 406, 349, -1, 349, 196, 829, 1555, 221, 757, + 208, 249, 1184, 1535, 467, 72, -2, 525, 155, 155, + 155, 256, 923, -143, 38, 452, 794, 411, 419, 422, + 59, 1002, 413, 1550, 59, 137, 58, 902, 938, 1584, + 164, 209, 86, 997, 72, 1563, 449, 42, 72, 740, + 792, 224, 591, 717, 440, 1588, 127, 128, 174, 224, + 468, 520, 1185, 177, 155, 58, 1179, 88, 1576, 58, + 405, 816, 470, 472, 705, 224, 972, 169, 1003, 1269, + 147, 1004, -354, 978, 190, 1058, 453, 1129, 404, 1553, + 998, 87, 1592, 999, 1330, 170, -354, 1607, 592, 57, + 453, 514, 171, 176, -300, -363, 26, 15, 130, 131, + 987, 93, 1617, -293, 158, 158, 158, 55, 178, 454, + 1466, 175, 877, 1529, 260, 39, 1339, 1340, 1270, 190, + 617, 1523, 878, 454, 1059, 1389, 613, 15, -363, 830, + 1360, -413, -363, 1331, 591, 517, 879, 515, 490, 1022, + -300, -300, 94, 634, 645, 107, 39, 713, 221, 612, + 158, 1618, 247, 805, 990, -293, 221, 221, 1136, 1389, + -413, 1139, 1560, 308, -413, -363, 815, 976, 977, 1023, + 639, 239, 374, 950, 1390, 240, 677, 604, 375, 26, + 592, 1250, 108, 646, 349, 672, 221, 420, 423, 635, + 979, 760, 761, 617, 1207, 1151, 89, 296, 755, 806, + -623, 1102, 1165, 1166, -141, 247, 1212, 900, 1497, -413, + 508, 297, 1593, 349, 648, 941, 90, 91, 692, 109, + 1008, 260, 8, 9, 695, 492, 495, 1057, 72, 135, + 513, -581, 295, 492, 980, 221, -364, 92, 15, 815, + 1231, 26, 1233, 981, 982, 495, -623, -623, -120, 58, + 15, 900, 561, 1439, 562, 1213, 509, 689, 629, 137, + 209, -623, 1445, 1446, 495, 1447, -302, 88, 888, -364, + 680, 691, 1154, -364, 130, 131, 1373, -581, 189, 224, + 983, -120, 161, 405, 162, -120, 127, 128, 221, 643, + 644, 516, 688, 784, 900, 700, 89, 59, 701, 179, + 608, 647, 300, 394, 395, 10, -364, 609, 459, 183, + 704, 72, -302, -302, 889, 1131, 90, 812, -120, 890, + 1104, 710, 224, 733, 187, 460, 177, -296, 781, 366, + 370, 1033, 58, 155, 155, 155, 26, 691, 130, 131, + 21, 698, 699, 744, 745, 221, 411, 610, 413, 40, + 188, 951, 877, 26, 461, 27, 319, 18, 688, 59, + -581, 517, 878, 1411, 1034, 891, 176, 952, 1035, 892, + 1266, 1267, 1012, 72, 873, 137, 879, 215, 216, 242, + 40, 178, 138, 14, 175, 750, 349, 611, 91, 349, + -144, 874, 349, 756, 58, 975, 349, 821, 821, 821, + 821, 1036, 778, 1462, 138, 20, -581, 482, 92, 349, + 770, 1538, 1539, 997, 23, 893, 617, 244, 1013, 349, + 875, 758, 349, 299, 139, 221, 221, 1177, 786, 158, + 158, 158, 692, 221, 693, 377, 1018, 604, 1020, 873, + -118, 138, 15, 1024, 690, 221, 785, 1037, 639, 908, + 638, 127, 128, 900, 677, 90, 874, 296, 946, 944, + 998, 947, 815, 999, 221, -826, 1440, 926, 95, 110, + 111, 297, 360, -118, 589, 590, 689, -118, 88, 525, + 8, 9, 900, 733, 1171, 875, 1372, 894, 896, 1173, + 691, 129, 295, 1038, 492, 909, 910, 691, 260, 564, + 372, 26, 362, 130, 131, 376, 958, 380, 963, 964, + -118, 688, -302, 127, 128, 561, 1255, 562, 688, 568, + 122, 112, 113, 381, 363, 392, -293, -302, 349, 401, + 1172, -302, 130, 131, 803, 1174, 425, 1239, 1241, 642, + 189, 91, 209, 127, 128, 1405, 247, -302, 127, 128, + -7, 555, 303, 964, 164, 988, 987, 1175, 129, -302, + -302, 92, -302, 26, -302, 130, 131, 784, 26, 784, + 1025, 1408, 116, 117, 118, 784, 784, 91, 924, 526, + 804, 433, 784, 1066, 1067, -618, 1068, 221, 770, 527, + 1468, 617, 689, -302, -302, 130, 131, 92, 26, 1571, + 130, 131, 781, 1176, 781, 1043, 691, 447, -302, 1042, + 1052, 781, 1017, 448, 618, 451, 1026, 781, 222, 223, + 700, 701, 463, 704, 619, 119, 120, 688, 221, 432, + 1241, 816, 464, 59, 620, 59, 1469, 621, 622, 1326, + 1328, 209, 59, 521, 1332, 1572, 1062, 72, 59, 72, + 522, 689, 349, 349, 378, 349, 72, 689, 523, 95, + 110, 111, 72, 1595, 1167, 691, 8, 518, 58, 524, + 58, 691, 221, 379, 92, 1609, 778, 58, 778, 532, + 116, 117, 118, 58, 1370, 778, 688, 727, 127, 128, + 541, 778, 688, 137, 221, 1202, 1203, 1204, 1039, 1040, + 9, 10, 786, 542, 786, 543, 1031, 1032, 91, 1596, + 363, 786, 112, 113, 114, 1060, -142, 786, 130, 131, + 785, 1610, 1029, 544, 89, 349, 1585, 593, 92, 785, + 1106, 26, 1214, 119, 120, 785, 21, 545, 26, 607, + 130, 131, 519, 653, 90, 1078, 224, 1251, 1252, 26, + 1254, 27, 28, 222, 446, 1208, 555, 1041, 821, 555, + 221, 127, 128, 818, 689, 193, 594, 595, 733, 564, + 256, 596, 597, 598, 599, 194, 555, 656, 691, 1434, + 894, 896, 691, 32, 89, 260, 480, 481, 195, 555, + 127, 128, 1392, 845, 215, 216, 657, 15, 659, 688, + 14, -413, -52, 688, 90, 363, 689, -52, 821, 349, + 488, 489, 689, 130, 131, 91, 155, 1460, -52, 680, + 691, 868, 20, 1393, 1155, 1156, 691, 884, 89, -413, + -413, 23, 147, 617, 1472, 92, 1441, 519, 816, 253, + 26, 688, 130, 131, 127, 128, 660, 688, 90, 1043, + 1489, 673, 784, 1042, 661, 733, 618, -181, 256, 155, + 214, 215, 216, 1075, 1076, 1077, 619, 14, 821, 691, + 420, 423, 137, -181, 349, -181, 620, 1150, 674, 628, + 622, 689, 8, 9, 18, 1209, 1210, 781, 363, 20, + 688, 480, 711, 689, 90, 691, 130, 131, 23, 420, + 423, 1258, 488, 712, 92, 215, 216, 691, 1387, 1388, + 702, 14, 158, 696, 1223, -6, 688, 15, 59, 706, + 252, -413, 480, 1491, 488, 1492, 363, 689, 688, 689, + 480, 1496, 72, 20, 130, 131, 1472, 300, 394, 395, + 10, 691, 23, 691, 7, 8, 250, 10, 728, -413, + -413, 15, 746, 58, -413, 158, 1472, 821, 252, 751, + 797, 778, 688, 798, 688, 799, 800, 1216, 807, 256, + 349, 808, 825, 1218, 1219, 21, 827, 1216, 1221, 717, + 828, 1219, 21, 830, 885, 1568, 887, 786, 26, 251, + 27, 319, 901, 692, 903, 1546, 905, 27, 28, 1226, + 1227, 1228, 1419, 929, 1424, 785, 1421, 930, 939, 520, + 943, 988, 940, 945, 689, 1472, 155, 155, 155, 20, + -296, 252, 32, 719, 953, 954, 1272, 1273, 691, 32, + 967, 411, 413, 127, 128, 973, 1313, 974, 13, 517, + 994, 816, 1305, 733, 453, 155, 155, 155, 995, 688, + 72, 996, 1611, 1001, -825, 1272, 1273, 691, 8, 9, + 1010, 1014, 1015, 127, 1357, 1019, 1061, 1021, 1084, 1345, + 1346, 58, 1355, 1356, 1085, 1358, 617, 1079, 688, 1304, + 1086, 1080, 1081, 26, 1082, 130, 131, 586, 587, 588, + 589, 590, 300, 394, 395, 10, 1083, 140, 140, 618, + 156, 1109, 363, 1087, -140, 1312, 1088, 363, 1089, 619, + 130, 131, 158, 158, 158, 130, 131, 1091, 1094, 620, + 1092, 1096, 621, 622, 212, 1095, 220, 1097, 1098, 1111, + 21, 1418, 236, 1418, 519, 555, 1113, 251, 1114, 519, + 1116, 158, 158, 158, 1115, 27, 319, 1122, 700, 701, + 1142, 704, 1123, 1132, 339, 1133, 339, 1124, 339, 1313, + 1130, 300, 394, 395, 10, 1135, 1145, 209, 1149, 1313, + 1170, 1148, 1217, 72, 525, 1305, 1313, 32, 1193, 95, + 96, 97, 1305, 72, 1199, 821, 1222, 127, 128, 1534, + 72, 1377, 516, 1225, 58, 1229, 1234, 1437, 1438, 21, + 1235, 1242, 1304, 339, 58, 339, 420, 423, 140, 1236, + 1237, 58, 1304, 140, 27, 319, 156, 156, 156, 1304, + -577, 1244, 1257, -577, 1268, 1178, 1245, 1246, 1312, 1249, + 26, 1565, 98, 99, 100, 1253, 1259, 26, 1312, 130, + 131, 1200, 1260, 212, 1261, 1312, 32, 1264, 1265, 450, + 1271, 1276, 221, 526, 1325, 1334, 1335, 1338, 905, 460, + 140, 140, 156, 527, 7, 127, 128, 10, 1342, 76, + -577, -660, -577, -577, 1364, -577, 220, 1365, 1443, 1444, + 1371, 1375, 155, 1376, 493, 220, -577, 1381, -577, 1382, + 1383, 1391, 1384, 1400, 1401, 1402, 1503, 1504, 1505, 1414, + 76, 1416, 21, 1429, -577, -577, 1432, 76, 1456, 251, + 584, 585, 586, 587, 588, 589, 590, 27, 28, -577, + 201, 1457, 213, 1458, 1516, 1483, 140, 1459, 1464, 1313, + 1313, 1516, 1475, 1476, 1313, 1305, 1480, 1549, 297, 1482, + 1305, 252, 375, 72, 72, 297, 1490, 490, 72, 32, + 349, 1512, 155, 155, 155, 1536, 1537, 1511, 1520, 295, + 1531, 1530, 744, 745, 58, 58, 295, 689, 1548, 58, + 1540, 1542, 1304, 1304, 1313, 1557, 1558, 1304, 158, 1579, + 1305, 691, 1583, 1313, 1590, 1566, 546, 1591, 72, 1305, + 1567, 95, 110, 111, 510, 1594, 156, 72, 1312, 1312, + 1599, 407, 688, 1312, 1597, 410, 1600, 1604, 1613, 58, + 555, 1516, 1608, 214, 215, 216, 1612, 1304, 58, 1615, + 14, 1620, 1621, 1587, 339, 297, 1304, 1623, 1624, 21, + 76, 1, 442, 1313, 76, 5, 160, 18, 942, 1305, + 201, 213, 20, 1312, 112, 113, 295, 72, 158, 158, + 158, 23, 1312, 1152, 441, 221, 1366, 1367, 1368, 1369, + 1487, 439, 709, 1277, 116, 760, 761, 1053, 58, 1564, + 359, 1313, 212, 220, 1569, 1471, 1304, 1305, 7, 8, + 9, 10, 382, 383, 384, 72, 140, 201, 409, 140, + 1619, 763, 1374, 531, 1144, 156, 156, 156, 1143, 993, + 502, 140, 1312, 1205, 1336, 153, 58, 1063, 1055, 1359, + 932, 1141, 872, 483, 1304, 26, 21, 119, 120, 1404, + 614, 1427, 617, 390, 1322, 1598, 722, 726, 1586, 26, + 1561, 27, 28, 26, 726, 386, 387, 140, 1605, 140, + 1312, 156, 156, 156, 1603, 955, 450, 1433, 1192, 95, + 414, 415, 140, 493, 220, 956, 0, 450, 0, 0, + 0, 493, 0, 32, 0, 620, 0, 0, 957, 622, + 0, 491, 215, 216, 450, 95, 110, 111, 14, 662, + 663, 664, 0, 0, 0, 0, 0, 0, 0, 539, + 540, 0, 0, 0, 1461, 18, 0, 339, 726, 725, + 20, 156, 98, 113, 156, 548, 731, 0, 549, 23, + 0, 550, 0, 0, 560, 0, 0, 0, 565, 156, + 156, 156, 421, 424, 649, 0, 606, 1481, 112, 113, + 339, 0, 722, 0, 156, 842, 843, 0, 847, 848, + 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, + 859, 860, 861, 862, 863, 864, 865, 0, 726, 0, + 0, 0, 0, 0, 726, 0, 0, 153, 0, 201, + 813, 0, 95, 110, 111, 0, 225, 226, 227, 0, + 0, 0, 0, 0, 95, 96, 97, 0, 0, 0, + 0, 1514, 0, 0, 726, 917, 0, 845, 1514, 0, + 18, 726, 686, 0, 0, 228, 0, 76, 0, 8, + 9, 0, 0, 12, 246, 220, 0, 555, 0, 14, + 0, 101, 0, 934, 936, 112, 113, 258, 0, 115, + 866, 0, 0, 16, 0, 17, 867, 98, 99, 339, + 0, 20, 0, 300, 0, 201, 10, 0, 0, 0, + 23, 258, 617, 201, 212, 0, 220, 236, 0, 26, + 0, 130, 131, 0, 300, 8, 9, 10, 686, 790, + 0, 18, 233, 921, 0, 618, 0, 0, 1514, 0, + 258, 21, 0, 0, 0, 619, 0, 722, 0, 0, + 0, 258, 0, 0, 1589, 620, 426, 427, 621, 622, + 220, 557, 21, 116, 760, 761, 0, 762, 0, 251, + 428, 140, 140, 0, 140, 0, 1602, 27, 319, 0, + 429, 0, 493, 845, 0, 450, 0, 0, 32, 0, + 763, 388, 0, 430, 0, 548, 549, 764, 0, 7, + 8, 9, 10, 1027, 0, 13, 382, 383, 384, 32, + 258, 0, 0, 212, 26, 416, 119, 120, 0, 450, + 95, 96, 97, 339, 339, 0, 339, 18, 0, 0, + 471, 473, 477, 0, 0, 0, 0, 21, 95, 110, + 111, 726, 156, 617, 258, 116, 760, 761, 0, 0, + 26, 385, 27, 28, 0, 0, 95, 110, 111, 386, + 387, 421, 703, 1090, 0, 363, 955, 0, 0, 258, + 0, 0, 201, 98, 99, 0, 956, 95, 110, 111, + 0, 686, 0, 0, 32, 0, 620, 0, 686, 957, + 622, 112, 113, 0, 0, 726, 726, 0, 119, 120, + 722, 726, 0, 0, 498, 500, 0, 421, 424, 112, + 1484, 201, 961, 201, 201, 726, 0, 726, 511, 726, + 0, 95, 96, 97, 0, 225, 226, 227, 0, 0, + 112, 1486, 0, 0, 0, 0, 0, 0, 156, 156, + 917, 0, 0, 0, 0, 0, 0, 0, 0, 18, + 0, 0, 0, 0, 228, 1140, 0, 0, 201, 0, + 0, 258, 1006, 0, 0, 726, 557, 1099, 1100, 557, + 0, 0, 26, 1105, 98, 99, 229, 236, 0, 0, + 339, 0, 140, 140, 917, 421, 826, 1117, 547, 1118, + 0, 1119, 0, 1164, 0, 0, 0, 686, 0, 557, + 0, 0, 0, 790, 0, 790, 0, 0, 0, 726, + 1049, 1056, 790, 0, 0, 0, 0, 0, 790, 258, + 0, 230, 231, 232, 0, 0, 726, 917, 0, 0, + 655, 0, 0, 0, 0, 0, 0, 1147, 0, 665, + 0, 0, 0, 0, 0, 0, 0, 7, 8, 9, + 10, 0, 655, 246, 0, 0, 686, 0, 450, 450, + 916, 0, 686, 0, 0, 0, 0, 1215, 0, 0, + 0, 0, 0, 0, 0, 18, 0, 127, 128, 0, + 0, 1168, 246, 0, 0, 21, 0, 450, 0, 0, + 0, 617, 0, 0, 0, 0, 0, 0, 26, 0, + 27, 28, 0, 0, 0, 0, 0, 742, 258, 743, + 0, 471, 473, 477, 955, 0, 0, 722, 722, 0, + 617, 1243, 754, 0, 956, 0, 1112, 26, 0, 130, + 131, 0, 32, 0, 620, 258, 0, 957, 622, 0, + 0, 339, 0, 618, 0, 0, 0, 0, 0, 0, + 214, 215, 216, 619, 548, 549, 0, 14, 0, 0, + 0, 0, 0, 620, 0, 0, 621, 622, 759, 686, + 0, 0, 0, 686, 18, 0, 0, 0, 0, 20, + 0, 0, 140, 140, 156, 156, 917, 0, 23, 0, + 140, 0, 0, 0, 0, 0, 0, 0, 726, 0, + 726, 0, 726, 927, 0, 0, 0, 0, 0, 0, + 722, 686, 0, 156, 156, 917, 0, 686, 0, 722, + 722, 0, 258, 0, 722, 0, 8, 9, 0, 0, + 12, 13, 0, 838, 0, 0, 14, 0, 258, 1343, + 1344, 0, 450, 450, 0, 450, 450, 916, 450, 0, + 16, 0, 17, 0, 1049, 0, 0, 0, 20, 0, + 686, 0, 0, 80, 722, 0, 0, 23, 0, 0, + 1278, 0, 1279, 104, 1280, 0, 26, 886, 130, 131, + 600, 0, 0, 133, 0, 0, 686, 0, 790, 144, + 144, 0, 144, 0, 80, 726, 0, 0, 686, 140, + 140, 80, 140, 0, 0, 0, 0, 1016, 0, 7, + 8, 9, 10, 0, 203, 601, 80, 0, 0, 1399, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 0, 104, 686, 0, 686, 0, 0, 0, 0, 212, + 220, 0, 262, 104, 421, 826, 949, 21, 0, 1064, + 0, 0, 0, 0, 251, 1069, 1256, 966, 0, 722, + 0, 0, 27, 28, 0, 104, 0, 1380, 0, 0, + 450, 450, 0, 0, 0, 1442, 0, 0, 0, 0, + 0, 742, 743, 0, 754, 0, 252, 0, 838, 153, + 0, 0, 0, 133, 32, 80, 0, 722, 0, 144, + 144, 0, 0, 0, 412, 144, 0, 0, 144, 144, + 144, 0, 0, 0, 0, 0, 0, 0, 0, 686, + 0, 0, 1048, 0, 80, 0, 0, 0, 80, 548, + 549, 0, 1190, 0, 203, 80, 0, 0, 0, 0, + 0, 0, 1354, 0, 0, 0, 0, 1354, 686, 726, + 156, 0, 203, 203, 203, 0, 0, 0, 1125, 0, + 1126, 300, 127, 128, 10, 0, 1501, 1502, 0, 450, + 450, 450, 0, 0, 0, 1507, 0, 0, 0, 0, + 0, 203, 0, 0, 0, 0, 0, 0, 7, 8, + 9, 10, 0, 724, 13, 0, 0, 501, 0, 21, + 724, 0, 0, 1527, 0, 0, 251, 104, 0, 0, + 0, 0, 0, 0, 27, 319, 18, 0, 144, 0, + 156, 156, 156, 0, 0, 258, 21, 258, 450, 450, + 0, 0, 617, 0, 0, 0, 201, 1422, 201, 26, + 0, 27, 28, 0, 0, 0, 32, 560, 0, 0, + 0, 0, 0, 0, 0, 1157, 104, 528, 0, 7, + 127, 128, 10, 0, 724, 1158, 0, 0, 0, 258, + 0, 0, 0, 32, 0, 620, 0, 0, 1159, 622, + 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, + 421, 424, 471, 473, 477, 0, 450, 21, 0, 0, + 0, 104, 0, 0, 665, 615, 0, 528, 528, 631, + 26, 0, 27, 28, 0, 0, 0, 949, 80, 421, + 1324, 0, 0, 0, 724, 1230, 149, 1232, 0, 0, + 724, 0, 722, 127, 128, 0, 150, 477, 516, 259, + 0, 0, 0, 0, 32, 0, 0, 0, 0, 151, + 0, 0, 133, 7, 8, 9, 10, 258, 0, 0, + 724, 104, 0, 203, 104, 0, 1048, 724, 0, 0, + 0, 0, 0, 0, 0, 0, 617, 0, 144, 0, + 0, 144, 1263, 26, 0, 130, 131, 0, 0, 0, + 0, 21, 0, 144, 0, 0, 0, 0, 0, 618, + 0, 80, 0, 0, 26, 0, 27, 28, 0, 619, + 192, 0, 0, 0, 0, 0, 434, 0, 0, 620, + 193, 0, 621, 622, 0, 0, 0, 0, 0, 203, + 194, 203, 0, 203, 203, 203, 548, 549, 32, 203, + 0, 258, 201, 195, 203, 0, 0, 203, 469, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 0, 1240, + 1337, 485, 0, 80, 0, 1341, 0, 0, 258, 0, + 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 7, 8, 9, 10, 0, 0, 516, 0, + 0, 0, 742, 743, 471, 473, 477, 0, 0, 0, + 754, 104, 104, 104, 104, 0, 0, 0, 0, 0, + 18, 0, 0, 0, 0, 0, 1378, 0, 0, 0, + 21, 0, 0, 471, 473, 477, 617, 258, 7, 127, + 128, 10, 0, 26, 13, 27, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 1282, 0, 724, 0, 955, + 0, 1240, 0, 0, 1353, 1190, 18, 0, 0, 956, + 0, 104, 0, 528, 0, 0, 21, 32, 0, 620, + 0, 0, 957, 622, 0, 615, 0, 528, 528, 26, + 631, 27, 28, 0, 0, 0, 0, 918, 0, 0, + 0, 920, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 724, 724, 0, 0, 31, 203, 724, 0, 742, + 743, 0, 754, 32, 0, 0, 1452, 1453, 33, 0, + 0, 724, 0, 724, 0, 724, 421, 1324, 0, 0, + 133, 0, 0, 1463, 0, 0, 0, 133, 0, 0, + 0, 0, 0, 0, 0, 203, 962, 203, 203, 237, + 631, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 1406, 1407, 0, 0, 0, + 0, 724, 6, 0, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 14, 0, 0, 0, 1499, + 1500, 0, 203, 0, 0, 0, 962, 0, 0, 16, + 0, 17, 18, 203, 203, 0, 203, 20, 1509, 1510, + 0, 0, 21, 0, 0, 724, 23, 0, 0, 438, 0, 0, 0, 0, 0, 26, 0, 27, 28, 0, - 0, 763, 0, 764, 0, 0, 0, 0, 0, 0, - 0, 30, 760, 0, 7, 8, 761, 10, 163, 12, - 13, 31, 0, 0, 0, 14, 0, 0, 0, 32, - 0, 0, 0, 0, 33, 0, 0, 0, 0, 16, - 0, 17, 18, 19, 0, 0, 0, 20, -524, 0, - -522, 0, 21, 0, 0, 0, 23, 762, 0, 164, - 0, 0, 0, 0, 0, 26, 0, 27, 28, 0, - 0, 763, 0, 764, 0, 0, 0, 0, 0, 0, - 0, 30, 760, 0, 7, 8, 761, 10, 163, 12, - 13, 31, 0, 0, 0, 14, 0, 0, 0, 32, - 0, 0, 0, 0, 33, 0, 0, 0, 0, 16, - 0, 17, 18, 19, 0, 0, 0, 20, -523, 0, - -524, 0, 21, 0, 0, 0, 23, 762, 0, 164, - 0, 0, 0, 0, 0, 26, 0, 27, 28, 0, - 0, 763, 0, 764, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 31, 0, 0, 0, 0, 0, 0, 0, 32, - 0, 0, 0, 0, 33, 0, 0, 1270, 1271, 1272, - 10, 163, 12, 297, 298, 299, 0, 300, 14, 1273, - -523, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, - 1283, 15, 16, 301, 17, 18, 19, 0, 302, 303, - 20, 0, 304, 305, 306, 21, 307, 308, 1284, 23, - 1285, 0, 0, 309, 310, 311, 312, 313, 26, 0, - 1286, 315, 704, 0, 1287, 316, 0, 0, 0, 0, - 0, 317, 0, 0, 318, 0, 0, 0, 0, 0, - 0, 0, 319, 320, 321, 0, 0, 0, 0, 0, - 322, 323, 324, 0, 0, 0, 0, 325, 0, 1288, + 0, 29, 724, 0, 133, 747, 0, 80, 0, 80, + 753, 30, 0, 0, 1050, 80, 80, 0, 0, 0, + 0, 31, 80, 0, 1467, 104, 0, 0, 0, 32, + 477, 104, 0, 0, 33, 795, 0, 0, 528, 528, + 528, 801, 0, 0, 0, 0, 1485, 1488, 0, 0, + 528, 0, 0, 809, 810, 0, 811, 636, 8, 9, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 626, 630, 633, 0, 0, 7, 8, 9, 10, + 214, 215, 216, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 308, 637, 0, 21, 0, 0, 0, 0, + 471, 473, 477, 0, 18, 0, 0, 0, 26, 20, + 130, 131, 0, 0, 21, 0, 0, 0, 23, 0, + 617, 0, 0, 528, 1532, 528, 0, 26, 0, 27, + 28, 0, 104, 0, 0, 0, 528, 0, 104, 0, + 918, 918, 918, 955, 0, 0, 0, 0, 1134, 0, + 0, 906, 907, 956, 0, 0, 906, 0, 0, 0, + 0, 32, 0, 620, 0, 0, 957, 622, 0, 0, + 0, 0, 0, 83, 724, 0, 724, 0, 724, 0, + 104, 0, 104, 106, 203, 203, 1161, 0, 0, 0, + 0, 0, 126, 134, 0, 0, 0, 0, 0, 145, + 145, 0, 145, 0, 83, 0, 7, 8, 9, 10, + 0, 83, 7, 8, 9, 10, 167, 12, 13, 0, + 0, 1005, 0, 14, 145, 0, 83, 0, 0, 1161, + 0, 0, 0, 0, 238, 0, 0, 16, 0, 17, + 18, 248, 104, 0, 21, 20, 0, 0, 0, 0, + 21, 0, 0, 248, 23, 104, 0, 26, 1050, 27, + 28, 0, 0, 26, 0, 27, 28, 104, 369, 371, + 0, 724, 0, 193, 0, 0, 0, 0, 0, 30, + 1220, 0, 0, 194, 0, 0, 0, 0, 0, 31, + 0, 32, 80, 0, 0, 0, 195, 32, 0, 0, + 0, 104, 33, 104, 0, 83, 0, 0, 0, 145, + 145, 0, 0, 0, 0, 145, 0, 0, 145, 145, + 145, 300, 8, 9, 10, 0, 0, 0, 0, 0, + 1071, 104, 1073, 0, 83, 0, 528, 528, 83, 528, + 0, 895, 897, 0, 145, 83, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 21, + 0, 0, 145, 145, 145, 0, 251, 0, 0, 0, + 0, 0, 0, 0, 27, 319, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 203, 203, 203, 1161, 127, + 128, 145, 203, 215, 216, 0, 0, 0, 252, 14, + 0, 0, 0, 0, 1107, 1108, 32, 1110, 0, 960, + 0, 626, 630, 0, 633, 1161, 1161, 1161, 0, 0, + 0, 20, 0, 0, 0, 724, 0, 0, 145, 0, + 23, 0, 617, 0, 0, 1128, 0, 0, 0, 26, + 0, 130, 131, 0, 8, 9, 203, 167, 12, 13, + 0, 144, 730, 0, 14, 618, 630, 0, 0, 0, + 300, 8, 9, 10, 0, 619, 248, 145, 16, 0, + 17, 18, 0, 0, 0, 620, 20, 0, 621, 622, + 0, 0, 0, 0, 0, 23, 1163, 617, 0, 0, + 559, 0, 0, 0, 26, 0, 130, 131, 21, 0, + 0, 203, 203, 0, 203, 251, 0, 0, 0, 0, + 618, 248, 0, 27, 319, 616, 0, 145, 145, 632, + 619, 0, 0, 0, 641, 0, 0, 0, 83, 0, + 620, 0, 0, 621, 622, 0, 0, 519, 0, 0, + 203, 962, 203, 0, 630, 32, 0, 7, 127, 128, + 10, 0, 1206, 246, 0, 0, 0, 0, 0, 104, + 0, 0, 678, 685, 1211, 0, 0, 0, 0, 0, + 0, 248, 0, 145, 248, 18, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 21, 0, 0, 145, 0, + 0, 145, 0, 0, 0, 0, 0, 0, 26, 0, + 27, 28, 0, 145, 0, 0, 0, 0, 0, 0, + 0, 83, 0, 0, 30, 0, 0, 1120, 0, 1121, + 0, 0, 0, 0, 31, 0, 0, 0, 0, 732, + 1127, 0, 32, 0, 895, 897, 0, 33, 0, 145, + 0, 145, 0, 145, 145, 145, 0, 0, 0, 145, + 1262, 0, 1161, 0, 145, 0, 0, 145, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 0, 0, 772, 83, 0, 0, 0, 0, 895, 897, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1275, + 0, 7, 127, 128, 10, 814, 0, 13, 817, 0, + 0, 0, 819, 820, 822, 823, 824, 0, 0, 0, + 0, 248, 248, 248, 248, 559, 0, 0, 0, 18, + 0, 0, 1161, 1161, 1161, 0, 0, 0, 841, 21, + 166, 0, 7, 8, 9, 10, 167, 12, 13, 0, + 0, 104, 26, 14, 27, 28, 203, 0, 0, 0, + 0, 0, 1362, 0, 0, 0, 1363, 16, 149, 17, + 18, 19, 0, 0, 0, 20, 0, 0, 150, 0, + 21, 248, 0, 145, 23, 0, 32, 168, 0, 0, + 0, 151, 898, 26, 0, 27, 28, 145, 145, 898, + 632, 1379, 0, 0, 0, 0, 0, 919, 0, 30, + 7, 8, 9, 10, 214, 215, 216, 0, 0, 31, + 641, 14, 0, 0, 0, 0, 145, 32, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 34, 18, 0, + 0, 0, 0, 20, 0, 0, 0, 0, 21, 0, + 678, 0, 23, 0, 617, 0, 0, 0, 126, 0, + 0, 26, 0, 27, 28, 145, 632, 145, 145, 238, + 632, 0, 0, 0, 0, 1435, 0, 193, 0, 1436, + 0, 0, 0, 0, 0, 0, 0, 194, 1120, 1121, + 895, 897, 0, 772, 0, 32, 1127, 0, 0, 0, + 1423, 1454, 1455, 0, 0, 0, 0, 0, 685, 0, + 0, 0, 145, 0, 0, 0, 632, 0, 0, 895, + 897, 0, 0, 145, 145, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1415, 326, 1270, 1271, 1272, 10, 163, - 12, 297, 298, 299, 0, 300, 14, 1273, 0, 1274, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 15, - 16, 301, 17, 18, 19, 0, 302, 303, 20, 0, - 304, 305, 306, 21, 307, 308, 1284, 23, 1285, 0, - 0, 309, 310, 311, 312, 313, 26, 0, 1286, 315, - 704, 0, 1287, 316, 0, 0, 0, 0, 0, 317, - 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 319, 320, 321, 0, 0, 0, 0, 0, 322, 323, - 324, 0, 0, 0, 0, 325, 0, 1288, 0, 1270, - 1271, 1272, 10, 163, 12, 297, 298, 299, 0, 300, - 14, 1273, 326, 1274, 1275, 1276, 1277, 1278, 1279, 1280, - 1281, 1282, 1283, 15, 16, 301, 17, 18, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 1284, 23, 1285, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 1286, 315, 1536, 0, 1287, 316, 0, 0, - 0, 0, 0, 317, 0, 0, 318, 0, 0, 0, - 0, 0, 0, 0, 319, 320, 321, 0, 0, 0, - 0, 0, 322, 323, 324, 0, 0, 0, 0, 325, - 0, 1288, 0, 1270, 1271, 1272, 10, 163, 12, 297, - 298, 299, 0, 300, 14, 1273, 326, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1281, 1282, 1283, 15, 16, 301, - 17, 18, 19, 0, 302, 303, 20, 0, 304, 305, - 306, 21, 307, 308, 1284, 23, 1285, 0, 0, 309, - 310, 311, 312, 313, 26, 0, 1286, 315, 0, 0, - 1287, 316, 0, 0, 0, 0, 0, 317, 0, 0, - 318, 0, 0, 0, 0, 0, 0, 0, 319, 320, - 321, 0, 0, 0, 0, 0, 322, 323, 324, 0, - 0, 0, 0, 325, 0, 1288, 296, 8, 9, 10, - 163, 12, 297, 298, 299, 717, 300, 14, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 301, 17, 18, 19, 0, 302, 303, 20, - 0, 304, 305, 306, 21, 307, 308, 0, 23, 0, - 605, 0, 309, 310, 311, 312, 313, 26, 0, 27, - 315, 0, 0, 0, 316, 0, 0, 0, 0, 0, - 317, 0, 0, 898, 0, 0, 0, 0, 0, 0, - 0, 319, 320, 899, 0, 0, 0, 0, 0, 322, - 323, 324, 0, 608, 0, 0, 900, 610, 7, 8, - 9, 10, 163, 12, 297, 298, 299, 717, 300, 14, - 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 301, 17, 18, 19, 0, 302, - 303, 20, 0, 304, 305, 306, 21, 307, 308, 0, - 23, 0, 605, 0, 309, 310, 311, 312, 313, 26, - 0, 27, 28, 0, 0, 0, 316, 0, 0, 0, - 0, 0, 317, 0, 0, 1171, 0, 0, 0, 0, - 0, 0, 0, 319, 320, 1172, 0, 0, 0, 0, - 0, 322, 323, 324, 0, 608, 0, 0, 1173, 610, - 296, 8, 9, 10, 0, 12, 297, 298, 299, 0, - 300, 14, 0, 0, 0, 326, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 301, 17, 0, 19, - 0, 302, 303, 20, 0, 304, 305, 306, 21, 307, - 308, 0, 23, 0, 605, 0, 309, 310, 311, 312, - 313, 26, 0, 27, 315, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 898, 0, 0, - 0, 0, 0, 0, 0, 319, 320, 899, 0, 0, - 0, 0, 0, 322, 323, 324, 0, 608, 0, 0, - 900, 610, 7, 8, 9, 10, 0, 12, 297, 298, - 299, 0, 300, 14, 0, 0, 0, 326, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 301, 17, - 0, 19, 0, 302, 303, 20, 0, 304, 305, 306, - 21, 307, 308, 0, 23, 0, 605, 0, 309, 310, - 311, 312, 313, 26, 0, 27, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 317, 0, 0, 1171, - 0, 0, 0, 0, 0, 0, 0, 319, 320, 1172, - 0, 0, 0, 0, 0, 322, 323, 324, 0, 608, - 0, 0, 1173, 610, 296, 8, 9, 10, 0, 12, - 521, 298, 299, 0, 300, 14, 0, 0, 0, 326, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 301, 17, 0, 19, 0, 302, 303, 20, 0, 304, - 305, 306, 21, 307, 308, 0, 23, 0, 0, 0, - 309, 310, 311, 312, 313, 26, 0, 27, 315, 0, - 0, 1388, 316, 0, 0, 0, 0, 0, 317, 0, - 0, 318, 0, 0, 0, 0, 0, 0, 0, 319, - 320, 321, 0, 0, 0, 0, 0, 322, 323, 324, - 0, 0, 0, 0, 325, 296, 8, 9, 10, 163, - 12, 297, 298, 299, 0, 300, 14, 0, 0, 0, - 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 301, 17, 18, 19, 0, 302, 303, 20, 0, - 304, 305, 306, 21, 307, 308, 0, 23, 0, 0, - 0, 309, 310, 311, 312, 313, 26, 0, 27, 315, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 319, 320, 321, 0, 0, 0, 0, 0, 322, 323, - 324, 296, 8, 9, 10, 325, 12, 297, 298, 299, - 0, 300, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 326, 0, 0, 0, 16, 301, 17, 0, - 19, 0, 302, 303, 20, 0, 304, 305, 306, 21, - 307, 308, 0, 23, 0, 0, 0, 309, 310, 311, - 312, 313, 26, 0, 314, 315, 0, 0, 0, 316, - 0, 0, 0, 0, 0, 317, 0, 0, 318, 0, - 0, 0, 0, 0, 0, 0, 319, 320, 321, 0, - 0, 0, 0, 0, 322, 323, 324, 296, 8, 9, - 10, 325, 12, 297, 298, 299, 0, 300, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, - 0, 0, 16, 301, 17, 0, 19, 0, 302, 303, - 20, 0, 304, 305, 306, 21, 307, 308, 0, 23, - 0, 0, 0, 309, 310, 311, 312, 313, 26, 0, - 27, 315, 0, 0, 0, 316, 0, 0, 0, 0, - 0, 317, 0, 0, 318, 0, 0, 0, 0, 0, - 0, 0, 319, 320, 321, 0, 0, 0, 0, 0, - 322, 323, 324, 296, 8, 9, 10, 325, 12, 521, - 298, 299, 0, 300, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 326, 0, 0, 0, 16, 301, - 17, 0, 19, 0, 302, 303, 20, 0, 304, 305, - 306, 21, 307, 308, 0, 23, 0, 0, 0, 309, - 310, 311, 312, 313, 26, 0, 27, 315, 0, 0, - 0, 316, 0, 0, 0, 0, 0, 317, 0, 0, - 318, 0, 0, 0, 0, 0, 0, 0, 319, 320, - 321, 0, 0, 0, 0, 0, 322, 323, 324, 296, - 8, 9, 10, 325, 12, 521, 298, 299, 0, 300, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 326, 0, 0, 0, 16, 301, 17, 0, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 27, 315, 554, 0, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 0, 318, 0, 0, 0, - 0, 0, 0, 0, 319, 320, 321, 0, 0, 0, - 0, 0, 322, 323, 324, 296, 8, 9, 10, 555, - 12, 521, 298, 299, 0, 300, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, - 16, 301, 17, 0, 19, 0, 302, 303, 20, 0, - 304, 305, 306, 21, 307, 308, 0, 23, 0, 0, - 0, 309, 310, 311, 312, 313, 26, 0, 27, 315, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 319, 320, 321, 0, 0, 0, 0, 0, 322, 323, - 324, 0, 0, 0, 0, 325, 593, 296, 8, 9, - 10, 0, 12, 521, 298, 299, 0, 300, 14, 0, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 301, 17, 0, 19, 0, 302, 303, - 20, 0, 304, 305, 306, 21, 307, 308, 0, 23, - 0, 0, 0, 309, 310, 311, 312, 313, 26, 0, - 27, 315, 0, 0, 0, 316, 0, 0, 0, 0, - 0, 317, 0, 0, 540, 0, 0, 0, 0, 0, - 0, 0, 319, 320, 541, 0, 0, 0, 0, 0, - 322, 323, 324, 1131, 8, 9, 10, 542, 12, 521, - 298, 299, 0, 300, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 326, 0, 0, 0, 16, 301, - 17, 0, 19, 0, 302, 303, 20, 0, 304, 305, - 306, 21, 307, 308, 0, 23, 0, 0, 0, 309, - 310, 311, 312, 313, 26, 0, 27, 315, 0, 0, - 0, 316, 0, 0, 0, 0, 0, 317, 0, 0, - 318, 0, 0, 0, 0, 0, 0, 0, 319, 320, - 321, 0, 0, 0, 0, 0, 322, 323, 324, 7, - 8, 9, 10, 325, 12, 521, 298, 299, 0, 300, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 326, 0, 0, 0, 16, 301, 17, 0, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, - 26, 0, 27, 28, 0, 0, 0, 316, 0, 0, - 0, 0, 0, 317, 0, 0, 1478, 0, 0, 0, - 0, 0, 0, 0, 319, 320, 1479, 0, 0, 0, - 0, 0, 322, 323, 324, 296, 8, 9, 10, 1480, - 12, 521, 298, 299, 0, 300, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, - 16, 301, 17, 0, 19, 0, 302, 303, 20, 0, - 304, 305, 306, 21, 307, 308, 0, 23, 0, 0, - 0, 309, 310, 311, 312, 313, 26, 0, 27, 315, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 319, 320, 321, 0, 0, 0, 0, 0, 322, 323, - 324, 296, 8, 9, 10, 522, 12, 521, 298, 299, - 0, 300, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 326, 0, 0, 0, 16, 301, 17, 0, - 19, 0, 302, 303, 20, 0, 304, 305, 306, 21, - 307, 308, 0, 23, 0, 0, 0, 309, 310, 311, - 312, 313, 26, 0, 27, 315, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 317, 0, 0, 318, 0, - 0, 0, 0, 0, 0, 0, 319, 320, 321, 0, - 0, 0, 0, 0, 322, 323, 324, 296, 8, 9, - 10, 525, 12, 521, 298, 299, 0, 300, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, - 0, 0, 16, 301, 17, 0, 19, 0, 302, 303, - 20, 0, 304, 305, 306, 21, 307, 308, 0, 23, - 0, 0, 0, 309, 310, 311, 312, 313, 26, 0, - 27, 315, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 317, 0, 0, 318, 0, 0, 0, 0, 0, - 0, 0, 319, 320, 321, 0, 0, 0, 0, 0, - 322, 323, 324, 296, 8, 9, 10, 325, 12, 521, - 298, 299, 0, 300, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 326, 0, 0, 0, 16, 301, - 17, 0, 19, 0, 302, 303, 20, 0, 304, 305, - 306, 21, 307, 308, 0, 23, 0, 0, 0, 309, - 310, 311, 312, 313, 26, 0, 27, 315, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, - 540, 0, 0, 0, 0, 0, 0, 0, 319, 320, - 541, 0, 0, 0, 0, 0, 322, 323, 324, 7, - 8, 9, 10, 542, 12, 297, 298, 299, 0, 300, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 326, 0, 0, 0, 16, 301, 17, 0, 19, 0, - 302, 303, 20, 0, 304, 305, 306, 21, 307, 308, - 0, 23, 0, 0, 0, 309, 310, 311, 312, 313, + 7, 8, 9, 10, 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 134, 0, 0, 83, 0, 83, + 0, 0, 0, 0, 1051, 83, 83, 732, 18, 0, + 0, 0, 83, 732, 0, 248, 0, 0, 21, 0, + 0, 248, 0, 0, 0, 0, 0, 0, 145, 145, + 145, 26, 0, 27, 28, 0, 0, 0, 0, 0, + 145, 0, 0, 0, 0, 1120, 1121, 193, 1127, 0, + 0, 0, 0, 0, 0, 0, 0, 194, 7, 8, + 9, 10, 167, 12, 13, 32, 0, 730, 0, 14, + 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1101, 0, 16, 0, 17, 18, 623, 623, 623, + 0, 20, 0, 0, 0, 0, 21, 0, 0, 0, + 23, 0, 617, 0, 0, 0, 0, 0, 0, 26, + 0, 27, 28, 145, 841, 145, 0, 0, 0, 0, + 732, 0, 248, 0, 898, 1157, 145, 0, 248, 51, + 919, 919, 919, 0, 0, 1158, 0, 0, 641, 0, + 0, 0, 0, 32, 0, 620, 0, 0, 1159, 622, + 0, 0, 0, 0, 0, 51, 51, 0, 152, 0, + 51, 0, 685, 0, 1153, 0, 0, 51, 898, 0, + 248, 0, 248, 0, 145, 145, 632, 0, 0, 0, + 51, 0, 51, 0, 0, 0, 0, 7, 8, 9, + 10, 205, 12, 206, 0, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, + 0, 898, 16, 0, 17, 18, 0, 0, 0, 919, + 20, 0, 0, 0, 1195, 21, 0, 0, 0, 23, + 1201, 0, 248, 0, 0, 0, 0, 732, 26, 0, + 27, 28, 0, 772, 207, 248, 0, 0, 1051, 732, + 0, 0, 0, 0, 30, 0, 0, 248, 396, 396, + 0, 51, 0, 0, 31, 51, 51, 0, 0, 254, + 0, 51, 32, 0, 152, 152, 152, 33, 0, 0, + 0, 431, 83, 732, 0, 732, 0, 0, 0, 0, + 51, 248, 0, 248, 51, 7, 127, 128, 10, 0, + 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1248, 0, 0, 0, 0, 51, 51, + 152, 248, 0, 18, 0, 0, 145, 145, 254, 145, + 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 51, 27, 28, + 0, 0, 0, 0, 0, 0, 0, 623, 623, 0, + 623, 0, 30, 0, 0, 0, 0, 915, 0, 0, + 898, 0, 31, 0, 145, 145, 145, 145, 632, 0, + 32, 0, 145, 0, 51, 33, 0, 0, 0, 772, + 0, -385, 8, 9, -385, -385, 12, 246, 0, 898, + 0, 0, 14, 0, 0, 919, 919, 919, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 17, -385, + 0, 772, 0, 0, 20, 623, 0, 623, 623, -385, + 623, 0, 0, 23, 0, 617, 145, 0, 0, 0, + 0, 145, 26, 0, 130, 131, 0, 0, 0, 7, + 127, 128, 10, 0, 556, 516, 0, 0, 618, 0, + 7, 8, 9, 10, 0, 0, 246, 0, 619, 0, + 0, 396, 623, 0, 0, 0, -385, 18, 620, 254, + 0, 621, 622, 0, 51, 0, 0, 21, 18, 0, + 0, 145, 145, 0, 145, 0, 0, 0, 21, 0, 26, 0, 27, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 6, 1478, 7, 8, 9, - 10, 11, 12, 13, 319, 320, 1479, 0, 14, 0, - 0, 0, 322, 323, 324, 0, 0, 0, 0, 1480, - 0, 15, 16, 0, 17, 18, 19, 0, 0, 0, - 20, 0, 0, 0, 0, 21, 326, 0, 22, 23, - 24, 0, 25, 0, 0, 0, 0, 0, 26, 0, - 27, 28, 0, 0, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 760, 31, 7, 8, 761, 10, 163, - 12, 13, 32, 0, 0, 0, 14, 33, 0, 0, - 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, - 0, 0, 0, 21, 0, 0, 0, 23, 762, 0, - 164, 0, 0, 0, 0, 0, 26, 0, 27, 28, - 0, 0, 763, 0, 764, 0, 0, 0, 0, 0, - 0, 0, 30, 7, 8, 9, 10, 201, 12, 202, - 0, 0, 31, 0, 14, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 33, 0, 0, 16, 0, - 17, 18, 0, 0, 0, 0, 20, 0, 0, 0, - 0, 21, 0, 0, 0, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 28, 0, 0, - 1405, 0, 7, 8, 9, 10, 201, 12, 202, 0, - 30, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 0, 0, 0, 16, 32, 17, - 18, 0, 0, 33, 0, 20, 0, 0, 0, 0, - 21, 0, 0, 0, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 0, 27, 28, 7, 8, 9, - 10, 210, 211, 212, 0, 0, 0, 0, 14, 30, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, - 0, 0, 0, 0, 0, 18, 0, 32, 0, 0, - 20, 0, 33, 0, 0, 21, 0, 0, 0, 23, - 0, 605, 0, 0, 0, 0, 0, 0, 26, 0, - 27, 28, 0, 0, 0, 0, 18, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, - 0, 0, 32, 0, 0, 0, 0, 1408, 557, 558, - 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, - 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, - 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, - 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, - 577, 578, 557, 558, 559, 560, 561, 562, 563, 564, - 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 0, 0, 1223, 0, + 0, 26, 0, 27, 28, 0, 30, 0, 396, 1410, + 0, 0, 0, 0, 0, 0, 31, 193, 0, 51, + 145, 632, 145, 0, 32, 0, 18, 194, 0, 33, + 0, 1195, 0, 0, 51, 32, 0, 51, 0, 248, + 195, 0, 0, 431, 431, 431, 0, 0, 0, 51, + 623, 0, 0, 0, 0, 0, 0, 51, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 7, 8, 9, 10, 0, 51, 13, 51, 0, 152, + 152, 152, 0, 0, 0, 51, 0, 0, 0, 0, + 51, 0, 0, 51, 0, 0, 0, 0, 18, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 21, 51, + 0, 0, 0, 623, 78, 623, 0, 0, 0, 0, + 0, 26, 919, 27, 28, 0, 623, 0, 0, 0, + 915, 915, 915, 0, 0, 0, 0, 474, 0, 556, + 78, 78, 556, 78, 0, 78, 0, 475, 0, 0, + 0, 0, 78, 0, 0, 32, 0, 556, 556, 556, + 476, 0, 0, 0, 0, 78, 0, 78, 0, 0, + 0, 0, 556, 0, 623, 623, 623, 7, 8, 9, + 10, 0, 0, 516, 0, 0, 559, 0, 1039, 1040, + 9, 10, 919, 919, 919, 0, 0, 0, 0, 0, + 0, 0, 0, 685, 0, 18, 0, 0, 0, 0, + 0, 248, 0, 0, 0, 21, 145, 0, 0, 915, + 254, 0, 0, 0, 0, 0, 21, 0, 26, 0, + 27, 28, 0, 556, 0, 0, 0, 0, 0, 26, + 0, 27, 28, 0, 193, 0, 78, 1041, 0, 0, + 78, 78, 51, 0, 194, 193, 78, 0, 0, 78, + 78, 78, 32, 0, 0, 194, 0, 195, 0, 7, + 8, 9, 10, 32, 0, 78, 396, 0, 195, 78, + 0, 0, 0, 396, 0, 78, 78, 0, 0, 0, + 0, 51, 51, 51, 51, 0, 0, 18, 0, 0, + 0, 0, 0, 78, 78, 78, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 646, 0, 0, 1526, 557, 558, 559, - 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, - 570, 571, 572, 573, 574, 575, 576, 577, 578, 1544, - 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, - 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, - 577, 578, 557, 558, 559, 560, 561, 562, 563, 564, - 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 575, 576, 577, 578, 557, 558, 559, 560, 561, 562, - 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, - 573, 574, 575, 576, 577, 578 + 26, 0, 27, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 159, 474, 0, 51, 0, + 0, 0, 51, 0, 0, 0, 475, 0, 0, 51, + 51, 0, 51, 0, 32, 0, 0, 204, 0, 476, + 0, 0, 8, 9, 0, 167, 12, 13, 0, 78, + 730, 0, 14, 0, 623, 623, 623, 623, 623, 0, + 0, 0, 623, 51, 0, 51, 16, 0, 17, 18, + 51, 51, 51, 0, 20, 0, 0, 0, 51, 0, + 0, 0, 0, 23, 0, 915, 915, 915, 0, 0, + 0, 0, 26, 0, 130, 131, 0, 0, 0, 773, + 556, 7, 8, 774, 10, 167, 12, 13, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 17, 18, + 19, 159, 159, 159, 20, -523, 0, 0, 0, 21, + 0, 0, 0, 23, 775, 640, 168, 0, 0, 78, + 0, 0, 26, 0, 27, 28, 0, 204, 776, 0, + 777, 0, 0, 0, 0, 0, 0, 0, 30, 0, + 0, 623, 623, 0, 623, 204, 204, 478, 31, 0, + 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, + 0, 33, 0, 0, 78, 0, 556, 556, 556, 0, + 0, 0, 431, 254, 204, 0, 0, -523, 0, 78, + 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, + 1347, 1348, 9, 10, 78, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, + 51, 51, 152, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, + 78, 0, 78, 0, 78, 78, 78, 0, 0, 0, + 78, 26, 0, 27, 28, 78, 0, 0, 78, 1349, + 529, 0, 0, 0, 0, 1189, 0, 193, 0, 0, + 0, 0, 0, 0, 78, 0, 0, 194, 0, 0, + 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, + 195, 0, 0, 0, 51, 0, 551, 0, 300, 8, + 9, 10, 167, 12, 301, 302, 303, 730, 304, 14, + 625, 625, 625, 0, 0, 254, 0, 1347, 127, 128, + 10, 0, 0, 16, 305, 17, 18, 19, 51, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 617, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, -310, 0, 21, 320, 0, 7, 8, + 9, 10, 321, 0, 0, 911, 204, 0, 26, 0, + 27, 28, 0, 323, 324, 912, 1349, 0, 0, 0, + 0, 326, 327, 328, 30, 620, 640, 0, 913, 622, + 0, 0, 0, 0, 31, 0, 21, 0, 0, 254, + 0, 0, 32, 0, 0, 330, 0, 33, 0, 26, + 0, 27, 28, 0, 0, 1417, 0, 78, 0, 0, + 51, 51, 152, 152, 152, 193, 254, 0, 51, 0, + 0, 0, 204, 0, 204, 194, 478, 478, 478, 0, + 0, 0, 204, 32, 0, 0, 0, 204, 195, 0, + 204, 1189, 1189, 1189, 0, 0, 78, 78, 78, 78, + 0, 0, 0, 0, 0, 0, 773, 0, 7, 8, + 774, 10, 167, 12, 13, 0, 0, 0, 0, 14, + 0, 0, 51, 0, 0, 0, 0, 51, 0, 0, + 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, + 0, 20, -524, 78, 0, 0, 21, 78, 0, 0, + 23, 775, 0, 168, 78, 78, 0, 78, 0, 26, + 0, 27, 28, 0, 0, 776, 0, 777, 0, 0, + 0, 0, 0, 0, 0, 30, 0, 51, 51, 0, + 51, 0, 0, 0, 0, 31, 0, 0, 78, 0, + 78, 0, 0, 32, 0, 78, 78, 78, 33, 0, + 0, 0, 0, 78, 0, 0, 880, 0, 0, 0, + 0, 0, 0, 0, -524, 0, 51, 51, 51, 0, + 625, 625, 202, 625, 0, 0, 0, 0, 0, 0, + 625, 0, 7, 8, 9, 10, 167, 12, 13, 0, + 0, 0, 0, 14, 0, 0, 0, 257, 0, 204, + 261, 0, 0, 0, 0, 0, 0, 16, 0, 17, + 18, 19, 0, 0, 0, 20, 0, 0, 0, 0, + 21, 257, 0, 365, 23, 0, 0, 168, 0, 0, + 0, 0, 0, 26, 0, 27, 28, 0, 959, 0, + 959, 959, 0, 625, 0, 0, 0, 0, 0, 30, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 34, 1189, 640, + 0, 0, 0, 0, 0, 959, 0, 0, 0, 0, + 0, 0, 202, 0, 0, 0, 204, 204, 0, 204, + 0, 0, 0, 7, 8, 9, 10, 214, 215, 216, + 202, 202, 202, 0, 14, 78, 78, 78, 0, 0, + 484, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 18, 0, 0, 0, 0, 20, 204, 0, 202, + 0, 21, 0, 0, 0, 23, 0, 617, 1189, 1189, + 1189, 0, 0, 0, 26, 0, 27, 28, 0, 0, + 1191, 529, 529, 529, 0, 261, 0, 0, 0, 0, + 955, 0, 51, 625, 0, 0, 0, 0, 0, 257, + 956, 0, 0, 0, 0, 0, 0, 0, 32, 78, + 620, 0, 0, 1000, 622, 0, 0, 0, 0, 0, + 0, 551, 0, 7, 8, 9, 10, 167, 12, 301, + 302, 303, 730, 304, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 78, 0, 0, 0, 0, 16, 305, + 17, 18, 19, 0, 306, 307, 20, 0, 308, 309, + 310, 21, 311, 312, 0, 23, 625, 617, 625, 313, + 314, 315, 316, 317, 26, 0, 27, 28, -310, 625, + 0, 320, 0, 625, 625, 625, 0, 321, 0, 0, + 1186, 257, 261, 0, 0, 0, 0, 0, 323, 324, + 1187, 0, 0, 0, 0, 0, 326, 327, 328, 0, + 620, 0, 0, 1188, 622, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 959, 959, 1162, + 330, 0, 0, 0, 0, 78, 78, 78, 78, 78, + 0, 202, 0, 78, 0, 0, 0, 0, 0, 0, + 0, 0, 7, 8, 9, 10, 167, 12, 13, 0, + 0, 0, 0, 14, 0, 0, 1191, 1191, 1191, 0, + 0, 0, 1162, 0, 0, 0, 0, 16, 0, 17, + 18, 0, 0, 0, 0, 20, 0, 0, 0, 0, + 21, 0, 0, 0, 23, 0, 0, 78, 0, 0, + 0, 204, 78, 26, 0, 27, 28, 202, 0, 202, + 0, 202, 202, 202, 0, 0, 0, 202, 0, 30, + 0, 0, 202, 0, 0, 202, 0, 0, 0, 31, + 0, 0, 263, 0, 0, 8, 9, 32, 0, 12, + 13, 0, 33, 0, 0, 14, 0, 0, 0, 0, + 0, 0, 78, 78, 0, 78, 0, 0, 0, 16, + 0, 17, 0, 0, 0, 0, 0, 20, 0, 264, + 265, 0, 0, 0, 0, 0, 23, 0, 266, 880, + 880, 0, 880, 0, 0, 26, 0, 130, 131, 0, + 267, 78, 78, 78, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 0, 0, 289, 290, 291, + 0, 0, 292, 0, 0, 293, 0, 959, 959, 1162, + 1162, 1162, 0, 0, 0, 959, 0, 0, 0, 0, + 0, 294, 0, 773, 0, 7, 8, 774, 10, 167, + 12, 13, 0, 0, 0, 0, 14, 0, 1162, 1162, + 1162, 0, 0, 0, 0, 0, 0, 0, 257, 261, + 16, 0, 17, 18, 19, 0, 102, 0, 20, -526, + 0, 0, 0, 21, 202, 121, 102, 23, 775, 204, + 168, 0, 102, 102, 0, 102, 26, 0, 27, 28, + 0, 0, 776, 1191, 777, 8, 9, 0, 0, 12, + 13, 0, 30, 0, 0, 14, 0, 0, 0, 0, + 0, 0, 31, 202, 0, 202, 202, 235, 0, 16, + 32, 17, 0, 0, 0, 33, 0, 20, 0, 0, + 0, 0, 0, 0, 959, 959, 23, 959, 0, 0, + 0, -526, 0, 0, 0, 26, 0, 130, 131, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 202, 0, 0, 1191, 1191, 1191, 0, 0, 0, 0, + 0, 202, 202, 204, 202, 204, 389, 0, 121, 0, + 0, 0, 0, 0, 871, 102, 102, 78, 0, 0, + 0, 0, 102, 102, 0, 0, 102, 102, 102, 261, + 417, 102, 102, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 202, 0, 1425, 0, 1285, 1286, 1287, 10, + 167, 12, 301, 302, 303, 0, 304, 14, 1288, 0, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 15, 16, 305, 17, 18, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 1299, 23, 1300, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 1301, + 319, 717, 0, 1302, 320, 0, 0, 0, 0, 0, + 321, 0, 0, 322, 0, 478, 0, 0, 0, 499, + 102, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 327, 328, 0, 0, 0, 0, 329, 0, 1303, 0, + 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1426, 330, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 0, 0, 0, 257, 261, 257, 0, 0, + 102, 0, 1477, 0, 0, 478, 478, 478, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 0, 0, 0, 0, 204, + 0, 0, 202, 202, 1160, 0, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, + 102, 102, 1478, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 0, 0, 1160, 0, 0, + 0, 0, 0, 0, 0, 1448, 0, -477, -477, -477, + -477, -477, -477, -477, 0, 102, -477, 0, -477, 0, + 0, 0, 0, 0, 0, 0, 202, 0, 0, -477, + 0, -477, 0, 0, 102, -477, 0, 0, 0, 0, + -477, 102, 0, 0, 102, -477, 0, 484, 0, -477, + 0, -477, 0, 0, 0, 0, 102, 0, -477, 0, + -477, -477, -477, -477, -477, 0, -477, -477, -477, -477, + -477, -477, -477, -477, -477, -477, -477, -477, -477, -477, + -477, -477, -477, -477, -477, -477, -477, -477, -477, 0, + -477, -477, -477, 0, -477, -477, -477, -477, -477, -477, + 0, -477, 0, 0, 0, 0, 1449, 0, 0, 0, + 0, -477, -477, -477, 0, -477, 0, 0, 0, 0, + 0, 0, 0, 102, 0, 765, 0, 0, 0, 0, + 0, 257, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 0, 0, + 102, 0, 202, 202, 202, 202, 1160, 0, 1274, 0, + 202, 0, 0, 0, 0, 0, 0, 729, 0, 300, + 8, 9, 10, 167, 12, 301, 302, 303, 730, 304, + 14, 0, 0, 1160, 1160, 1160, 0, 0, 0, 0, + 0, 0, 0, 0, 16, 305, 17, 18, 19, 0, + 306, 307, 20, 0, 308, 309, 310, 21, 311, 312, + 0, 23, 0, 0, 202, 313, 314, 315, 316, 317, + 26, 0, 27, 319, 0, 0, 102, 320, 0, 0, + 0, 0, 0, 321, 0, 0, 322, 102, 102, 0, + 102, 102, 0, 0, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 327, 328, 0, 0, 0, 0, 329, + 0, 0, 0, 8, 9, 0, 167, 12, 13, 202, + 202, 0, 202, 14, -796, 0, 330, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, + 18, 0, 0, 102, 0, 20, 0, 0, 0, 0, + 102, 121, 0, 0, 679, 0, 0, 168, 202, 0, + 202, 0, 235, 26, 0, 130, 131, 0, 0, 0, + 0, 1284, 0, 1285, 1286, 1287, 10, 167, 12, 301, + 302, 303, 0, 304, 14, 1288, 765, 1289, 1290, 1291, + 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305, + 17, 18, 19, 0, 306, 307, 20, 0, 308, 309, + 310, 21, 311, 312, 1299, 23, 1300, 0, 0, 313, + 314, 315, 316, 317, 26, 0, 1301, 319, 717, 0, + 1302, 320, 0, 0, 0, 0, 0, 321, 0, 0, + 322, 0, 0, 0, 765, 0, 0, 102, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 327, 328, 0, + 0, 0, 0, 329, 0, 1303, 0, 0, 0, 0, + 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 330, 102, 102, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 102, 0, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 0, 0, 0, + 0, 844, 0, 300, 8, 9, 10, 167, 12, 301, + 302, 303, 0, 304, 14, 0, 0, 0, 0, 0, + 1160, 1160, 1160, 1238, 0, 0, 0, 0, 16, 305, + 17, 18, 19, 0, 306, 307, 20, 0, 308, 309, + 310, 21, 311, 312, 202, 23, 102, 0, 102, 313, + 314, 315, 316, 317, 26, 0, 27, 319, 1522, 102, + -786, 320, 0, 0, 0, 0, 0, 321, 0, 0, + 322, 0, 0, 0, 0, 0, 0, 0, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 327, 328, 0, + 0, 0, 720, 329, 832, 833, 834, 10, 0, 12, + 533, 302, 303, 0, 304, 14, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 16, + 305, 17, 0, 19, 0, 306, 307, 20, 0, 308, + 309, 310, 21, 311, 312, 0, 23, 0, 0, 0, + 313, 314, 315, 316, 317, 26, 0, 835, 836, 721, + 0, 0, 320, 0, 0, 0, 0, 0, 321, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 0, 323, + 324, 325, 0, 0, 0, 0, 765, 326, 327, 328, + 0, 0, 0, 0, 329, 837, 551, 0, 300, 8, + 9, 10, 0, 12, 301, 302, 303, 0, 304, 14, + 992, 330, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 305, 17, 18, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, -310, 8, 9, 320, 0, 12, 246, + 0, 0, 321, 0, 14, 552, 0, 0, 0, 102, + 102, 0, 102, 323, 324, 553, 0, 0, 16, 0, + 17, 326, 327, 328, 0, 0, 20, 0, 554, 0, + 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 330, 130, 131, 0, 0, + 720, 0, 832, 833, 834, 10, 0, 12, 533, 302, + 303, 0, 304, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 765, 0, 0, 0, 0, 16, 305, 17, + 0, 19, 0, 306, 307, 20, 0, 308, 309, 310, + 21, 311, 312, 0, 23, 0, 0, 0, 313, 314, + 315, 316, 317, 26, 765, 835, 836, 721, 0, 0, + 320, 0, 0, 0, 0, 0, 321, 0, 0, 322, + 0, 0, 102, 0, 102, 0, 0, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, + 0, 0, 329, 837, 720, 0, 832, 833, 834, 10, + 0, 12, 533, 302, 303, 0, 304, 14, 0, 330, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 305, 17, 0, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 0, 23, 0, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 835, + 836, 721, 0, 0, 320, 0, 0, 0, 0, 0, + 321, 0, 0, 322, 0, 0, 0, 0, 0, 0, + 0, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 327, 328, 0, 0, 0, 720, 329, 832, 833, 834, + 10, 0, 12, 533, 302, 303, 0, 304, 14, 0, + 0, 0, -481, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 305, 17, 0, 19, 0, 306, 307, + 20, 0, 308, 309, 310, 21, 311, 312, 0, 23, + 0, 0, 0, 313, 314, 315, 316, 317, 26, 0, + 835, 836, 721, 0, 0, 320, 0, 0, 0, 0, + 0, 321, 0, 0, 322, 0, 0, 0, 0, 0, + 0, 0, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 327, 328, 0, 0, 0, 720, 329, 300, 8, + 9, 10, 0, 12, 533, 302, 303, 0, 304, 14, + 0, 0, 0, 1323, 330, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 305, 17, 0, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, 721, 0, 0, 320, 0, 0, 0, + 0, 0, 321, 0, 0, 322, 0, 0, 0, 0, + 0, 0, 0, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 327, 328, 0, 0, 0, 0, 329, 0, + 551, 0, 7, 8, 9, 10, 1327, 12, 301, 302, + 303, 0, 304, 14, 0, 330, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 16, 305, 17, + 18, 19, 0, 306, 307, 20, 0, 308, 309, 310, + 21, 311, 312, 0, 23, 0, 0, 0, 313, 314, + 315, 316, 317, 26, 0, 27, 28, -310, 0, 0, + 320, 0, 0, 0, 0, 0, 321, 0, 0, 1493, + 0, 0, 0, 0, 0, 0, 0, 323, 324, 1494, + 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, + 0, 720, 1495, 300, 8, 9, 10, 0, 12, 533, + 302, 303, 0, 304, 14, 0, 0, 0, 0, 330, + 0, 0, 0, 0, 0, 0, 0, 0, 16, 305, + 17, 0, 19, 0, 306, 307, 20, 0, 308, 309, + 310, 21, 311, 312, 0, 23, 0, 0, 0, 313, + 314, 315, 316, 317, 26, 0, 27, 319, 721, 0, + 0, 320, 0, 0, 0, 0, 0, 321, 0, 0, + 322, 0, 0, 0, 0, 0, 0, 0, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 327, 328, 0, + 0, 0, 844, 329, 300, 8, 9, 10, 0, 12, + 533, 302, 303, 0, 304, 14, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 16, + 305, 17, 0, 19, 0, 306, 307, 20, 0, 308, + 309, 310, 21, 311, 312, 0, 23, 0, 0, 0, + 313, 314, 315, 316, 317, 26, 0, 27, 319, 0, + 0, 0, 320, -786, 0, 0, 0, 0, 321, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 0, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 327, 328, + 0, 0, 0, 1574, 329, 300, 8, 9, 10, 0, + 12, 301, 302, 303, 0, 304, 14, 0, 0, 0, + 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 305, 17, 0, 19, 0, 306, 307, 20, 0, + 308, 309, 310, 21, 311, 312, 0, 23, 0, 0, + 0, 313, 314, 315, 316, 317, 26, 0, 27, 319, + 0, 0, -194, 320, 0, 0, 0, 0, 0, 321, + 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 327, + 328, 0, 0, 0, 844, 329, 300, 8, 9, 10, + 0, 12, 533, 302, 303, 0, 304, 14, 0, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 305, 17, 0, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 0, 23, 0, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 27, + 319, 0, 0, 0, 320, 0, 0, 0, 0, 0, + 321, 0, 0, 322, 0, 0, 0, 0, 0, 0, + 0, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 327, 328, 0, 0, 0, 933, 329, 300, 8, 9, + 10, 0, 12, 533, 302, 303, 0, 304, 14, 0, + 0, -786, 0, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 305, 17, 0, 19, 0, 306, 307, + 20, 0, 308, 309, 310, 21, 311, 312, 0, 23, + 0, 0, 0, 313, 314, 315, 316, 317, 26, 0, + 27, 319, 0, 0, 0, 320, 0, 0, 0, 0, + 0, 321, 0, 0, 322, 0, 0, 0, 0, 0, + 0, 0, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 327, 328, 0, 0, 0, 935, 329, 300, 8, + 9, 10, 0, 12, 533, 302, 303, 0, 304, 14, + 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 305, 17, 0, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, 0, 0, 0, 320, 0, 0, 0, + 0, 0, 321, 0, 0, 322, 0, 0, 0, 0, + 0, 0, 0, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 327, 328, 0, 0, 0, 1506, 329, 300, + 8, 9, 10, 0, 12, 533, 302, 303, 0, 304, + 14, 0, 0, 0, 0, 330, 0, 0, 0, 0, + 0, 0, 0, 0, 16, 305, 17, 0, 19, 0, + 306, 307, 20, 0, 308, 309, 310, 21, 311, 312, + 0, 23, 0, 0, 0, 313, 314, 315, 316, 317, + 26, 0, 27, 319, 0, 0, 0, 320, 0, 0, + 0, 0, 0, 321, 0, 0, 322, 0, 0, 0, + 0, 0, 0, 0, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 327, 328, 300, 8, 9, 10, 329, + 12, 533, 302, 303, 0, 304, 14, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 330, 0, 0, 0, + 16, 305, 17, 0, 19, 0, 306, 307, 20, 0, + 308, 309, 310, 21, 311, 312, 0, 23, 0, 0, + 0, 313, 314, 315, 316, 317, 26, 0, 27, 319, + 0, 0, 0, 320, 0, 0, 0, 0, 0, 321, + 0, 773, 322, 7, 8, 774, 10, 167, 12, 13, + 323, 324, 325, 0, 14, 0, 0, 0, 326, 327, + 328, 0, 0, 0, 0, 329, 0, 0, 16, 0, + 17, 18, 19, 0, 0, 0, 20, -525, 0, 0, + 0, 21, 330, 883, 0, 23, 775, 0, 168, 0, + 0, 0, 0, 0, 26, 0, 27, 28, 0, 0, + 776, 0, 777, 0, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 0, 32, 0, + 0, 0, 0, 33, 0, 0, 1285, 1286, 1287, 10, + 167, 12, 301, 302, 303, 0, 304, 14, 1288, -525, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 15, 16, 305, 17, 18, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 1299, 23, 1300, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 1301, + 319, 717, 0, 1302, 320, 0, 0, 0, 0, 0, + 321, 0, 0, 322, 0, 0, 0, 0, 0, 0, + 0, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 327, 328, 0, 0, 0, 0, 329, 0, 1303, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1430, 330, 1285, 1286, 1287, 10, 167, 12, + 301, 302, 303, 0, 304, 14, 1288, 0, 1289, 1290, + 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, + 305, 17, 18, 19, 0, 306, 307, 20, 0, 308, + 309, 310, 21, 311, 312, 1299, 23, 1300, 0, 0, + 313, 314, 315, 316, 317, 26, 0, 1301, 319, 717, + 0, 1302, 320, 0, 0, 0, 0, 0, 321, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 0, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 327, 328, + 0, 0, 0, 0, 329, 0, 1303, 0, 1285, 1286, + 1287, 10, 167, 12, 301, 302, 303, 0, 304, 14, + 1288, 330, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 15, 16, 305, 17, 18, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 1299, + 23, 1300, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 1301, 319, 1551, 0, 1302, 320, 0, 0, 0, + 0, 0, 321, 0, 0, 322, 0, 0, 0, 0, + 0, 0, 0, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 327, 328, 0, 0, 0, 0, 329, 0, + 1303, 0, 1285, 1286, 1287, 10, 167, 12, 301, 302, + 303, 0, 304, 14, 1288, 330, 1289, 1290, 1291, 1292, + 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305, 17, + 18, 19, 0, 306, 307, 20, 0, 308, 309, 310, + 21, 311, 312, 1299, 23, 1300, 0, 0, 313, 314, + 315, 316, 317, 26, 0, 1301, 319, 0, 0, 1302, + 320, 0, 0, 0, 0, 0, 321, 0, 0, 322, + 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, + 0, 0, 329, 0, 1303, 300, 8, 9, 10, 167, + 12, 301, 302, 303, 730, 304, 14, 0, 0, 330, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 305, 17, 18, 19, 0, 306, 307, 20, 0, + 308, 309, 310, 21, 311, 312, 0, 23, 0, 617, + 0, 313, 314, 315, 316, 317, 26, 0, 27, 319, + 0, 0, 0, 320, 0, 0, 0, 0, 0, 321, + 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, + 323, 324, 912, 0, 0, 0, 0, 0, 326, 327, + 328, 0, 620, 0, 0, 913, 622, 7, 8, 9, + 10, 167, 12, 301, 302, 303, 730, 304, 14, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 305, 17, 18, 19, 0, 306, 307, + 20, 0, 308, 309, 310, 21, 311, 312, 0, 23, + 0, 617, 0, 313, 314, 315, 316, 317, 26, 0, + 27, 28, 0, 0, 0, 320, 0, 0, 0, 0, + 0, 321, 0, 0, 1186, 0, 0, 0, 0, 0, + 0, 0, 323, 324, 1187, 0, 0, 0, 0, 0, + 326, 327, 328, 0, 620, 0, 0, 1188, 622, 300, + 8, 9, 10, 0, 12, 301, 302, 303, 0, 304, + 14, 0, 0, 0, 330, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16, 305, 17, 18, 19, 0, + 306, 307, 20, 0, 308, 309, 310, 21, 311, 312, + 0, 23, 0, 617, 0, 313, 314, 315, 316, 317, + 26, 0, 27, 319, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 911, 0, 0, 0, + 0, 0, 0, 0, 323, 324, 912, 0, 0, 0, + 0, 0, 326, 327, 328, 0, 620, 0, 0, 913, + 622, 7, 8, 9, 10, 0, 12, 301, 302, 303, + 0, 304, 14, 0, 0, 0, 330, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 305, 17, 18, + 19, 0, 306, 307, 20, 0, 308, 309, 310, 21, + 311, 312, 0, 23, 0, 617, 0, 313, 314, 315, + 316, 317, 26, 0, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 321, 0, 0, 1186, 0, + 0, 0, 0, 0, 0, 0, 323, 324, 1187, 0, + 0, 0, 0, 0, 326, 327, 328, 0, 620, 0, + 0, 1188, 622, 300, 8, 9, 10, 0, 12, 533, + 302, 303, 0, 304, 14, 0, 0, 0, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 16, 305, + 17, 18, 19, 0, 306, 307, 20, 0, 308, 309, + 310, 21, 311, 312, 0, 23, 0, 0, 0, 313, + 314, 315, 316, 317, 26, 0, 27, 319, 0, 0, + 0, 320, 0, 0, 0, 0, 0, 321, 0, 0, + 552, 0, 0, 0, 0, 0, 0, 0, 323, 324, + 553, 0, 0, 0, 0, 0, 326, 327, 328, 300, + 8, 9, 10, 554, 12, 533, 302, 303, 0, 304, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 330, 0, 0, 0, 16, 305, 17, 0, 19, 0, + 306, 307, 20, 0, 308, 309, 310, 21, 311, 312, + 0, 23, 0, 0, 0, 313, 314, 315, 316, 317, + 26, 0, 27, 319, 0, 0, 1403, 320, 0, 0, + 0, 0, 0, 321, 0, 0, 322, 0, 0, 0, + 0, 0, 0, 0, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 327, 328, 0, 0, 0, 0, 329, + 300, 8, 9, 10, 167, 12, 301, 302, 303, 0, + 304, 14, 0, 0, 0, 0, 330, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 305, 17, 18, 19, + 0, 306, 307, 20, 0, 308, 309, 310, 21, 311, + 312, 0, 23, 0, 0, 0, 313, 314, 315, 316, + 317, 26, 0, 27, 319, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 322, 0, 0, + 0, 0, 0, 0, 0, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 327, 328, 7, 8, 9, 10, + 329, 12, 533, 302, 303, 0, 304, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 16, 305, 17, 18, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 0, 23, 0, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 27, + 28, 0, 0, 0, 320, 0, 0, 0, 0, 0, + 321, 0, 0, 1493, 0, 0, 0, 0, 0, 0, + 0, 323, 324, 1494, 0, 0, 0, 0, 0, 326, + 327, 328, 300, 8, 9, 10, 1495, 12, 301, 302, + 303, 0, 304, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 16, 305, 17, + 0, 19, 0, 306, 307, 20, 0, 308, 309, 310, + 21, 311, 312, 0, 23, 0, 0, 0, 313, 314, + 315, 316, 317, 26, 0, 318, 319, 0, 0, 0, + 320, 0, 0, 0, 0, 0, 321, 0, 0, 322, + 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 327, 328, 300, 8, + 9, 10, 329, 12, 301, 302, 303, 0, 304, 14, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 16, 305, 17, 0, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, 0, 0, 0, 320, 0, 0, 0, + 0, 0, 321, 0, 0, 322, 0, 0, 0, 0, + 0, 0, 0, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 327, 328, 300, 8, 9, 10, 329, 12, + 533, 302, 303, 0, 304, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 16, + 305, 17, 0, 19, 0, 306, 307, 20, 0, 308, + 309, 310, 21, 311, 312, 0, 23, 0, 0, 0, + 313, 314, 315, 316, 317, 26, 0, 27, 319, 0, + 0, 0, 320, 0, 0, 0, 0, 0, 321, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 0, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 327, 328, + 300, 8, 9, 10, 329, 12, 533, 302, 303, 0, + 304, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 16, 305, 17, 0, 19, + 0, 306, 307, 20, 0, 308, 309, 310, 21, 311, + 312, 0, 23, 0, 0, 0, 313, 314, 315, 316, + 317, 26, 0, 27, 319, 566, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 322, 0, 0, + 0, 0, 0, 0, 0, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 327, 328, 300, 8, 9, 10, + 567, 12, 533, 302, 303, 0, 304, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 16, 305, 17, 0, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 0, 23, 0, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 27, + 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 321, 0, 0, 322, 0, 0, 0, 0, 0, 0, + 0, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 327, 328, 0, 0, 0, 0, 329, 605, 300, 8, + 9, 10, 0, 12, 533, 302, 303, 0, 304, 14, + 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 305, 17, 18, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 321, 0, 0, 552, 0, 0, 0, 0, + 0, 0, 0, 323, 324, 553, 0, 0, 0, 0, + 0, 326, 327, 328, 1146, 8, 9, 10, 554, 12, + 533, 302, 303, 0, 304, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 16, + 305, 17, 0, 19, 0, 306, 307, 20, 0, 308, + 309, 310, 21, 311, 312, 0, 23, 0, 0, 0, + 313, 314, 315, 316, 317, 26, 0, 27, 319, 0, + 0, 0, 320, 0, 0, 0, 0, 0, 321, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 0, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 327, 328, + 7, 8, 9, 10, 329, 12, 301, 302, 303, 0, + 304, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 16, 305, 17, 18, 19, + 0, 306, 307, 20, 0, 308, 309, 310, 21, 311, + 312, 0, 23, 0, 0, 0, 313, 314, 315, 316, + 317, 26, 0, 27, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 1493, 0, 0, + 0, 0, 0, 0, 0, 323, 324, 1494, 0, 0, + 0, 0, 0, 326, 327, 328, 300, 8, 9, 10, + 1495, 12, 533, 302, 303, 0, 304, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 16, 305, 17, 0, 19, 0, 306, 307, 20, + 0, 308, 309, 310, 21, 311, 312, 0, 23, 0, + 0, 0, 313, 314, 315, 316, 317, 26, 0, 27, + 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 321, 0, 0, 322, 0, 0, 0, 0, 0, 0, + 0, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 327, 328, 300, 8, 9, 10, 534, 12, 533, 302, + 303, 0, 304, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 16, 305, 17, + 0, 19, 0, 306, 307, 20, 0, 308, 309, 310, + 21, 311, 312, 0, 23, 0, 0, 0, 313, 314, + 315, 316, 317, 26, 0, 27, 319, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 321, 0, 0, 322, + 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 327, 328, 300, 8, + 9, 10, 537, 12, 533, 302, 303, 0, 304, 14, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 16, 305, 17, 0, 19, 0, 306, + 307, 20, 0, 308, 309, 310, 21, 311, 312, 0, + 23, 0, 0, 0, 313, 314, 315, 316, 317, 26, + 0, 27, 319, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 321, 0, 6, 322, 7, 8, 9, 10, + 11, 12, 13, 323, 324, 325, 0, 14, 0, 0, + 0, 326, 327, 328, 0, 0, 0, 0, 329, 0, + 15, 16, 0, 17, 18, 19, 0, 0, 0, 20, + 0, 0, 0, 0, 21, 330, 0, 22, 23, 24, + 0, 25, 0, 0, 0, 0, 0, 26, 0, 27, + 28, 0, 0, 29, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + 0, 0, 773, 31, 7, 8, 774, 10, 167, 12, + 13, 32, 0, 0, 0, 14, 33, 0, 0, 0, + 0, 34, 0, 0, 0, 0, 0, 0, 0, 16, + 0, 17, 18, 19, 0, 0, 0, 20, 0, 0, + 0, 0, 21, 0, 0, 0, 23, 775, 0, 168, + 0, 0, 0, 0, 0, 26, 0, 27, 28, 0, + 0, 776, 0, 777, 0, 0, 0, 0, 0, 0, + 0, 30, 1039, 8, 774, 10, 205, 12, 206, 0, + 0, 31, 0, 14, 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 33, 0, 0, 16, 0, 17, + 18, 0, 0, 0, 0, 20, 0, 0, 0, 0, + 21, 0, 0, 0, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 26, 0, 27, 28, 0, 0, 0, + 0, 1041, 0, 0, 0, 0, 0, 0, 0, 30, + 7, 8, 9, 10, 205, 12, 206, 0, 0, 31, + 0, 14, 0, 0, 0, 0, 0, 32, 0, 0, + 0, 0, 33, 0, 0, 16, 0, 17, 18, 0, + 0, 0, 0, 20, 0, 0, 0, 0, 21, 0, + 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 28, 0, 0, 1420, 0, 7, + 8, 9, 10, 205, 12, 206, 0, 30, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 0, 0, 0, 0, 16, 32, 17, 18, 0, 0, + 33, 0, 20, 0, 0, 0, 0, 21, 0, 0, + 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 26, 0, 27, 28, 8, 9, 0, 167, 12, 13, + 0, 0, 1545, 0, 14, 0, 30, 8, 9, 0, + 205, 12, 206, 0, 0, 0, 31, 14, 16, 0, + 17, 18, 0, 0, 32, 0, 20, 0, 0, 33, + 0, 16, 0, 17, 18, 23, 0, 0, 0, 20, + 0, 0, 0, 0, 26, 0, 130, 131, 23, 0, + 0, 8, 9, 0, 0, 12, 13, 26, 0, 130, + 131, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 17, 0, 0, + 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, + 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 130, 131, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 0, 0, 0, 0, 658, 0, 0, 1541, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 1559, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 0, + 582, 583, 584, 585, 586, 587, 588, 589, 590 }; static const short yycheck[] = { 4, - 157, 345, 172, 46, 205, 33, 23, 170, 80, 4, - 171, 80, 147, 148, 398, 443, 702, 4, 126, 448, - 247, 398, 4, 351, 351, 300, 301, 609, 470, 84, - 35, 14, 369, 76, 616, 398, 491, 42, 133, 134, - 35, 859, 243, 552, 62, 428, 589, 133, 35, 678, - 4, 134, 57, 35, 42, 42, 352, 353, 333, 1299, - 42, 42, 238, 107, 108, 124, 1306, 72, 685, 1370, - 142, 1459, 1289, 4, 213, 214, 30, 31, 54, 84, - 765, 35, 767, 88, 783, 90, 205, 92, 42, 774, - 789, 292, 1460, 42, 42, 214, 47, 37, 1, 11, - 83, 1461, 107, 108, 35, 4, 11, 11, 404, 405, - 4, 42, 47, 58, 12, 90, 1504, 92, 546, 147, - 148, 149, 55, 106, 351, 33, 1507, 199, 0, 1483, - 84, 136, 137, 632, 139, 478, 35, 33, 54, 9, - 47, 35, 93, 42, 345, 1, 62, 0, 42, 1503, - 62, 60, 495, 98, 136, 58, 161, 108, 93, 62, - 165, 59, 137, 191, 62, 12, 209, 172, 610, 109, - 1, 48, 178, 161, 1555, 59, 152, 165, 165, 161, - 524, 1541, 136, 165, 165, 84, 93, 686, 33, 258, - 208, 61, 95, 147, 148, 57, 108, 896, 216, 59, - 109, 109, 58, 108, 108, 1194, 1195, 161, 1562, 42, - 108, 165, 59, 1601, 232, 62, 165, 165, 1586, 1208, - 196, 25, 468, 27, 1464, 109, 59, 58, 83, 84, - 476, 62, 4, 5, 165, 189, 190, 136, 171, 3, - 4, 5, 136, 1460, 74, 1546, 701, 342, 108, 25, - 60, 27, 148, 149, 58, 75, 342, 77, 62, 8, - 9, 244, 161, 47, 95, 14, 165, 161, 59, 4, - 54, 165, 74, 1513, 136, 703, 48, 4, 5, 436, - 4, 325, 58, 338, 56, 57, 62, 36, 293, 74, - 74, 95, 56, 57, 911, 191, 45, 914, 47, 109, - 35, 629, 147, 148, 149, 668, 389, 936, 80, 93, - 172, 35, 1011, 696, 697, 858, 80, 108, 900, 95, - 325, 658, 381, 1563, 1023, 54, 59, 462, 463, 56, - 57, 47, 165, 338, 60, 474, 475, 633, 955, 956, - 724, 346, 1331, 482, 93, 74, 191, 724, 60, 354, - 355, 1340, 1341, 59, 1343, 494, 475, 25, 1057, 27, - 1059, 943, 93, 1048, 3, 4, 5, 25, 351, 4, - 5, 598, 205, 355, 513, 108, 720, 93, 94, 354, - 213, 214, 7, 109, 338, 58, 62, 59, 60, 62, - 58, 27, 108, 398, 62, 31, 401, 109, 74, 4, - 58, 355, 108, 985, 62, 4, 5, 47, 47, 453, - 243, 398, 37, 48, 1232, 54, 47, 56, 57, 47, - 438, 56, 57, 492, 60, 430, 47, 95, 64, 325, - 35, 940, 861, 47, 462, 463, 464, 95, 47, 338, - 54, 484, 430, 47, 398, 80, 47, 93, 430, 430, - 47, 456, 93, 93, 93, 897, 355, 56, 57, 292, - 74, 355, 93, 481, 44, 93, 94, 400, 108, 4, - 5, 54, 93, 109, 54, 54, 430, 57, 522, 93, - 108, 525, 74, 62, 93, 529, 25, 492, 27, 93, - 94, 74, 93, 355, 47, 74, 93, 94, 542, 398, - 1489, 1490, 456, 799, 108, 1122, 1123, 93, 462, 463, - 492, 555, 345, 48, 519, 559, 60, 522, 107, 58, - 525, 56, 57, 62, 529, 530, 531, 532, 533, 4, - 5, 430, 695, 25, 9, 590, 430, 542, 492, 59, - 93, 1359, 47, 587, 519, 80, 974, 552, 47, 593, - 555, 60, 54, 937, 1009, 75, 95, 456, 54, 64, - 937, 492, 1144, 7, 8, 9, 47, 463, 464, 402, - 14, 666, 74, 749, 937, 751, 659, 905, 905, 54, - 756, 56, 57, 666, 62, 590, 47, 31, 93, 94, - 31, 1173, 36, 492, 93, 70, 74, 430, 492, 38, - 54, 45, 54, 742, 609, 80, 27, 808, 62, 62, - 31, 616, 93, 4, 5, 54, 60, 462, 463, 464, - 74, 47, 74, 47, 58, 12, 522, 902, 74, 525, - 492, 54, 93, 94, 930, 12, 590, 620, 59, 60, - 27, 474, 475, 64, 31, 541, 542, 1076, 1077, 482, - 667, 759, 606, 607, 1096, 609, 661, 58, 58, 555, - 47, 494, 616, 54, 64, 56, 57, 93, 94, 93, - 675, 109, 59, 60, 679, 62, 47, 64, 905, 70, - 513, 47, 59, 47, 701, 62, 661, 64, 54, 80, - 47, 590, 3, 4, 5, 6, 765, 62, 767, 93, - 1155, 54, 635, 94, 773, 774, 93, 94, 74, 74, - 609, 780, 62, 47, 4, 5, 54, 616, 54, 724, - 616, 108, 93, 54, 74, 768, 769, 93, 47, 93, - 41, 75, 1187, 54, 777, 47, 93, 48, 74, 745, - 1169, 674, 94, 676, 677, 56, 57, 1091, 108, 1178, - 1179, 47, 64, 74, 1183, 1051, 1052, 1053, 48, 93, - 765, 108, 767, 4, 5, 108, 56, 57, 773, 774, - 724, 4, 5, 779, 93, 780, 9, 88, 783, 784, - 785, 93, 787, 765, 789, 767, 108, 720, 4, 5, - 80, 11, 774, 109, 1223, 59, 60, 93, 780, 962, - 3, 4, 5, 636, 7, 8, 9, 48, 60, 784, - 785, 765, 787, 767, 62, 56, 57, 4, 5, 98, - 774, 54, 866, 56, 57, 724, 780, 93, 31, 783, - 1006, 1007, 1008, 36, 765, 789, 767, 70, 54, 772, - 56, 57, 47, 774, 677, 3, 111, 80, 62, 780, - 60, 54, 857, 56, 57, 58, 900, 862, 94, 64, - 108, 94, 94, 1549, 4, 5, 765, 54, 767, 56, - 57, 765, 62, 767, 111, 774, 948, 3, 4, 5, - 774, 780, 93, 70, 783, 890, 780, 720, 93, 1318, - 789, 896, 93, 80, 108, 900, 1092, 1093, 74, 1095, - 103, 104, 105, 765, 30, 767, 802, 74, 48, 742, - 772, 773, 774, 59, 60, 943, 56, 57, 780, 3, - 4, 5, 905, 59, 4, 5, 74, 1356, 54, 27, - 56, 57, 937, 31, 939, 940, 59, 60, 943, 75, - 80, 77, 896, 74, 898, 899, 900, 1243, 59, 60, - 937, 54, 59, 1381, 1298, 59, 60, 985, 11, 62, - 1004, 59, 60, 1035, 9, 109, 1035, 12, 48, 1397, - 54, 74, 56, 57, 58, 808, 56, 57, 108, 1048, - 985, 59, 60, 937, 1027, 59, 60, 941, 942, 943, - 1033, 1034, 59, 998, 1037, 1038, 108, 896, 1041, 1004, - 80, 900, 47, 899, 900, 74, 1011, 1142, 1143, 108, - 1016, 1017, 59, 60, 59, 108, 61, 62, 1023, 64, - 4, 5, 54, 3, 4, 5, 6, 796, 797, 798, - 75, 985, 77, 54, 8, 9, 1171, 1172, 937, 1045, - 14, 62, 108, 1048, 943, 59, 60, 943, 93, 94, - 74, 59, 1057, 74, 1059, 1483, 64, 1011, 74, 109, - 44, 41, 36, 108, 74, 109, 1048, 75, 48, 1023, - 54, 45, 56, 57, 1146, 1503, 56, 57, 3, 4, - 5, 1014, 1087, 111, 111, 108, 985, 27, 74, 985, - 54, 54, 74, 111, 1048, 1100, 111, 108, 943, 62, - 80, 54, 108, 1057, 1532, 1059, 108, 58, 88, 62, - 108, 74, 1011, 1497, 1142, 1143, 1144, 1048, 54, 8, - 1497, 74, 111, 93, 1023, 1100, 47, 1297, 59, 1173, - 64, 56, 57, 58, 1562, 1296, 1205, 1298, 1155, 1144, - 985, 93, 1570, 1171, 1172, 1173, 54, 109, 59, 1048, - 60, 36, 1014, 108, 1048, 64, 60, 1501, 1057, 64, - 1059, 1166, 1591, 74, 75, 64, 77, 62, 1173, 108, - 108, 1166, 64, 108, 64, 1219, 1220, 1221, 1222, 108, - 4, 5, 64, 111, 1166, 9, 1048, 93, 1142, 1143, - 1144, 59, 62, 108, 1200, 1201, 108, 1203, 1204, 75, - 1206, 3, 4, 5, 6, 108, 108, 108, 75, 3, - 4, 5, 1166, 7, 8, 9, 75, 1171, 1172, 1173, - 75, 108, 108, 47, 62, 62, 3, 4, 5, 6, - 54, 59, 56, 57, 108, 1166, 62, 31, 1282, 41, - 111, 94, 36, 108, 108, 1144, 70, 1143, 1144, 3, - 4, 5, 54, 111, 56, 57, 80, 88, 60, 90, - 62, 92, 56, 57, 41, 88, 90, 1166, 70, 93, - 94, 74, 47, 108, 1173, 108, 1172, 1173, 80, 56, - 57, 111, 111, 108, 1289, 59, 88, 3, 4, 5, - 108, 93, 1297, 108, 1299, 1338, 1339, 1142, 1143, 1144, - 1501, 1306, 56, 57, 1299, 109, 137, 1289, 139, 108, - 1315, 1306, 109, 1357, 60, 64, 64, 1299, 1475, 4, - 5, 59, 1328, 1329, 1306, 59, 1171, 1172, 1173, 108, - 3, 4, 5, 93, 93, 1289, 108, 93, 54, 109, - 56, 57, 93, 1478, 1479, 1299, 1390, 109, 3, 4, - 5, 6, 1306, 108, 9, 108, 108, 8, 1289, 3, - 4, 5, 47, 1296, 1407, 1298, 1529, 111, 1299, 54, - 111, 56, 57, 108, 33, 1306, 3, 4, 5, 6, - 1408, 54, 9, 56, 57, 70, 41, 108, 108, 108, - 1289, 109, 47, 108, 108, 80, 108, 108, 108, 54, - 1299, 56, 57, 108, 48, 90, 64, 1306, 93, 94, - 1454, 108, 56, 57, 41, 70, 1460, 1461, 54, 108, - 47, 1427, 1428, 1429, 108, 80, 47, 54, 62, 56, - 57, 111, 108, 88, 108, 90, 1480, 108, 93, 94, - 3, 4, 5, 70, 7, 8, 9, 96, 62, 1454, - 1478, 1479, 1480, 80, 1459, 1460, 1461, 62, 60, 1464, - 60, 88, 9, 90, 1459, 1298, 93, 94, 60, 1464, - 80, 81, 82, 83, 84, 1480, 16, 1459, 1460, 108, - 1486, 1487, 1464, 108, 108, 316, 108, 3, 4, 5, - 108, 1534, 1497, 56, 57, 108, 93, 1541, 398, 1504, - 1454, 60, 93, 60, 64, 1459, 1460, 1461, 1513, 1504, - 1464, 54, 1408, 1557, 93, 111, 93, 17, 1513, 60, - 54, 107, 1504, 354, 1478, 1479, 97, 108, 1459, 1460, - 60, 1513, 48, 1464, 108, 1579, 1541, 11, 108, 108, - 56, 57, 1586, 1497, 93, 60, 60, 60, 1554, 14, - 1504, 59, 64, 108, 60, 1454, 456, 22, 1563, 1513, - 1459, 1460, 1461, 1408, 108, 1464, 108, 11, 1563, 1502, - 60, 11, 60, 1504, 2, 0, 0, 3, 4, 5, - 6, 1563, 1513, 1479, 1480, 0, 166, 1541, 35, 1395, - 165, 3, 4, 5, 6, 659, 1601, 937, 1497, 161, - 65, 3, 4, 5, 1528, 1504, 1601, 773, 430, 1563, - 1155, 94, 38, 39, 1513, 41, 139, 448, 449, 1601, - 3, 4, 5, 6, 1380, 456, 9, 1601, 54, 41, - 56, 57, 1563, 1478, 1479, 1480, 48, 1233, 3, 4, - 5, 80, 1541, 295, 56, 57, 923, 1601, 708, 449, - 918, 1187, 237, 1009, 56, 57, 456, 773, 41, 124, - 780, 302, 303, 642, 1563, 104, 1207, 916, 1501, 196, - 1601, 54, 590, 56, 57, 342, 88, 318, 124, 1299, - 321, 146, 1167, 324, 1570, 1549, 327, 70, 519, 520, - 331, 56, 57, 1518, 133, 1580, 993, 80, 339, 3, - 4, 5, 1601, 142, 1582, 88, -1, 1315, -1, 609, - 93, -1, 3, 4, 5, 6, 616, -1, 9, -1, - 520, 552, -1, 554, -1, -1, 557, 558, -1, 560, - 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, - 571, 572, 573, 574, 575, 576, 577, 578, -1, 580, - 41, -1, 56, 57, -1, 586, 47, 3, 4, 5, - 199, 7, -1, 54, -1, 56, 57, -1, 233, 234, - -1, -1, 3, 4, 5, -1, -1, -1, 4, 70, - 580, -1, 247, -1, 30, 616, 586, -1, 14, 80, - -1, 37, 623, -1, 233, 4, 5, 88, 24, 90, - 9, -1, 93, 94, 30, 31, -1, 33, 54, 35, - 56, 57, -1, -1, 645, 646, 42, -1, -1, 258, - -1, -1, -1, 623, 724, 56, 57, -1, -1, 55, - 661, 57, -1, -1, 3, 4, 5, 6, 47, 65, - -1, -1, 3, 4, 5, 54, 72, 56, 57, -1, - -1, -1, 317, 3, 4, 5, 6, 83, 84, 9, - -1, 70, -1, -1, -1, 57, -1, 59, -1, -1, - -1, 80, 41, 65, 3, 4, 5, 708, -1, 48, - 106, 90, -1, 783, 93, 94, -1, 56, 57, 789, - -1, 41, -1, -1, 359, 56, 57, 47, -1, 540, - 541, -1, -1, 368, 54, -1, 56, 57, 134, -1, - 136, 350, -1, -1, 140, -1, 381, 143, 144, 88, - 70, 147, 148, 149, 449, -1, -1, 56, 57, -1, - 80, 456, -1, 764, -1, 161, -1, -1, 88, 165, - 90, -1, -1, 93, 94, 171, 172, -1, -1, -1, - -1, -1, -1, 784, 785, -1, 787, -1, 47, -1, - -1, -1, -1, 189, 190, 191, -1, -1, 407, -1, - -1, 802, -1, -1, 3, 4, 5, 6, -1, -1, - 172, 3, 4, 5, 6, -1, 178, -1, -1, -1, - -1, -1, 218, 824, -1, 520, 896, 86, 87, -1, - 900, -1, 91, 92, 93, 94, -1, -1, 234, -1, - -1, -1, 41, 205, -1, -1, -1, -1, 244, 41, - -1, 213, 214, -1, 489, 856, 857, 56, 57, 255, - 861, 862, 54, -1, 56, 57, -1, 937, 60, -1, - -1, -1, -1, 943, -1, 876, -1, 878, 70, 880, - 489, -1, -1, -1, -1, 580, 856, 857, 80, 88, - -1, 586, 862, -1, -1, -1, 88, 293, 294, -1, - -1, 93, -1, -1, -1, -1, 876, 516, 878, -1, - 880, -1, -1, -1, 915, 985, 7, 8, 9, 554, - -1, 616, -1, 14, 925, 4, 5, -1, 623, -1, - 9, -1, 3, 4, 5, 6, 7, 8, 9, 940, - 31, 1011, 338, 14, -1, 36, 342, -1, 344, 345, - 346, -1, 953, 1023, 45, 925, -1, -1, -1, 355, - 31, -1, -1, 598, -1, 36, -1, 968, 47, 60, - 41, -1, -1, -1, 45, 54, 47, 56, 57, -1, - -1, -1, -1, 54, 985, 56, 57, 1057, -1, 1059, - -1, 70, -1, 389, 603, -1, -1, -1, 968, 70, - -1, 80, 398, -1, 400, 401, -1, -1, -1, 80, - 619, 90, -1, -1, 93, 94, -1, 88, 414, 90, - -1, 417, 93, 94, -1, 1026, 422, -1, -1, -1, - -1, -1, 667, -1, 430, -1, -1, -1, -1, 401, - 402, -1, 1, 678, 3, 4, 5, 6, -1, 8, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 870, - -1, 9, 458, -1, 460, -1, 462, 463, 464, -1, - -1, -1, 468, 708, 1144, 1076, 1077, 473, -1, 1080, - 476, -1, 41, -1, -1, -1, -1, 898, 899, 48, - -1, -1, -1, 41, -1, 54, 492, 56, 57, 1100, - -1, -1, -1, 1173, -1, 467, 54, 802, 56, 57, - -1, -1, 474, 475, -1, -1, 478, 7, 8, 9, - 482, -1, 70, -1, 14, -1, -1, -1, -1, 88, - -1, -1, 80, 495, 530, 531, 532, 533, -1, -1, - 88, 31, -1, -1, -1, 93, 36, -1, 3, 4, - 5, 6, -1, -1, 9, 45, 1157, -1, 1159, -1, - 1161, 856, 857, -1, -1, -1, -1, 862, 1169, 78, - 79, 80, 81, 82, 83, 84, -1, 1178, 1179, -1, - -1, 876, 1183, 878, -1, 880, 41, 1157, -1, 1159, - -1, 1161, -1, -1, 590, -1, 592, 1198, 1199, 54, - -1, 56, 57, -1, -1, 7, 8, 9, 604, -1, - 606, 607, 14, 609, -1, 70, -1, -1, -1, -1, - 616, -1, 1223, -1, 620, 80, -1, -1, -1, 31, - 925, -1, -1, 88, 36, -1, -1, -1, 93, 635, - -1, -1, -1, 45, 740, -1, -1, -1, -1, -1, - -1, -1, -1, 1254, -1, 3, 4, 5, 6, -1, - -1, -1, -1, 659, -1, -1, 3, 4, 5, 6, - 666, -1, -1, 968, 636, -1, -1, 1278, 674, 675, - 676, 677, 678, 679, 1254, -1, 782, 1098, 923, -1, - 985, -1, 788, 41, -1, 904, -1, 906, -1, 47, - -1, 936, -1, -1, 41, -1, 54, -1, 56, 57, - -1, 48, -1, 675, -1, 677, 678, 1318, -1, 56, - 57, -1, 70, -1, 720, -1, -1, -1, 724, -1, - -1, -1, 80, 1334, -1, 731, 732, -1, 734, 948, - 88, -1, 90, 80, -1, 93, 94, -1, -1, -1, - -1, 88, -1, -1, -1, 1356, -1, -1, 720, -1, - 1171, 1172, -1, -1, -1, -1, 762, -1, -1, 765, - -1, 767, -1, -1, -1, -1, 772, 773, 774, -1, - 742, -1, -1, 745, 780, -1, -1, 783, -1, -1, - -1, -1, -1, 789, -1, 891, -1, 893, -1, -1, - 796, 797, 798, -1, -1, -1, -1, 1408, -1, -1, - -1, 773, 808, -1, -1, -1, -1, 779, -1, -1, - -1, -1, -1, -1, 1425, 1426, 1035, 1497, -1, -1, - -1, 4, 5, 1434, 7, 8, 9, -1, -1, 12, - -1, 14, 1077, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 28, -1, 30, 31, -1, - -1, 1462, 1157, 36, 1159, -1, 1161, -1, -1, -1, - -1, -1, 45, -1, 47, -1, -1, -1, 1289, -1, - -1, 54, -1, 56, 57, 881, -1, 883, -1, -1, - -1, -1, -1, -1, 890, -1, -1, 70, 894, -1, - 896, -1, 898, 899, 900, -1, -1, 80, -1, 905, - 1119, -1, -1, -1, -1, -1, -1, 90, -1, -1, - 93, 94, -1, 3, 4, 5, 6, -1, 1163, -1, - -1, -1, -1, -1, 1169, -1, -1, 1146, -1, -1, - -1, 937, -1, 939, 4, 941, 942, 943, -1, -1, - -1, -1, -1, -1, 14, -1, -1, -1, -1, 1254, - 1056, 41, 1058, 23, 24, -1, -1, -1, 48, -1, - 30, 31, -1, 33, 936, 35, 56, 57, -1, -1, - -1, -1, 42, -1, -1, 3, 4, 5, 6, 985, - 1591, -1, -1, -1, -1, 55, 1205, 57, -1, -1, - 80, -1, 998, -1, -1, 65, -1, -1, 88, -1, - -1, -1, 72, -1, -1, 1011, -1, 1113, 1014, -1, - -1, -1, -1, 41, 84, -1, -1, 1023, -1, -1, - 48, -1, -1, -1, -1, -1, -1, -1, 56, 57, - 1036, -1, -1, -1, -1, -1, -1, -1, 1283, 1284, - -1, -1, 1048, -1, 1016, 1017, -1, -1, -1, -1, - -1, 1057, 80, 1059, -1, -1, -1, 1478, 1479, -1, - 88, -1, 3, 4, 5, 6, 136, -1, 9, -1, - 140, -1, -1, 1045, 144, -1, -1, 147, 148, 149, - -1, 1087, -1, -1, -1, 1191, 1092, 1093, -1, 1095, - 1196, 161, -1, -1, -1, 165, -1, 189, 190, 191, - 41, 171, 172, 1408, -1, 3, 4, 5, 6, -1, - -1, 9, -1, 54, -1, 56, 57, -1, -1, 189, - 190, 191, -1, 3, 4, 5, 6, 1372, -1, 70, - -1, -1, -1, -1, 1140, 1141, 1142, 1143, 1144, 80, - -1, 1247, 1148, 41, -1, -1, -1, 88, 218, 1394, - 1395, -1, 93, -1, -1, -1, 54, -1, 56, 57, - -1, 41, -1, -1, -1, 1171, 1172, 1173, 48, -1, - -1, -1, 70, -1, -1, -1, 56, 57, -1, -1, - -1, -1, 80, -1, -1, 255, -1, -1, -1, -1, - 88, -1, -1, -1, -1, 93, 1202, -1, -1, -1, - 80, 1207, -1, -1, -1, -1, -1, -1, 88, -1, - -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, - -1, -1, 14, 293, 294, -1, -1, 1472, 1200, 1201, - -1, 1203, 1204, -1, 1206, -1, 344, 345, 346, 31, - -1, 1347, 1348, -1, 36, -1, -1, -1, -1, 41, - -1, 1257, 1258, 45, 1260, 47, -1, -1, 1364, -1, - -1, -1, 54, -1, 56, 57, -1, -1, 338, -1, - -1, -1, 342, -1, 344, 345, 346, -1, 70, -1, - -1, 351, -1, -1, -1, 355, -1, -1, 80, -1, - 1296, 1297, 1298, -1, -1, -1, 88, -1, 90, -1, - -1, 93, 94, -1, -1, -1, -1, -1, -1, 1315, - -1, -1, -1, -1, 1420, 1421, -1, -1, -1, 389, - -1, -1, -1, -1, -1, 1297, 1298, -1, 398, -1, - 400, 401, -1, 1439, 1440, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 414, -1, -1, 417, -1, -1, - -1, -1, 422, -1, -1, -1, 1328, 1329, -1, -1, - 430, 3, 4, 5, 6, -1, 458, 9, 460, -1, - 462, 463, 464, -1, -1, -1, -1, -1, -1, -1, - -1, 473, 3, 4, 5, 6, -1, -1, 458, -1, - 460, -1, 462, 463, 464, -1, -1, -1, 468, 41, - 4, 5, 1408, 473, 8, 9, 476, -1, -1, -1, - 14, -1, 54, -1, 56, 57, -1, -1, -1, -1, - 41, 491, 492, -1, 28, -1, 30, -1, 70, -1, - -1, -1, 36, 54, -1, 56, 57, -1, 80, -1, - -1, 45, -1, 47, -1, -1, 88, -1, -1, -1, - 54, 93, 56, 57, -1, 1427, 1428, 1429, -1, -1, - 530, 531, 532, 533, -1, -1, 70, 88, -1, -1, - -1, -1, 1478, 1479, 1480, -1, 80, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 90, -1, -1, 93, - 94, 1497, -1, -1, -1, -1, 1502, -1, 606, 607, - 3, 4, 5, 6, 7, 8, 9, -1, 4, 5, - -1, 14, 8, 9, 1486, 1487, -1, -1, 14, -1, - 590, -1, 592, -1, -1, 28, -1, 30, 31, 32, - -1, -1, 28, 36, 30, -1, 606, 607, 41, 609, - 36, -1, 45, -1, -1, 48, 616, -1, -1, 45, - -1, 54, -1, 56, 57, -1, -1, -1, 54, 629, - 56, 57, -1, -1, -1, 635, 674, 70, 676, 677, - -1, 679, -1, -1, -1, -1, -1, 80, -1, -1, - -1, -1, 1554, -1, -1, 88, -1, -1, -1, 659, - 93, -1, -1, -1, -1, 98, -1, 667, -1, -1, - -1, -1, -1, -1, 674, 675, 676, 677, 678, 679, - -1, -1, 720, 68, 69, 70, 71, 72, 73, 74, + 161, 174, 149, 150, 23, 4, 175, 209, 156, 80, + 176, 251, 4, 4, 349, 55, 90, 715, 92, 126, + 14, 57, 564, 402, 355, 402, 355, 482, 80, 503, + 35, 62, 33, 455, 4, 402, 35, 42, 440, 30, + 31, 872, 4, 35, 35, 247, 460, 31, 304, 305, + 42, 42, 57, 133, 134, 621, 242, 134, 373, 84, + 209, 42, 628, 137, 124, 35, 42, 72, 4, 218, + 697, 601, 42, 35, 1385, 690, 133, 1474, 11, 84, + 42, 337, 778, 88, 780, 90, 4, 92, 1314, 83, + 1304, 787, 144, 84, 296, 1321, 217, 218, 42, 35, + 136, 1475, 107, 108, 796, 42, 42, 11, 37, 140, + 802, 46, 106, 54, 84, 355, 11, 35, 1476, 59, + 33, 42, 1519, 4, 42, 156, 1, 9, 33, 62, + 58, 136, 137, 0, 139, 175, 558, 1522, 59, 490, + 176, 76, 59, 1498, 47, 136, 0, 349, 149, 150, + 151, 203, 644, 62, 35, 1, 507, 141, 149, 150, + 165, 12, 146, 1518, 169, 74, 136, 622, 108, 1, + 98, 176, 60, 12, 165, 108, 182, 169, 169, 61, + 109, 212, 47, 58, 165, 1570, 4, 5, 169, 220, + 93, 262, 109, 169, 195, 165, 109, 74, 1556, 169, + 136, 536, 193, 194, 108, 236, 698, 169, 59, 59, + 194, 62, 58, 108, 155, 60, 62, 909, 136, 1616, + 59, 109, 1577, 62, 59, 169, 58, 1601, 93, 165, + 62, 47, 169, 169, 47, 25, 54, 27, 56, 57, + 714, 74, 59, 108, 149, 150, 151, 165, 169, 95, + 1561, 169, 70, 1479, 248, 4, 1209, 1210, 108, 200, + 47, 1475, 80, 95, 109, 60, 346, 27, 58, 108, + 1223, 31, 62, 108, 47, 259, 94, 93, 213, 7, + 93, 94, 48, 47, 358, 93, 35, 448, 209, 346, + 195, 108, 297, 47, 716, 108, 217, 218, 925, 60, + 60, 928, 1528, 38, 64, 95, 93, 709, 710, 37, + 641, 58, 58, 680, 109, 62, 393, 342, 64, 54, + 93, 108, 93, 359, 329, 385, 247, 474, 475, 93, + 3, 4, 5, 47, 1026, 950, 54, 342, 487, 93, + 47, 871, 969, 970, 62, 350, 1038, 913, 109, 109, + 47, 342, 1578, 358, 359, 670, 74, 54, 737, 93, + 737, 355, 4, 5, 404, 486, 487, 1063, 359, 74, + 610, 47, 342, 494, 47, 296, 25, 74, 27, 93, + 1072, 54, 1074, 56, 57, 506, 93, 94, 25, 359, + 27, 957, 75, 1346, 77, 62, 93, 402, 733, 74, + 405, 108, 1355, 1356, 525, 1358, 47, 74, 47, 58, + 402, 402, 954, 62, 56, 57, 1247, 93, 94, 450, + 93, 58, 93, 359, 60, 62, 4, 5, 349, 356, + 357, 9, 402, 504, 1000, 419, 54, 442, 422, 107, + 1, 359, 3, 4, 5, 6, 95, 8, 47, 25, + 434, 442, 93, 94, 93, 910, 74, 531, 95, 47, + 874, 442, 493, 468, 60, 64, 442, 108, 504, 107, + 108, 25, 442, 474, 475, 476, 54, 468, 56, 57, + 41, 408, 409, 474, 475, 406, 470, 48, 472, 4, + 54, 59, 70, 54, 93, 56, 57, 31, 468, 504, + 47, 485, 80, 62, 58, 93, 442, 75, 62, 47, + 1137, 1138, 47, 504, 47, 74, 94, 8, 9, 62, + 35, 442, 54, 14, 442, 480, 531, 88, 54, 534, + 62, 64, 537, 488, 504, 708, 541, 542, 543, 544, + 545, 95, 504, 1374, 54, 36, 93, 94, 74, 554, + 1024, 1504, 1505, 12, 45, 93, 47, 58, 93, 564, + 93, 496, 567, 74, 74, 486, 487, 989, 504, 474, + 475, 476, 951, 494, 951, 54, 762, 602, 764, 47, + 25, 54, 27, 769, 951, 506, 504, 47, 919, 47, + 919, 4, 5, 1159, 671, 74, 64, 602, 678, 673, + 59, 678, 93, 62, 525, 64, 62, 647, 3, 4, + 5, 602, 109, 58, 83, 84, 621, 62, 74, 821, + 4, 5, 1188, 628, 47, 93, 94, 618, 619, 47, + 621, 44, 602, 93, 755, 93, 94, 628, 632, 59, + 93, 54, 58, 56, 57, 54, 686, 54, 688, 689, + 95, 621, 12, 4, 5, 75, 1111, 77, 628, 915, + 679, 56, 57, 54, 48, 772, 108, 27, 673, 75, + 93, 31, 56, 57, 47, 93, 108, 1091, 1092, 919, + 94, 54, 687, 4, 5, 80, 691, 47, 4, 5, + 109, 329, 11, 733, 98, 714, 1170, 47, 44, 59, + 60, 74, 62, 54, 64, 56, 57, 778, 54, 780, + 47, 57, 3, 4, 5, 786, 787, 54, 645, 70, + 93, 108, 793, 797, 798, 108, 800, 648, 1202, 80, + 47, 47, 737, 93, 94, 56, 57, 74, 54, 47, + 56, 57, 778, 93, 780, 785, 737, 60, 108, 785, + 786, 787, 758, 93, 70, 3, 93, 793, 59, 60, + 744, 745, 60, 747, 80, 56, 57, 737, 689, 917, + 1184, 1106, 111, 778, 90, 780, 93, 93, 94, 1193, + 1194, 786, 787, 94, 1198, 93, 792, 778, 793, 780, + 94, 796, 797, 798, 54, 800, 787, 802, 62, 3, + 4, 5, 793, 62, 977, 796, 4, 5, 778, 111, + 780, 802, 733, 54, 74, 62, 778, 787, 780, 93, + 3, 4, 5, 793, 1238, 787, 796, 465, 4, 5, + 93, 793, 802, 74, 755, 1021, 1022, 1023, 3, 4, + 5, 6, 778, 74, 780, 74, 781, 782, 54, 108, + 48, 787, 56, 57, 58, 790, 62, 793, 56, 57, + 778, 108, 780, 74, 54, 870, 1564, 47, 74, 787, + 875, 54, 62, 56, 57, 793, 41, 74, 54, 11, + 56, 57, 80, 109, 74, 812, 917, 1107, 1108, 54, + 1110, 56, 57, 59, 60, 60, 534, 62, 903, 537, + 821, 4, 5, 541, 909, 70, 86, 87, 913, 59, + 962, 91, 92, 93, 94, 80, 554, 108, 909, 1333, + 911, 912, 913, 88, 54, 919, 59, 60, 93, 567, + 4, 5, 62, 571, 8, 9, 59, 27, 108, 909, + 14, 31, 59, 913, 74, 48, 951, 64, 953, 954, + 59, 60, 957, 56, 57, 54, 957, 1371, 75, 951, + 951, 599, 36, 62, 955, 956, 957, 605, 54, 59, + 60, 45, 956, 47, 1396, 74, 62, 80, 1313, 1050, + 54, 951, 56, 57, 4, 5, 108, 957, 74, 1029, + 1412, 74, 1063, 1029, 108, 1000, 70, 59, 1050, 1000, + 7, 8, 9, 809, 810, 811, 80, 14, 1013, 1000, + 1157, 1158, 74, 75, 1019, 77, 90, 944, 54, 93, + 94, 1026, 4, 5, 31, 1031, 1032, 1063, 48, 36, + 1000, 59, 60, 1038, 74, 1026, 56, 57, 45, 1186, + 1187, 1115, 59, 60, 74, 8, 9, 1038, 59, 60, + 108, 14, 957, 60, 1060, 109, 1026, 27, 1063, 109, + 80, 31, 59, 60, 59, 60, 48, 1072, 1038, 1074, + 59, 60, 1063, 36, 56, 57, 1498, 3, 4, 5, + 6, 1072, 45, 1074, 3, 4, 5, 6, 111, 59, + 60, 27, 108, 1063, 64, 1000, 1518, 1102, 80, 111, + 74, 1063, 1072, 74, 1074, 54, 74, 1042, 111, 1161, + 1115, 111, 108, 1048, 1049, 41, 108, 1052, 1053, 58, + 108, 1056, 41, 108, 54, 1547, 8, 1063, 54, 48, + 56, 57, 111, 1512, 93, 1512, 47, 56, 57, 1066, + 1067, 1068, 1311, 64, 1313, 1063, 1312, 59, 93, 1220, + 54, 1170, 109, 60, 1159, 1577, 1157, 1158, 1159, 36, + 108, 80, 88, 1585, 64, 64, 1157, 1158, 1159, 88, + 64, 1155, 1156, 4, 5, 108, 1181, 60, 9, 1163, + 108, 1516, 1181, 1188, 62, 1186, 1187, 1188, 108, 1159, + 1181, 108, 1606, 108, 64, 1186, 1187, 1188, 4, 5, + 64, 64, 111, 4, 5, 93, 62, 59, 75, 1215, + 1216, 1181, 1218, 1219, 75, 1221, 47, 108, 1188, 1181, + 75, 108, 108, 54, 108, 56, 57, 80, 81, 82, + 83, 84, 3, 4, 5, 6, 108, 30, 31, 70, + 33, 879, 48, 75, 62, 1181, 108, 48, 108, 80, + 56, 57, 1157, 1158, 1159, 56, 57, 62, 108, 90, + 59, 108, 93, 94, 57, 62, 59, 108, 111, 94, + 41, 1311, 65, 1313, 80, 913, 111, 48, 88, 80, + 47, 1186, 1187, 1188, 74, 56, 57, 108, 1272, 1273, + 109, 1275, 108, 108, 88, 108, 90, 111, 92, 1304, + 111, 3, 4, 5, 6, 108, 108, 1312, 60, 1314, + 59, 109, 59, 1304, 1516, 1314, 1321, 88, 64, 3, + 4, 5, 1321, 1314, 64, 1330, 59, 4, 5, 1490, + 1321, 1258, 9, 108, 1304, 108, 93, 1343, 1344, 41, + 93, 109, 1304, 137, 1314, 139, 1493, 1494, 141, 93, + 93, 1321, 1314, 146, 56, 57, 149, 150, 151, 1321, + 9, 109, 8, 12, 109, 33, 108, 108, 1304, 108, + 54, 1544, 56, 57, 58, 111, 108, 54, 1314, 56, + 57, 1019, 108, 176, 108, 1321, 88, 108, 111, 182, + 108, 108, 1313, 70, 108, 108, 108, 108, 47, 64, + 193, 194, 195, 80, 3, 4, 5, 6, 108, 4, + 59, 54, 61, 62, 108, 64, 209, 108, 1353, 1354, + 62, 111, 1423, 47, 217, 218, 75, 108, 77, 108, + 108, 62, 96, 62, 60, 60, 1442, 1443, 1444, 9, + 35, 60, 41, 16, 93, 94, 108, 42, 108, 48, + 78, 79, 80, 81, 82, 83, 84, 56, 57, 108, + 55, 108, 57, 108, 1469, 54, 259, 108, 108, 1474, + 1475, 1476, 93, 93, 1479, 1474, 60, 1517, 1469, 60, + 1479, 80, 64, 1474, 1475, 1476, 93, 1422, 1479, 88, + 1495, 93, 1493, 1494, 1495, 1501, 1502, 111, 17, 1469, + 54, 60, 1493, 1494, 1474, 1475, 1476, 1512, 108, 1479, + 107, 97, 1474, 1475, 1519, 60, 108, 1479, 1423, 11, + 1519, 1512, 60, 1528, 60, 108, 320, 60, 1519, 1528, + 108, 3, 4, 5, 6, 93, 329, 1528, 1474, 1475, + 64, 136, 1512, 1479, 59, 140, 108, 60, 11, 1519, + 1188, 1556, 108, 7, 8, 9, 108, 1519, 1528, 60, + 14, 11, 60, 1569, 358, 1556, 1528, 0, 0, 41, + 165, 0, 170, 1578, 169, 2, 35, 31, 671, 1578, + 175, 176, 36, 1519, 56, 57, 1556, 1578, 1493, 1494, + 1495, 45, 1528, 951, 169, 1516, 1234, 1235, 1236, 1237, + 1410, 165, 442, 1170, 3, 4, 5, 786, 1578, 1543, + 94, 1616, 405, 406, 1549, 1395, 1578, 1616, 3, 4, + 5, 6, 3, 4, 5, 1616, 419, 222, 139, 422, + 1616, 30, 1248, 299, 937, 428, 429, 430, 932, 721, + 241, 434, 1578, 1024, 1202, 33, 1616, 793, 786, 1222, + 654, 930, 602, 200, 1616, 54, 41, 56, 57, 1297, + 346, 1314, 47, 124, 1182, 1585, 460, 461, 1564, 54, + 1533, 56, 57, 54, 468, 56, 57, 470, 1597, 472, + 1616, 474, 475, 476, 1595, 70, 479, 1330, 1008, 3, + 4, 5, 485, 486, 487, 80, -1, 490, -1, -1, + -1, 494, -1, 88, -1, 90, -1, -1, 93, 94, + -1, 7, 8, 9, 507, 3, 4, 5, 14, 7, + 8, 9, -1, -1, -1, -1, -1, -1, -1, 306, + 307, -1, -1, -1, 1372, 31, -1, 531, 532, 461, + 36, 534, 56, 57, 537, 322, 468, -1, 325, 45, + -1, 328, -1, -1, 331, -1, -1, -1, 335, 552, + 553, 554, 150, 151, 359, -1, 343, 1405, 56, 57, + 564, -1, 566, -1, 567, 569, 570, -1, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, -1, 592, -1, + -1, -1, -1, -1, 598, -1, -1, 195, -1, 404, + 532, -1, 3, 4, 5, -1, 7, 8, 9, -1, + -1, -1, -1, -1, 3, 4, 5, -1, -1, -1, + -1, 1469, -1, -1, 628, 628, -1, 1475, 1476, -1, + 31, 635, 402, -1, -1, 36, -1, 442, -1, 4, + 5, -1, -1, 8, 9, 648, -1, 1495, -1, 14, + -1, 14, -1, 657, 658, 56, 57, 80, -1, 22, + 592, -1, -1, 28, -1, 30, 598, 56, 57, 673, + -1, 36, -1, 3, -1, 480, 6, -1, -1, -1, + 45, 104, 47, 488, 687, -1, 689, 690, -1, 54, + -1, 56, 57, -1, 3, 4, 5, 6, 468, 504, + -1, 31, 65, 635, -1, 70, -1, -1, 1556, -1, + 133, 41, -1, -1, -1, 80, -1, 721, -1, -1, + -1, 144, -1, -1, 1572, 90, 56, 57, 93, 94, + 733, 329, 41, 3, 4, 5, -1, 7, -1, 48, + 70, 744, 745, -1, 747, -1, 1594, 56, 57, -1, + 80, -1, 755, 1601, -1, 758, -1, -1, 88, -1, + 30, 124, -1, 93, -1, 552, 553, 37, -1, 3, + 4, 5, 6, 777, -1, 9, 3, 4, 5, 88, + 203, -1, -1, 786, 54, 148, 56, 57, -1, 792, + 3, 4, 5, 797, 798, -1, 800, 31, -1, -1, + 193, 194, 195, -1, -1, -1, -1, 41, 3, 4, + 5, 815, 815, 47, 237, 3, 4, 5, -1, -1, + 54, 48, 56, 57, -1, -1, 3, 4, 5, 56, + 57, 429, 430, 837, -1, 48, 70, -1, -1, 262, + -1, -1, 647, 56, 57, -1, 80, 3, 4, 5, + -1, 621, -1, -1, 88, -1, 90, -1, 628, 93, + 94, 56, 57, -1, -1, 869, 870, -1, 56, 57, + 874, 875, -1, -1, 237, 238, -1, 475, 476, 56, + 57, 686, 687, 688, 689, 889, -1, 891, 251, 893, + -1, 3, 4, 5, -1, 7, 8, 9, -1, -1, + 56, 57, -1, -1, -1, -1, -1, -1, 911, 912, + 913, -1, -1, -1, -1, -1, -1, -1, -1, 31, + -1, -1, -1, -1, 36, 929, -1, -1, 733, -1, + -1, 354, 737, -1, -1, 939, 534, 869, 870, 537, + -1, -1, 54, 875, 56, 57, 58, 950, -1, -1, + 954, -1, 955, 956, 957, 553, 554, 889, 321, 891, + -1, 893, -1, 967, -1, -1, -1, 737, -1, 567, + -1, -1, -1, 778, -1, 780, -1, -1, -1, 983, + 785, 786, 787, -1, -1, -1, -1, -1, 793, 412, + -1, 103, 104, 105, -1, -1, 1000, 1000, -1, -1, + 363, -1, -1, -1, -1, -1, -1, 939, -1, 372, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, -1, 385, 9, -1, -1, 796, -1, 1031, 1032, + 628, -1, 802, -1, -1, -1, -1, 1041, -1, -1, + -1, -1, -1, -1, -1, 31, -1, 4, 5, -1, + -1, 983, 9, -1, -1, 41, -1, 1060, -1, -1, + -1, 47, -1, -1, -1, -1, -1, -1, 54, -1, + 56, 57, -1, -1, -1, -1, -1, 470, 501, 472, + -1, 474, 475, 476, 70, -1, -1, 1091, 1092, -1, + 47, 1095, 485, -1, 80, -1, 883, 54, -1, 56, + 57, -1, 88, -1, 90, 528, -1, 93, 94, -1, + -1, 1115, -1, 70, -1, -1, -1, -1, -1, -1, + 7, 8, 9, 80, 911, 912, -1, 14, -1, -1, + -1, -1, -1, 90, -1, -1, 93, 94, 501, 909, + -1, -1, -1, 913, 31, -1, -1, -1, -1, 36, + -1, -1, 1155, 1156, 1157, 1158, 1159, -1, 45, -1, + 1163, -1, -1, -1, -1, -1, -1, -1, 1172, -1, + 1174, -1, 1176, 60, -1, -1, -1, -1, -1, -1, + 1184, 951, -1, 1186, 1187, 1188, -1, 957, -1, 1193, + 1194, -1, 615, -1, 1198, -1, 4, 5, -1, -1, + 8, 9, -1, 566, -1, -1, 14, -1, 631, 1213, + 1214, -1, 1215, 1216, -1, 1218, 1219, 815, 1221, -1, + 28, -1, 30, -1, 1029, -1, -1, -1, 36, -1, + 1000, -1, -1, 4, 1238, -1, -1, 45, -1, -1, + 1172, -1, 1174, 14, 1176, -1, 54, 610, 56, 57, + 58, -1, -1, 24, -1, -1, 1026, -1, 1063, 30, + 31, -1, 33, -1, 35, 1269, -1, -1, 1038, 1272, + 1273, 42, 1275, -1, -1, -1, -1, 753, -1, 3, + 4, 5, 6, -1, 55, 93, 57, -1, -1, 1293, + -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, + -1, 72, 1072, -1, 1074, -1, -1, -1, -1, 1312, + 1313, -1, 83, 84, 912, 913, 679, 41, -1, 795, + -1, -1, -1, -1, 48, 801, 1113, 690, -1, 1333, + -1, -1, 56, 57, -1, 106, -1, 1269, -1, -1, + 1343, 1344, -1, -1, -1, 1349, -1, -1, -1, -1, + -1, 744, 745, -1, 747, -1, 80, -1, 721, 957, + -1, -1, -1, 134, 88, 136, -1, 1371, -1, 140, + 141, -1, -1, -1, 145, 146, -1, -1, 149, 150, + 151, -1, -1, -1, -1, -1, -1, -1, -1, 1159, + -1, -1, 785, -1, 165, -1, -1, -1, 169, 1186, + 1187, -1, 1000, -1, 175, 176, -1, -1, -1, -1, + -1, -1, 1217, -1, -1, -1, -1, 1222, 1188, 1423, + 1423, -1, 193, 194, 195, -1, -1, -1, 904, -1, + 906, 3, 4, 5, 6, -1, 1440, 1441, -1, 1442, + 1443, 1444, -1, -1, -1, 1449, -1, -1, -1, -1, + -1, 222, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, -1, 461, 9, -1, -1, 238, -1, 41, + 468, -1, -1, 1477, -1, -1, 48, 248, -1, -1, + -1, -1, -1, -1, 56, 57, 31, -1, 259, -1, + 1493, 1494, 1495, -1, -1, 918, 41, 920, 1501, 1502, + -1, -1, 47, -1, -1, -1, 1311, 1312, 1313, 54, + -1, 56, 57, -1, -1, -1, 88, 1304, -1, -1, + -1, -1, -1, -1, -1, 70, 297, 298, -1, 3, + 4, 5, 6, -1, 532, 80, -1, -1, -1, 962, + -1, -1, -1, 88, -1, 90, -1, -1, 93, 94, + -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, + 1158, 1159, 955, 956, 957, -1, 1569, 41, -1, -1, + -1, 342, -1, -1, 937, 346, -1, 348, 349, 350, + 54, -1, 56, 57, -1, -1, -1, 950, 359, 1187, + 1188, -1, -1, -1, 592, 1071, 70, 1073, -1, -1, + 598, -1, 1606, 4, 5, -1, 80, 1000, 9, 82, + -1, -1, -1, -1, 88, -1, -1, -1, -1, 93, + -1, -1, 393, 3, 4, 5, 6, 1050, -1, -1, + 628, 402, -1, 404, 405, -1, 1029, 635, -1, -1, + -1, -1, -1, -1, -1, -1, 47, -1, 419, -1, + -1, 422, 1128, 54, -1, 56, 57, -1, -1, -1, + -1, 41, -1, 434, -1, -1, -1, -1, -1, 70, + -1, 442, -1, -1, 54, -1, 56, 57, -1, 80, + 60, -1, -1, -1, -1, -1, 159, -1, -1, 90, + 70, -1, 93, 94, -1, -1, -1, -1, -1, 470, + 80, 472, -1, 474, 475, 476, 1493, 1494, 88, 480, + -1, 1134, 1517, 93, 485, -1, -1, 488, 191, 76, + 77, 78, 79, 80, 81, 82, 83, 84, -1, 1092, + 1206, 204, -1, 504, -1, 1211, -1, -1, 1161, -1, + -1, -1, 1512, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, -1, -1, 9, -1, + -1, -1, 1155, 1156, 1157, 1158, 1159, -1, -1, -1, + 1163, 542, 543, 544, 545, -1, -1, -1, -1, -1, + 31, -1, -1, -1, -1, -1, 1262, -1, -1, -1, + 41, -1, -1, 1186, 1187, 1188, 47, 1220, 3, 4, + 5, 6, -1, 54, 9, 56, 57, -1, -1, -1, + -1, -1, -1, -1, -1, 1178, -1, 815, -1, 70, + -1, 1184, -1, -1, 1217, 1423, 31, -1, -1, 80, + -1, 602, -1, 604, -1, -1, 41, 88, -1, 90, + -1, -1, 93, 94, -1, 616, -1, 618, 619, 54, + 621, 56, 57, -1, -1, -1, -1, 628, -1, -1, + -1, 632, -1, -1, -1, 70, -1, -1, -1, -1, + -1, 869, 870, -1, -1, 80, 647, 875, -1, 1272, + 1273, -1, 1275, 88, -1, -1, 1362, 1363, 93, -1, + -1, 889, -1, 891, -1, 893, 1494, 1495, -1, -1, + 671, -1, -1, 1379, -1, -1, -1, 678, -1, -1, + -1, -1, -1, -1, -1, 686, 687, 688, 689, 690, + 691, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 1298, 1299, -1, -1, -1, + -1, 939, 1, -1, 3, 4, 5, 6, 7, 8, + 9, -1, -1, -1, -1, 14, -1, -1, -1, 1435, + 1436, -1, 733, -1, -1, -1, 737, -1, -1, 28, + -1, 30, 31, 744, 745, -1, 747, 36, 1454, 1455, + -1, -1, 41, -1, -1, 983, 45, -1, -1, 48, + -1, -1, -1, -1, -1, 54, -1, 56, 57, -1, + -1, 60, 1000, -1, 775, 478, -1, 778, -1, 780, + 483, 70, -1, -1, 785, 786, 787, -1, -1, -1, + -1, 80, 793, -1, 1387, 796, -1, -1, -1, 88, + 1423, 802, -1, -1, 93, 508, -1, -1, 809, 810, + 811, 514, -1, -1, -1, -1, 1409, 1410, -1, -1, + 821, -1, -1, 526, 527, -1, 529, 3, 4, 5, + 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 348, 349, 350, -1, -1, 3, 4, 5, 6, + 7, 8, 9, -1, -1, -1, -1, 14, -1, -1, + -1, -1, 38, 39, -1, 41, -1, -1, -1, -1, + 1493, 1494, 1495, -1, 31, -1, -1, -1, 54, 36, + 56, 57, -1, -1, 41, -1, -1, -1, 45, -1, + 47, -1, -1, 894, 1487, 896, -1, 54, -1, 56, + 57, -1, 903, -1, -1, -1, 907, -1, 909, -1, + 911, 912, 913, 70, -1, -1, -1, -1, 919, -1, + -1, 624, 625, 80, -1, -1, 629, -1, -1, -1, + -1, 88, -1, 90, -1, -1, 93, 94, -1, -1, + -1, -1, -1, 4, 1172, -1, 1174, -1, 1176, -1, + 951, -1, 953, 14, 955, 956, 957, -1, -1, -1, + -1, -1, 23, 24, -1, -1, -1, -1, -1, 30, + 31, -1, 33, -1, 35, -1, 3, 4, 5, 6, + -1, 42, 3, 4, 5, 6, 7, 8, 9, -1, + -1, 12, -1, 14, 55, -1, 57, -1, -1, 1000, + -1, -1, -1, -1, 65, -1, -1, 28, -1, 30, + 31, 72, 1013, -1, 41, 36, -1, -1, -1, -1, + 41, -1, -1, 84, 45, 1026, -1, 54, 1029, 56, + 57, -1, -1, 54, -1, 56, 57, 1038, 107, 108, + -1, 1269, -1, 70, -1, -1, -1, -1, -1, 70, + 1051, -1, -1, 80, -1, -1, -1, -1, -1, 80, + -1, 88, 1063, -1, -1, -1, 93, 88, -1, -1, + -1, 1072, 93, 1074, -1, 136, -1, -1, -1, 140, + 141, -1, -1, -1, -1, 146, -1, -1, 149, 150, + 151, 3, 4, 5, 6, -1, -1, -1, -1, -1, + 803, 1102, 805, -1, 165, -1, 1107, 1108, 169, 1110, + -1, 618, 619, -1, 175, 176, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 41, + -1, -1, 193, 194, 195, -1, 48, -1, -1, -1, + -1, -1, -1, -1, 56, 57, -1, -1, -1, -1, + -1, -1, -1, -1, 1155, 1156, 1157, 1158, 1159, 4, + 5, 222, 1163, 8, 9, -1, -1, -1, 80, 14, + -1, -1, -1, -1, 877, 878, 88, 880, -1, 686, + -1, 688, 689, -1, 691, 1186, 1187, 1188, -1, -1, + -1, 36, -1, -1, -1, 1423, -1, -1, 259, -1, + 45, -1, 47, -1, -1, 908, -1, -1, -1, 54, + -1, 56, 57, -1, 4, 5, 1217, 7, 8, 9, + -1, 1222, 12, -1, 14, 70, 733, -1, -1, -1, + 3, 4, 5, 6, -1, 80, 297, 298, 28, -1, + 30, 31, -1, -1, -1, 90, 36, -1, 93, 94, + -1, -1, -1, -1, -1, 45, 959, 47, -1, -1, + 329, -1, -1, -1, 54, -1, 56, 57, 41, -1, + -1, 1272, 1273, -1, 1275, 48, -1, -1, -1, -1, + 70, 342, -1, 56, 57, 346, -1, 348, 349, 350, + 80, -1, -1, -1, 355, -1, -1, -1, 359, -1, + 90, -1, -1, 93, 94, -1, -1, 80, -1, -1, + 1311, 1312, 1313, -1, 821, 88, -1, 3, 4, 5, + 6, -1, 1025, 9, -1, -1, -1, -1, -1, 1330, + -1, -1, 393, 402, 1037, -1, -1, -1, -1, -1, + -1, 402, -1, 404, 405, 31, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 41, -1, -1, 419, -1, + -1, 422, -1, -1, -1, -1, -1, -1, 54, -1, + 56, 57, -1, 434, -1, -1, -1, -1, -1, -1, + -1, 442, -1, -1, 70, -1, -1, 894, -1, 896, + -1, -1, -1, -1, 80, -1, -1, -1, -1, 468, + 907, -1, 88, -1, 911, 912, -1, 93, -1, 470, + -1, 472, -1, 474, 475, 476, -1, -1, -1, 480, + 1123, -1, 1423, -1, 485, -1, -1, 488, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 1, 701, 3, 4, 5, 6, 7, 8, 9, 731, - 732, -1, 734, 14, -1, -1, -1, -1, -1, -1, - 720, -1, -1, -1, 724, -1, -1, 28, -1, 30, - 31, 731, 732, -1, 734, 36, -1, -1, -1, -1, - 41, -1, -1, -1, 45, -1, -1, 48, -1, -1, - 772, -1, -1, 54, -1, 56, 57, -1, -1, 60, - -1, -1, 762, -1, -1, 765, -1, 767, -1, 70, - 808, -1, 772, 773, 774, -1, -1, -1, -1, 80, - 780, 4, 5, 783, -1, 8, 9, 88, -1, 789, - -1, 14, 93, -1, -1, -1, 796, 797, 798, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 808, -1, - -1, -1, -1, 36, -1, 4, -1, -1, -1, -1, - -1, -1, 45, -1, 47, 3, 4, 5, 6, -1, - -1, 54, -1, 56, 57, -1, -1, -1, -1, -1, - -1, 30, 31, 881, 33, 883, 35, 70, -1, -1, - -1, -1, -1, 42, -1, -1, 894, 80, -1, -1, - 898, 899, -1, 41, -1, -1, 55, 90, 57, -1, - 93, 94, -1, -1, -1, -1, 54, -1, 56, 57, - -1, 881, -1, 883, 62, -1, -1, -1, -1, -1, - 890, 80, 70, -1, 894, -1, 896, -1, 898, 899, - 900, -1, 80, 941, 942, 905, -1, -1, -1, -1, - 88, -1, -1, -1, -1, 93, -1, -1, -1, 941, - 942, 943, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 937, -1, 939, - -1, 941, 942, 943, 133, 134, -1, 136, -1, -1, - -1, 140, -1, 142, -1, 144, -1, -1, 147, 148, - 149, -1, -1, 985, -1, 4, 5, -1, -1, 8, - 9, -1, 161, -1, -1, 14, 165, -1, -1, -1, - -1, -1, 171, 172, -1, 985, -1, -1, -1, -1, - -1, -1, 1014, -1, -1, -1, -1, 36, 998, -1, - 189, 190, 191, -1, -1, -1, 45, -1, 47, 1009, - 199, 1011, -1, -1, 1014, 54, -1, 56, 57, -1, - -1, -1, -1, 1023, 3, 4, 5, 6, -1, 218, - 9, 70, 4, 5, -1, -1, 8, 9, -1, -1, - -1, 80, 14, -1, -1, -1, -1, -1, 1048, -1, - -1, 90, -1, -1, 93, 94, 28, 1057, 30, 1059, - -1, -1, 41, -1, 36, -1, 255, -1, -1, -1, - -1, -1, -1, 45, -1, 54, -1, 56, 57, -1, - -1, -1, 54, -1, 56, 57, -1, 1087, -1, -1, - -1, 70, 1092, 1093, -1, 1095, -1, -1, -1, -1, - -1, 80, 1140, 1141, 1142, 1143, -1, -1, -1, 88, - 1148, -1, -1, -1, 93, -1, -1, -1, 1140, 1141, - 1142, 1143, 1144, -1, -1, -1, 1148, -1, -1, -1, - -1, -1, -1, 1171, 1172, -1, 325, -1, -1, -1, - 1140, 1141, 1142, 1143, 1144, -1, -1, -1, 1148, 1171, - 1172, 1173, -1, 342, -1, 1155, -1, -1, -1, -1, - -1, 350, -1, -1, -1, -1, 355, -1, -1, -1, - -1, 1171, 1172, 1173, -1, -1, 3, 4, 5, 6, - 1202, -1, 9, -1, -1, -1, -1, 1187, -1, -1, + -1, -1, 503, 504, -1, -1, -1, -1, 955, 956, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1162, + -1, 3, 4, 5, 6, 534, -1, 9, 537, -1, + -1, -1, 541, 542, 543, 544, 545, -1, -1, -1, + -1, 542, 543, 544, 545, 554, -1, -1, -1, 31, + -1, -1, 1493, 1494, 1495, -1, -1, -1, 567, 41, + 1, -1, 3, 4, 5, 6, 7, 8, 9, -1, + -1, 1512, 54, 14, 56, 57, 1517, -1, -1, -1, + -1, -1, 1225, -1, -1, -1, 1229, 28, 70, 30, + 31, 32, -1, -1, -1, 36, -1, -1, 80, -1, + 41, 602, -1, 604, 45, -1, 88, 48, -1, -1, + -1, 93, 621, 54, -1, 56, 57, 618, 619, 628, + 621, 1264, -1, -1, -1, -1, -1, 628, -1, 70, + 3, 4, 5, 6, 7, 8, 9, -1, -1, 80, + 641, 14, -1, -1, -1, -1, 647, 88, -1, -1, + -1, -1, 93, -1, -1, -1, -1, 98, 31, -1, + -1, -1, -1, 36, -1, -1, -1, -1, 41, -1, + 671, -1, 45, -1, 47, -1, -1, -1, 679, -1, + -1, 54, -1, 56, 57, 686, 687, 688, 689, 690, + 691, -1, -1, -1, -1, 1338, -1, 70, -1, 1342, + -1, -1, -1, -1, -1, -1, -1, 80, 1155, 1156, + 1157, 1158, -1, 714, -1, 88, 1163, -1, -1, -1, + 93, 1364, 1365, -1, -1, -1, -1, -1, 737, -1, + -1, -1, 733, -1, -1, -1, 737, -1, -1, 1186, + 1187, -1, -1, 744, 745, -1, 747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 389, -1, 1202, -1, -1, -1, -1, 1207, -1, -1, - -1, 400, -1, -1, 41, -1, -1, -1, -1, 1257, - 1258, -1, 1260, -1, -1, 414, -1, 54, 417, 56, - 57, -1, -1, 422, -1, 1257, 1258, -1, 1260, -1, - -1, 430, -1, 70, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 80, -1, -1, -1, 1257, 1258, -1, - 1260, 88, -1, -1, -1, -1, 93, -1, -1, 458, - -1, 460, -1, 462, 463, 464, -1, -1, -1, 468, - -1, -1, -1, -1, 473, 1285, -1, 476, 3, 4, - 5, 6, -1, -1, -1, -1, 1296, 1297, 1298, -1, - -1, -1, -1, 492, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, -1, 1315, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, - -1, -1, 28, 522, 30, 31, 525, -1, -1, 54, - 36, 56, 57, -1, -1, 41, -1, 62, -1, 45, - -1, 540, 541, 542, -1, 70, -1, -1, 54, -1, - 56, 57, -1, -1, 60, 80, 555, -1, -1, -1, - -1, -1, 4, 88, 70, -1, -1, -1, 93, -1, - -1, -1, -1, -1, 80, -1, 1408, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, 93, 30, 31, - -1, 33, -1, 35, -1, -1, -1, -1, 1408, -1, - 42, -1, -1, -1, 603, 3, 4, 5, 6, -1, - -1, -1, -1, 55, -1, 57, -1, 616, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 635, -1, -1, -1, - -1, -1, -1, 41, -1, -1, 1478, 1479, 1480, -1, - -1, -1, -1, -1, -1, -1, 54, -1, 56, 57, - 659, -1, -1, -1, 62, -1, -1, 666, 1478, 1479, - 1480, -1, 70, -1, -1, 674, 675, 676, 677, -1, - -1, -1, 80, -1, -1, -1, -1, 1497, 55, -1, - 88, -1, 1502, -1, 136, 93, -1, -1, 140, -1, - -1, -1, 144, -1, -1, 147, 148, 149, -1, -1, - 4, 5, -1, 80, 8, 9, 83, -1, -1, 161, - 14, 720, -1, 165, -1, 724, -1, -1, -1, 171, - 172, -1, 731, 732, 28, 734, 30, 104, -1, 106, - -1, -1, 36, -1, -1, -1, -1, 189, 190, 191, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 54, -1, 56, 57, 58, -1, 765, -1, 767, 33, - -1, -1, -1, 772, 773, 774, 218, 3, 4, 5, - 6, 780, -1, 3, 4, 5, 6, 7, 8, 9, - -1, 55, 12, -1, 14, -1, -1, -1, -1, 93, - -1, -1, -1, 802, 171, -1, -1, -1, 28, -1, - 30, 31, -1, 255, -1, 41, 36, -1, -1, -1, - -1, 41, 189, 190, 191, 45, -1, 47, 54, -1, - 56, 57, 199, -1, 54, -1, 56, 57, -1, -1, - -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, - 70, 218, -1, -1, 80, -1, -1, -1, -1, -1, - 80, -1, 88, -1, -1, -1, -1, 93, 88, -1, - 90, -1, -1, 93, 94, -1, -1, 244, 3, 4, - 5, 6, -1, 147, 148, 149, -1, -1, -1, -1, - -1, 258, -1, -1, -1, -1, -1, -1, -1, 898, - 899, 900, -1, -1, -1, 904, -1, 171, -1, 351, - -1, -1, -1, 355, -1, -1, 41, -1, -1, -1, - -1, -1, -1, -1, -1, 189, 190, 191, -1, 54, - -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, - -1, -1, 941, 942, 943, 70, -1, -1, -1, 948, - -1, -1, -1, -1, 218, 80, -1, -1, 400, -1, - -1, -1, -1, 88, -1, -1, -1, -1, 93, -1, - -1, -1, 414, -1, -1, 417, -1, -1, -1, -1, - 422, -1, -1, 350, 351, -1, 985, -1, 430, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 3, 4, 5, 6, -1, -1, -1, 107, - 108, -1, -1, -1, -1, 1014, 458, -1, 460, -1, - 462, 463, 464, -1, -1, -1, 468, -1, -1, -1, - 294, 473, -1, 400, 476, -1, 1035, -1, -1, -1, - 41, -1, -1, -1, -1, -1, -1, -1, -1, 1048, - 492, -1, -1, 54, -1, 56, 57, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, -1, 70, - -1, -1, 14, 3, 4, 5, 6, -1, -1, 80, - 344, 345, 346, -1, -1, -1, 28, 88, 30, 31, - -1, 458, 93, 460, 36, 462, 463, 464, -1, 41, - -1, 468, -1, 45, -1, 47, 473, -1, -1, 476, - -1, 41, 54, -1, 56, 57, -1, -1, -1, -1, - 1119, -1, -1, -1, 54, -1, 56, 57, 70, 4, - 5, -1, 7, 8, 9, -1, 400, 12, 80, 14, - 70, 1140, 1141, 1142, 1143, 1144, 88, 1146, 90, 1148, - 80, 93, 94, 28, -1, 30, 31, -1, 88, -1, - -1, 36, 604, 93, -1, -1, -1, -1, -1, -1, - 45, -1, 1171, 1172, 1173, -1, -1, -1, -1, 54, - -1, 56, 57, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 635, 458, -1, 460, -1, 462, 463, - 464, -1, -1, 1202, 468, -1, -1, -1, 1207, 473, - -1, -1, 476, -1, -1, -1, 1, -1, 3, 4, - 5, 6, 7, 8, 9, -1, -1, 325, -1, 14, - -1, 82, 674, 675, 676, 677, -1, -1, -1, -1, + 3, 4, 5, 6, -1, -1, 9, -1, -1, -1, + -1, -1, -1, -1, 775, -1, -1, 778, -1, 780, + -1, -1, -1, -1, 785, 786, 787, 796, 31, -1, + -1, -1, 793, 802, -1, 796, -1, -1, 41, -1, + -1, 802, -1, -1, -1, -1, -1, -1, 809, 810, + 811, 54, -1, 56, 57, -1, -1, -1, -1, -1, + 821, -1, -1, -1, -1, 1272, 1273, 70, 1275, -1, + -1, -1, -1, -1, -1, -1, -1, 80, 3, 4, + 5, 6, 7, 8, 9, 88, -1, 12, -1, 14, + 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 870, -1, 28, -1, 30, 31, 348, 349, 350, + -1, 36, -1, -1, -1, -1, 41, -1, -1, -1, + 45, -1, 47, -1, -1, -1, -1, -1, -1, 54, + -1, 56, 57, 894, 903, 896, -1, -1, -1, -1, + 909, -1, 903, -1, 913, 70, 907, -1, 909, 4, + 911, 912, 913, -1, -1, 80, -1, -1, 919, -1, + -1, -1, -1, 88, -1, 90, -1, -1, 93, 94, + -1, -1, -1, -1, -1, 30, 31, -1, 33, -1, + 35, -1, 951, -1, 953, -1, -1, 42, 957, -1, + 951, -1, 953, -1, 955, 956, 957, -1, -1, -1, + 55, -1, 57, -1, -1, -1, -1, 3, 4, 5, + 6, 7, 8, 9, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, 1000, 28, -1, 30, 31, -1, -1, -1, 1000, + 36, -1, -1, -1, 1013, 41, -1, -1, -1, 45, + 1019, -1, 1013, -1, -1, -1, -1, 1026, 54, -1, + 56, 57, -1, 1024, 60, 1026, -1, -1, 1029, 1038, + -1, -1, -1, -1, 70, -1, -1, 1038, 133, 134, + -1, 136, -1, -1, 80, 140, 141, -1, -1, 144, + -1, 146, 88, -1, 149, 150, 151, 93, -1, -1, + -1, 156, 1063, 1072, -1, 1074, -1, -1, -1, -1, + 165, 1072, -1, 1074, 169, 3, 4, 5, 6, -1, + 175, 176, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1102, -1, -1, -1, -1, 193, 194, + 195, 1102, -1, 31, -1, -1, 1107, 1108, 203, 1110, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 54, 222, 56, 57, + -1, -1, -1, -1, -1, -1, -1, 618, 619, -1, + 621, -1, 70, -1, -1, -1, -1, 628, -1, -1, + 1159, -1, 80, -1, 1155, 1156, 1157, 1158, 1159, -1, + 88, -1, 1163, -1, 259, 93, -1, -1, -1, 1170, + -1, 3, 4, 5, 6, 7, 8, 9, -1, 1188, + -1, -1, 14, -1, -1, 1186, 1187, 1188, -1, -1, + -1, -1, -1, -1, -1, -1, 28, -1, 30, 31, + -1, 1202, -1, -1, 36, 686, -1, 688, 689, 41, + 691, -1, -1, 45, -1, 47, 1217, -1, -1, -1, + -1, 1222, 54, -1, 56, 57, -1, -1, -1, 3, + 4, 5, 6, -1, 329, 9, -1, -1, 70, -1, + 3, 4, 5, 6, -1, -1, 9, -1, 80, -1, + -1, 346, 733, -1, -1, -1, 88, 31, 90, 354, + -1, 93, 94, -1, 359, -1, -1, 41, 31, -1, + -1, 1272, 1273, -1, 1275, -1, -1, -1, 41, -1, + 54, -1, 56, 57, -1, -1, -1, -1, -1, -1, + -1, 54, -1, 56, 57, -1, 70, -1, 393, 1300, + -1, -1, -1, -1, -1, -1, 80, 70, -1, 404, + 1311, 1312, 1313, -1, 88, -1, 31, 80, -1, 93, + -1, 1330, -1, -1, 419, 88, -1, 422, -1, 1330, + 93, -1, -1, 428, 429, 430, -1, -1, -1, 434, + 821, -1, -1, -1, -1, -1, -1, 442, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 3, 4, 5, 6, -1, 470, 9, 472, -1, 474, + 475, 476, -1, -1, -1, 480, -1, -1, -1, -1, + 485, -1, -1, 488, -1, -1, -1, -1, 31, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 41, 504, + -1, -1, -1, 894, 4, 896, -1, -1, -1, -1, + -1, 54, 1423, 56, 57, -1, 907, -1, -1, -1, + 911, 912, 913, -1, -1, -1, -1, 70, -1, 534, + 30, 31, 537, 33, -1, 35, -1, 80, -1, -1, + -1, -1, 42, -1, -1, 88, -1, 552, 553, 554, + 93, -1, -1, -1, -1, 55, -1, 57, -1, -1, + -1, -1, 567, -1, 955, 956, 957, 3, 4, 5, + 6, -1, -1, 9, -1, -1, 1495, -1, 3, 4, + 5, 6, 1493, 1494, 1495, -1, -1, -1, -1, -1, + -1, -1, -1, 1512, -1, 31, -1, -1, -1, -1, + -1, 1512, -1, -1, -1, 41, 1517, -1, -1, 1000, + 615, -1, -1, -1, -1, -1, 41, -1, 54, -1, + 56, 57, -1, 628, -1, -1, -1, -1, -1, 54, + -1, 56, 57, -1, 70, -1, 136, 62, -1, -1, + 140, 141, 647, -1, 80, 70, 146, -1, -1, 149, + 150, 151, 88, -1, -1, 80, -1, 93, -1, 3, + 4, 5, 6, 88, -1, 165, 671, -1, 93, 169, + -1, -1, -1, 678, -1, 175, 176, -1, -1, -1, + -1, 686, 687, 688, 689, -1, -1, 31, -1, -1, + -1, -1, -1, 193, 194, 195, -1, 41, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 54, -1, 56, 57, -1, -1, -1, -1, -1, -1, + -1, -1, 222, -1, -1, 33, 70, -1, 733, -1, + -1, -1, 737, -1, -1, -1, 80, -1, -1, 744, + 745, -1, 747, -1, 88, -1, -1, 55, -1, 93, + -1, -1, 4, 5, -1, 7, 8, 9, -1, 259, + 12, -1, 14, -1, 1155, 1156, 1157, 1158, 1159, -1, + -1, -1, 1163, 778, -1, 780, 28, -1, 30, 31, + 785, 786, 787, -1, 36, -1, -1, -1, 793, -1, + -1, -1, -1, 45, -1, 1186, 1187, 1188, -1, -1, + -1, -1, 54, -1, 56, 57, -1, -1, -1, 1, + 815, 3, 4, 5, 6, 7, 8, 9, -1, -1, + -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 28, -1, 30, 31, + 32, 149, 150, 151, 36, 37, -1, -1, -1, 41, + -1, -1, -1, 45, 46, 355, 48, -1, -1, 359, + -1, -1, 54, -1, 56, 57, -1, 175, 60, -1, + 62, -1, -1, -1, -1, -1, -1, -1, 70, -1, + -1, 1272, 1273, -1, 1275, 193, 194, 195, 80, -1, + -1, -1, -1, -1, -1, -1, 88, -1, -1, -1, + -1, 93, -1, -1, 404, -1, 911, 912, 913, -1, + -1, -1, 917, 918, 222, -1, -1, 109, -1, 419, + -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 434, -1, -1, -1, -1, -1, + -1, -1, 442, -1, -1, -1, -1, -1, -1, -1, + 955, 956, 957, -1, -1, -1, -1, 962, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, + 470, -1, 472, -1, 474, 475, 476, -1, -1, -1, + 480, 54, -1, 56, 57, 485, -1, -1, 488, 62, + 298, -1, -1, -1, -1, 1000, -1, 70, -1, -1, + -1, -1, -1, -1, 504, -1, -1, 80, -1, -1, + -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, + 93, -1, -1, -1, 1029, -1, 1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 348, 349, 350, -1, -1, 1050, -1, 3, 4, 5, + 6, -1, -1, 28, 29, 30, 31, 32, 1063, 34, + 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, + 45, -1, 47, -1, 49, 50, 51, 52, 53, 54, + -1, 56, 57, 58, -1, 41, 61, -1, 3, 4, + 5, 6, 67, -1, -1, 70, 404, -1, 54, -1, + 56, 57, -1, 78, 79, 80, 62, -1, -1, -1, + -1, 86, 87, 88, 70, 90, 616, -1, 93, 94, + -1, -1, -1, -1, 80, -1, 41, -1, -1, 1134, + -1, -1, 88, -1, -1, 110, -1, 93, -1, 54, + -1, 56, 57, -1, -1, 60, -1, 647, -1, -1, + 1155, 1156, 1157, 1158, 1159, 70, 1161, -1, 1163, -1, + -1, -1, 470, -1, 472, 80, 474, 475, 476, -1, + -1, -1, 480, 88, -1, -1, -1, 485, 93, -1, + 488, 1186, 1187, 1188, -1, -1, 686, 687, 688, 689, + -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, + 5, 6, 7, 8, 9, -1, -1, -1, -1, 14, + -1, -1, 1217, -1, -1, -1, -1, 1222, -1, -1, -1, -1, -1, 28, -1, 30, 31, 32, -1, -1, - -1, 36, 619, 620, -1, -1, 41, -1, 1257, 1258, - 45, 1260, -1, 48, -1, -1, -1, -1, 635, 54, - -1, 56, 57, -1, -1, -1, -1, -1, 720, -1, - -1, -1, 724, -1, -1, 70, -1, -1, -1, 731, - 732, -1, 734, -1, -1, 80, -1, 1296, 1297, 1298, - 398, -1, -1, 88, 155, -1, -1, 674, 93, 676, - 677, -1, -1, 98, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 765, -1, 767, -1, -1, 592, -1, - 772, 773, 774, -1, -1, -1, 187, -1, 780, -1, - -1, -1, 606, 607, -1, 609, -1, -1, -1, 200, - 4, 5, 616, 720, 8, 9, -1, -1, 456, -1, - 14, -1, -1, -1, 731, 732, -1, 734, -1, -1, - -1, 635, -1, -1, 28, -1, 30, -1, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, - -1, 45, 759, -1, -1, -1, -1, -1, -1, -1, - 54, -1, 56, 57, -1, 772, -1, -1, -1, 1408, - 674, -1, 676, 677, -1, 679, -1, -1, -1, -1, - -1, -1, -1, -1, 522, -1, -1, 525, -1, -1, - -1, 529, 530, 531, 532, 533, -1, -1, -1, 93, - -1, -1, -1, -1, 542, 4, 5, -1, 7, 8, - 9, -1, -1, -1, -1, 14, 720, 555, -1, -1, - -1, -1, -1, 905, -1, -1, -1, 731, 732, 28, - 734, 30, 31, -1, -1, -1, -1, 36, -1, 1478, - 1479, 1480, -1, -1, -1, -1, 45, -1, -1, 48, - -1, -1, -1, -1, -1, 54, -1, 56, 57, 941, - 942, 943, -1, 1502, -1, -1, -1, -1, 772, -1, - -1, 609, -1, -1, -1, -1, -1, -1, 616, -1, + -1, 36, 37, 733, -1, -1, 41, 737, -1, -1, + 45, 46, -1, 48, 744, 745, -1, 747, -1, 54, + -1, 56, 57, -1, -1, 60, -1, 62, -1, -1, + -1, -1, -1, -1, -1, 70, -1, 1272, 1273, -1, + 1275, -1, -1, -1, -1, 80, -1, -1, 778, -1, + 780, -1, -1, 88, -1, 785, 786, 787, 93, -1, + -1, -1, -1, 793, -1, -1, 604, -1, -1, -1, + -1, -1, -1, -1, 109, -1, 1311, 1312, 1313, -1, + 618, 619, 55, 621, -1, -1, -1, -1, -1, -1, + 628, -1, 3, 4, 5, 6, 7, 8, 9, -1, + -1, -1, -1, 14, -1, -1, -1, 80, -1, 647, + 83, -1, -1, -1, -1, -1, -1, 28, -1, 30, + 31, 32, -1, -1, -1, 36, -1, -1, -1, -1, + 41, 104, -1, 106, 45, -1, -1, 48, -1, -1, + -1, -1, -1, 54, -1, 56, 57, -1, 686, -1, + 688, 689, -1, 691, -1, -1, -1, -1, -1, 70, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, + -1, -1, -1, -1, -1, -1, -1, 88, -1, -1, + -1, -1, 93, -1, -1, -1, -1, 98, 1423, 919, + -1, -1, -1, -1, -1, 733, -1, -1, -1, -1, + -1, -1, 175, -1, -1, -1, 744, 745, -1, 747, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 193, 194, 195, -1, 14, 955, 956, 957, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 31, -1, -1, -1, -1, 36, 785, -1, 222, + -1, 41, -1, -1, -1, 45, -1, 47, 1493, 1494, + 1495, -1, -1, -1, 54, -1, 56, 57, -1, -1, + 1000, 809, 810, 811, -1, 248, -1, -1, -1, -1, + 70, -1, 1517, 821, -1, -1, -1, -1, -1, 262, + 80, -1, -1, -1, -1, -1, -1, -1, 88, 1029, + 90, -1, -1, 93, 94, -1, -1, -1, -1, -1, + -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, + -1, -1, -1, 1063, -1, -1, -1, -1, 28, 29, + 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, + 40, 41, 42, 43, -1, 45, 894, 47, 896, 49, + 50, 51, 52, 53, 54, -1, 56, 57, 58, 907, + -1, 61, -1, 911, 912, 913, -1, 67, -1, -1, + 70, 354, 355, -1, -1, -1, -1, -1, 78, 79, + 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, + 90, -1, -1, 93, 94, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 955, 956, 957, + 110, -1, -1, -1, -1, 1155, 1156, 1157, 1158, 1159, + -1, 404, -1, 1163, -1, -1, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, -1, + -1, -1, -1, 14, -1, -1, 1186, 1187, 1188, -1, + -1, -1, 1000, -1, -1, -1, -1, 28, -1, 30, + 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, + 41, -1, -1, -1, 45, -1, -1, 1217, -1, -1, + -1, 1029, 1222, 54, -1, 56, 57, 470, -1, 472, + -1, 474, 475, 476, -1, -1, -1, 480, -1, 70, + -1, -1, 485, -1, -1, 488, -1, -1, -1, 80, + -1, -1, 1, -1, -1, 4, 5, 88, -1, 8, + 9, -1, 93, -1, -1, 14, -1, -1, -1, -1, + -1, -1, 1272, 1273, -1, 1275, -1, -1, -1, 28, + -1, 30, -1, -1, -1, -1, -1, 36, -1, 38, + 39, -1, -1, -1, -1, -1, 45, -1, 47, 1107, + 1108, -1, 1110, -1, -1, 54, -1, 56, 57, -1, + 59, 1311, 1312, 1313, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, 86, 87, 88, + -1, -1, 91, -1, -1, 94, -1, 1155, 1156, 1157, + 1158, 1159, -1, -1, -1, 1163, -1, -1, -1, -1, + -1, 110, -1, 1, -1, 3, 4, 5, 6, 7, + 8, 9, -1, -1, -1, -1, 14, -1, 1186, 1187, + 1188, -1, -1, -1, -1, -1, -1, -1, 631, 632, + 28, -1, 30, 31, 32, -1, 14, -1, 36, 37, + -1, -1, -1, 41, 647, 23, 24, 45, 46, 1217, + 48, -1, 30, 31, -1, 33, 54, -1, 56, 57, + -1, -1, 60, 1423, 62, 4, 5, -1, -1, 8, + 9, -1, 70, -1, -1, 14, -1, -1, -1, -1, + -1, -1, 80, 686, -1, 688, 689, 65, -1, 28, + 88, 30, -1, -1, -1, 93, -1, 36, -1, -1, + -1, -1, -1, -1, 1272, 1273, 45, 1275, -1, -1, + -1, 109, -1, -1, -1, 54, -1, 56, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 796, 797, 798, -1, -1, 904, 905, 906, - -1, -1, -1, 985, 808, -1, -1, -1, -1, -1, - -1, -1, 4, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, - -1, -1, 1014, -1, 941, 942, 943, -1, 30, 31, - -1, 948, -1, 35, -1, -1, -1, 344, 345, 346, - 42, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 57, 1048, -1, -1, -1, - -1, -1, -1, -1, -1, 466, -1, 881, 985, 883, - 471, -1, -1, -1, -1, -1, 724, -1, -1, -1, - 894, -1, -1, -1, 898, 899, 900, -1, -1, -1, - -1, -1, -1, -1, -1, 496, -1, 1014, -1, -1, - -1, 502, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 514, 515, -1, 517, -1, 1035, -1, - -1, -1, -1, -1, -1, -1, -1, 941, 942, 943, - -1, -1, -1, -1, 136, 783, -1, -1, 140, -1, - -1, 789, 144, -1, -1, -1, -1, -1, 1140, 1141, - 1142, 1143, 1144, -1, -1, -1, 1148, -1, -1, 161, - -1, -1, -1, 165, -1, -1, -1, -1, -1, -1, - 172, 985, -1, -1, -1, -1, -1, -1, -1, 1171, - 1172, 1173, -1, -1, -1, -1, -1, 189, 190, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1014, -1, 1119, -1, -1, -1, -1, -1, -1, 857, - 1202, 612, 613, -1, -1, 1207, 617, -1, -1, -1, - -1, -1, -1, 1140, 1141, 1142, 1143, 1144, -1, 1146, - -1, 1148, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 890, -1, -1, -1, -1, -1, 896, -1, - -1, -1, 900, 255, 1171, 1172, 1173, -1, -1, -1, - -1, -1, -1, -1, -1, 1257, 1258, -1, 1260, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1092, 1093, - -1, 1095, -1, -1, -1, 1202, -1, -1, -1, 937, - -1, 939, -1, -1, -1, 943, -1, -1, -1, 606, - 607, -1, 609, -1, 1296, 1297, 1298, -1, -1, 616, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1140, 1141, 1142, 1143, - 1144, -1, -1, -1, 1148, -1, -1, 985, -1, -1, - 1257, 1258, -1, 1260, -1, -1, -1, -1, -1, -1, - 998, -1, -1, 355, -1, -1, 1004, 1171, 1172, 1173, - -1, -1, -1, 1011, -1, -1, -1, 674, -1, 676, - 677, -1, 679, -1, -1, 1023, -1, -1, -1, 1296, - -1, 1298, -1, 14, -1, -1, -1, -1, 1202, 790, - -1, 792, 23, 24, -1, -1, -1, -1, -1, 30, - 31, -1, 33, -1, -1, -1, -1, -1, -1, 1057, - -1, 1059, 414, 720, -1, 417, 1408, -1, -1, -1, - 422, -1, -1, -1, -1, -1, -1, -1, 430, -1, - -1, -1, -1, -1, 65, -1, -1, -1, -1, 1087, - -1, -1, -1, 1257, 1258, -1, 1260, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 458, -1, 460, -1, - -1, -1, -1, 864, 865, -1, 867, -1, -1, -1, - -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1296, -1, 1298, -1, 1478, 1479, 1480, -1, - 492, 1408, -1, 124, 895, 126, 1144, -1, -1, -1, - -1, 808, 133, 134, -1, -1, -1, -1, -1, 140, - 1502, 142, 143, 144, -1, 146, 147, 148, 149, 4, - 5, -1, 7, 8, 9, 1173, -1, 12, -1, 14, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 28, 945, 30, 31, -1, -1, -1, - -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, - 45, 1478, 1479, 1480, -1, -1, -1, -1, -1, 54, - -1, 56, 57, -1, 881, -1, 883, -1, -1, -1, - -1, -1, -1, -1, -1, 1502, -1, 894, -1, -1, - -1, 898, 899, 900, 1408, 3, 4, 5, 6, 7, - 8, 9, 233, 234, 12, -1, 14, -1, -1, 1010, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 1022, 30, 31, 255, -1, -1, -1, 36, -1, - -1, -1, -1, 41, 941, 942, 943, 45, -1, -1, - -1, -1, -1, -1, -1, -1, 54, -1, 56, 57, - 4, 5, -1, 7, 8, 9, -1, -1, -1, -1, - 14, -1, 70, 294, 1478, 1479, 1480, 1315, -1, -1, - -1, -1, 80, 675, 28, -1, 30, 31, 985, -1, - 88, -1, 36, -1, -1, 93, -1, -1, 1502, -1, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 54, -1, 56, 57, -1, -1, -1, 1108, -1, -1, - -1, 342, -1, 344, 345, 3, 4, 5, 6, 7, - 8, 9, 724, -1, -1, -1, 14, -1, -1, 731, - 732, -1, 734, -1, -1, -1, -1, -1, -1, -1, - 28, -1, 30, 31, -1, -1, 1147, -1, 36, -1, - -1, -1, -1, 41, -1, -1, -1, 45, 389, -1, - -1, -1, -1, 765, -1, 767, 54, -1, 56, 57, - 772, 773, 774, -1, 62, -1, 407, -1, 780, -1, - -1, -1, 70, 414, -1, -1, 417, -1, -1, -1, - -1, 422, 80, -1, -1, -1, -1, -1, -1, -1, - 88, -1, -1, -1, -1, 93, -1, -1, -1, 1210, - -1, -1, -1, 1214, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, - 14, -1, 1480, 1140, 1141, 1142, 1143, 1144, -1, -1, - -1, 1148, -1, -1, 28, -1, 30, 31, 1249, 1497, - -1, -1, 36, -1, -1, -1, -1, 41, 489, -1, - 491, 45, -1, -1, 1171, 1172, 1173, -1, -1, -1, - 54, -1, 56, 57, -1, -1, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 516, 70, -1, -1, 14, - -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, - -1, -1, -1, 28, 88, 30, 31, 32, -1, 93, - -1, 36, 37, -1, -1, -1, 41, -1, -1, -1, - 45, 46, 1323, 48, -1, -1, 1327, -1, -1, 54, - -1, 56, 57, -1, -1, 60, 12, 62, -1, 941, - 942, -1, -1, -1, -1, 70, -1, -1, 1349, 1350, - 1257, 1258, -1, 1260, -1, 80, -1, -1, -1, -1, - -1, 592, -1, 88, -1, -1, -1, -1, 93, -1, - -1, -1, 603, 604, -1, 606, 607, -1, -1, -1, - -1, -1, -1, -1, 109, -1, 62, 63, 64, 65, + 733, -1, -1, 1493, 1494, 1495, -1, -1, -1, -1, + -1, 744, 745, 1311, 747, 1313, 124, -1, 126, -1, + -1, -1, -1, -1, 93, 133, 134, 1517, -1, -1, + -1, -1, 140, 141, -1, -1, 144, 145, 146, 772, + 148, 149, 150, 151, -1, -1, -1, -1, -1, -1, + -1, -1, 785, -1, 1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, 13, 14, 15, -1, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, + -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, + -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, + 57, 58, -1, 60, 61, -1, -1, -1, -1, -1, + 67, -1, -1, 70, -1, 1423, -1, -1, -1, 237, + 238, 78, 79, 80, -1, -1, -1, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, -1, 95, -1, + -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 109, 110, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, -1, -1, -1, 918, 919, 920, -1, -1, + 298, -1, 12, -1, -1, 1493, 1494, 1495, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, -1, -1, -1, -1, 1517, + -1, -1, 955, 956, 957, -1, -1, -1, -1, 962, + -1, -1, -1, -1, -1, -1, -1, -1, 346, -1, + 348, 349, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, -1, -1, 1000, -1, -1, + -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, + 6, 7, 8, 9, -1, 393, 12, -1, 14, -1, + -1, -1, -1, -1, -1, -1, 1029, -1, -1, 25, + -1, 27, -1, -1, 412, 31, -1, -1, -1, -1, + 36, 419, -1, -1, 422, 41, -1, 1050, -1, 45, + -1, 47, -1, -1, -1, -1, 434, -1, 54, -1, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, - -1, -1, 1014, -1, -1, -1, -1, -1, -1, 1, - -1, 3, 4, 5, 6, 7, 8, 9, 659, -1, - 12, -1, 14, -1, -1, 666, 667, -1, -1, -1, - -1, -1, -1, 25, -1, 27, 1048, 678, -1, 31, - -1, -1, -1, -1, 36, -1, -1, -1, -1, 41, - -1, -1, -1, 45, -1, 47, -1, -1, -1, -1, - 701, -1, 54, -1, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, -1, 86, 87, 88, -1, 90, 91, - 92, 93, 94, 95, -1, 97, -1, -1, -1, -1, - 102, -1, -1, -1, -1, 107, 108, 109, 759, 111, - -1, 762, -1, -1, -1, -1, -1, -1, 1140, 1141, - -1, -1, -1, -1, -1, -1, 1148, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 796, 797, 798, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 808, -1, -1, - -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, - 1202, -1, -1, -1, -1, 1207, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, - 39, 40, 41, 42, 43, -1, 45, -1, 47, -1, + 86, 87, 88, -1, 90, 91, 92, 93, 94, 95, + -1, 97, -1, -1, -1, -1, 102, -1, -1, -1, + -1, 107, 108, 109, -1, 111, -1, -1, -1, -1, + -1, -1, -1, 501, -1, 503, -1, -1, -1, -1, + -1, 1134, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, -1, -1, + 528, -1, 1155, 1156, 1157, 1158, 1159, -1, 1161, -1, + 1163, -1, -1, -1, -1, -1, -1, 1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, -1, -1, 1186, 1187, 1188, -1, -1, -1, -1, + -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, + 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, + -1, 45, -1, -1, 1217, 49, 50, 51, 52, 53, + 54, -1, 56, 57, -1, -1, 604, 61, -1, -1, + -1, -1, -1, 67, -1, -1, 70, 615, 616, -1, + 618, 619, -1, -1, 78, 79, 80, -1, -1, -1, + -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, + -1, -1, -1, 4, 5, -1, 7, 8, 9, 1272, + 1273, -1, 1275, 14, 108, -1, 110, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, + 31, -1, -1, 671, -1, 36, -1, -1, -1, -1, + 678, 679, -1, -1, 45, -1, -1, 48, 1311, -1, + 1313, -1, 690, 54, -1, 56, 57, -1, -1, -1, + -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, 13, 14, 15, 714, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, + 40, 41, 42, 43, 44, 45, 46, -1, -1, 49, + 50, 51, 52, 53, 54, -1, 56, 57, 58, -1, + 60, 61, -1, -1, -1, -1, -1, 67, -1, -1, + 70, -1, -1, -1, 772, -1, -1, 775, 78, 79, + 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, + -1, -1, -1, 93, -1, 95, -1, -1, -1, -1, + 1423, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 110, 809, 810, 811, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 821, -1, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, -1, -1, -1, + -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, 13, 14, -1, -1, -1, -1, -1, + 1493, 1494, 1495, 111, -1, -1, -1, -1, 28, 29, + 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, + 40, 41, 42, 43, 1517, 45, 894, -1, 896, 49, + 50, 51, 52, 53, 54, -1, 56, 57, 58, 907, + 60, 61, -1, -1, -1, -1, -1, 67, -1, -1, + 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, + 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, + -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, + 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, + 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, + 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, - 881, 70, 883, -1, -1, 1257, 1258, -1, 1260, 78, - 79, 80, -1, 894, -1, -1, -1, 86, 87, 88, - -1, 90, -1, -1, 93, 94, -1, -1, -1, -1, - 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 110, 13, 14, 15, 1297, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, - 41, 42, 43, 44, 45, 46, -1, -1, 49, 50, - 51, 52, 53, 54, -1, 56, 57, 58, -1, 60, - 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, - -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, - -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, - -1, -1, 93, -1, 95, -1, -1, -1, 1009, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 109, 110, - 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, 13, 14, 15, 1036, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, - 41, 42, 43, 44, 45, 46, -1, -1, 49, 50, - 51, 52, 53, 54, -1, 56, 57, 58, -1, 60, - 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, - -1, 1092, 1093, -1, 1095, -1, -1, 78, 79, 80, - -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, - -1, -1, 93, -1, 95, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, - -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, - -1, -1, -1, -1, 1155, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, - 39, 40, 41, 42, 43, -1, 45, -1, 47, -1, - 49, 50, 51, 52, 53, 54, 1187, 56, 57, 58, - -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, - -1, 70, -1, -1, 1205, -1, 1207, -1, -1, 78, - 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, - -1, 90, -1, -1, 93, 94, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, -1, -1, -1, -1, 1024, 86, 87, 88, + -1, -1, -1, -1, 93, 94, 1, -1, 3, 4, + 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, + 109, 110, -1, 1051, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, - -1, 56, 57, -1, -1, -1, 61, -1, -1, -1, - -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, - -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, - -1, 86, 87, 88, -1, -1, -1, 1, 93, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, - 14, -1, -1, 108, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, 58, -1, 60, 61, -1, -1, - -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, - -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, 1, 93, - 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, - 13, 14, -1, -1, -1, -1, 110, -1, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, - -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, - 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, - 53, 54, -1, 56, 57, 58, -1, -1, 61, -1, - -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, - -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, - 93, 94, 1, -1, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, 109, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, - -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, - -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, - 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, - -1, -1, -1, -1, 93, 94, 1, -1, 3, 4, - 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, - 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, - -1, 56, 57, 58, -1, -1, 61, -1, -1, -1, - -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, - -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, - -1, 86, 87, 88, -1, -1, -1, 1, 93, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, 109, 110, -1, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, 58, -1, -1, 61, -1, -1, - -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, - -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, 1, 93, - 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, - 13, 14, -1, -1, -1, 109, 110, -1, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, - -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, - 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, - 53, 54, -1, 56, 57, 58, -1, -1, 61, -1, - -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, - -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, - 93, -1, 1, -1, 3, 4, 5, 6, 101, 8, - 9, 10, 11, -1, 13, 14, -1, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, - -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, - -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, - 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, - -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, - 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, - -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, - 58, -1, -1, 61, -1, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, - 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, - -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, - -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, 58, 4, 5, 61, -1, 8, 9, + -1, -1, 67, -1, 14, 70, -1, -1, -1, 1107, + 1108, -1, 1110, 78, 79, 80, -1, -1, 28, -1, + 30, 86, 87, 88, -1, -1, 36, -1, 93, -1, + -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, 54, 110, 56, 57, -1, -1, + 1, -1, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, 13, 14, -1, -1, -1, -1, -1, -1, + -1, -1, 1170, -1, -1, -1, -1, 28, 29, 30, + -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, + 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, + 51, 52, 53, 54, 1202, 56, 57, 58, -1, -1, + 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, + -1, -1, 1220, -1, 1222, -1, -1, 78, 79, 80, + -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, + -1, -1, 93, 94, 1, -1, 3, 4, 5, 6, + -1, 8, 9, 10, 11, -1, 13, 14, -1, 110, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, - 57, -1, -1, -1, 61, 62, -1, -1, -1, -1, + 57, 58, -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, @@ -3261,32 +3272,71 @@ static const short yycheck[] = { 4, -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, - -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, + -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, - -1, 56, 57, -1, -1, 60, 61, -1, -1, -1, + -1, 56, 57, 58, -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, - -1, 86, 87, 88, -1, -1, -1, 1, 93, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, -1, -1, -1, 61, -1, -1, - -1, -1, -1, 67, 1, -1, 70, 4, 5, -1, - -1, 8, 9, -1, 78, 79, 80, 14, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, - -1, 28, -1, 30, -1, -1, -1, -1, -1, 36, - -1, 38, 39, -1, 108, -1, 110, -1, 45, -1, - 47, -1, -1, -1, -1, -1, -1, 54, -1, 56, - 57, -1, 59, -1, -1, -1, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, 86, - 87, 88, -1, -1, 91, -1, 1, 94, 3, 4, + -1, 86, 87, 88, -1, -1, -1, -1, 93, -1, + 1, -1, 3, 4, 5, 6, 101, 8, 9, 10, + 11, -1, 13, 14, -1, 110, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, + 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, + 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, + 51, 52, 53, 54, -1, 56, 57, 58, -1, -1, + 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, + -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, + -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, + -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, + 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, + -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, + 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, + 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, + 50, 51, 52, 53, 54, -1, 56, 57, 58, -1, + -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, + 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, + 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, + -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, + 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, + 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, + 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, + -1, -1, 61, 62, -1, -1, -1, -1, 67, -1, + -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, + -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, + 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, + -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, + 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, + 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, + -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, + -1, -1, 60, 61, -1, -1, -1, -1, -1, 67, + -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, + 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, + 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, + -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, + -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, + -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, + -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, + -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, + 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, + 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, + -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, + 87, 88, -1, -1, -1, 1, 93, 3, 4, 5, + 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, + -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, + -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, + 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, + -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, + 56, 57, -1, -1, -1, 61, -1, -1, -1, -1, + -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, + -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, + 86, 87, 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, - -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, @@ -3302,13 +3352,165 @@ static const short yycheck[] = { 4, 54, -1, 56, 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, 1, 93, - 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, + -1, -1, 86, 87, 88, 3, 4, 5, 6, 93, + 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 110, -1, -1, -1, + 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, + 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, + -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, + -1, -1, -1, 61, -1, -1, -1, -1, -1, 67, + -1, 1, 70, 3, 4, 5, 6, 7, 8, 9, + 78, 79, 80, -1, 14, -1, -1, -1, 86, 87, + 88, -1, -1, -1, -1, 93, -1, -1, 28, -1, + 30, 31, 32, -1, -1, -1, 36, 37, -1, -1, + -1, 41, 110, 111, -1, 45, 46, -1, 48, -1, + -1, -1, -1, -1, 54, -1, 56, 57, -1, -1, + 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, + 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 80, -1, -1, -1, -1, -1, -1, -1, 88, -1, + -1, -1, -1, 93, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, 13, 14, 15, 109, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, + -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, + -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, + 57, 58, -1, 60, 61, -1, -1, -1, -1, -1, + 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, + -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, -1, 95, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, 13, 14, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, + 39, 40, 41, 42, 43, 44, 45, 46, -1, -1, + 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, + -1, 60, 61, -1, -1, -1, -1, -1, 67, -1, + -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, + -1, -1, -1, -1, 93, -1, 95, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, + 15, 110, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, -1, 34, + 35, 36, -1, 38, 39, 40, 41, 42, 43, 44, + 45, 46, -1, -1, 49, 50, 51, 52, 53, 54, + -1, 56, 57, 58, -1, 60, 61, -1, -1, -1, + -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, + -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, + -1, 86, 87, 88, -1, -1, -1, -1, 93, -1, + 95, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, 13, 14, 15, 110, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, + 41, 42, 43, 44, 45, 46, -1, -1, 49, 50, + 51, 52, 53, 54, -1, 56, 57, -1, -1, 60, + 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, + -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, + -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, + -1, -1, 93, -1, 95, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, -1, -1, 110, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, + 38, 39, 40, 41, 42, 43, -1, 45, -1, 47, + -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, + -1, -1, -1, 61, -1, -1, -1, -1, -1, 67, + -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, + 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, + 88, -1, 90, -1, -1, 93, 94, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, + -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, + 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, + -1, 47, -1, 49, 50, 51, 52, 53, 54, -1, + 56, 57, -1, -1, -1, 61, -1, -1, -1, -1, + -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, + -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, + 86, 87, 88, -1, 90, -1, -1, 93, 94, 3, + 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, + 14, -1, -1, -1, 110, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, + 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, + -1, 45, -1, 47, -1, 49, 50, 51, 52, 53, + 54, -1, 56, 57, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, + -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, + -1, -1, 86, 87, 88, -1, 90, -1, -1, 93, + 94, 3, 4, 5, 6, -1, 8, 9, 10, 11, + -1, 13, 14, -1, -1, -1, 110, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, + 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, + 42, 43, -1, 45, -1, 47, -1, 49, 50, 51, + 52, 53, 54, -1, 56, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, + -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, + -1, -1, -1, -1, 86, 87, 88, -1, 90, -1, + -1, 93, 94, 3, 4, 5, 6, -1, 8, 9, + 10, 11, -1, 13, 14, -1, -1, -1, 110, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, + 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, + 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, + 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, + -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, + 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, + 80, -1, -1, -1, -1, -1, 86, 87, 88, 3, + 4, 5, 6, 93, 8, 9, 10, 11, -1, 13, + 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 110, -1, -1, -1, 28, 29, 30, -1, 32, -1, + 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, + -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, + 54, -1, 56, 57, -1, -1, 60, 61, -1, -1, + -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, + -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, + -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, -1, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, + -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, - 53, 54, -1, 56, 57, -1, -1, -1, 61, -1, + 53, 54, -1, 56, 57, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, + -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, + -1, -1, -1, 86, 87, 88, 3, 4, 5, 6, + 93, 8, 9, 10, 11, -1, 13, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, + -1, 28, 29, 30, 31, 32, -1, 34, 35, 36, + -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, + -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, + 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, + 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, + -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, + 87, 88, 3, 4, 5, 6, 93, 8, 9, 10, + 11, -1, 13, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 110, -1, -1, -1, 28, 29, 30, + -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, + 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, + 51, 52, 53, 54, -1, 56, 57, -1, -1, -1, + 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, + -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, + -1, -1, -1, -1, -1, 86, 87, 88, 3, 4, + 5, 6, 93, 8, 9, 10, 11, -1, 13, 14, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, + -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, + 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, + -1, 56, 57, -1, -1, -1, 61, -1, -1, -1, + -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, + -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, + -1, 86, 87, 88, 3, 4, 5, 6, 93, 8, + 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 110, -1, -1, -1, 28, + 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, + -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, + -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, + 3, 4, 5, 6, 93, 8, 9, 10, 11, -1, + 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 110, -1, -1, -1, 28, 29, 30, -1, 32, + -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, + 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, + 53, 54, -1, 56, 57, 58, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, 3, 4, 5, 6, @@ -3317,288 +3519,117 @@ static const short yycheck[] = { 4, -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, - 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, - 67, -1, 1, 70, 3, 4, 5, 6, 7, 8, - 9, 78, 79, 80, -1, 14, -1, -1, -1, 86, - 87, 88, -1, -1, -1, -1, 93, -1, -1, 28, - -1, 30, 31, 32, -1, -1, -1, 36, 37, -1, - -1, -1, 41, 110, 111, -1, 45, 46, -1, 48, - -1, -1, -1, -1, -1, 54, -1, 56, 57, -1, - -1, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, 70, 1, -1, 3, 4, 5, 6, 7, 8, - 9, 80, -1, -1, -1, 14, -1, -1, -1, 88, - -1, -1, -1, -1, 93, -1, -1, -1, -1, 28, - -1, 30, 31, 32, -1, -1, -1, 36, 37, -1, - 109, -1, 41, -1, -1, -1, 45, 46, -1, 48, - -1, -1, -1, -1, -1, 54, -1, 56, 57, -1, - -1, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, 70, 1, -1, 3, 4, 5, 6, 7, 8, - 9, 80, -1, -1, -1, 14, -1, -1, -1, 88, - -1, -1, -1, -1, 93, -1, -1, -1, -1, 28, - -1, 30, 31, 32, -1, -1, -1, 36, 37, -1, - 109, -1, 41, -1, -1, -1, 45, 46, -1, 48, - -1, -1, -1, -1, -1, 54, -1, 56, 57, -1, - -1, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 80, -1, -1, -1, -1, -1, -1, -1, 88, - -1, -1, -1, -1, 93, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, - 109, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, 34, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, -1, -1, 49, 50, 51, 52, 53, 54, -1, - 56, 57, 58, -1, 60, 61, -1, -1, -1, -1, - -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, - 86, 87, 88, -1, -1, -1, -1, 93, -1, 95, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, 13, 14, 15, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, - 38, 39, 40, 41, 42, 43, 44, 45, 46, -1, - -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, - 58, -1, 60, 61, -1, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, - 88, -1, -1, -1, -1, 93, -1, 95, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, - 14, 15, 110, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - 44, 45, 46, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, 58, -1, 60, 61, -1, -1, - -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, - -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, - -1, 95, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, 13, 14, 15, 110, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, - 40, 41, 42, 43, 44, 45, 46, -1, -1, 49, - 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, - 60, 61, -1, -1, -1, -1, -1, 67, -1, -1, - 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, - 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, - -1, -1, -1, 93, -1, 95, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, - 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 28, 29, 30, 31, 32, -1, 34, 35, 36, - -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, - 47, -1, 49, 50, 51, 52, 53, 54, -1, 56, - 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, + 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, - 87, 88, -1, 90, -1, -1, 93, 94, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 87, 88, -1, -1, -1, -1, 93, 94, 3, 4, + 5, 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, - 45, -1, 47, -1, 49, 50, 51, 52, 53, 54, - -1, 56, 57, -1, -1, -1, 61, -1, -1, -1, + 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, + -1, 56, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, - -1, 86, 87, 88, -1, 90, -1, -1, 93, 94, - 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, - 13, 14, -1, -1, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, - -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, - 43, -1, 45, -1, 47, -1, 49, 50, 51, 52, - 53, 54, -1, 56, 57, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, - -1, -1, -1, 86, 87, 88, -1, 90, -1, -1, - 93, 94, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, 13, 14, -1, -1, -1, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, - 41, 42, 43, -1, 45, -1, 47, -1, 49, 50, - 51, 52, 53, 54, -1, 56, 57, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 67, -1, -1, 70, - -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, - -1, -1, -1, -1, -1, 86, 87, 88, -1, 90, - -1, -1, 93, 94, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, 13, 14, -1, -1, -1, 110, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, + -1, 86, 87, 88, 3, 4, 5, 6, 93, 8, + 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 110, -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, - -1, 60, 61, -1, -1, -1, -1, -1, 67, -1, + -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, - -1, -1, -1, -1, 93, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, - 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, - -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, - 88, 3, 4, 5, 6, 93, 8, 9, 10, 11, - -1, 13, 14, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 110, -1, -1, -1, 28, 29, 30, -1, - 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, - 52, 53, 54, -1, 56, 57, -1, -1, -1, 61, - -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, - -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, - -1, -1, -1, -1, 86, 87, 88, 3, 4, 5, - 6, 93, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, - -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, - 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, - -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, - 56, 57, -1, -1, -1, 61, -1, -1, -1, -1, - -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, - 86, 87, 88, 3, 4, 5, 6, 93, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 110, -1, -1, -1, 28, 29, - 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, - 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, - 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, - -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, - 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, - 80, -1, -1, -1, -1, -1, 86, 87, 88, 3, - 4, 5, 6, 93, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 110, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, 58, -1, -1, -1, -1, -1, - -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, - -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, - -1, -1, 86, 87, 88, 3, 4, 5, 6, 93, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 110, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, - 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, - -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, - 88, -1, -1, -1, -1, 93, 94, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, - 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, - -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, - 56, 57, -1, -1, -1, 61, -1, -1, -1, -1, - -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, - 86, 87, 88, 3, 4, 5, 6, 93, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 110, -1, -1, -1, 28, 29, - 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, - 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, - 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, - -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, - 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, - 80, -1, -1, -1, -1, -1, 86, 87, 88, 3, - 4, 5, 6, 93, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 110, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, -1, -1, -1, 61, -1, -1, - -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, - -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, - -1, -1, 86, 87, 88, 3, 4, 5, 6, 93, - 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 110, -1, -1, -1, - 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, - 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, - -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, - 88, 3, 4, 5, 6, 93, 8, 9, 10, 11, - -1, 13, 14, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 110, -1, -1, -1, 28, 29, 30, -1, - 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, - 52, 53, 54, -1, 56, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, - -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, - -1, -1, -1, -1, 86, 87, 88, 3, 4, 5, - 6, 93, 8, 9, 10, 11, -1, 13, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, - -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, - 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, - -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, - 56, 57, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, - 86, 87, 88, 3, 4, 5, 6, 93, 8, 9, - 10, 11, -1, 13, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 110, -1, -1, -1, 28, 29, - 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, - 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, - 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, - 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, - 80, -1, -1, -1, -1, -1, 86, 87, 88, 3, - 4, 5, 6, 93, 8, 9, 10, 11, -1, 13, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 110, -1, -1, -1, 28, 29, 30, -1, 32, -1, - 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, - 54, -1, 56, 57, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 67, -1, 1, 70, 3, 4, 5, - 6, 7, 8, 9, 78, 79, 80, -1, 14, -1, - -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, - -1, 27, 28, -1, 30, 31, 32, -1, -1, -1, - 36, -1, -1, -1, -1, 41, 110, -1, 44, 45, - 46, -1, 48, -1, -1, -1, -1, -1, 54, -1, - 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, -1, 1, 80, 3, 4, 5, 6, 7, - 8, 9, 88, -1, -1, -1, 14, 93, -1, -1, - -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, - 28, -1, 30, 31, 32, -1, -1, -1, 36, -1, - -1, -1, -1, 41, -1, -1, -1, 45, 46, -1, - 48, -1, -1, -1, -1, -1, 54, -1, 56, 57, - -1, -1, 60, -1, 62, -1, -1, -1, -1, -1, - -1, -1, 70, 3, 4, 5, 6, 7, 8, 9, - -1, -1, 80, -1, 14, -1, -1, -1, -1, -1, - 88, -1, -1, -1, -1, 93, -1, -1, 28, -1, - 30, 31, -1, -1, -1, -1, 36, -1, -1, -1, - -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, - -1, -1, -1, -1, 54, -1, 56, 57, -1, -1, - 60, -1, 3, 4, 5, 6, 7, 8, 9, -1, - 70, -1, -1, 14, -1, -1, -1, -1, -1, -1, - 80, -1, -1, -1, -1, -1, -1, 28, 88, 30, - 31, -1, -1, 93, -1, 36, -1, -1, -1, -1, + 3, 4, 5, 6, 93, 8, 9, 10, 11, -1, + 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 110, -1, -1, -1, 28, 29, 30, 31, 32, + -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, + 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, + 53, 54, -1, 56, 57, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, + -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, + -1, -1, -1, 86, 87, 88, 3, 4, 5, 6, + 93, 8, 9, 10, 11, -1, 13, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, + -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, + -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, + -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, + 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, + -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, + 87, 88, 3, 4, 5, 6, 93, 8, 9, 10, + 11, -1, 13, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 110, -1, -1, -1, 28, 29, 30, + -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, + 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, + 51, 52, 53, 54, -1, 56, 57, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 67, -1, -1, 70, + -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, + -1, -1, -1, -1, -1, 86, 87, 88, 3, 4, + 5, 6, 93, 8, 9, 10, 11, -1, 13, 14, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, + -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, + 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, + -1, 56, 57, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, 1, 70, 3, 4, 5, 6, + 7, 8, 9, 78, 79, 80, -1, 14, -1, -1, + -1, 86, 87, 88, -1, -1, -1, -1, 93, -1, + 27, 28, -1, 30, 31, 32, -1, -1, -1, 36, + -1, -1, -1, -1, 41, 110, -1, 44, 45, 46, + -1, 48, -1, -1, -1, -1, -1, 54, -1, 56, + 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, + -1, -1, 1, 80, 3, 4, 5, 6, 7, 8, + 9, 88, -1, -1, -1, 14, 93, -1, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, 28, + -1, 30, 31, 32, -1, -1, -1, 36, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, -1, 48, + -1, -1, -1, -1, -1, 54, -1, 56, 57, -1, + -1, 60, -1, 62, -1, -1, -1, -1, -1, -1, + -1, 70, 3, 4, 5, 6, 7, 8, 9, -1, + -1, 80, -1, 14, -1, -1, -1, -1, -1, 88, + -1, -1, -1, -1, 93, -1, -1, 28, -1, 30, + 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, 54, -1, 56, 57, 3, 4, 5, - 6, 7, 8, 9, -1, -1, -1, -1, 14, 70, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, - -1, -1, -1, -1, -1, 31, -1, 88, -1, -1, - 36, -1, 93, -1, -1, 41, -1, -1, -1, 45, - -1, 47, -1, -1, -1, -1, -1, -1, 54, -1, - 56, 57, -1, -1, -1, -1, 31, -1, -1, -1, - -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, 93, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + -1, -1, -1, 54, -1, 56, 57, -1, -1, -1, + -1, 62, -1, -1, -1, -1, -1, -1, -1, 70, + 3, 4, 5, 6, 7, 8, 9, -1, -1, 80, + -1, 14, -1, -1, -1, -1, -1, 88, -1, -1, + -1, -1, 93, -1, -1, 28, -1, 30, 31, -1, + -1, -1, -1, 36, -1, -1, -1, -1, 41, -1, + -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, 54, -1, 56, 57, -1, -1, 60, -1, 3, + 4, 5, 6, 7, 8, 9, -1, 70, -1, -1, + 14, -1, -1, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, 28, 88, 30, 31, -1, -1, + 93, -1, 36, -1, -1, -1, -1, 41, -1, -1, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + 54, -1, 56, 57, 4, 5, -1, 7, 8, 9, + -1, -1, 12, -1, 14, -1, 70, 4, 5, -1, + 7, 8, 9, -1, -1, -1, 80, 14, 28, -1, + 30, 31, -1, -1, 88, -1, 36, -1, -1, 93, + -1, 28, -1, 30, 31, 45, -1, -1, -1, 36, + -1, -1, -1, -1, 54, -1, 56, 57, 45, -1, + -1, 4, 5, -1, -1, 8, 9, 54, -1, 56, + 57, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 28, -1, 30, -1, -1, + -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, + -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, 54, -1, 56, 57, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, -1, -1, -1, -1, 59, -1, -1, 107, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, -1, -1, -1, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, 107, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, -1, 76, 77, 78, - 79, 80, 81, 82, 83, 84 + 83, 84, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, + 76, 77, 78, 79, 80, 81, 82, 83, 84 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple" @@ -4099,106 +4130,106 @@ yyreduce: switch (yyn) { case 2: -#line 337 "parse.y" +#line 339 "parse.y" { finish_translation_unit (); ; break;} case 3: -#line 345 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 4: #line 347 "parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 5: +case 4: #line 349 "parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 5: +#line 351 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 8: -#line 358 "parse.y" +#line 360 "parse.y" { have_extern_spec = 1; used_extern_spec = 0; yyval.ttype = NULL_TREE; ; break;} case 9: -#line 363 "parse.y" +#line 365 "parse.y" { have_extern_spec = 0; ; break;} case 10: -#line 368 "parse.y" +#line 370 "parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} case 12: -#line 377 "parse.y" +#line 379 "parse.y" { if (pending_lang_change) do_pending_lang_change(); ; break;} case 13: -#line 379 "parse.y" +#line 381 "parse.y" { if (! toplevel_bindings_p () && ! pseudo_global_level_p()) pop_everything (); ; break;} case 14: -#line 385 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; - break;} -case 15: #line 387 "parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} -case 16: +case 15: #line 389 "parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} -case 17: +case 16: #line 391 "parse.y" +{ if (pending_inlines) do_pending_inlines (); ; + break;} +case 17: +#line 393 "parse.y" { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype); assemble_asm (yyvsp[-2].ttype); ; break;} case 18: -#line 394 "parse.y" +#line 396 "parse.y" { pop_lang_context (); ; break;} case 19: -#line 396 "parse.y" +#line 398 "parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 20: -#line 399 "parse.y" +#line 401 "parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 21: -#line 402 "parse.y" +#line 404 "parse.y" { push_namespace (yyvsp[-1].ttype); ; break;} case 22: -#line 404 "parse.y" +#line 406 "parse.y" { pop_namespace (); ; break;} case 23: -#line 406 "parse.y" +#line 408 "parse.y" { push_namespace (NULL_TREE); ; break;} case 24: -#line 408 "parse.y" +#line 410 "parse.y" { pop_namespace (); ; break;} case 26: -#line 411 "parse.y" +#line 413 "parse.y" { do_toplevel_using_decl (yyvsp[-1].ttype); ; break;} case 28: -#line 414 "parse.y" +#line 416 "parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 29: -#line 419 "parse.y" +#line 421 "parse.y" { begin_only_namespace_names (); ; break;} case 30: -#line 421 "parse.y" +#line 423 "parse.y" { end_only_namespace_names (); if (lastiddecl) @@ -4207,35 +4238,35 @@ case 30: ; break;} case 31: -#line 431 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 32: #line 433 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 33: +case 32: #line 435 "parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; + break;} +case 33: +#line 437 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 34: -#line 440 "parse.y" +#line 442 "parse.y" { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 35: -#line 442 "parse.y" +#line 444 "parse.y" { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ; break;} case 36: -#line 444 "parse.y" +#line 446 "parse.y" { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 37: -#line 449 "parse.y" +#line 451 "parse.y" { begin_only_namespace_names (); ; break;} case 38: -#line 451 "parse.y" +#line 453 "parse.y" { end_only_namespace_names (); /* If no declaration was found, the using-directive is @@ -4247,7 +4278,7 @@ case 38: ; break;} case 39: -#line 464 "parse.y" +#line 466 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; @@ -4255,7 +4286,7 @@ case 39: ; break;} case 40: -#line 470 "parse.y" +#line 472 "parse.y" { yyval.ttype = yyvsp[-1].ttype; if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) @@ -4264,86 +4295,86 @@ case 40: ; break;} case 43: -#line 481 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} -case 44: #line 483 "parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; + break;} +case 44: +#line 485 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 45: -#line 488 "parse.y" +#line 490 "parse.y" { push_lang_context (yyvsp[0].ttype); ; break;} case 46: -#line 490 "parse.y" +#line 492 "parse.y" { if (current_lang_name != yyvsp[0].ttype) cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name); pop_lang_context (); push_lang_context (yyvsp[0].ttype); ; break;} case 47: -#line 497 "parse.y" +#line 499 "parse.y" { begin_template_parm_list (); ; break;} case 48: -#line 499 "parse.y" +#line 501 "parse.y" { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ; break;} case 49: -#line 501 "parse.y" +#line 503 "parse.y" { begin_specialization(); yyval.ttype = NULL_TREE; ; break;} case 50: -#line 507 "parse.y" +#line 509 "parse.y" { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ; break;} case 51: -#line 509 "parse.y" +#line 511 "parse.y" { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 52: -#line 514 "parse.y" +#line 516 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 53: -#line 516 "parse.y" +#line 518 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 54: -#line 520 "parse.y" +#line 522 "parse.y" { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 55: -#line 522 "parse.y" +#line 524 "parse.y" { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ; break;} case 56: -#line 527 "parse.y" +#line 529 "parse.y" { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 57: -#line 539 "parse.y" +#line 541 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 58: -#line 541 "parse.y" +#line 543 "parse.y" { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ; break;} case 59: -#line 543 "parse.y" +#line 545 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} case 60: -#line 545 "parse.y" +#line 547 "parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ; break;} case 61: -#line 547 "parse.y" +#line 549 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 62: -#line 549 "parse.y" +#line 551 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM @@ -4356,66 +4387,66 @@ case 62: ; break;} case 63: -#line 563 "parse.y" -{ finish_template_decl (yyvsp[-1].ttype); ; - break;} -case 64: #line 565 "parse.y" { finish_template_decl (yyvsp[-1].ttype); ; break;} -case 65: -#line 570 "parse.y" -{ if (pending_inlines) do_pending_inlines (); ; +case 64: +#line 567 "parse.y" +{ finish_template_decl (yyvsp[-1].ttype); ; break;} -case 66: +case 65: #line 572 "parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} -case 67: +case 66: #line 574 "parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} -case 68: +case 67: #line 576 "parse.y" +{ if (pending_inlines) do_pending_inlines (); ; + break;} +case 68: +#line 578 "parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 69: -#line 579 "parse.y" +#line 581 "parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 70: -#line 582 "parse.y" +#line 584 "parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 72: -#line 588 "parse.y" +#line 590 "parse.y" {; break;} case 73: -#line 590 "parse.y" +#line 592 "parse.y" { note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 74: -#line 592 "parse.y" +#line 594 "parse.y" { maybe_process_partial_specialization (yyvsp[-1].ftype.t); note_got_semicolon (yyvsp[-1].ftype.t); ; break;} case 76: -#line 599 "parse.y" +#line 601 "parse.y" {; break;} case 77: -#line 601 "parse.y" +#line 603 "parse.y" { note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 78: -#line 603 "parse.y" +#line 605 "parse.y" { pedwarn ("empty declaration"); ; break;} case 80: -#line 606 "parse.y" +#line 608 "parse.y" { tree t, attrs; split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs); @@ -4424,124 +4455,124 @@ case 80: ; break;} case 84: -#line 619 "parse.y" +#line 621 "parse.y" { yyval.itype = 0; ; break;} case 85: -#line 621 "parse.y" +#line 623 "parse.y" { yyval.itype = 1; ; break;} case 91: -#line 637 "parse.y" +#line 639 "parse.y" { finish_function (lineno, (int)yyvsp[-1].itype, 0); ; break;} case 92: -#line 639 "parse.y" -{ ; - break;} -case 93: #line 641 "parse.y" +{ ; + break;} +case 93: +#line 643 "parse.y" { ; break;} case 94: -#line 646 "parse.y" +#line 648 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 95: -#line 648 "parse.y" +#line 650 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 96: -#line 650 "parse.y" +#line 652 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 97: -#line 654 "parse.y" +#line 656 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 98: -#line 656 "parse.y" +#line 658 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 99: -#line 658 "parse.y" +#line 660 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 100: -#line 662 "parse.y" +#line 664 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 101: -#line 664 "parse.y" +#line 666 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 102: -#line 666 "parse.y" +#line 668 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 103: -#line 670 "parse.y" +#line 672 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 104: -#line 672 "parse.y" +#line 674 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 105: -#line 674 "parse.y" +#line 676 "parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 106: -#line 681 "parse.y" +#line 683 "parse.y" { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype)) YYERROR1; ; break;} case 107: -#line 684 "parse.y" +#line 686 "parse.y" { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype)) YYERROR1; ; break;} case 108: -#line 687 "parse.y" +#line 689 "parse.y" { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) YYERROR1; ; break;} case 109: -#line 690 "parse.y" +#line 692 "parse.y" { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype)) YYERROR1; ; break;} case 110: -#line 693 "parse.y" +#line 695 "parse.y" { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) YYERROR1; ; break;} case 111: -#line 699 "parse.y" +#line 701 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 112: -#line 701 "parse.y" +#line 703 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 113: -#line 703 "parse.y" +#line 705 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 114: -#line 705 "parse.y" +#line 707 "parse.y" { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 115: -#line 712 "parse.y" +#line 714 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); attrs = build_tree_list (attrs, NULL_TREE); @@ -4554,40 +4585,43 @@ case 115: reinit_parse_for_method (yychar, yyval.ttype); ; break;} case 116: -#line 723 "parse.y" +#line 725 "parse.y" { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE); goto rest_of_mdef; ; break;} case 117: -#line 726 "parse.y" +#line 728 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs); + attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; break;} case 118: -#line 730 "parse.y" +#line 733 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); + attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; break;} case 119: -#line 734 "parse.y" +#line 738 "parse.y" { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE); goto rest_of_mdef; ; break;} case 120: -#line 737 "parse.y" +#line 741 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); + attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; break;} case 121: -#line 741 "parse.y" +#line 746 "parse.y" { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE); goto rest_of_mdef; ; break;} case 122: -#line 747 "parse.y" +#line 752 "parse.y" { if (! current_function_parms_stored) store_parm_decls (); @@ -4595,19 +4629,19 @@ case 122: ; break;} case 123: -#line 756 "parse.y" +#line 761 "parse.y" { store_return_init (yyval.ttype, yyvsp[0].ttype); ; break;} case 124: -#line 758 "parse.y" +#line 763 "parse.y" { store_return_init (yyval.ttype, yyvsp[-1].ttype); ; break;} case 125: -#line 760 "parse.y" +#line 765 "parse.y" { store_return_init (yyval.ttype, NULL_TREE); ; break;} case 126: -#line 765 "parse.y" +#line 770 "parse.y" { if (yyvsp[0].itype == 0) error ("no base initializers given following ':'"); @@ -4619,7 +4653,7 @@ case 126: ; break;} case 127: -#line 778 "parse.y" +#line 783 "parse.y" { if (! current_function_parms_stored) store_parm_decls (); @@ -4638,15 +4672,15 @@ case 127: ; break;} case 128: -#line 798 "parse.y" +#line 803 "parse.y" { yyval.itype = 0; ; break;} case 129: -#line 800 "parse.y" +#line 805 "parse.y" { yyval.itype = 1; ; break;} case 132: -#line 807 "parse.y" +#line 812 "parse.y" { if (current_class_name) pedwarn ("anachronistic old style base class initializer"); @@ -4654,7 +4688,7 @@ case 132: ; break;} case 133: -#line 813 "parse.y" +#line 818 "parse.y" { if (current_class_name) pedwarn ("anachronistic old style base class initializer"); @@ -4662,89 +4696,89 @@ case 133: ; break;} case 134: -#line 819 "parse.y" +#line 824 "parse.y" { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 135: -#line 821 "parse.y" +#line 826 "parse.y" { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ; break;} case 136: -#line 823 "parse.y" +#line 828 "parse.y" { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 137: -#line 825 "parse.y" +#line 830 "parse.y" { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ; break;} case 138: -#line 827 "parse.y" +#line 832 "parse.y" { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 139: -#line 830 "parse.y" +#line 835 "parse.y" { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype), void_type_node); ; break;} case 151: -#line 856 "parse.y" +#line 861 "parse.y" { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE); yyungetc (';', 1); ; break;} case 153: -#line 860 "parse.y" +#line 865 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ; break;} case 155: -#line 864 "parse.y" +#line 869 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 157: -#line 867 "parse.y" +#line 872 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 159: -#line 870 "parse.y" +#line 875 "parse.y" { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype); yyungetc (';', 1); ; break;} case 161: -#line 875 "parse.y" +#line 880 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 163: -#line 879 "parse.y" +#line 884 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} case 165: -#line 882 "parse.y" +#line 887 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} case 167: -#line 887 "parse.y" +#line 892 "parse.y" { begin_explicit_instantiation(); ; break;} case 168: -#line 890 "parse.y" +#line 895 "parse.y" { end_explicit_instantiation(); ; break;} case 169: -#line 899 "parse.y" +#line 904 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 170: -#line 902 "parse.y" +#line 907 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 172: -#line 909 "parse.y" +#line 914 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 173: -#line 913 "parse.y" +#line 918 "parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; @@ -4754,7 +4788,7 @@ case 173: ; break;} case 175: -#line 924 "parse.y" +#line 929 "parse.y" { /* Handle `Class>' without space in the `>>' */ pedwarn ("`>>' should be `> >' in template class name"); @@ -4762,79 +4796,79 @@ case 175: ; break;} case 176: -#line 933 "parse.y" +#line 938 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 178: -#line 939 "parse.y" +#line 944 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 179: -#line 941 "parse.y" +#line 946 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 180: -#line 946 "parse.y" +#line 951 "parse.y" { yyval.ttype = groktypename (yyvsp[0].ftype.t); ; break;} case 181: -#line 948 "parse.y" +#line 953 "parse.y" { yyval.ttype = lastiddecl; ; break;} case 183: -#line 954 "parse.y" +#line 959 "parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 184: -#line 956 "parse.y" +#line 961 "parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 185: -#line 958 "parse.y" +#line 963 "parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 186: -#line 960 "parse.y" +#line 965 "parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 187: -#line 962 "parse.y" +#line 967 "parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 188: -#line 967 "parse.y" +#line 972 "parse.y" { yyval.ttype = build_x_compound_expr (yyval.ttype); ; break;} case 190: -#line 973 "parse.y" +#line 978 "parse.y" { error ("ANSI C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 191: -#line 977 "parse.y" +#line 982 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 192: -#line 982 "parse.y" +#line 987 "parse.y" { error ("ANSI C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 193: -#line 986 "parse.y" +#line 991 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 194: -#line 991 "parse.y" +#line 996 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 196: -#line 994 "parse.y" +#line 999 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 197: -#line 999 "parse.y" +#line 1004 "parse.y" { { tree d; for (d = getdecls (); d; d = TREE_CHAIN (d)) @@ -4853,7 +4887,7 @@ case 197: ; break;} case 198: -#line 1016 "parse.y" +#line 1021 "parse.y" { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING); resume_momentary (yyvsp[-2].itype); @@ -4863,182 +4897,182 @@ case 198: ; break;} case 204: -#line 1035 "parse.y" +#line 1040 "parse.y" { yyval.ttype = begin_compound_stmt (1); ; break;} case 205: -#line 1037 "parse.y" +#line 1042 "parse.y" { finish_compound_stmt (1, yyvsp[-1].ttype); ; break;} case 207: -#line 1044 "parse.y" +#line 1049 "parse.y" { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 208: -#line 1047 "parse.y" +#line 1052 "parse.y" { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ; break;} case 209: -#line 1050 "parse.y" +#line 1055 "parse.y" { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 210: -#line 1052 "parse.y" +#line 1057 "parse.y" { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ; break;} case 211: -#line 1057 "parse.y" +#line 1062 "parse.y" { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ; break;} case 213: -#line 1063 "parse.y" +#line 1068 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 214: -#line 1066 "parse.y" +#line 1071 "parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 215: -#line 1069 "parse.y" +#line 1074 "parse.y" { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 216: -#line 1071 "parse.y" +#line 1076 "parse.y" { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 217: -#line 1073 "parse.y" +#line 1078 "parse.y" { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 218: -#line 1075 "parse.y" +#line 1080 "parse.y" { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 219: -#line 1078 "parse.y" +#line 1083 "parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids `&&'"); yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; break;} case 220: -#line 1082 "parse.y" +#line 1087 "parse.y" { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ; break;} case 221: -#line 1084 "parse.y" +#line 1089 "parse.y" { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ; break;} case 222: -#line 1086 "parse.y" +#line 1091 "parse.y" { yyval.ttype = grok_alignof (yyvsp[0].ttype); ; break;} case 223: -#line 1088 "parse.y" +#line 1093 "parse.y" { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t)); check_for_new_type ("alignof", yyvsp[-1].ftype); ; break;} case 224: -#line 1094 "parse.y" +#line 1099 "parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 225: -#line 1097 "parse.y" +#line 1102 "parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 226: -#line 1100 "parse.y" +#line 1105 "parse.y" { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 227: -#line 1103 "parse.y" +#line 1108 "parse.y" { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 228: -#line 1116 "parse.y" +#line 1121 "parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 229: -#line 1121 "parse.y" +#line 1126 "parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 230: -#line 1125 "parse.y" +#line 1130 "parse.y" { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 231: -#line 1129 "parse.y" +#line 1134 "parse.y" { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 232: -#line 1133 "parse.y" +#line 1138 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ; break;} case 233: -#line 1135 "parse.y" +#line 1140 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 234: -#line 1139 "parse.y" +#line 1144 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 235: -#line 1143 "parse.y" +#line 1148 "parse.y" { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ; break;} case 236: -#line 1145 "parse.y" +#line 1150 "parse.y" { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ; break;} case 237: -#line 1155 "parse.y" +#line 1160 "parse.y" { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ; break;} case 238: -#line 1158 "parse.y" +#line 1163 "parse.y" { yyval.itype = begin_new_placement (); ; break;} case 239: -#line 1162 "parse.y" +#line 1167 "parse.y" { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ; break;} case 240: -#line 1164 "parse.y" +#line 1169 "parse.y" { cp_pedwarn ("old style placement syntax, use () instead"); yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ; break;} case 241: -#line 1170 "parse.y" +#line 1175 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 242: -#line 1172 "parse.y" +#line 1177 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 243: -#line 1174 "parse.y" +#line 1179 "parse.y" { cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t); yyval.ttype = error_mark_node; ; break;} case 244: -#line 1182 "parse.y" +#line 1187 "parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids initialization of new expression with `='"); @@ -5050,23 +5084,23 @@ case 244: ; break;} case 245: -#line 1196 "parse.y" +#line 1201 "parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 246: -#line 1200 "parse.y" +#line 1205 "parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 248: -#line 1208 "parse.y" +#line 1213 "parse.y" { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ; break;} case 249: -#line 1210 "parse.y" +#line 1215 "parse.y" { tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); @@ -5079,161 +5113,169 @@ case 249: ; break;} case 251: -#line 1226 "parse.y" +#line 1231 "parse.y" { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 252: -#line 1228 "parse.y" +#line 1233 "parse.y" { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; break;} case 253: -#line 1230 "parse.y" +#line 1235 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 254: -#line 1232 "parse.y" +#line 1237 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 255: -#line 1234 "parse.y" +#line 1239 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 256: -#line 1236 "parse.y" +#line 1241 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 257: -#line 1238 "parse.y" +#line 1243 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 258: -#line 1240 "parse.y" +#line 1245 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 259: -#line 1242 "parse.y" +#line 1247 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 260: -#line 1244 "parse.y" +#line 1249 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 261: -#line 1246 "parse.y" +#line 1251 "parse.y" { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 262: -#line 1248 "parse.y" +#line 1253 "parse.y" { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 263: -#line 1250 "parse.y" +#line 1255 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 264: -#line 1252 "parse.y" +#line 1257 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 265: -#line 1254 "parse.y" +#line 1259 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 266: -#line 1256 "parse.y" +#line 1261 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 267: -#line 1258 "parse.y" +#line 1263 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 268: -#line 1260 "parse.y" +#line 1265 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 269: -#line 1262 "parse.y" +#line 1267 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 270: -#line 1264 "parse.y" +#line 1269 "parse.y" { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 271: -#line 1266 "parse.y" +#line 1271 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); if (yyval.ttype != error_mark_node) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 272: -#line 1270 "parse.y" +#line 1275 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 273: -#line 1272 "parse.y" +#line 1277 "parse.y" { yyval.ttype = build_throw (NULL_TREE); ; break;} case 274: -#line 1274 "parse.y" +#line 1279 "parse.y" { yyval.ttype = build_throw (yyvsp[0].ttype); ; break;} case 275: -#line 1292 "parse.y" +#line 1297 "parse.y" { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 276: -#line 1294 "parse.y" +#line 1299 "parse.y" { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 282: -#line 1303 "parse.y" +#line 1308 "parse.y" { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ; break;} case 283: -#line 1307 "parse.y" +#line 1312 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 284: -#line 1309 "parse.y" +#line 1314 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 285: -#line 1314 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 286: -#line 1316 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 287: #line 1319 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 292: -#line 1331 "parse.y" -{ yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ; +case 286: +#line 1321 "parse.y" +{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 293: -#line 1333 "parse.y" -{ yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ; +case 287: +#line 1324 "parse.y" +{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; + break;} +case 292: +#line 1336 "parse.y" +{ + /* Provide support for '(' attributes '*' declarator ')' + etc */ + yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); + ; break;} case 294: -#line 1335 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; +#line 1346 "parse.y" +{ yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ; break;} case 295: -#line 1340 "parse.y" -{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; +#line 1348 "parse.y" +{ yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 296: -#line 1342 "parse.y" +#line 1350 "parse.y" +{ yyval.ttype = yyvsp[-1].ttype; ; + break;} +case 297: +#line 1355 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 300: -#line 1352 "parse.y" +case 298: +#line 1357 "parse.y" +{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; + break;} +case 302: +#line 1367 "parse.y" { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ; break;} -case 301: -#line 1357 "parse.y" +case 303: +#line 1372 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR) yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0)); @@ -5241,8 +5283,8 @@ case 301: yyval.ttype = finish_id_expr (yyvsp[0].ttype); ; break;} -case 304: -#line 1366 "parse.y" +case 306: +#line 1381 "parse.y" { if (processing_template_decl) push_obstacks (&permanent_obstack, &permanent_obstack); @@ -5257,21 +5299,21 @@ case 304: pop_obstacks (); ; break;} -case 305: -#line 1380 "parse.y" +case 307: +#line 1395 "parse.y" { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} -case 306: -#line 1382 "parse.y" +case 308: +#line 1397 "parse.y" { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype); yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} -case 307: -#line 1385 "parse.y" +case 309: +#line 1400 "parse.y" { yyval.ttype = error_mark_node; ; break;} -case 308: -#line 1387 "parse.y" +case 310: +#line 1402 "parse.y" { tree scope = current_scope (); if (!scope || TREE_CODE (scope) != FUNCTION_DECL) { @@ -5283,44 +5325,44 @@ case 308: yyval.ttype = begin_stmt_expr (); ; break;} -case 309: -#line 1398 "parse.y" +case 311: +#line 1413 "parse.y" { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} -case 310: -#line 1403 "parse.y" +case 312: +#line 1418 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; break;} -case 311: -#line 1405 "parse.y" +case 313: +#line 1420 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ; break;} -case 312: -#line 1407 "parse.y" +case 314: +#line 1422 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ; break;} -case 313: -#line 1409 "parse.y" +case 315: +#line 1424 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ; break;} -case 314: -#line 1411 "parse.y" +case 316: +#line 1426 "parse.y" { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ; break;} -case 315: -#line 1413 "parse.y" +case 317: +#line 1428 "parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ; break;} -case 316: -#line 1415 "parse.y" +case 318: +#line 1430 "parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ; break;} -case 317: -#line 1418 "parse.y" +case 319: +#line 1433 "parse.y" { yyval.ttype = finish_this_expr (); ; break;} -case 318: -#line 1420 "parse.y" +case 320: +#line 1435 "parse.y" { tree type = NULL_TREE; tree id = yyval.ttype; @@ -5365,50 +5407,50 @@ case 318: } ; break;} -case 320: -#line 1465 "parse.y" +case 322: +#line 1480 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("dynamic_cast", yyvsp[-4].ftype); yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ; break;} -case 321: -#line 1469 "parse.y" +case 323: +#line 1484 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("static_cast", yyvsp[-4].ftype); yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ; break;} -case 322: -#line 1473 "parse.y" +case 324: +#line 1488 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype); yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ; break;} -case 323: -#line 1477 "parse.y" +case 325: +#line 1492 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("const_cast", yyvsp[-4].ftype); yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ; break;} -case 324: -#line 1481 "parse.y" +case 326: +#line 1496 "parse.y" { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ; break;} -case 325: -#line 1483 "parse.y" +case 327: +#line 1498 "parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); check_for_new_type ("typeid", yyvsp[-1].ftype); yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ; break;} -case 326: -#line 1487 "parse.y" +case 328: +#line 1502 "parse.y" { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ; break;} -case 327: -#line 1489 "parse.y" +case 329: +#line 1504 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 328: -#line 1491 "parse.y" +case 330: +#line 1506 "parse.y" { got_scope = NULL_TREE; if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) @@ -5417,103 +5459,103 @@ case 328: yyval.ttype = yyvsp[0].ttype; ; break;} -case 329: -#line 1499 "parse.y" +case 331: +#line 1514 "parse.y" { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ; break;} -case 330: -#line 1501 "parse.y" +case 332: +#line 1516 "parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 331: -#line 1503 "parse.y" +case 333: +#line 1518 "parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ; break;} -case 332: -#line 1505 "parse.y" +case 334: +#line 1520 "parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} -case 333: -#line 1509 "parse.y" +case 335: +#line 1524 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} -case 334: -#line 1511 "parse.y" +case 336: +#line 1526 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} -case 335: -#line 1513 "parse.y" +case 337: +#line 1528 "parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} -case 336: -#line 1515 "parse.y" +case 338: +#line 1530 "parse.y" { if (processing_template_decl) yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype)); else yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ; break;} -case 337: -#line 1520 "parse.y" +case 339: +#line 1535 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} -case 338: -#line 1522 "parse.y" +case 340: +#line 1537 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} -case 339: -#line 1524 "parse.y" +case 341: +#line 1539 "parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} -case 340: -#line 1526 "parse.y" +case 342: +#line 1541 "parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} -case 341: -#line 1529 "parse.y" +case 343: +#line 1544 "parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 342: -#line 1531 "parse.y" +case 344: +#line 1546 "parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} -case 343: -#line 1533 "parse.y" +case 345: +#line 1548 "parse.y" { yyval.ttype = error_mark_node; ; break;} -case 344: -#line 1578 "parse.y" -{ yyval.itype = 0; ; - break;} -case 345: -#line 1580 "parse.y" -{ got_scope = NULL_TREE; yyval.itype = 1; ; - break;} case 346: -#line 1585 "parse.y" +#line 1593 "parse.y" { yyval.itype = 0; ; break;} case 347: -#line 1587 "parse.y" +#line 1595 "parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 348: -#line 1592 "parse.y" -{ yyval.ttype = boolean_true_node; ; +#line 1600 "parse.y" +{ yyval.itype = 0; ; break;} case 349: -#line 1594 "parse.y" -{ yyval.ttype = boolean_false_node; ; +#line 1602 "parse.y" +{ got_scope = NULL_TREE; yyval.itype = 1; ; + break;} +case 350: +#line 1607 "parse.y" +{ yyval.ttype = boolean_true_node; ; break;} case 351: -#line 1601 "parse.y" +#line 1609 "parse.y" +{ yyval.ttype = boolean_false_node; ; + break;} +case 353: +#line 1616 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} -case 352: -#line 1606 "parse.y" +case 354: +#line 1621 "parse.y" { if (! current_function_parms_stored) store_parm_decls (); @@ -5524,220 +5566,220 @@ case 352: keep_next_level (); ; break;} -case 353: -#line 1619 "parse.y" +case 355: +#line 1634 "parse.y" { got_object = TREE_TYPE (yyval.ttype); ; break;} -case 354: -#line 1621 "parse.y" +case 356: +#line 1636 "parse.y" { yyval.ttype = build_x_arrow (yyval.ttype); got_object = TREE_TYPE (yyval.ttype); ; break;} -case 355: -#line 1629 "parse.y" +case 357: +#line 1644 "parse.y" { resume_momentary (yyvsp[-1].itype); if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t))) note_got_semicolon (yyvsp[-2].ftype.t); ; break;} -case 356: -#line 1635 "parse.y" +case 358: +#line 1650 "parse.y" { resume_momentary (yyvsp[-1].itype); note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} -case 357: -#line 1640 "parse.y" +case 359: +#line 1655 "parse.y" { resume_momentary (yyvsp[-1].itype); ; break;} -case 358: -#line 1642 "parse.y" +case 360: +#line 1657 "parse.y" { shadow_tag (yyvsp[-1].ftype.t); note_list_got_semicolon (yyvsp[-1].ftype.t); ; break;} -case 359: -#line 1647 "parse.y" +case 361: +#line 1662 "parse.y" { warning ("empty declaration"); ; break;} -case 360: -#line 1649 "parse.y" +case 362: +#line 1664 "parse.y" { pedantic = yyvsp[-1].itype; ; break;} -case 363: -#line 1663 "parse.y" +case 365: +#line 1678 "parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (), NULL_TREE, NULL_TREE); ; break;} -case 364: -#line 1666 "parse.y" +case 366: +#line 1681 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE, NULL_TREE); ; break;} -case 365: -#line 1673 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 366: -#line 1676 "parse.y" -{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} case 367: -#line 1679 "parse.y" -{ yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype); +#line 1688 "parse.y" +{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 368: -#line 1682 "parse.y" +#line 1691 "parse.y" +{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); + yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; + break;} +case 369: +#line 1694 "parse.y" +{ yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype); + yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; + break;} +case 370: +#line 1697 "parse.y" { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 369: -#line 1685 "parse.y" +case 371: +#line 1700 "parse.y" { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 372: -#line 1701 "parse.y" +case 374: +#line 1716 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 373: -#line 1704 "parse.y" +case 375: +#line 1719 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 374: -#line 1707 "parse.y" +case 376: +#line 1722 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} -case 375: -#line 1710 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} -case 376: -#line 1713 "parse.y" -{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); - yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; - break;} case 377: -#line 1716 "parse.y" +#line 1725 "parse.y" +{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); + yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; + break;} +case 378: +#line 1728 "parse.y" +{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); + yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; + break;} +case 379: +#line 1731 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype))); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} -case 378: -#line 1723 "parse.y" +case 380: +#line 1738 "parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyval.ttype)); yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ; break;} -case 379: -#line 1728 "parse.y" +case 381: +#line 1743 "parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ; break;} -case 380: -#line 1730 "parse.y" +case 382: +#line 1745 "parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} -case 381: -#line 1735 "parse.y" +case 383: +#line 1750 "parse.y" { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 382: -#line 1737 "parse.y" +case 384: +#line 1752 "parse.y" { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} -case 383: -#line 1747 "parse.y" +case 385: +#line 1762 "parse.y" { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ; break;} -case 384: -#line 1749 "parse.y" +case 386: +#line 1764 "parse.y" { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ; break;} -case 385: -#line 1751 "parse.y" +case 387: +#line 1766 "parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} -case 386: -#line 1754 "parse.y" +case 388: +#line 1769 "parse.y" { if (extra_warnings && TREE_STATIC (yyval.ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} -case 387: -#line 1760 "parse.y" +case 389: +#line 1775 "parse.y" { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 388: -#line 1762 "parse.y" +case 390: +#line 1777 "parse.y" { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} -case 389: -#line 1773 "parse.y" +case 391: +#line 1788 "parse.y" { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 390: -#line 1776 "parse.y" +case 392: +#line 1791 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 391: -#line 1779 "parse.y" +case 393: +#line 1794 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 392: -#line 1782 "parse.y" +case 394: +#line 1797 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} -case 393: -#line 1788 "parse.y" +case 395: +#line 1803 "parse.y" { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} -case 394: -#line 1790 "parse.y" +case 396: +#line 1805 "parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ; break;} -case 396: -#line 1800 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; - break;} -case 397: -#line 1802 "parse.y" -{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; - break;} case 398: -#line 1804 "parse.y" +#line 1815 "parse.y" +{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; + break;} +case 399: +#line 1817 "parse.y" +{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; + break;} +case 400: +#line 1819 "parse.y" { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype); yyval.ftype.new_type_flag = 0; ; break;} -case 399: -#line 1807 "parse.y" +case 401: +#line 1822 "parse.y" { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = 0; ; break;} -case 400: -#line 1810 "parse.y" +case 402: +#line 1825 "parse.y" { tree type = TREE_TYPE (yyvsp[-1].ttype); yyval.ftype.new_type_flag = 0; @@ -5753,8 +5795,8 @@ case 400: } ; break;} -case 401: -#line 1825 "parse.y" +case 403: +#line 1840 "parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = 0; @@ -5770,201 +5812,201 @@ case 401: } ; break;} -case 402: -#line 1845 "parse.y" +case 404: +#line 1860 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} -case 403: -#line 1847 "parse.y" +case 405: +#line 1862 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} -case 406: -#line 1854 "parse.y" -{ check_multiple_declarators (); ; - break;} case 408: -#line 1860 "parse.y" +#line 1869 "parse.y" { check_multiple_declarators (); ; break;} case 410: -#line 1866 "parse.y" +#line 1875 "parse.y" { check_multiple_declarators (); ; break;} -case 411: -#line 1871 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} case 412: -#line 1873 "parse.y" -{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; +#line 1881 "parse.y" +{ check_multiple_declarators (); ; break;} case 413: -#line 1878 "parse.y" +#line 1886 "parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 414: +#line 1888 "parse.y" +{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; + break;} +case 415: +#line 1893 "parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); ; break;} -case 414: -#line 1882 "parse.y" +case 416: +#line 1897 "parse.y" { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ; break;} -case 415: -#line 1884 "parse.y" +case 417: +#line 1899 "parse.y" { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; break;} -case 416: -#line 1897 "parse.y" +case 418: +#line 1912 "parse.y" { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype, 1, &yyval.ttype); ; break;} -case 417: -#line 1902 "parse.y" +case 419: +#line 1917 "parse.y" { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); yyval.itype = yyvsp[-2].itype; ; break;} -case 418: -#line 1906 "parse.y" +case 420: +#line 1921 "parse.y" { tree d; yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d); cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; break;} -case 419: -#line 1913 "parse.y" -{ yyval.itype = yyvsp[0].itype; ; - break;} -case 420: -#line 1917 "parse.y" -{ yyval.itype = yyvsp[0].itype; ; - break;} case 421: -#line 1922 "parse.y" +#line 1928 "parse.y" +{ yyval.itype = yyvsp[0].itype; ; + break;} +case 422: +#line 1932 "parse.y" +{ yyval.itype = yyvsp[0].itype; ; + break;} +case 423: +#line 1937 "parse.y" { /* Set things up as initdcl0_innards expects. */ yyvsp[0].ttype = yyvsp[-1].ttype; yyvsp[-1].ttype = NULL_TREE; ; break;} -case 422: -#line 1926 "parse.y" +case 424: +#line 1941 "parse.y" {; break;} -case 423: -#line 1928 "parse.y" +case 425: +#line 1943 "parse.y" { tree d; parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d); cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; break;} -case 424: -#line 1937 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 425: -#line 1939 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} case 426: -#line 1944 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; +#line 1952 "parse.y" +{ yyval.ttype = NULL_TREE; ; break;} case 427: -#line 1946 "parse.y" -{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; +#line 1954 "parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; break;} case 428: -#line 1951 "parse.y" -{ yyval.ttype = yyvsp[-2].ttype; ; +#line 1959 "parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; break;} case 429: -#line 1956 "parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; +#line 1961 "parse.y" +{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 430: -#line 1958 "parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; +#line 1966 "parse.y" +{ yyval.ttype = yyvsp[-2].ttype; ; break;} case 431: -#line 1963 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 432: -#line 1965 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; - break;} -case 433: -#line 1967 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; - break;} -case 434: -#line 1969 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; - break;} -case 435: #line 1971 "parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; - break;} -case 440: -#line 1987 "parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 441: -#line 1989 "parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; - break;} -case 442: -#line 1994 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 443: -#line 1996 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 445: +case 432: +#line 1973 "parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; + break;} +case 433: +#line 1978 "parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 434: +#line 1980 "parse.y" +{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; + break;} +case 435: +#line 1982 "parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; + break;} +case 436: +#line 1984 "parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; + break;} +case 437: +#line 1986 "parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; + break;} +case 442: +#line 2002 "parse.y" +{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; + break;} +case 443: #line 2004 "parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; + break;} +case 444: +#line 2009 "parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 445: +#line 2011 "parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; + break;} +case 447: +#line 2019 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} -case 446: -#line 2007 "parse.y" +case 448: +#line 2022 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} -case 447: -#line 2010 "parse.y" +case 449: +#line 2025 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} -case 448: -#line 2013 "parse.y" +case 450: +#line 2028 "parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 449: -#line 2020 "parse.y" +case 451: +#line 2035 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} -case 450: -#line 2022 "parse.y" +case 452: +#line 2037 "parse.y" { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} -case 451: -#line 2025 "parse.y" +case 453: +#line 2040 "parse.y" { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 452: -#line 2027 "parse.y" +case 454: +#line 2042 "parse.y" { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ; break;} -case 453: -#line 2029 "parse.y" +case 455: +#line 2044 "parse.y" { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ; break;} -case 454: -#line 2034 "parse.y" +case 456: +#line 2049 "parse.y" { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype), NULL_TREE, 1); reinit_parse_for_function (); ; break;} -case 455: -#line 2040 "parse.y" +case 457: +#line 2055 "parse.y" { int nested = (hack_decl_function_context (current_function_decl) != NULL_TREE); @@ -5972,38 +6014,38 @@ case 455: process_next_inline (yyvsp[-3].ttype); ; break;} -case 456: -#line 2047 "parse.y" +case 458: +#line 2062 "parse.y" { process_next_inline (yyvsp[-2].ttype); ; break;} -case 457: -#line 2049 "parse.y" +case 459: +#line 2064 "parse.y" { process_next_inline (yyvsp[-2].ttype); ; break;} -case 460: -#line 2061 "parse.y" +case 462: +#line 2076 "parse.y" { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} -case 461: -#line 2063 "parse.y" +case 463: +#line 2078 "parse.y" { replace_defarg (yyvsp[-2].ttype, error_mark_node); ; break;} -case 463: -#line 2068 "parse.y" -{ do_pending_defargs (); ; - break;} -case 464: -#line 2070 "parse.y" -{ do_pending_defargs (); ; - break;} case 465: -#line 2075 "parse.y" +#line 2083 "parse.y" +{ do_pending_defargs (); ; + break;} +case 466: +#line 2085 "parse.y" +{ do_pending_defargs (); ; + break;} +case 467: +#line 2090 "parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = current_enum_type; current_enum_type = start_enum (yyvsp[-1].ttype); ; break;} -case 466: -#line 2079 "parse.y" +case 468: +#line 2094 "parse.y" { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype; yyval.ftype.t = finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; @@ -6011,20 +6053,20 @@ case 466: resume_momentary ((int) yyvsp[-4].itype); check_for_missing_semicolon (yyval.ftype.t); ; break;} -case 467: -#line 2086 "parse.y" +case 469: +#line 2101 "parse.y" { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype)); yyval.ftype.new_type_flag = 1; check_for_missing_semicolon (yyval.ftype.t); ; break;} -case 468: -#line 2090 "parse.y" +case 470: +#line 2105 "parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = current_enum_type; current_enum_type = start_enum (make_anon_name ()); ; break;} -case 469: -#line 2094 "parse.y" +case 471: +#line 2109 "parse.y" { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype; yyval.ftype.t = finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; @@ -6032,31 +6074,31 @@ case 469: resume_momentary ((int) yyvsp[-5].itype); check_for_missing_semicolon (yyval.ftype.t); ; break;} -case 470: -#line 2101 "parse.y" +case 472: +#line 2116 "parse.y" { yyval.ftype.t = finish_enum (start_enum (make_anon_name())); yyval.ftype.new_type_flag = 1; check_for_missing_semicolon (yyval.ftype.t); ; break;} -case 471: -#line 2105 "parse.y" -{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); - yyval.ftype.new_type_flag = 0; ; - break;} -case 472: -#line 2108 "parse.y" -{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); - yyval.ftype.new_type_flag = 0; ; - break;} case 473: -#line 2111 "parse.y" +#line 2120 "parse.y" +{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); + yyval.ftype.new_type_flag = 0; ; + break;} +case 474: +#line 2123 "parse.y" +{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); + yyval.ftype.new_type_flag = 0; ; + break;} +case 475: +#line 2126 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; if (!processing_template_decl) cp_pedwarn ("using `typename' outside of template"); ; break;} -case 474: -#line 2118 "parse.y" +case 476: +#line 2133 "parse.y" { int semi; @@ -6067,18 +6109,18 @@ case 474: yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[0].ttype, semi); ; break;} -case 475: -#line 2128 "parse.y" +case 477: +#line 2143 "parse.y" { finish_default_args (); ; break;} -case 476: -#line 2130 "parse.y" +case 478: +#line 2145 "parse.y" { yyval.ftype.t = yyvsp[-3].ttype; yyval.ftype.new_type_flag = 1; begin_inline_definitions (); ; break;} -case 477: -#line 2134 "parse.y" +case 479: +#line 2149 "parse.y" { yyval.ftype.new_type_flag = 0; if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE) @@ -6097,97 +6139,97 @@ case 477: } ; break;} -case 481: -#line 2161 "parse.y" +case 483: +#line 2176 "parse.y" { if (pedantic && !in_system_header) pedwarn ("comma at end of enumerator list"); ; break;} -case 483: -#line 2168 "parse.y" +case 485: +#line 2183 "parse.y" { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} -case 484: -#line 2170 "parse.y" +case 486: +#line 2185 "parse.y" { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} -case 485: -#line 2172 "parse.y" +case 487: +#line 2187 "parse.y" { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} -case 486: -#line 2174 "parse.y" +case 488: +#line 2189 "parse.y" { error ("no body nor ';' separates two class, struct or union declarations"); ; break;} -case 487: -#line 2176 "parse.y" +case 489: +#line 2191 "parse.y" { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} -case 488: -#line 2181 "parse.y" +case 490: +#line 2196 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} -case 489: -#line 2189 "parse.y" +case 491: +#line 2204 "parse.y" { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} -case 490: -#line 2191 "parse.y" +case 492: +#line 2206 "parse.y" { yyungetc ('{', 1); ; break;} -case 491: -#line 2193 "parse.y" +case 493: +#line 2208 "parse.y" { yyungetc (':', 1); ; break;} -case 492: -#line 2198 "parse.y" +case 494: +#line 2213 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 493: -#line 2203 "parse.y" +case 495: +#line 2218 "parse.y" { current_aggr = yyvsp[-3].ttype; yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 494: -#line 2208 "parse.y" +case 496: +#line 2223 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} -case 495: -#line 2213 "parse.y" -{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; - break;} -case 496: -#line 2215 "parse.y" -{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; - break;} case 497: -#line 2220 "parse.y" -{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ; +#line 2228 "parse.y" +{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 498: -#line 2222 "parse.y" -{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ; +#line 2230 "parse.y" +{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 499: -#line 2224 "parse.y" +#line 2235 "parse.y" +{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ; + break;} +case 500: +#line 2237 "parse.y" +{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ; + break;} +case 501: +#line 2239 "parse.y" { yyval.ttype = yyvsp[-1].ttype; if (yyvsp[0].ttype) xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 500: -#line 2230 "parse.y" +case 502: +#line 2245 "parse.y" { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); if (TREE_INT_CST_LOW (current_aggr) == union_type @@ -6203,45 +6245,45 @@ case 500: } ; break;} -case 501: -#line 2248 "parse.y" +case 503: +#line 2263 "parse.y" { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0); yyungetc ('{', 1); ; break;} -case 504: -#line 2259 "parse.y" +case 506: +#line 2274 "parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 505: -#line 2261 "parse.y" +case 507: +#line 2276 "parse.y" { yyungetc(':', 1); yyval.ttype = NULL_TREE; ; break;} -case 506: -#line 2263 "parse.y" +case 508: +#line 2278 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 508: -#line 2269 "parse.y" +case 510: +#line 2284 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} -case 509: -#line 2274 "parse.y" +case 511: +#line 2289 "parse.y" { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype, current_aggr == signature_type_node); ; break;} -case 510: -#line 2278 "parse.y" +case 512: +#line 2293 "parse.y" { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, current_aggr == signature_type_node); ; break;} -case 511: -#line 2285 "parse.y" +case 513: +#line 2300 "parse.y" { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ; break;} -case 513: -#line 2288 "parse.y" +case 515: +#line 2303 "parse.y" { if (current_aggr == signature_type_node) { @@ -6263,8 +6305,8 @@ case 513: } ; break;} -case 514: -#line 2309 "parse.y" +case 516: +#line 2324 "parse.y" { if (current_aggr == signature_type_node) { @@ -6286,14 +6328,14 @@ case 514: } ; break;} -case 516: -#line 2334 "parse.y" +case 518: +#line 2349 "parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) cp_error ("`%D' access", yyvsp[-1].ttype); yyval.ttype = access_default_virtual_node; ; break;} -case 517: -#line 2338 "parse.y" +case 519: +#line 2353 "parse.y" { if (yyvsp[-2].ttype != access_default_virtual_node) error ("multiple access specifiers"); @@ -6305,8 +6347,8 @@ case 517: yyval.ttype = access_private_virtual_node; ; break;} -case 518: -#line 2349 "parse.y" +case 520: +#line 2364 "parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) cp_error ("`%D' access", yyvsp[-1].ttype); else if (yyval.ttype == access_public_node) @@ -6319,18 +6361,18 @@ case 518: error ("multiple `virtual' specifiers"); ; break;} -case 519: -#line 2364 "parse.y" +case 521: +#line 2379 "parse.y" { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ; break;} -case 520: -#line 2369 "parse.y" +case 522: +#line 2384 "parse.y" { finish_member_declaration (build_self_reference ()); ; break;} -case 525: -#line 2383 "parse.y" +case 527: +#line 2398 "parse.y" { if (current_aggr == signature_type_node) { @@ -6341,50 +6383,50 @@ case 525: current_access_specifier = yyvsp[-1].ttype; ; break;} -case 526: -#line 2398 "parse.y" -{ - finish_member_declaration (yyvsp[0].ttype); - ; - break;} -case 527: -#line 2402 "parse.y" +case 528: +#line 2413 "parse.y" { finish_member_declaration (yyvsp[0].ttype); ; break;} case 529: -#line 2410 "parse.y" +#line 2417 "parse.y" +{ + finish_member_declaration (yyvsp[0].ttype); + ; + break;} +case 531: +#line 2425 "parse.y" { error ("missing ';' before right brace"); yyungetc ('}', 0); ; break;} -case 530: -#line 2415 "parse.y" -{ yyval.ttype = finish_method (yyval.ttype); ; - break;} -case 531: -#line 2417 "parse.y" -{ yyval.ttype = finish_method (yyval.ttype); ; - break;} case 532: -#line 2419 "parse.y" +#line 2430 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} case 533: -#line 2421 "parse.y" +#line 2432 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} case 534: -#line 2423 "parse.y" -{ yyval.ttype = NULL_TREE; ; +#line 2434 "parse.y" +{ yyval.ttype = finish_method (yyval.ttype); ; break;} case 535: -#line 2425 "parse.y" +#line 2436 "parse.y" +{ yyval.ttype = finish_method (yyval.ttype); ; + break;} +case 536: +#line 2438 "parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 537: +#line 2440 "parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} -case 536: -#line 2428 "parse.y" +case 538: +#line 2443 "parse.y" { if (yyvsp[0].ttype) yyval.ttype = finish_member_template_decl (yyvsp[0].ttype); @@ -6395,15 +6437,15 @@ case 536: finish_template_decl (yyvsp[-1].ttype); ; break;} -case 537: -#line 2438 "parse.y" +case 539: +#line 2453 "parse.y" { yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); finish_template_decl (yyvsp[-2].ttype); ; break;} -case 538: -#line 2449 "parse.y" +case 540: +#line 2464 "parse.y" { /* Most of the productions for component_decl only allow the creation of one new member, so we call @@ -6425,54 +6467,54 @@ case 538: yyval.ttype = NULL_TREE; ; break;} -case 539: -#line 2470 "parse.y" +case 541: +#line 2485 "parse.y" { if (!yyvsp[0].itype) grok_x_components (yyvsp[-1].ttype); yyval.ttype = NULL_TREE; ; break;} -case 540: -#line 2476 "parse.y" -{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; - break;} -case 541: -#line 2479 "parse.y" -{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; - break;} case 542: -#line 2482 "parse.y" -{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; +#line 2491 "parse.y" +{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, + build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; break;} case 543: -#line 2484 "parse.y" -{ yyval.ttype = NULL_TREE; ; +#line 2494 "parse.y" +{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, + build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; break;} case 544: -#line 2495 "parse.y" +#line 2497 "parse.y" +{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; + break;} +case 545: +#line 2499 "parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 546: +#line 2510 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs); yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, attrs)); ; break;} -case 545: -#line 2500 "parse.y" +case 547: +#line 2515 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; break;} -case 546: -#line 2503 "parse.y" +case 548: +#line 2518 "parse.y" { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ; break;} -case 547: -#line 2509 "parse.y" +case 549: +#line 2524 "parse.y" { yyval.itype = 0; ; break;} -case 548: -#line 2511 "parse.y" +case 550: +#line 2526 "parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); @@ -6480,8 +6522,8 @@ case 548: yyval.itype = 1; ; break;} -case 549: -#line 2518 "parse.y" +case 551: +#line 2533 "parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) @@ -6490,21 +6532,21 @@ case 549: yyval.itype = 2; ; break;} -case 550: -#line 2529 "parse.y" -{ yyval.itype = 0; ; - break;} -case 551: -#line 2531 "parse.y" -{ - if (PROCESSING_REAL_TEMPLATE_DECL_P ()) - yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); - finish_member_declaration (yyvsp[0].ttype); - yyval.itype = 1; - ; - break;} case 552: -#line 2538 "parse.y" +#line 2544 "parse.y" +{ yyval.itype = 0; ; + break;} +case 553: +#line 2546 "parse.y" +{ + if (PROCESSING_REAL_TEMPLATE_DECL_P ()) + yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); + finish_member_declaration (yyvsp[0].ttype); + yyval.itype = 1; + ; + break;} +case 554: +#line 2553 "parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) @@ -6513,22 +6555,6 @@ case 552: yyval.itype = 2; ; break;} -case 557: -#line 2559 "parse.y" -{ split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, - &prefix_attributes); - yyvsp[-4].ttype = current_declspecs; - yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; - break;} -case 558: -#line 2565 "parse.y" -{ split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, - &prefix_attributes); - yyvsp[-4].ttype = current_declspecs; - yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); - cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; - break;} case 559: #line 2574 "parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, @@ -6539,77 +6565,93 @@ case 559: break;} case 560: #line 2580 "parse.y" +{ split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, + &prefix_attributes); + yyvsp[-4].ttype = current_declspecs; + yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); + cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; + break;} +case 561: +#line 2589 "parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} -case 561: -#line 2586 "parse.y" +case 562: +#line 2595 "parse.y" +{ split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, + &prefix_attributes); + yyvsp[-4].ttype = current_declspecs; + yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, + build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; + break;} +case 563: +#line 2601 "parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} -case 562: -#line 2592 "parse.y" +case 564: +#line 2607 "parse.y" { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-3].ttype = current_declspecs; yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} -case 563: -#line 2601 "parse.y" -{ yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, - build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; - break;} -case 564: -#line 2604 "parse.y" -{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); - cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; - break;} case 565: -#line 2610 "parse.y" +#line 2616 "parse.y" { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} case 566: -#line 2613 "parse.y" +#line 2619 "parse.y" { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 567: -#line 2616 "parse.y" -{ yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); +#line 2625 "parse.y" +{ yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, + build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; + break;} +case 568: +#line 2628 "parse.y" +{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 569: -#line 2627 "parse.y" -{ TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; - break;} -case 570: -#line 2632 "parse.y" -{ yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ; +#line 2631 "parse.y" +{ yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); + cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 571: -#line 2634 "parse.y" -{ yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ; +#line 2642 "parse.y" +{ TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 572: -#line 2640 "parse.y" +#line 2647 "parse.y" +{ yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ; + break;} +case 573: +#line 2649 "parse.y" +{ yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ; + break;} +case 574: +#line 2655 "parse.y" { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 573: -#line 2643 "parse.y" +case 575: +#line 2658 "parse.y" { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 574: -#line 2650 "parse.y" +case 576: +#line 2665 "parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new"); @@ -6618,72 +6660,72 @@ case 574: yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag; ; break;} -case 575: -#line 2661 "parse.y" +case 577: +#line 2676 "parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 576: -#line 2663 "parse.y" +case 578: +#line 2678 "parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} -case 577: -#line 2668 "parse.y" +case 579: +#line 2683 "parse.y" { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} -case 578: -#line 2671 "parse.y" +case 580: +#line 2686 "parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 579: -#line 2680 "parse.y" +case 581: +#line 2695 "parse.y" { yyval.itype = suspend_momentary (); ; break;} -case 580: -#line 2685 "parse.y" +case 582: +#line 2700 "parse.y" { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ; break;} -case 581: -#line 2691 "parse.y" -{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 582: -#line 2693 "parse.y" -{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; - break;} case 583: -#line 2695 "parse.y" -{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ; +#line 2706 "parse.y" +{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 584: -#line 2697 "parse.y" -{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ; +#line 2708 "parse.y" +{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 585: -#line 2704 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; +#line 2710 "parse.y" +{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ; break;} case 586: -#line 2706 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; +#line 2712 "parse.y" +{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ; break;} case 587: -#line 2708 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; +#line 2719 "parse.y" +{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 588: -#line 2710 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; +#line 2721 "parse.y" +{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 589: -#line 2712 "parse.y" +#line 2723 "parse.y" +{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; + break;} +case 590: +#line 2725 "parse.y" +{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; + break;} +case 591: +#line 2727 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} -case 591: -#line 2720 "parse.y" +case 593: +#line 2735 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) { @@ -6701,8 +6743,8 @@ case 591: yyval.ttype = yyvsp[0].ttype; ; break;} -case 592: -#line 2737 "parse.y" +case 594: +#line 2752 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); @@ -6711,153 +6753,161 @@ case 592: got_scope = NULL_TREE; ; break;} -case 595: -#line 2750 "parse.y" +case 597: +#line 2765 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 596: -#line 2755 "parse.y" +case 598: +#line 2770 "parse.y" { yyval.ttype = get_type_decl (yyvsp[0].ttype); ; break;} -case 597: -#line 2760 "parse.y" +case 599: +#line 2775 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 598: -#line 2762 "parse.y" +case 600: +#line 2777 "parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} -case 599: -#line 2764 "parse.y" +case 601: +#line 2779 "parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} -case 600: -#line 2766 "parse.y" +case 602: +#line 2781 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} -case 601: -#line 2768 "parse.y" +case 603: +#line 2783 "parse.y" { push_nested_class (yyvsp[-1].ttype, 3); yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ; break;} -case 603: -#line 2779 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 604: -#line 2781 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 605: -#line 2783 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} case 606: -#line 2785 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; +#line 2795 "parse.y" +{ + /* Provide support for '(' attributes '*' declarator ')' + etc */ + yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); + ; break;} case 607: -#line 2787 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 609: -#line 2795 "parse.y" +#line 2804 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} -case 610: -#line 2797 "parse.y" +case 608: +#line 2806 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} -case 611: -#line 2799 "parse.y" +case 609: +#line 2808 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} -case 612: -#line 2801 "parse.y" +case 610: +#line 2810 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} -case 613: -#line 2803 "parse.y" +case 611: +#line 2812 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} +case 613: +#line 2820 "parse.y" +{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; + break;} +case 614: +#line 2822 "parse.y" +{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; + break;} case 615: -#line 2811 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; +#line 2824 "parse.y" +{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 616: -#line 2813 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; +#line 2826 "parse.y" +{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 617: -#line 2815 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 618: -#line 2817 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; +#line 2828 "parse.y" +{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); + yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); + ; break;} case 619: -#line 2819 "parse.y" -{ enter_scope_of (yyvsp[0].ttype); ; +#line 2836 "parse.y" +{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 620: -#line 2821 "parse.y" +#line 2838 "parse.y" +{ yyval.ttype = yyvsp[-1].ttype; ; + break;} +case 621: +#line 2840 "parse.y" +{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; + break;} +case 622: +#line 2842 "parse.y" +{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; + break;} +case 623: +#line 2844 "parse.y" +{ enter_scope_of (yyvsp[0].ttype); ; + break;} +case 624: +#line 2846 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); enter_scope_of (yyval.ttype); ; break;} -case 621: -#line 2829 "parse.y" +case 625: +#line 2854 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} -case 622: -#line 2832 "parse.y" +case 626: +#line 2857 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 623: -#line 2838 "parse.y" +case 627: +#line 2863 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} -case 624: -#line 2841 "parse.y" +case 628: +#line 2866 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 626: -#line 2848 "parse.y" +case 630: +#line 2873 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 627: -#line 2853 "parse.y" +case 631: +#line 2878 "parse.y" { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} -case 628: -#line 2855 "parse.y" +case 632: +#line 2880 "parse.y" { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} -case 629: -#line 2857 "parse.y" +case 633: +#line 2882 "parse.y" { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} -case 634: -#line 2868 "parse.y" +case 638: +#line 2893 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 635: -#line 2870 "parse.y" +case 639: +#line 2895 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 636: -#line 2877 "parse.y" +case 640: +#line 2902 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) { @@ -6872,32 +6922,32 @@ case 636: got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)); ; break;} -case 637: -#line 2891 "parse.y" +case 641: +#line 2916 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype = TREE_TYPE (yyval.ttype); ; break;} -case 638: -#line 2897 "parse.y" +case 642: +#line 2922 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} -case 639: -#line 2903 "parse.y" +case 643: +#line 2928 "parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ; break;} -case 641: -#line 2919 "parse.y" +case 645: +#line 2944 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 642: -#line 2924 "parse.y" +case 646: +#line 2949 "parse.y" { if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't') yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); @@ -6911,27 +6961,27 @@ case 642: } ; break;} -case 643: -#line 2937 "parse.y" +case 647: +#line 2962 "parse.y" { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; break;} -case 644: -#line 2939 "parse.y" +case 648: +#line 2964 "parse.y" { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 645: -#line 2941 "parse.y" +case 649: +#line 2966 "parse.y" { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 646: -#line 2946 "parse.y" +case 650: +#line 2971 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); ; break;} -case 647: -#line 2951 "parse.y" +case 651: +#line 2976 "parse.y" { if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't') yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); @@ -6945,16 +6995,16 @@ case 647: } ; break;} -case 648: -#line 2964 "parse.y" +case 652: +#line 2989 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} -case 649: -#line 2966 "parse.y" +case 653: +#line 2991 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 650: -#line 2971 "parse.y" +case 654: +#line 2996 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) yyvsp[-1].ttype = lastiddecl; @@ -6967,32 +7017,32 @@ case 650: cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype); ; break;} -case 651: -#line 2983 "parse.y" +case 655: +#line 3008 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; break;} -case 652: -#line 2989 "parse.y" +case 656: +#line 3014 "parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; break;} -case 655: -#line 2993 "parse.y" +case 659: +#line 3018 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} -case 656: -#line 3002 "parse.y" +case 660: +#line 3027 "parse.y" { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 657: -#line 3007 "parse.y" +case 661: +#line 3032 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); @@ -7001,149 +7051,149 @@ case 657: got_scope = NULL_TREE; ; break;} -case 659: -#line 3016 "parse.y" +case 663: +#line 3041 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 660: -#line 3021 "parse.y" +case 664: +#line 3046 "parse.y" { got_scope = NULL_TREE; ; break;} -case 661: -#line 3023 "parse.y" +case 665: +#line 3048 "parse.y" { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ; break;} -case 662: -#line 3030 "parse.y" +case 666: +#line 3055 "parse.y" { got_scope = void_type_node; ; break;} -case 663: -#line 3036 "parse.y" +case 667: +#line 3061 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 664: -#line 3038 "parse.y" +case 668: +#line 3063 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} -case 665: -#line 3040 "parse.y" +case 669: +#line 3065 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 666: -#line 3042 "parse.y" +case 670: +#line 3067 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} -case 667: -#line 3044 "parse.y" +case 671: +#line 3069 "parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} -case 668: -#line 3048 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); - ; - break;} -case 670: -#line 3057 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; - break;} -case 671: -#line 3059 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} case 672: -#line 3065 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 673: -#line 3067 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 674: -#line 3069 "parse.y" -{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; - break;} -case 675: -#line 3071 "parse.y" -{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; - break;} -case 676: #line 3073 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; - break;} -case 677: -#line 3075 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; - break;} -case 678: -#line 3077 "parse.y" -{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; - break;} -case 679: -#line 3079 "parse.y" -{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; - break;} -case 680: -#line 3081 "parse.y" -{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); - yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); - ; - break;} -case 681: -#line 3085 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} -case 683: -#line 3094 "parse.y" -{ yyval.ttype = yyvsp[-1].ttype; ; - break;} -case 685: -#line 3098 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 686: -#line 3100 "parse.y" -{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 687: -#line 3102 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 688: -#line 3104 "parse.y" -{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; - break;} -case 689: -#line 3106 "parse.y" -{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 690: -#line 3108 "parse.y" -{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 691: -#line 3110 "parse.y" -{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} -case 692: -#line 3112 "parse.y" +case 674: +#line 3082 "parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} +case 675: +#line 3084 "parse.y" +{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; + break;} +case 676: +#line 3090 "parse.y" +{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; + break;} +case 677: +#line 3092 "parse.y" +{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; + break;} +case 678: +#line 3094 "parse.y" +{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; + break;} +case 679: +#line 3096 "parse.y" +{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; + break;} +case 680: +#line 3098 "parse.y" +{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; + break;} +case 681: +#line 3100 "parse.y" +{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; + break;} +case 682: +#line 3102 "parse.y" +{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; + break;} +case 683: +#line 3104 "parse.y" +{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; + break;} +case 684: +#line 3106 "parse.y" +{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); + yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); + ; + break;} +case 685: +#line 3110 "parse.y" +{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); + yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); + ; + break;} +case 687: +#line 3119 "parse.y" +{ yyval.ttype = yyvsp[-1].ttype; ; + break;} +case 689: +#line 3123 "parse.y" +{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; + break;} +case 690: +#line 3125 "parse.y" +{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; + break;} +case 691: +#line 3127 "parse.y" +{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; + break;} +case 692: +#line 3129 "parse.y" +{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; + break;} case 693: -#line 3114 "parse.y" +#line 3131 "parse.y" +{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; + break;} +case 694: +#line 3133 "parse.y" +{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; + break;} +case 695: +#line 3135 "parse.y" +{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; + break;} +case 696: +#line 3137 "parse.y" +{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; + break;} +case 697: +#line 3139 "parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} -case 700: -#line 3137 "parse.y" +case 704: +#line 3162 "parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids label declarations"); ; break;} -case 703: -#line 3148 "parse.y" +case 707: +#line 3173 "parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { @@ -7153,226 +7203,226 @@ case 703: } ; break;} -case 704: -#line 3162 "parse.y" +case 708: +#line 3187 "parse.y" {; break;} -case 706: -#line 3168 "parse.y" +case 710: +#line 3193 "parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} -case 707: -#line 3170 "parse.y" +case 711: +#line 3195 "parse.y" { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; break;} -case 708: -#line 3175 "parse.y" +case 712: +#line 3200 "parse.y" { yyval.ttype = begin_if_stmt (); cond_stmt_keyword = "if"; ; break;} -case 709: -#line 3180 "parse.y" +case 713: +#line 3205 "parse.y" { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} -case 710: -#line 3182 "parse.y" +case 714: +#line 3207 "parse.y" { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ; break;} -case 712: -#line 3187 "parse.y" +case 716: +#line 3212 "parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} -case 713: -#line 3189 "parse.y" +case 717: +#line 3214 "parse.y" { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; break;} -case 714: -#line 3194 "parse.y" +case 718: +#line 3219 "parse.y" {; break;} -case 716: -#line 3200 "parse.y" +case 720: +#line 3225 "parse.y" { finish_stmt (); ; break;} -case 717: -#line 3202 "parse.y" +case 721: +#line 3227 "parse.y" { finish_expr_stmt (yyvsp[-1].ttype); ; break;} -case 718: -#line 3204 "parse.y" +case 722: +#line 3229 "parse.y" { begin_else_clause (); ; break;} -case 719: -#line 3206 "parse.y" +case 723: +#line 3231 "parse.y" { finish_else_clause (yyvsp[-3].ttype); finish_if_stmt (); ; break;} -case 720: -#line 3211 "parse.y" +case 724: +#line 3236 "parse.y" { finish_if_stmt (); ; break;} -case 721: -#line 3213 "parse.y" +case 725: +#line 3238 "parse.y" { yyval.ttype = begin_while_stmt (); cond_stmt_keyword = "while"; ; break;} -case 722: -#line 3218 "parse.y" +case 726: +#line 3243 "parse.y" { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} -case 723: -#line 3220 "parse.y" +case 727: +#line 3245 "parse.y" { finish_while_stmt (yyvsp[-3].ttype); ; break;} -case 724: -#line 3222 "parse.y" +case 728: +#line 3247 "parse.y" { yyval.ttype = begin_do_stmt (); ; break;} -case 725: -#line 3224 "parse.y" +case 729: +#line 3249 "parse.y" { finish_do_body (yyvsp[-2].ttype); cond_stmt_keyword = "do"; ; break;} -case 726: -#line 3229 "parse.y" +case 730: +#line 3254 "parse.y" { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} -case 727: -#line 3231 "parse.y" +case 731: +#line 3256 "parse.y" { yyval.ttype = begin_for_stmt (); ; break;} -case 728: -#line 3233 "parse.y" +case 732: +#line 3258 "parse.y" { finish_for_init_stmt (yyvsp[-2].ttype); ; break;} -case 729: -#line 3235 "parse.y" +case 733: +#line 3260 "parse.y" { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} -case 730: -#line 3237 "parse.y" +case 734: +#line 3262 "parse.y" { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ; break;} -case 731: -#line 3239 "parse.y" +case 735: +#line 3264 "parse.y" { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ; break;} -case 732: -#line 3241 "parse.y" +case 736: +#line 3266 "parse.y" { begin_switch_stmt (); ; break;} -case 733: -#line 3243 "parse.y" +case 737: +#line 3268 "parse.y" { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ; break;} -case 734: -#line 3245 "parse.y" +case 738: +#line 3270 "parse.y" { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 735: -#line 3247 "parse.y" +case 739: +#line 3272 "parse.y" { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ; break;} -case 737: -#line 3250 "parse.y" +case 741: +#line 3275 "parse.y" { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 739: -#line 3253 "parse.y" +case 743: +#line 3278 "parse.y" { finish_case_label (NULL_TREE, NULL_TREE); ; break;} -case 741: -#line 3256 "parse.y" +case 745: +#line 3281 "parse.y" { finish_break_stmt (); ; break;} -case 742: -#line 3258 "parse.y" +case 746: +#line 3283 "parse.y" { finish_continue_stmt (); ; break;} -case 743: -#line 3260 "parse.y" +case 747: +#line 3285 "parse.y" { finish_return_stmt (NULL_TREE); ; break;} -case 744: -#line 3262 "parse.y" +case 748: +#line 3287 "parse.y" { finish_return_stmt (yyvsp[-1].ttype); ; break;} -case 745: -#line 3264 "parse.y" +case 749: +#line 3289 "parse.y" { finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, NULL_TREE); ; break;} -case 746: -#line 3270 "parse.y" +case 750: +#line 3295 "parse.y" { finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} -case 747: -#line 3276 "parse.y" +case 751: +#line 3301 "parse.y" { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} -case 748: -#line 3280 "parse.y" +case 752: +#line 3305 "parse.y" { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} -case 749: -#line 3282 "parse.y" +case 753: +#line 3307 "parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids computed gotos"); finish_goto_stmt (yyvsp[-1].ttype); ; break;} -case 750: -#line 3288 "parse.y" +case 754: +#line 3313 "parse.y" { finish_goto_stmt (yyvsp[-1].ttype); ; break;} -case 751: -#line 3290 "parse.y" +case 755: +#line 3315 "parse.y" { finish_stmt (); ; break;} -case 752: -#line 3292 "parse.y" +case 756: +#line 3317 "parse.y" { error ("label must be followed by statement"); yyungetc ('}', 0); finish_stmt (); ; break;} -case 753: -#line 3296 "parse.y" +case 757: +#line 3321 "parse.y" { finish_stmt (); ; break;} -case 756: -#line 3300 "parse.y" +case 760: +#line 3325 "parse.y" { do_local_using_decl (yyvsp[0].ttype); ; break;} -case 758: -#line 3306 "parse.y" +case 762: +#line 3331 "parse.y" { if (! current_function_parms_stored) store_parm_decls (); expand_start_early_try_stmts (); ; break;} -case 759: -#line 3312 "parse.y" +case 763: +#line 3337 "parse.y" { expand_start_all_catch (); ; break;} -case 760: -#line 3316 "parse.y" +case 764: +#line 3341 "parse.y" { int nested = (hack_decl_function_context (current_function_decl) != NULL_TREE); @@ -7380,42 +7430,42 @@ case 760: finish_function (lineno, (int)yyvsp[-3].itype, nested); ; break;} -case 761: -#line 3326 "parse.y" +case 765: +#line 3351 "parse.y" { yyval.ttype = begin_try_block (); ; break;} -case 762: -#line 3328 "parse.y" +case 766: +#line 3353 "parse.y" { finish_try_block (yyvsp[-1].ttype); ; break;} -case 763: -#line 3330 "parse.y" +case 767: +#line 3355 "parse.y" { finish_handler_sequence (yyvsp[-3].ttype); ; break;} -case 766: -#line 3340 "parse.y" +case 770: +#line 3365 "parse.y" { yyval.ttype = begin_handler(); ; break;} -case 767: -#line 3342 "parse.y" +case 771: +#line 3367 "parse.y" { finish_handler_parms (yyvsp[-1].ttype); ; break;} -case 768: -#line 3344 "parse.y" +case 772: +#line 3369 "parse.y" { finish_handler (yyvsp[-3].ttype); ; break;} -case 771: -#line 3354 "parse.y" +case 775: +#line 3379 "parse.y" { expand_start_catch_block (NULL_TREE, NULL_TREE); ; break;} -case 772: -#line 3370 "parse.y" +case 776: +#line 3395 "parse.y" { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype); expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t), TREE_VALUE (yyvsp[-1].ftype.t)); ; break;} -case 773: -#line 3377 "parse.y" +case 777: +#line 3402 "parse.y" { tree label; do_label: label = define_label (input_filename, lineno, yyvsp[-1].ttype); @@ -7423,99 +7473,99 @@ case 773: expand_label (label); ; break;} -case 774: -#line 3384 "parse.y" +case 778: +#line 3409 "parse.y" { goto do_label; ; break;} -case 775: -#line 3386 "parse.y" -{ goto do_label; ; - break;} -case 776: -#line 3388 "parse.y" -{ goto do_label; ; - break;} -case 777: -#line 3393 "parse.y" -{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ; - break;} case 779: -#line 3396 "parse.y" +#line 3411 "parse.y" +{ goto do_label; ; + break;} +case 780: +#line 3413 "parse.y" +{ goto do_label; ; + break;} +case 781: +#line 3418 "parse.y" +{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ; + break;} +case 783: +#line 3421 "parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids compound statements inside for initializations"); ; break;} -case 780: -#line 3405 "parse.y" +case 784: +#line 3430 "parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} -case 781: -#line 3408 "parse.y" +case 785: +#line 3433 "parse.y" { emit_line_note (input_filename, lineno); ; break;} -case 782: -#line 3413 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 784: -#line 3416 "parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} -case 785: -#line 3423 "parse.y" +case 786: +#line 3438 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 788: -#line 3430 "parse.y" -{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; +#line 3441 "parse.y" +{ yyval.ttype = NULL_TREE; ; break;} case 789: -#line 3435 "parse.y" -{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ; - break;} -case 790: -#line 3440 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ; - break;} -case 791: -#line 3442 "parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; +#line 3448 "parse.y" +{ yyval.ttype = NULL_TREE; ; break;} case 792: -#line 3453 "parse.y" +#line 3455 "parse.y" +{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; + break;} +case 793: +#line 3460 "parse.y" +{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ; + break;} +case 794: +#line 3465 "parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ; + break;} +case 795: +#line 3467 "parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; + break;} +case 796: +#line 3478 "parse.y" { yyval.ttype = empty_parms(); ; break;} -case 794: -#line 3458 "parse.y" +case 798: +#line 3483 "parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0); check_for_new_type ("inside parameter list", yyvsp[0].ftype); ; break;} -case 795: -#line 3466 "parse.y" +case 799: +#line 3491 "parse.y" { yyval.ttype = finish_parmlist (yyval.ttype, 0); ; break;} -case 796: -#line 3468 "parse.y" +case 800: +#line 3493 "parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} -case 797: -#line 3471 "parse.y" +case 801: +#line 3496 "parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} -case 798: -#line 3473 "parse.y" +case 802: +#line 3498 "parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 1); ; break;} -case 799: -#line 3476 "parse.y" +case 803: +#line 3501 "parse.y" { yyval.ttype = finish_parmlist (NULL_TREE, 1); ; break;} -case 800: -#line 3478 "parse.y" +case 804: +#line 3503 "parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right @@ -7526,8 +7576,8 @@ case 800: yychar = ')'; ; break;} -case 801: -#line 3488 "parse.y" +case 805: +#line 3513 "parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right @@ -7539,99 +7589,99 @@ case 801: yychar = ')'; ; break;} -case 802: -#line 3503 "parse.y" +case 806: +#line 3528 "parse.y" { maybe_snarf_defarg (); ; break;} -case 803: -#line 3505 "parse.y" +case 807: +#line 3530 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 806: -#line 3516 "parse.y" +case 810: +#line 3541 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} -case 807: -#line 3519 "parse.y" +case 811: +#line 3544 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ; break;} -case 808: -#line 3522 "parse.y" +case 812: +#line 3547 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ; break;} -case 809: -#line 3525 "parse.y" +case 813: +#line 3550 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 810: -#line 3527 "parse.y" +case 814: +#line 3552 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ; break;} -case 812: -#line 3533 "parse.y" +case 816: +#line 3558 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ; break;} -case 813: -#line 3543 "parse.y" +case 817: +#line 3568 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ; break;} -case 814: -#line 3547 "parse.y" +case 818: +#line 3572 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 815: -#line 3550 "parse.y" +case 819: +#line 3575 "parse.y" { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 816: -#line 3553 "parse.y" +case 820: +#line 3578 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 817: -#line 3557 "parse.y" +case 821: +#line 3582 "parse.y" { tree specs = strip_attrs (yyvsp[0].ftype.t); yyval.ftype.t = build_tree_list (specs, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 818: -#line 3561 "parse.y" +case 822: +#line 3586 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ttype); yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} -case 819: -#line 3568 "parse.y" +case 823: +#line 3593 "parse.y" { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} -case 820: -#line 3571 "parse.y" +case 824: +#line 3596 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} -case 823: -#line 3582 "parse.y" +case 827: +#line 3607 "parse.y" { see_typename (); ; break;} -case 824: -#line 3587 "parse.y" +case 828: +#line 3612 "parse.y" { error ("type specifier omitted for parameter"); yyval.ttype = build_tree_list (integer_type_node, NULL_TREE); ; break;} -case 825: -#line 3592 "parse.y" +case 829: +#line 3617 "parse.y" { error ("type specifier omitted for parameter"); if (TREE_CODE (yyval.ttype) == SCOPE_REF @@ -7641,189 +7691,189 @@ case 825: yyval.ttype = build_tree_list (integer_type_node, yyval.ttype); ; break;} -case 826: -#line 3604 "parse.y" +case 830: +#line 3629 "parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 827: -#line 3606 "parse.y" +case 831: +#line 3631 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} -case 828: -#line 3608 "parse.y" +case 832: +#line 3633 "parse.y" { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ; break;} -case 829: -#line 3613 "parse.y" +case 833: +#line 3638 "parse.y" { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ; break;} -case 831: -#line 3619 "parse.y" +case 835: +#line 3644 "parse.y" { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} -case 832: -#line 3627 "parse.y" +case 836: +#line 3652 "parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 833: -#line 3629 "parse.y" +case 837: +#line 3654 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 834: -#line 3631 "parse.y" +case 838: +#line 3656 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 835: -#line 3633 "parse.y" +case 839: +#line 3658 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} -case 836: -#line 3640 "parse.y" +case 840: +#line 3665 "parse.y" { got_scope = NULL_TREE; ; break;} -case 837: -#line 3645 "parse.y" +case 841: +#line 3670 "parse.y" { yyval.ttype = ansi_opname[MULT_EXPR]; ; break;} -case 838: -#line 3647 "parse.y" +case 842: +#line 3672 "parse.y" { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ; break;} -case 839: -#line 3649 "parse.y" +case 843: +#line 3674 "parse.y" { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ; break;} -case 840: -#line 3651 "parse.y" +case 844: +#line 3676 "parse.y" { yyval.ttype = ansi_opname[PLUS_EXPR]; ; break;} -case 841: -#line 3653 "parse.y" +case 845: +#line 3678 "parse.y" { yyval.ttype = ansi_opname[MINUS_EXPR]; ; break;} -case 842: -#line 3655 "parse.y" +case 846: +#line 3680 "parse.y" { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ; break;} -case 843: -#line 3657 "parse.y" +case 847: +#line 3682 "parse.y" { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ; break;} -case 844: -#line 3659 "parse.y" +case 848: +#line 3684 "parse.y" { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ; break;} -case 845: -#line 3661 "parse.y" +case 849: +#line 3686 "parse.y" { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ; break;} -case 846: -#line 3663 "parse.y" +case 850: +#line 3688 "parse.y" { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ; break;} -case 847: -#line 3665 "parse.y" -{ yyval.ttype = ansi_opname[yyvsp[0].code]; ; - break;} -case 848: -#line 3667 "parse.y" -{ yyval.ttype = ansi_opname[LT_EXPR]; ; - break;} -case 849: -#line 3669 "parse.y" -{ yyval.ttype = ansi_opname[GT_EXPR]; ; - break;} -case 850: -#line 3671 "parse.y" -{ yyval.ttype = ansi_opname[yyvsp[0].code]; ; - break;} case 851: -#line 3673 "parse.y" -{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ; +#line 3690 "parse.y" +{ yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 852: -#line 3675 "parse.y" -{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ; +#line 3692 "parse.y" +{ yyval.ttype = ansi_opname[LT_EXPR]; ; break;} case 853: -#line 3677 "parse.y" -{ yyval.ttype = ansi_opname[yyvsp[0].code]; ; +#line 3694 "parse.y" +{ yyval.ttype = ansi_opname[GT_EXPR]; ; break;} case 854: -#line 3679 "parse.y" +#line 3696 "parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 855: -#line 3681 "parse.y" -{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ; +#line 3698 "parse.y" +{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ; break;} case 856: -#line 3683 "parse.y" -{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ; +#line 3700 "parse.y" +{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ; break;} case 857: -#line 3685 "parse.y" -{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ; - break;} -case 858: -#line 3687 "parse.y" -{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ; - break;} -case 859: -#line 3689 "parse.y" -{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ; - break;} -case 860: -#line 3691 "parse.y" -{ yyval.ttype = ansi_opname[COND_EXPR]; ; - break;} -case 861: -#line 3693 "parse.y" +#line 3702 "parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} +case 858: +#line 3704 "parse.y" +{ yyval.ttype = ansi_opname[yyvsp[0].code]; ; + break;} +case 859: +#line 3706 "parse.y" +{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ; + break;} +case 860: +#line 3708 "parse.y" +{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ; + break;} +case 861: +#line 3710 "parse.y" +{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ; + break;} case 862: -#line 3695 "parse.y" -{ yyval.ttype = ansi_opname[COMPONENT_REF]; ; +#line 3712 "parse.y" +{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ; break;} case 863: -#line 3697 "parse.y" -{ yyval.ttype = ansi_opname[MEMBER_REF]; ; +#line 3714 "parse.y" +{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ; break;} case 864: -#line 3699 "parse.y" -{ yyval.ttype = ansi_opname[CALL_EXPR]; ; +#line 3716 "parse.y" +{ yyval.ttype = ansi_opname[COND_EXPR]; ; break;} case 865: -#line 3701 "parse.y" -{ yyval.ttype = ansi_opname[ARRAY_REF]; ; +#line 3718 "parse.y" +{ yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 866: -#line 3703 "parse.y" -{ yyval.ttype = ansi_opname[NEW_EXPR]; ; +#line 3720 "parse.y" +{ yyval.ttype = ansi_opname[COMPONENT_REF]; ; break;} case 867: -#line 3705 "parse.y" -{ yyval.ttype = ansi_opname[DELETE_EXPR]; ; +#line 3722 "parse.y" +{ yyval.ttype = ansi_opname[MEMBER_REF]; ; break;} case 868: -#line 3707 "parse.y" -{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ; +#line 3724 "parse.y" +{ yyval.ttype = ansi_opname[CALL_EXPR]; ; break;} case 869: -#line 3709 "parse.y" -{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ; +#line 3726 "parse.y" +{ yyval.ttype = ansi_opname[ARRAY_REF]; ; break;} case 870: -#line 3712 "parse.y" -{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; +#line 3728 "parse.y" +{ yyval.ttype = ansi_opname[NEW_EXPR]; ; break;} case 871: -#line 3714 "parse.y" +#line 3730 "parse.y" +{ yyval.ttype = ansi_opname[DELETE_EXPR]; ; + break;} +case 872: +#line 3732 "parse.y" +{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ; + break;} +case 873: +#line 3734 "parse.y" +{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ; + break;} +case 874: +#line 3737 "parse.y" +{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; + break;} +case 875: +#line 3739 "parse.y" { yyval.ttype = ansi_opname[ERROR_MARK]; ; break;} } @@ -8024,7 +8074,7 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 3717 "parse.y" +#line 3742 "parse.y" #ifdef SPEW_DEBUG diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y index d27bb65ea5c..d654f5a90cc 100644 --- a/gcc/cp/parse.y +++ b/gcc/cp/parse.y @@ -203,6 +203,7 @@ empty_parms () %type compstmt implicitly_scoped_stmt %type declarator notype_declarator after_type_declarator +%type notype_declarator_intern %type direct_notype_declarator direct_after_type_declarator %type components notype_components %type component_decl component_decl_1 @@ -216,7 +217,8 @@ empty_parms () %type xexpr parmlist parms bad_parm %type identifiers_or_typenames %type fcast_or_absdcl regcast_or_absdcl -%type expr_or_declarator complex_notype_declarator +%type expr_or_declarator expr_or_declarator_intern +%type complex_notype_declarator %type notype_unqualified_id unqualified_id qualified_id %type template_id do_id object_template_id notype_template_declarator %type overqualified_id notype_qualified_id any_id @@ -725,10 +727,12 @@ fn.def2: | typed_declspecs declarator { tree specs, attrs; split_specs_attrs ($1.t, &specs, &attrs); + attrs = build_tree_list (attrs, NULL_TREE); $$ = start_method (specs, $2, attrs); goto rest_of_mdef; } | declmods notype_declarator { tree specs, attrs; split_specs_attrs ($1, &specs, &attrs); + attrs = build_tree_list (attrs, NULL_TREE); $$ = start_method (specs, $2, attrs); goto rest_of_mdef; } | notype_declarator { $$ = start_method (NULL_TREE, $$, NULL_TREE); @@ -736,6 +740,7 @@ fn.def2: | declmods constructor_declarator { tree specs, attrs; split_specs_attrs ($1, &specs, &attrs); + attrs = build_tree_list (attrs, NULL_TREE); $$ = start_method (specs, $2, attrs); goto rest_of_mdef; } | constructor_declarator { $$ = start_method (NULL_TREE, $$, NULL_TREE); @@ -1325,13 +1330,23 @@ unqualified_id: | SELFNAME ; +expr_or_declarator_intern: + expr_or_declarator + | attributes expr_or_declarator + { + /* Provide support for '(' attributes '*' declarator ')' + etc */ + $$ = decl_tree_cons ($1, $2, NULL_TREE); + } + ; + expr_or_declarator: notype_unqualified_id - | '*' expr_or_declarator %prec UNARY + | '*' expr_or_declarator_intern %prec UNARY { $$ = build_parse_node (INDIRECT_REF, $2); } - | '&' expr_or_declarator %prec UNARY + | '&' expr_or_declarator_intern %prec UNARY { $$ = build_parse_node (ADDR_EXPR, $2); } - | '(' expr_or_declarator ')' + | '(' expr_or_declarator_intern ')' { $$ = $2; } ; @@ -1348,8 +1363,8 @@ direct_notype_declarator: to the Koenig lookup shift in primary, below. I hate yacc. */ | notype_unqualified_id %prec '(' | notype_template_declarator - | '(' expr_or_declarator ')' - { $$ = finish_decl_parsing ($2); } + | '(' expr_or_declarator_intern ')' + { $$ = finish_decl_parsing ($2); } ; primary: @@ -1378,7 +1393,7 @@ primary: } | '(' expr ')' { $$ = finish_parenthesized_expr ($2); } - | '(' expr_or_declarator ')' + | '(' expr_or_declarator_intern ')' { $2 = reparse_decl_as_expr (NULL_TREE, $2); $$ = finish_parenthesized_expr ($2); } | '(' error ')' @@ -2774,16 +2789,26 @@ direct_after_type_declarator: /* A declarator allowed whether or not there has been an explicit typespec. These cannot redeclare a typedef-name. */ +notype_declarator_intern: + notype_declarator + | attributes notype_declarator + { + /* Provide support for '(' attributes '*' declarator ')' + etc */ + $$ = decl_tree_cons ($1, $2, NULL_TREE); + } + ; + notype_declarator: - '*' nonempty_cv_qualifiers notype_declarator %prec UNARY + '*' nonempty_cv_qualifiers notype_declarator_intern %prec UNARY { $$ = make_pointer_declarator ($2.t, $3); } - | '&' nonempty_cv_qualifiers notype_declarator %prec UNARY + | '&' nonempty_cv_qualifiers notype_declarator_intern %prec UNARY { $$ = make_reference_declarator ($2.t, $3); } - | '*' notype_declarator %prec UNARY + | '*' notype_declarator_intern %prec UNARY { $$ = make_pointer_declarator (NULL_TREE, $2); } - | '&' notype_declarator %prec UNARY + | '&' notype_declarator_intern %prec UNARY { $$ = make_reference_declarator (NULL_TREE, $2); } - | ptr_to_mem cv_qualifiers notype_declarator + | ptr_to_mem cv_qualifiers notype_declarator_intern { tree arg = make_pointer_declarator ($2, $3); $$ = build_parse_node (SCOPE_REF, $1, arg); } @@ -2791,15 +2816,15 @@ notype_declarator: ; complex_notype_declarator: - '*' nonempty_cv_qualifiers notype_declarator %prec UNARY + '*' nonempty_cv_qualifiers notype_declarator_intern %prec UNARY { $$ = make_pointer_declarator ($2.t, $3); } - | '&' nonempty_cv_qualifiers notype_declarator %prec UNARY + | '&' nonempty_cv_qualifiers notype_declarator_intern %prec UNARY { $$ = make_reference_declarator ($2.t, $3); } | '*' complex_notype_declarator %prec UNARY { $$ = make_pointer_declarator (NULL_TREE, $2); } | '&' complex_notype_declarator %prec UNARY { $$ = make_reference_declarator (NULL_TREE, $2); } - | ptr_to_mem cv_qualifiers notype_declarator + | ptr_to_mem cv_qualifiers notype_declarator_intern { tree arg = make_pointer_declarator ($2, $3); $$ = build_parse_node (SCOPE_REF, $1, arg); } @@ -2851,7 +2876,7 @@ overqualified_id: functional_cast: typespec '(' nonnull_exprlist ')' { $$ = build_functional_cast ($1.t, $3); } - | typespec '(' expr_or_declarator ')' + | typespec '(' expr_or_declarator_intern ')' { $$ = reparse_decl_as_expr ($1.t, $3); } | typespec fcast_or_absdcl %prec EMPTY { $$ = reparse_absdcl_as_expr ($1.t, $2); }