2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
119 extern int end_of_file;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword;
131 static tree empty_parms PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
137 /* Cons up an empty parameter list. */
147 || current_class_type != NULL)
148 parms = void_list_node;
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs = NULL_TREE;
161 /* List of prefix attributes in effect.
162 Prefix attributes are parsed by the reserved_declspecs and declmods
163 rules. They create a list that contains *both* declspecs and attrs. */
164 /* ??? It is not clear yet that all cases where an attribute can now appear in
165 a declspec list have been updated. */
166 static tree prefix_attributes = NULL_TREE;
168 /* When defining an aggregate, this is the most recent one being defined. */
169 static tree current_aggr;
171 /* Tell yyparse how to print a token's value, if yydebug is set. */
173 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
174 extern void yyprint PROTO((FILE *, int, YYSTYPE));
175 extern tree combine_strings PROTO((tree));
178 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
187 split_specs_attrs (specs_attrs, ¤t_declspecs, &prefix_attributes);
188 if (current_declspecs
189 && TREE_CODE (current_declspecs) != TREE_LIST)
190 current_declspecs = get_decl_list (current_declspecs);
191 if (have_extern_spec && !used_extern_spec)
193 current_declspecs = decl_tree_cons (NULL_TREE,
194 get_identifier ("extern"),
196 used_extern_spec = 1;
198 sm = suspend_momentary ();
199 *decl = start_decl (declarator, current_declspecs, initialized,
200 attributes, prefix_attributes);
214 #define YYFLAG -32768
217 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 386)
219 static const char yytranslate[] = { 0,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
224 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
226 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
246 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
247 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
248 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
249 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
250 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
251 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
252 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
253 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
258 static const short yyprhs[] = { 0,
259 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
260 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
261 52, 53, 60, 61, 67, 73, 76, 81, 84, 87,
262 91, 95, 97, 99, 102, 105, 107, 110, 111, 117,
263 121, 123, 127, 129, 130, 133, 136, 140, 142, 146,
264 148, 152, 154, 158, 161, 164, 167, 171, 175, 178,
265 181, 184, 187, 190, 192, 194, 196, 197, 199, 202,
266 203, 205, 210, 214, 218, 219, 228, 234, 235, 245,
267 252, 253, 262, 268, 269, 279, 286, 289, 292, 294,
268 297, 299, 306, 311, 318, 323, 326, 328, 331, 334,
269 336, 339, 341, 344, 347, 352, 355, 359, 360, 361,
270 363, 367, 370, 374, 376, 381, 384, 389, 392, 397,
271 400, 402, 404, 406, 408, 410, 412, 414, 416, 418,
272 420, 422, 423, 430, 431, 438, 439, 445, 446, 452,
273 453, 461, 462, 470, 471, 478, 479, 486, 487, 488,
274 493, 498, 500, 505, 507, 509, 510, 512, 514, 518,
275 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
276 542, 544, 548, 549, 551, 553, 554, 562, 564, 566,
277 570, 575, 579, 580, 584, 586, 590, 594, 598, 602,
278 604, 606, 608, 611, 614, 617, 620, 623, 626, 629,
279 634, 637, 642, 645, 649, 653, 658, 664, 671, 678,
280 686, 689, 694, 700, 703, 706, 708, 709, 714, 719,
281 723, 725, 729, 732, 736, 741, 743, 746, 752, 754,
282 758, 762, 766, 770, 774, 778, 782, 786, 790, 794,
283 798, 802, 806, 810, 814, 818, 822, 826, 830, 836,
284 840, 844, 846, 849, 853, 855, 857, 859, 861, 863,
285 864, 870, 876, 882, 888, 894, 896, 898, 900, 902,
286 905, 908, 912, 917, 922, 924, 926, 928, 932, 934,
287 936, 938, 940, 944, 948, 952, 953, 958, 963, 966,
288 971, 974, 977, 979, 984, 986, 994, 1002, 1010, 1018,
289 1023, 1028, 1031, 1034, 1037, 1039, 1044, 1047, 1050, 1056,
290 1060, 1063, 1066, 1072, 1076, 1082, 1086, 1091, 1098, 1101,
291 1103, 1106, 1108, 1111, 1113, 1115, 1117, 1120, 1121, 1124,
292 1127, 1131, 1135, 1139, 1142, 1145, 1148, 1150, 1152, 1154,
293 1157, 1160, 1163, 1166, 1168, 1170, 1172, 1174, 1177, 1180,
294 1184, 1188, 1192, 1197, 1199, 1202, 1205, 1208, 1210, 1212,
295 1214, 1217, 1220, 1223, 1225, 1227, 1230, 1233, 1237, 1239,
296 1242, 1244, 1246, 1248, 1253, 1258, 1263, 1268, 1270, 1272,
297 1274, 1276, 1280, 1282, 1286, 1288, 1292, 1293, 1298, 1299,
298 1306, 1310, 1311, 1316, 1318, 1322, 1326, 1327, 1332, 1336,
299 1337, 1339, 1341, 1344, 1351, 1353, 1357, 1358, 1360, 1365,
300 1372, 1377, 1379, 1381, 1383, 1385, 1387, 1391, 1392, 1395,
301 1397, 1400, 1404, 1409, 1411, 1413, 1417, 1422, 1426, 1432,
302 1434, 1439, 1443, 1447, 1448, 1452, 1456, 1460, 1461, 1464,
303 1467, 1468, 1476, 1481, 1482, 1489, 1493, 1496, 1499, 1502,
304 1503, 1504, 1514, 1516, 1517, 1519, 1520, 1522, 1524, 1527,
305 1530, 1533, 1536, 1539, 1542, 1546, 1551, 1555, 1558, 1562,
306 1563, 1565, 1569, 1572, 1575, 1577, 1579, 1580, 1583, 1587,
307 1589, 1594, 1596, 1600, 1602, 1604, 1609, 1614, 1617, 1620,
308 1624, 1628, 1630, 1631, 1633, 1636, 1641, 1645, 1647, 1650,
309 1653, 1656, 1659, 1662, 1665, 1668, 1670, 1673, 1676, 1680,
310 1683, 1686, 1691, 1696, 1699, 1701, 1707, 1712, 1714, 1715,
311 1717, 1721, 1722, 1724, 1728, 1730, 1732, 1734, 1736, 1741,
312 1746, 1751, 1756, 1761, 1765, 1770, 1775, 1780, 1785, 1789,
313 1791, 1795, 1797, 1801, 1804, 1806, 1814, 1815, 1818, 1820,
314 1823, 1824, 1827, 1832, 1837, 1840, 1845, 1849, 1853, 1856,
315 1859, 1863, 1865, 1867, 1870, 1872, 1874, 1877, 1880, 1885,
316 1890, 1894, 1898, 1901, 1903, 1907, 1911, 1914, 1917, 1921,
317 1923, 1927, 1931, 1934, 1937, 1941, 1943, 1948, 1952, 1957,
318 1961, 1963, 1966, 1969, 1972, 1975, 1978, 1980, 1983, 1988,
319 1993, 1996, 1998, 2000, 2002, 2004, 2007, 2012, 2015, 2018,
320 2021, 2024, 2026, 2029, 2032, 2035, 2038, 2042, 2044, 2047,
321 2051, 2056, 2059, 2062, 2065, 2068, 2071, 2074, 2079, 2082,
322 2084, 2087, 2090, 2094, 2096, 2100, 2103, 2107, 2110, 2113,
323 2117, 2119, 2123, 2128, 2132, 2135, 2138, 2140, 2144, 2147,
324 2150, 2152, 2155, 2159, 2161, 2165, 2167, 2174, 2179, 2184,
325 2188, 2194, 2198, 2202, 2206, 2209, 2211, 2213, 2216, 2219,
326 2222, 2223, 2225, 2227, 2230, 2234, 2236, 2239, 2240, 2244,
327 2245, 2246, 2252, 2254, 2255, 2258, 2260, 2262, 2264, 2267,
328 2268, 2273, 2275, 2276, 2277, 2283, 2284, 2285, 2293, 2294,
329 2295, 2296, 2297, 2310, 2311, 2312, 2320, 2321, 2327, 2328,
330 2336, 2337, 2342, 2345, 2348, 2351, 2355, 2362, 2371, 2382,
331 2395, 2400, 2404, 2407, 2410, 2412, 2414, 2415, 2416, 2423,
332 2424, 2425, 2431, 2433, 2436, 2437, 2438, 2444, 2446, 2448,
333 2452, 2456, 2459, 2462, 2465, 2468, 2471, 2473, 2476, 2477,
334 2479, 2480, 2482, 2484, 2485, 2487, 2489, 2493, 2498, 2500,
335 2504, 2505, 2507, 2509, 2511, 2514, 2517, 2520, 2522, 2525,
336 2528, 2529, 2533, 2535, 2537, 2539, 2542, 2545, 2548, 2553,
337 2556, 2559, 2562, 2565, 2568, 2571, 2573, 2576, 2578, 2581,
338 2583, 2585, 2586, 2587, 2589, 2590, 2595, 2598, 2600, 2602,
339 2606, 2607, 2611, 2615, 2619, 2621, 2624, 2627, 2630, 2633,
340 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657, 2660, 2663,
341 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687, 2690, 2694,
342 2697, 2700, 2703, 2706, 2710, 2713, 2716, 2721, 2726, 2730
345 static const short yyrhs[] = { -1,
346 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
347 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
348 122, 0, 140, 139, 0, 136, 0, 135, 0, 119,
349 93, 208, 108, 60, 0, 127, 58, 115, 109, 0,
350 127, 116, 140, 117, 139, 0, 127, 116, 136, 117,
351 0, 0, 44, 155, 58, 123, 115, 109, 0, 0,
352 44, 58, 124, 115, 109, 0, 44, 155, 64, 126,
353 60, 0, 125, 60, 0, 46, 44, 126, 60, 0,
354 118, 122, 0, 46, 300, 0, 46, 314, 300, 0,
355 46, 314, 199, 0, 199, 0, 300, 0, 314, 300,
356 0, 314, 199, 0, 98, 0, 127, 98, 0, 0,
357 48, 74, 129, 130, 75, 0, 48, 74, 75, 0,
358 134, 0, 130, 59, 134, 0, 155, 0, 0, 257,
359 131, 0, 45, 131, 0, 128, 257, 131, 0, 132,
360 0, 132, 64, 214, 0, 377, 0, 377, 64, 194,
361 0, 133, 0, 133, 64, 174, 0, 128, 122, 0,
362 128, 1, 0, 225, 60, 0, 218, 224, 60, 0,
363 215, 223, 60, 0, 218, 60, 0, 158, 60, 0,
364 215, 60, 0, 1, 60, 0, 1, 109, 0, 60,
365 0, 209, 0, 151, 0, 0, 150, 0, 150, 60,
366 0, 0, 107, 0, 146, 138, 137, 324, 0, 146,
367 138, 348, 0, 146, 138, 1, 0, 0, 305, 5,
368 93, 142, 368, 108, 287, 380, 0, 305, 5, 47,
369 287, 380, 0, 0, 314, 305, 5, 93, 143, 368,
370 108, 287, 380, 0, 314, 305, 5, 47, 287, 380,
371 0, 0, 305, 170, 93, 144, 368, 108, 287, 380,
372 0, 305, 170, 47, 287, 380, 0, 0, 314, 305,
373 170, 93, 145, 368, 108, 287, 380, 0, 314, 305,
374 170, 47, 287, 380, 0, 215, 212, 0, 218, 297,
375 0, 297, 0, 218, 141, 0, 141, 0, 5, 93,
376 368, 108, 287, 380, 0, 5, 47, 287, 380, 0,
377 170, 93, 368, 108, 287, 380, 0, 170, 47, 287,
378 380, 0, 218, 147, 0, 147, 0, 215, 212, 0,
379 218, 297, 0, 297, 0, 218, 141, 0, 141, 0,
380 25, 3, 0, 149, 242, 0, 149, 93, 186, 108,
381 0, 149, 47, 0, 62, 152, 153, 0, 0, 0,
382 154, 0, 153, 59, 154, 0, 153, 1, 0, 93,
383 186, 108, 0, 47, 0, 156, 93, 186, 108, 0,
384 156, 47, 0, 293, 93, 186, 108, 0, 293, 47,
385 0, 307, 93, 186, 108, 0, 307, 47, 0, 3,
386 0, 4, 0, 5, 0, 56, 0, 57, 0, 3,
387 0, 56, 0, 57, 0, 104, 0, 103, 0, 105,
388 0, 0, 48, 167, 221, 60, 159, 168, 0, 0,
389 48, 167, 215, 212, 160, 168, 0, 0, 48, 167,
390 297, 161, 168, 0, 0, 48, 167, 141, 162, 168,
391 0, 0, 7, 48, 167, 221, 60, 163, 168, 0,
392 0, 7, 48, 167, 215, 212, 164, 168, 0, 0,
393 7, 48, 167, 297, 165, 168, 0, 0, 7, 48,
394 167, 141, 166, 168, 0, 0, 0, 56, 74, 172,
395 171, 0, 4, 74, 172, 171, 0, 170, 0, 5,
396 74, 172, 171, 0, 75, 0, 77, 0, 0, 173,
397 0, 174, 0, 173, 59, 174, 0, 214, 0, 194,
398 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
399 0, 185, 0, 194, 0, 47, 0, 93, 176, 108,
400 0, 47, 0, 93, 180, 108, 0, 0, 180, 0,
401 1, 0, 0, 358, 212, 226, 235, 64, 181, 243,
402 0, 176, 0, 109, 0, 321, 319, 109, 0, 321,
403 319, 1, 109, 0, 321, 1, 109, 0, 0, 58,
404 184, 182, 0, 333, 0, 194, 59, 194, 0, 194,
405 59, 1, 0, 185, 59, 194, 0, 185, 59, 1,
406 0, 194, 0, 185, 0, 203, 0, 118, 193, 0,
407 80, 193, 0, 70, 193, 0, 88, 193, 0, 175,
408 193, 0, 67, 155, 0, 13, 187, 0, 13, 93,
409 214, 108, 0, 29, 187, 0, 29, 93, 214, 108,
410 0, 205, 286, 0, 205, 286, 191, 0, 205, 190,
411 286, 0, 205, 190, 286, 191, 0, 205, 93, 189,
412 214, 188, 0, 205, 93, 189, 214, 188, 191, 0,
413 205, 190, 93, 189, 214, 188, 0, 205, 190, 93,
414 189, 214, 188, 191, 0, 206, 193, 0, 206, 94,
415 111, 193, 0, 206, 94, 176, 111, 193, 0, 34,
416 193, 0, 35, 193, 0, 108, 0, 0, 93, 189,
417 186, 108, 0, 58, 189, 186, 109, 0, 93, 186,
418 108, 0, 47, 0, 93, 221, 108, 0, 64, 243,
419 0, 93, 214, 108, 0, 192, 93, 214, 108, 0,
420 187, 0, 192, 187, 0, 192, 58, 244, 255, 109,
421 0, 193, 0, 194, 83, 194, 0, 194, 84, 194,
422 0, 194, 78, 194, 0, 194, 79, 194, 0, 194,
423 80, 194, 0, 194, 81, 194, 0, 194, 82, 194,
424 0, 194, 76, 194, 0, 194, 77, 194, 0, 194,
425 73, 194, 0, 194, 74, 194, 0, 194, 75, 194,
426 0, 194, 72, 194, 0, 194, 71, 194, 0, 194,
427 70, 194, 0, 194, 68, 194, 0, 194, 69, 194,
428 0, 194, 67, 194, 0, 194, 66, 194, 0, 194,
429 65, 363, 62, 194, 0, 194, 64, 194, 0, 194,
430 63, 194, 0, 61, 0, 61, 194, 0, 88, 378,
431 155, 0, 197, 0, 385, 0, 3, 0, 56, 0,
432 57, 0, 0, 6, 74, 196, 172, 171, 0, 385,
433 74, 196, 172, 171, 0, 48, 155, 74, 172, 171,
434 0, 48, 6, 74, 172, 171, 0, 48, 385, 74,
435 172, 171, 0, 195, 0, 4, 0, 5, 0, 195,
436 0, 80, 200, 0, 70, 200, 0, 93, 200, 108,
437 0, 3, 74, 172, 171, 0, 57, 74, 173, 171,
438 0, 299, 0, 195, 0, 201, 0, 93, 200, 108,
439 0, 195, 0, 10, 0, 207, 0, 208, 0, 93,
440 176, 108, 0, 93, 200, 108, 0, 93, 1, 108,
441 0, 0, 93, 204, 325, 108, 0, 203, 93, 186,
442 108, 0, 203, 47, 0, 203, 94, 176, 111, 0,
443 203, 86, 0, 203, 87, 0, 40, 0, 9, 93,
444 186, 108, 0, 303, 0, 50, 74, 214, 75, 93,
445 176, 108, 0, 51, 74, 214, 75, 93, 176, 108,
446 0, 52, 74, 214, 75, 93, 176, 108, 0, 53,
447 74, 214, 75, 93, 176, 108, 0, 49, 93, 176,
448 108, 0, 49, 93, 214, 108, 0, 314, 3, 0,
449 314, 197, 0, 314, 385, 0, 302, 0, 302, 93,
450 186, 108, 0, 302, 47, 0, 210, 198, 0, 210,
451 198, 93, 186, 108, 0, 210, 198, 47, 0, 210,
452 199, 0, 210, 302, 0, 210, 199, 93, 186, 108,
453 0, 210, 199, 47, 0, 210, 302, 93, 186, 108,
454 0, 210, 302, 47, 0, 210, 88, 8, 47, 0,
455 210, 8, 54, 88, 8, 47, 0, 210, 1, 0,
456 39, 0, 314, 39, 0, 38, 0, 314, 206, 0,
457 42, 0, 43, 0, 11, 0, 208, 11, 0, 0,
458 203, 92, 0, 203, 91, 0, 221, 223, 60, 0,
459 215, 223, 60, 0, 218, 224, 60, 0, 215, 60,
460 0, 218, 60, 0, 118, 211, 0, 292, 0, 297,
461 0, 47, 0, 213, 47, 0, 219, 317, 0, 288,
462 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
463 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
464 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
465 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
466 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
467 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
468 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
469 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
470 0, 250, 0, 8, 0, 294, 0, 28, 93, 176,
471 108, 0, 28, 93, 214, 108, 0, 30, 93, 176,
472 108, 0, 30, 93, 214, 108, 0, 8, 0, 9,
473 0, 250, 0, 231, 0, 223, 59, 227, 0, 232,
474 0, 224, 59, 227, 0, 233, 0, 225, 59, 227,
475 0, 0, 119, 93, 208, 108, 0, 0, 212, 226,
476 235, 64, 228, 243, 0, 212, 226, 235, 0, 0,
477 235, 64, 230, 243, 0, 235, 0, 212, 226, 229,
478 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
479 0, 141, 226, 235, 0, 0, 236, 0, 237, 0,
480 236, 237, 0, 31, 93, 93, 238, 108, 108, 0,
481 239, 0, 238, 59, 239, 0, 0, 240, 0, 240,
482 93, 3, 108, 0, 240, 93, 3, 59, 186, 108,
483 0, 240, 93, 186, 108, 0, 155, 0, 7, 0,
484 8, 0, 9, 0, 155, 0, 241, 59, 155, 0,
485 0, 64, 243, 0, 194, 0, 58, 109, 0, 58,
486 244, 109, 0, 58, 244, 59, 109, 0, 1, 0,
487 243, 0, 244, 59, 243, 0, 94, 194, 111, 243,
488 0, 155, 62, 243, 0, 244, 59, 155, 62, 243,
489 0, 97, 0, 245, 138, 137, 324, 0, 245, 138,
490 348, 0, 245, 138, 1, 0, 0, 247, 246, 139,
491 0, 102, 194, 107, 0, 102, 1, 107, 0, 0,
492 249, 248, 0, 249, 1, 0, 0, 14, 155, 58,
493 251, 284, 256, 109, 0, 14, 155, 58, 109, 0,
494 0, 14, 58, 252, 284, 256, 109, 0, 14, 58,
495 109, 0, 14, 155, 0, 14, 312, 0, 45, 307,
496 0, 0, 0, 264, 270, 272, 109, 235, 253, 249,
497 254, 247, 0, 264, 0, 0, 59, 0, 0, 59,
498 0, 36, 0, 257, 7, 0, 257, 8, 0, 257,
499 9, 0, 257, 36, 0, 257, 155, 0, 257, 157,
500 0, 257, 305, 155, 0, 257, 314, 305, 155, 0,
501 257, 314, 155, 0, 257, 169, 0, 257, 305, 169,
502 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
503 0, 257, 58, 0, 263, 0, 262, 0, 0, 62,
504 378, 0, 62, 378, 266, 0, 267, 0, 266, 59,
505 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
506 0, 293, 0, 30, 93, 176, 108, 0, 30, 93,
507 214, 108, 0, 37, 378, 0, 7, 378, 0, 269,
508 37, 378, 0, 269, 7, 378, 0, 58, 0, 0,
509 271, 0, 271, 273, 0, 272, 37, 62, 273, 0,
510 272, 37, 62, 0, 274, 0, 273, 274, 0, 275,
511 60, 0, 275, 109, 0, 148, 62, 0, 148, 95,
512 0, 148, 25, 0, 148, 58, 0, 60, 0, 118,
513 274, 0, 128, 274, 0, 128, 215, 60, 0, 215,
514 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
515 141, 226, 235, 242, 0, 62, 194, 0, 1, 0,
516 218, 147, 226, 235, 242, 0, 147, 226, 235, 242,
517 0, 125, 0, 0, 278, 0, 276, 59, 279, 0,
518 0, 281, 0, 277, 59, 283, 0, 280, 0, 281,
519 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
520 4, 62, 194, 235, 0, 297, 226, 235, 242, 0,
521 141, 226, 235, 242, 0, 3, 62, 194, 235, 0,
522 62, 194, 235, 0, 292, 226, 235, 242, 0, 4,
523 62, 194, 235, 0, 297, 226, 235, 242, 0, 3,
524 62, 194, 235, 0, 62, 194, 235, 0, 285, 0,
525 284, 59, 285, 0, 155, 0, 155, 64, 194, 0,
526 358, 315, 0, 358, 0, 93, 189, 214, 188, 94,
527 176, 111, 0, 0, 287, 9, 0, 9, 0, 288,
528 9, 0, 0, 289, 176, 0, 289, 93, 186, 108,
529 0, 289, 93, 368, 108, 0, 289, 47, 0, 289,
530 93, 1, 108, 0, 80, 288, 292, 0, 70, 288,
531 292, 0, 80, 292, 0, 70, 292, 0, 313, 287,
532 292, 0, 296, 0, 304, 0, 314, 304, 0, 293,
533 0, 295, 0, 314, 295, 0, 305, 304, 0, 296,
534 291, 287, 380, 0, 296, 94, 290, 111, 0, 296,
535 94, 111, 0, 93, 292, 108, 0, 305, 304, 0,
536 304, 0, 80, 288, 297, 0, 70, 288, 297, 0,
537 80, 297, 0, 70, 297, 0, 313, 287, 297, 0,
538 202, 0, 80, 288, 297, 0, 70, 288, 297, 0,
539 80, 298, 0, 70, 298, 0, 313, 287, 297, 0,
540 299, 0, 202, 291, 287, 380, 0, 93, 298, 108,
541 0, 202, 94, 290, 111, 0, 202, 94, 111, 0,
542 301, 0, 305, 201, 0, 305, 199, 0, 305, 198,
543 0, 305, 195, 0, 305, 198, 0, 301, 0, 314,
544 301, 0, 221, 93, 186, 108, 0, 221, 93, 200,
545 108, 0, 221, 213, 0, 4, 0, 5, 0, 169,
546 0, 306, 0, 305, 306, 0, 305, 48, 311, 54,
547 0, 4, 54, 0, 5, 54, 0, 57, 54, 0,
548 169, 54, 0, 308, 0, 314, 308, 0, 309, 155,
549 0, 309, 169, 0, 309, 311, 0, 309, 48, 311,
550 0, 310, 0, 309, 310, 0, 309, 311, 54, 0,
551 309, 48, 311, 54, 0, 4, 54, 0, 5, 54,
552 0, 169, 54, 0, 56, 54, 0, 3, 54, 0,
553 57, 54, 0, 155, 74, 172, 171, 0, 314, 304,
554 0, 295, 0, 314, 295, 0, 305, 80, 0, 314,
555 305, 80, 0, 54, 0, 80, 287, 315, 0, 80,
556 287, 0, 70, 287, 315, 0, 70, 287, 0, 313,
557 287, 0, 313, 287, 315, 0, 316, 0, 94, 176,
558 111, 0, 316, 94, 290, 111, 0, 80, 288, 317,
559 0, 80, 317, 0, 80, 288, 0, 80, 0, 70,
560 288, 317, 0, 70, 317, 0, 70, 288, 0, 70,
561 0, 313, 287, 0, 313, 287, 317, 0, 318, 0,
562 93, 317, 108, 0, 90, 0, 318, 93, 368, 108,
563 287, 380, 0, 318, 47, 287, 380, 0, 318, 94,
564 290, 111, 0, 318, 94, 111, 0, 93, 369, 108,
565 287, 380, 0, 192, 287, 380, 0, 213, 287, 380,
566 0, 94, 290, 111, 0, 94, 111, 0, 332, 0,
567 320, 0, 319, 332, 0, 319, 320, 0, 1, 60,
568 0, 0, 322, 0, 323, 0, 322, 323, 0, 33,
569 241, 60, 0, 325, 0, 1, 325, 0, 0, 58,
570 326, 182, 0, 0, 0, 15, 328, 178, 329, 330,
571 0, 325, 0, 0, 331, 333, 0, 325, 0, 333,
572 0, 211, 0, 176, 60, 0, 0, 327, 16, 334,
573 330, 0, 327, 0, 0, 0, 17, 335, 178, 336,
574 183, 0, 0, 0, 18, 337, 330, 17, 338, 177,
575 60, 0, 0, 0, 0, 0, 19, 339, 93, 361,
576 340, 179, 60, 341, 363, 108, 342, 183, 0, 0,
577 0, 20, 343, 93, 180, 108, 344, 330, 0, 0,
578 21, 194, 62, 345, 332, 0, 0, 21, 194, 12,
579 194, 62, 346, 332, 0, 0, 22, 62, 347, 332,
580 0, 23, 60, 0, 24, 60, 0, 25, 60, 0,
581 25, 176, 60, 0, 119, 362, 93, 208, 108, 60,
582 0, 119, 362, 93, 208, 62, 364, 108, 60, 0,
583 119, 362, 93, 208, 62, 364, 62, 364, 108, 60,
584 0, 119, 362, 93, 208, 62, 364, 62, 364, 62,
585 367, 108, 60, 0, 26, 80, 176, 60, 0, 26,
586 155, 60, 0, 360, 332, 0, 360, 109, 0, 60,
587 0, 351, 0, 0, 0, 95, 349, 137, 325, 350,
588 354, 0, 0, 0, 95, 352, 325, 353, 354, 0,
589 355, 0, 354, 355, 0, 0, 0, 96, 356, 359,
590 357, 325, 0, 219, 0, 288, 0, 93, 12, 108,
591 0, 93, 377, 108, 0, 3, 62, 0, 56, 62,
592 0, 4, 62, 0, 5, 62, 0, 363, 60, 0,
593 211, 0, 58, 182, 0, 0, 9, 0, 0, 176,
594 0, 1, 0, 0, 365, 0, 366, 0, 365, 59,
595 366, 0, 11, 93, 176, 108, 0, 11, 0, 367,
596 59, 11, 0, 0, 369, 0, 214, 0, 373, 0,
597 374, 12, 0, 373, 12, 0, 214, 12, 0, 12,
598 0, 373, 62, 0, 214, 62, 0, 0, 64, 371,
599 372, 0, 101, 0, 243, 0, 375, 0, 377, 370,
600 0, 374, 376, 0, 374, 379, 0, 374, 379, 64,
601 243, 0, 373, 59, 0, 214, 59, 0, 216, 212,
602 0, 219, 212, 0, 221, 212, 0, 216, 317, 0,
603 216, 0, 218, 297, 0, 377, 0, 377, 370, 0,
604 375, 0, 214, 0, 0, 0, 297, 0, 0, 61,
605 93, 382, 108, 0, 61, 47, 0, 214, 0, 381,
606 0, 382, 59, 381, 0, 0, 80, 287, 383, 0,
607 70, 287, 383, 0, 313, 287, 383, 0, 41, 0,
608 384, 80, 0, 384, 81, 0, 384, 82, 0, 384,
609 78, 0, 384, 79, 0, 384, 70, 0, 384, 68,
610 0, 384, 69, 0, 384, 88, 0, 384, 59, 0,
611 384, 73, 0, 384, 74, 0, 384, 75, 0, 384,
612 72, 0, 384, 63, 0, 384, 64, 0, 384, 76,
613 0, 384, 77, 0, 384, 86, 0, 384, 87, 0,
614 384, 67, 0, 384, 66, 0, 384, 110, 0, 384,
615 65, 62, 0, 384, 71, 0, 384, 91, 0, 384,
616 83, 0, 384, 47, 0, 384, 94, 111, 0, 384,
617 39, 0, 384, 38, 0, 384, 39, 94, 111, 0,
618 384, 38, 94, 111, 0, 384, 358, 383, 0, 384,
625 static const short yyrline[] = { 0,
626 328, 330, 338, 341, 342, 346, 348, 351, 356, 360,
627 366, 370, 373, 377, 380, 382, 384, 387, 389, 392,
628 395, 397, 399, 401, 403, 405, 407, 416, 420, 423,
629 425, 429, 431, 432, 434, 438, 441, 447, 450, 452,
630 457, 460, 464, 467, 470, 473, 477, 482, 492, 494,
631 496, 498, 500, 513, 522, 532, 534, 536, 540, 542,
632 543, 550, 551, 552, 555, 558, 562, 564, 565, 568,
633 570, 573, 576, 578, 582, 585, 587, 591, 593, 595,
634 599, 601, 603, 607, 609, 611, 617, 621, 624, 627,
635 630, 635, 638, 640, 642, 648, 658, 660, 663, 666,
636 668, 671, 675, 684, 687, 689, 693, 706, 726, 729,
637 731, 732, 735, 742, 748, 750, 752, 754, 756, 759,
638 764, 766, 767, 768, 769, 772, 774, 775, 778, 780,
639 781, 784, 789, 789, 793, 793, 796, 796, 799, 799,
640 803, 803, 808, 808, 811, 811, 814, 816, 819, 826,
641 833, 839, 842, 851, 853, 861, 864, 867, 870, 874,
642 877, 880, 883, 885, 887, 889, 893, 896, 899, 904,
643 908, 913, 917, 920, 922, 926, 945, 952, 955, 957,
644 958, 959, 962, 966, 967, 971, 975, 978, 980, 984,
645 987, 990, 994, 997, 999, 1001, 1003, 1006, 1010, 1012,
646 1014, 1016, 1022, 1025, 1028, 1031, 1043, 1048, 1052, 1056,
647 1061, 1063, 1067, 1071, 1073, 1082, 1086, 1089, 1092, 1097,
648 1100, 1102, 1110, 1123, 1128, 1134, 1136, 1138, 1151, 1154,
649 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174,
650 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194,
651 1198, 1200, 1202, 1219, 1222, 1223, 1224, 1225, 1226, 1229,
652 1232, 1235, 1239, 1242, 1244, 1249, 1251, 1252, 1255, 1257,
653 1259, 1261, 1265, 1268, 1272, 1274, 1275, 1276, 1280, 1288,
654 1289, 1290, 1298, 1300, 1303, 1305, 1315, 1317, 1319, 1321,
655 1323, 1325, 1328, 1330, 1374, 1375, 1379, 1383, 1387, 1391,
656 1393, 1397, 1399, 1401, 1409, 1411, 1413, 1415, 1419, 1421,
657 1423, 1425, 1430, 1432, 1434, 1436, 1439, 1441, 1443, 1487,
658 1490, 1494, 1497, 1501, 1504, 1509, 1511, 1515, 1528, 1531,
659 1538, 1545, 1550, 1552, 1557, 1559, 1566, 1568, 1572, 1576,
660 1582, 1586, 1589, 1592, 1595, 1605, 1607, 1610, 1614, 1617,
661 1620, 1623, 1626, 1632, 1638, 1640, 1645, 1647, 1656, 1659,
662 1661, 1664, 1670, 1672, 1682, 1686, 1689, 1692, 1697, 1700,
663 1708, 1710, 1712, 1714, 1717, 1720, 1735, 1754, 1757, 1759,
664 1762, 1764, 1767, 1769, 1772, 1774, 1777, 1780, 1784, 1790,
665 1791, 1803, 1810, 1813, 1819, 1823, 1828, 1834, 1835, 1843,
666 1846, 1850, 1853, 1857, 1862, 1865, 1869, 1872, 1874, 1876,
667 1878, 1885, 1887, 1888, 1889, 1893, 1896, 1900, 1903, 1909,
668 1911, 1914, 1917, 1920, 1926, 1929, 1932, 1934, 1936, 1940,
669 1946, 1954, 1956, 1960, 1962, 1967, 1970, 1973, 1975, 1977,
670 1981, 1985, 1990, 1994, 1997, 2002, 2006, 2009, 2012, 2016,
671 2028, 2030, 2033, 2053, 2055, 2058, 2060, 2065, 2067, 2069,
672 2071, 2073, 2077, 2082, 2087, 2093, 2098, 2103, 2105, 2109,
673 2114, 2117, 2124, 2152, 2158, 2160, 2163, 2166, 2168, 2172,
674 2174, 2178, 2204, 2233, 2236, 2237, 2258, 2281, 2283, 2287,
675 2298, 2312, 2317, 2324, 2327, 2335, 2346, 2355, 2359, 2374,
676 2377, 2382, 2384, 2386, 2388, 2390, 2392, 2395, 2397, 2409,
677 2415, 2417, 2420, 2423, 2425, 2436, 2441, 2444, 2449, 2452,
678 2453, 2464, 2467, 2468, 2479, 2481, 2484, 2486, 2489, 2496,
679 2504, 2511, 2517, 2523, 2531, 2535, 2540, 2544, 2547, 2556,
680 2558, 2562, 2565, 2570, 2574, 2580, 2591, 2594, 2598, 2602,
681 2610, 2615, 2621, 2624, 2626, 2628, 2634, 2637, 2639, 2641,
682 2643, 2647, 2650, 2668, 2678, 2680, 2681, 2685, 2690, 2693,
683 2695, 2697, 2699, 2703, 2709, 2712, 2714, 2716, 2718, 2722,
684 2725, 2728, 2730, 2732, 2734, 2738, 2741, 2744, 2746, 2748,
685 2750, 2757, 2768, 2772, 2777, 2781, 2786, 2788, 2792, 2795,
686 2797, 2801, 2803, 2804, 2807, 2809, 2811, 2817, 2832, 2838,
687 2844, 2858, 2860, 2864, 2878, 2880, 2882, 2886, 2892, 2905,
688 2907, 2911, 2924, 2930, 2932, 2933, 2934, 2942, 2947, 2956,
689 2957, 2961, 2964, 2970, 2976, 2979, 2981, 2983, 2985, 2989,
690 2993, 2997, 3000, 3005, 3008, 3010, 3012, 3014, 3016, 3018,
691 3020, 3022, 3026, 3030, 3034, 3038, 3039, 3041, 3043, 3045,
692 3047, 3049, 3051, 3053, 3055, 3063, 3065, 3066, 3067, 3070,
693 3076, 3078, 3083, 3085, 3088, 3102, 3105, 3108, 3112, 3115,
694 3122, 3124, 3127, 3129, 3131, 3134, 3137, 3140, 3143, 3145,
695 3148, 3152, 3154, 3160, 3162, 3163, 3165, 3170, 3172, 3174,
696 3176, 3178, 3181, 3182, 3184, 3187, 3188, 3191, 3191, 3194,
697 3194, 3197, 3197, 3199, 3201, 3203, 3205, 3211, 3217, 3220,
698 3223, 3229, 3231, 3233, 3237, 3239, 3242, 3249, 3255, 3264,
699 3268, 3270, 3273, 3275, 3278, 3282, 3284, 3287, 3289, 3292,
700 3309, 3315, 3323, 3325, 3327, 3331, 3334, 3335, 3343, 3347,
701 3351, 3354, 3355, 3361, 3364, 3367, 3369, 3373, 3378, 3381,
702 3391, 3396, 3397, 3404, 3407, 3410, 3412, 3415, 3417, 3427,
703 3441, 3445, 3448, 3450, 3454, 3458, 3461, 3464, 3466, 3470,
704 3472, 3479, 3486, 3489, 3492, 3496, 3500, 3506, 3510, 3515,
705 3517, 3520, 3525, 3531, 3542, 3545, 3547, 3551, 3556, 3558,
706 3565, 3568, 3570, 3572, 3578, 3583, 3586, 3588, 3590, 3592,
707 3594, 3596, 3598, 3600, 3602, 3604, 3606, 3608, 3610, 3612,
708 3614, 3616, 3618, 3620, 3622, 3624, 3626, 3628, 3630, 3632,
709 3634, 3636, 3638, 3640, 3642, 3644, 3646, 3648, 3651, 3653
714 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
716 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
717 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
718 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
719 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
720 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
721 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
722 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
723 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
724 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
725 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
726 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
727 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
728 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
729 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
730 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
731 "asm_keyword","lang_extdef","@2","extdef","@3","@4","using_decl","any_id","extern_lang_string",
732 "template_header","@5","template_parm_list","maybe_identifier","template_type_parm",
733 "template_template_parm","template_parm","template_def","datadef","ctor_initializer_opt",
734 "maybe_return_init","eat_saved_input","fndef","constructor_declarator","@6",
735 "@7","@8","@9","fn.def1","component_constructor_declarator","fn.def2","return_id",
736 "return_init","base_init",".set_base_init","member_init_list","member_init",
737 "identifier","notype_identifier","identifier_defn","explicit_instantiation",
738 "@10","@11","@12","@13","@14","@15","@16","@17","begin_explicit_instantiation",
739 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
740 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
741 "paren_cond_or_null","xcond","condition","@18","compstmtend","already_scoped_stmt",
742 "@19","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
743 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
744 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
745 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
746 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
747 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
748 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
749 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
750 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
751 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
752 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
753 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
754 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
755 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
756 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
757 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
758 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
759 "component_decl_1","components","notype_components","component_declarator0",
760 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
761 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
762 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
763 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
764 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
765 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
766 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
767 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
768 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
769 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
770 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
771 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
772 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
773 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
774 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
775 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
776 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
777 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
778 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
782 static const short yyr1[] = { 0,
783 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
784 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
785 123, 122, 124, 122, 122, 122, 122, 122, 125, 125,
786 125, 126, 126, 126, 126, 127, 127, 129, 128, 128,
787 130, 130, 131, 131, 132, 132, 133, 134, 134, 134,
788 134, 134, 134, 135, 135, 136, 136, 136, 136, 136,
789 136, 136, 136, 136, 137, 137, 138, 138, 138, 139,
790 139, 140, 140, 140, 142, 141, 141, 143, 141, 141,
791 144, 141, 141, 145, 141, 141, 146, 146, 146, 146,
792 146, 147, 147, 147, 147, 148, 148, 148, 148, 148,
793 148, 148, 149, 150, 150, 150, 151, 152, 153, 153,
794 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
795 155, 155, 155, 155, 155, 156, 156, 156, 157, 157,
796 157, 159, 158, 160, 158, 161, 158, 162, 158, 163,
797 158, 164, 158, 165, 158, 166, 158, 167, 168, 169,
798 169, 169, 170, 171, 171, 172, 172, 173, 173, 174,
799 174, 175, 175, 175, 175, 175, 176, 176, 177, 177,
800 178, 178, 179, 179, 179, 181, 180, 180, 182, 182,
801 182, 182, 184, 183, 183, 185, 185, 185, 185, 186,
802 186, 187, 187, 187, 187, 187, 187, 187, 187, 187,
803 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
804 187, 187, 187, 187, 187, 188, 189, 190, 190, 191,
805 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
806 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
807 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
808 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
809 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
810 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
811 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
812 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
813 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 205,
815 205, 206, 206, 207, 207, 208, 208, 209, 210, 210,
816 211, 211, 211, 211, 211, 211, 212, 212, 213, 213,
817 214, 214, 214, 214, 214, 215, 215, 216, 216, 216,
818 216, 216, 216, 217, 217, 217, 217, 217, 218, 218,
819 218, 218, 218, 218, 219, 219, 219, 219, 220, 220,
820 221, 221, 221, 221, 221, 221, 221, 222, 222, 222,
821 223, 223, 224, 224, 225, 225, 226, 226, 228, 227,
822 227, 230, 229, 229, 231, 232, 234, 233, 233, 235,
823 235, 236, 236, 237, 238, 238, 239, 239, 239, 239,
824 239, 240, 240, 240, 240, 241, 241, 242, 242, 243,
825 243, 243, 243, 243, 244, 244, 244, 244, 244, 245,
826 246, 246, 246, 247, 247, 248, 248, 249, 249, 249,
827 251, 250, 250, 252, 250, 250, 250, 250, 250, 253,
828 254, 250, 250, 255, 255, 256, 256, 257, 257, 257,
829 257, 257, 258, 259, 260, 260, 260, 260, 260, 261,
830 262, 262, 262, 263, 264, 264, 265, 265, 265, 266,
831 266, 267, 267, 268, 268, 268, 268, 269, 269, 269,
832 269, 270, 271, 272, 272, 272, 272, 273, 273, 274,
833 274, 274, 274, 274, 274, 274, 274, 274, 274, 275,
834 275, 275, 275, 275, 275, 275, 275, 275, 276, 276,
835 276, 277, 277, 277, 278, 278, 279, 279, 280, 280,
836 281, 281, 281, 281, 282, 282, 283, 283, 283, 284,
837 284, 285, 285, 286, 286, 286, 287, 287, 288, 288,
838 289, 290, 291, 291, 291, 291, 292, 292, 292, 292,
839 292, 292, 293, 293, 294, 294, 294, 295, 296, 296,
840 296, 296, 296, 296, 297, 297, 297, 297, 297, 297,
841 298, 298, 298, 298, 298, 298, 299, 299, 299, 299,
842 299, 299, 300, 300, 301, 301, 302, 302, 303, 303,
843 303, 304, 304, 304, 305, 305, 305, 306, 306, 306,
844 306, 307, 307, 308, 308, 308, 308, 309, 309, 309,
845 309, 310, 310, 310, 310, 310, 310, 311, 312, 312,
846 312, 313, 313, 314, 315, 315, 315, 315, 315, 315,
847 315, 316, 316, 317, 317, 317, 317, 317, 317, 317,
848 317, 317, 317, 317, 318, 318, 318, 318, 318, 318,
849 318, 318, 318, 318, 318, 319, 319, 319, 319, 320,
850 321, 321, 322, 322, 323, 324, 324, 326, 325, 328,
851 329, 327, 330, 331, 330, 332, 332, 333, 333, 334,
852 333, 333, 335, 336, 333, 337, 338, 333, 339, 340,
853 341, 342, 333, 343, 344, 333, 345, 333, 346, 333,
854 347, 333, 333, 333, 333, 333, 333, 333, 333, 333,
855 333, 333, 333, 333, 333, 333, 349, 350, 348, 352,
856 353, 351, 354, 354, 356, 357, 355, 358, 358, 359,
857 359, 360, 360, 360, 360, 361, 361, 361, 362, 362,
858 363, 363, 363, 364, 364, 365, 365, 366, 367, 367,
859 368, 368, 368, 369, 369, 369, 369, 369, 369, 369,
860 371, 370, 372, 372, 373, 373, 373, 373, 373, 374,
861 374, 375, 375, 375, 375, 375, 375, 376, 376, 377,
862 377, 378, 379, 379, 380, 380, 380, 381, 382, 382,
863 383, 383, 383, 383, 384, 385, 385, 385, 385, 385,
864 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
865 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385
869 static const short yyr2[] = { 0,
870 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
871 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
872 0, 6, 0, 5, 5, 2, 4, 2, 2, 3,
873 3, 1, 1, 2, 2, 1, 2, 0, 5, 3,
874 1, 3, 1, 0, 2, 2, 3, 1, 3, 1,
875 3, 1, 3, 2, 2, 2, 3, 3, 2, 2,
876 2, 2, 2, 1, 1, 1, 0, 1, 2, 0,
877 1, 4, 3, 3, 0, 8, 5, 0, 9, 6,
878 0, 8, 5, 0, 9, 6, 2, 2, 1, 2,
879 1, 6, 4, 6, 4, 2, 1, 2, 2, 1,
880 2, 1, 2, 2, 4, 2, 3, 0, 0, 1,
881 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
882 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
883 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
884 7, 0, 7, 0, 6, 0, 6, 0, 0, 4,
885 4, 1, 4, 1, 1, 0, 1, 1, 3, 1,
886 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
887 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
888 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
889 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
890 2, 4, 2, 3, 3, 4, 5, 6, 6, 7,
891 2, 4, 5, 2, 2, 1, 0, 4, 4, 3,
892 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
893 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
894 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
895 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
896 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
897 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
898 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
899 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
900 4, 2, 2, 2, 1, 4, 2, 2, 5, 3,
901 2, 2, 5, 3, 5, 3, 4, 6, 2, 1,
902 2, 1, 2, 1, 1, 1, 2, 0, 2, 2,
903 3, 3, 3, 2, 2, 2, 1, 1, 1, 2,
904 2, 2, 2, 1, 1, 1, 1, 2, 2, 3,
905 3, 3, 4, 1, 2, 2, 2, 1, 1, 1,
906 2, 2, 2, 1, 1, 2, 2, 3, 1, 2,
907 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
908 1, 3, 1, 3, 1, 3, 0, 4, 0, 6,
909 3, 0, 4, 1, 3, 3, 0, 4, 3, 0,
910 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
911 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
912 2, 3, 4, 1, 1, 3, 4, 3, 5, 1,
913 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
914 0, 7, 4, 0, 6, 3, 2, 2, 2, 0,
915 0, 9, 1, 0, 1, 0, 1, 1, 2, 2,
916 2, 2, 2, 2, 3, 4, 3, 2, 3, 0,
917 1, 3, 2, 2, 1, 1, 0, 2, 3, 1,
918 4, 1, 3, 1, 1, 4, 4, 2, 2, 3,
919 3, 1, 0, 1, 2, 4, 3, 1, 2, 2,
920 2, 2, 2, 2, 2, 1, 2, 2, 3, 2,
921 2, 4, 4, 2, 1, 5, 4, 1, 0, 1,
922 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
923 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
924 3, 1, 3, 2, 1, 7, 0, 2, 1, 2,
925 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
926 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
927 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
928 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
929 1, 2, 2, 2, 2, 2, 1, 2, 4, 4,
930 2, 1, 1, 1, 1, 2, 4, 2, 2, 2,
931 2, 1, 2, 2, 2, 2, 3, 1, 2, 3,
932 4, 2, 2, 2, 2, 2, 2, 4, 2, 1,
933 2, 2, 3, 1, 3, 2, 3, 2, 2, 3,
934 1, 3, 4, 3, 2, 2, 1, 3, 2, 2,
935 1, 2, 3, 1, 3, 1, 6, 4, 4, 3,
936 5, 3, 3, 3, 2, 1, 1, 2, 2, 2,
937 0, 1, 1, 2, 3, 1, 2, 0, 3, 0,
938 0, 5, 1, 0, 2, 1, 1, 1, 2, 0,
939 4, 1, 0, 0, 5, 0, 0, 7, 0, 0,
940 0, 0, 12, 0, 0, 7, 0, 5, 0, 7,
941 0, 4, 2, 2, 2, 3, 6, 8, 10, 12,
942 4, 3, 2, 2, 1, 1, 0, 0, 6, 0,
943 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
944 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
945 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
946 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
947 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
948 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
949 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
950 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
951 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
952 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
953 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
956 static const short yydefact[] = { 3,
957 12, 12, 5, 0, 4, 0, 257, 602, 603, 0,
958 360, 372, 549, 0, 11, 0, 0, 0, 10, 458,
959 805, 0, 0, 0, 148, 634, 258, 259, 64, 0,
960 0, 792, 0, 36, 0, 0, 13, 0, 8, 0,
961 16, 15, 70, 91, 67, 0, 604, 152, 276, 255,
962 277, 580, 0, 347, 0, 346, 365, 0, 385, 364,
963 402, 371, 0, 471, 470, 477, 476, 475, 453, 359,
964 565, 373, 566, 89, 275, 591, 563, 0, 605, 547,
965 0, 0, 256, 62, 63, 156, 608, 156, 609, 156,
966 260, 148, 121, 122, 123, 124, 125, 444, 447, 0,
967 630, 0, 448, 0, 0, 0, 0, 122, 123, 124,
968 125, 23, 0, 0, 0, 0, 0, 0, 0, 449,
969 612, 0, 618, 0, 0, 0, 0, 0, 0, 29,
970 0, 0, 38, 0, 156, 610, 0, 0, 578, 0,
971 0, 0, 577, 0, 0, 0, 0, 276, 0, 551,
972 0, 275, 547, 28, 0, 26, 3, 37, 0, 55,
973 54, 71, 14, 0, 400, 0, 0, 418, 68, 60,
974 611, 551, 0, 547, 61, 0, 0, 0, 87, 0,
975 381, 337, 562, 338, 574, 0, 547, 362, 361, 59,
976 90, 348, 0, 383, 363, 88, 354, 378, 379, 349,
977 367, 369, 358, 380, 0, 56, 403, 459, 460, 461,
978 462, 474, 130, 129, 131, 463, 464, 468, 0, 0,
979 477, 792, 473, 492, 493, 550, 366, 0, 397, 603,
980 0, 632, 152, 595, 596, 592, 568, 606, 0, 567,
981 564, 0, 840, 836, 835, 833, 815, 820, 821, 0,
982 827, 826, 812, 813, 811, 830, 819, 816, 817, 818,
983 822, 823, 809, 810, 806, 807, 808, 832, 824, 825,
984 814, 831, 0, 828, 738, 365, 739, 801, 260, 257,
985 549, 280, 326, 0, 0, 0, 0, 322, 320, 293,
986 324, 325, 0, 0, 0, 0, 0, 259, 252, 0,
987 0, 163, 162, 0, 164, 165, 0, 0, 166, 0,
988 0, 157, 158, 0, 226, 0, 229, 161, 279, 192,
989 0, 0, 281, 282, 0, 160, 344, 365, 345, 597,
990 305, 295, 0, 0, 0, 0, 156, 0, 446, 0,
991 441, 0, 631, 629, 0, 167, 168, 0, 0, 0,
992 407, 3, 21, 0, 626, 622, 623, 625, 627, 624,
993 121, 122, 123, 0, 124, 125, 614, 615, 619, 616,
994 613, 267, 268, 0, 266, 32, 33, 0, 594, 593,
995 31, 30, 40, 0, 360, 138, 0, 0, 365, 136,
996 0, 0, 576, 0, 575, 254, 271, 0, 584, 270,
997 0, 583, 0, 278, 588, 0, 0, 12, 0, 148,
998 9, 9, 0, 399, 401, 103, 74, 108, 727, 0,
999 66, 65, 73, 106, 0, 0, 104, 69, 590, 0,
1000 0, 555, 0, 795, 0, 560, 0, 559, 0, 0,
1001 0, 0, 547, 400, 0, 58, 551, 547, 573, 0,
1002 351, 352, 0, 57, 400, 356, 355, 357, 350, 370,
1003 387, 386, 465, 469, 467, 0, 472, 478, 0, 0,
1004 368, 400, 547, 75, 0, 0, 0, 0, 547, 81,
1005 548, 579, 603, 633, 152, 0, 0, 829, 834, 367,
1006 547, 547, 0, 547, 839, 156, 0, 0, 0, 199,
1007 0, 0, 201, 214, 215, 0, 0, 0, 0, 0,
1008 253, 198, 195, 194, 196, 0, 0, 0, 0, 0,
1009 279, 0, 0, 0, 193, 154, 155, 273, 0, 197,
1010 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 0, 289, 291, 292, 330, 329,
1013 0, 0, 217, 217, 0, 203, 545, 0, 211, 327,
1014 319, 0, 0, 792, 308, 311, 312, 0, 0, 339,
1015 651, 647, 656, 0, 551, 547, 547, 547, 341, 654,
1016 0, 601, 343, 0, 0, 342, 307, 0, 302, 321,
1017 303, 323, 598, 0, 304, 151, 153, 0, 146, 0,
1018 365, 144, 542, 456, 540, 443, 0, 0, 374, 0,
1019 0, 375, 376, 377, 413, 414, 415, 412, 0, 405,
1020 408, 0, 3, 0, 617, 156, 620, 27, 35, 34,
1021 44, 0, 0, 0, 48, 52, 41, 791, 786, 0,
1022 344, 365, 44, 345, 790, 50, 149, 134, 132, 149,
1023 150, 274, 582, 581, 278, 585, 0, 18, 20, 70,
1024 0, 109, 328, 0, 678, 72, 676, 424, 0, 420,
1025 419, 191, 0, 190, 552, 589, 0, 768, 0, 763,
1026 365, 0, 762, 764, 793, 775, 0, 0, 587, 558,
1027 557, 0, 0, 572, 0, 395, 394, 382, 571, 0,
1028 795, 561, 353, 384, 396, 400, 466, 602, 603, 792,
1029 0, 792, 604, 479, 480, 482, 792, 485, 484, 0,
1030 515, 603, 0, 506, 0, 0, 518, 0, 102, 97,
1031 0, 152, 519, 522, 0, 498, 0, 100, 0, 400,
1032 398, 795, 761, 156, 156, 607, 156, 795, 761, 547,
1033 78, 547, 84, 838, 837, 801, 801, 801, 0, 0,
1034 0, 0, 601, 0, 0, 0, 0, 365, 0, 0,
1035 0, 285, 0, 283, 284, 0, 224, 159, 257, 602,
1036 603, 258, 259, 0, 0, 425, 454, 0, 251, 250,
1037 753, 752, 0, 248, 247, 245, 246, 244, 243, 242,
1038 239, 240, 241, 237, 238, 232, 233, 234, 235, 236,
1039 230, 231, 0, 0, 0, 0, 217, 205, 221, 0,
1040 0, 204, 547, 547, 0, 547, 544, 641, 0, 0,
1041 0, 0, 0, 310, 0, 314, 0, 316, 0, 650,
1042 649, 646, 645, 791, 0, 0, 665, 0, 0, 795,
1043 340, 795, 652, 547, 761, 551, 651, 647, 0, 0,
1044 547, 0, 0, 0, 0, 0, 261, 149, 142, 140,
1045 149, 0, 457, 0, 456, 189, 188, 187, 186, 407,
1046 0, 0, 24, 0, 25, 621, 0, 46, 43, 44,
1047 0, 39, 0, 0, 651, 647, 0, 782, 547, 785,
1048 787, 0, 783, 784, 45, 463, 0, 139, 149, 149,
1049 137, 17, 19, 388, 126, 114, 127, 128, 0, 107,
1050 110, 0, 0, 0, 0, 677, 671, 421, 0, 105,
1051 556, 553, 767, 781, 770, 0, 554, 766, 780, 769,
1052 765, 794, 777, 788, 778, 771, 776, 797, 0, 392,
1053 570, 569, 391, 489, 0, 488, 792, 792, 792, 0,
1054 547, 761, 514, 507, 519, 508, 400, 400, 504, 505,
1055 502, 503, 547, 761, 257, 602, 0, 387, 98, 510,
1056 520, 525, 526, 387, 387, 0, 0, 387, 96, 511,
1057 523, 387, 499, 500, 501, 400, 0, 450, 77, 0,
1058 0, 0, 0, 83, 0, 795, 761, 795, 761, 803,
1059 802, 804, 262, 294, 200, 202, 300, 301, 0, 0,
1060 0, 0, 284, 287, 0, 0, 0, 0, 225, 0,
1061 288, 290, 0, 0, 0, 0, 206, 223, 0, 0,
1062 638, 636, 0, 639, 551, 212, 0, 0, 156, 317,
1063 0, 0, 0, 648, 644, 655, 547, 664, 662, 663,
1064 653, 795, 0, 660, 0, 599, 600, 0, 306, 147,
1065 149, 149, 145, 543, 541, 445, 0, 406, 404, 257,
1066 0, 22, 628, 47, 42, 49, 53, 650, 646, 651,
1067 647, 0, 563, 0, 547, 652, 51, 135, 133, 0,
1068 112, 0, 116, 0, 118, 0, 120, 0, 728, 0,
1069 179, 679, 0, 672, 673, 0, 422, 651, 647, 0,
1070 279, 0, 597, 789, 0, 0, 798, 799, 0, 0,
1071 389, 0, 0, 0, 491, 490, 483, 795, 0, 509,
1072 418, 418, 795, 0, 0, 0, 400, 400, 0, 400,
1073 400, 0, 400, 0, 418, 0, 438, 547, 264, 263,
1074 265, 547, 80, 0, 86, 0, 0, 0, 0, 0,
1075 0, 428, 0, 426, 228, 249, 219, 218, 216, 207,
1076 0, 220, 222, 637, 635, 642, 640, 0, 213, 0,
1077 0, 309, 313, 315, 795, 658, 547, 659, 143, 141,
1078 442, 0, 409, 411, 650, 646, 568, 652, 113, 111,
1079 0, 0, 0, 0, 416, 0, 0, 257, 602, 603,
1080 680, 693, 696, 699, 704, 0, 0, 0, 0, 0,
1081 0, 258, 725, 730, 0, 749, 0, 688, 0, 0,
1082 365, 0, 667, 686, 692, 666, 687, 726, 0, 674,
1083 423, 0, 600, 779, 773, 774, 772, 0, 796, 393,
1084 0, 486, 487, 481, 93, 547, 513, 517, 95, 547,
1085 400, 400, 534, 418, 257, 602, 0, 521, 527, 528,
1086 387, 387, 418, 418, 0, 418, 524, 512, 0, 795,
1087 795, 547, 547, 0, 0, 0, 0, 427, 0, 0,
1088 208, 209, 643, 318, 263, 661, 795, 0, 115, 117,
1089 119, 735, 729, 733, 0, 675, 670, 182, 742, 744,
1090 745, 0, 0, 684, 0, 0, 0, 711, 713, 714,
1091 715, 0, 0, 0, 743, 0, 336, 750, 0, 689,
1092 334, 387, 0, 335, 0, 387, 0, 0, 0, 180,
1093 669, 668, 690, 724, 723, 284, 800, 390, 795, 795,
1094 533, 530, 532, 0, 0, 400, 400, 400, 529, 531,
1095 516, 440, 0, 439, 434, 76, 82, 795, 795, 296,
1096 297, 298, 299, 429, 0, 210, 657, 410, 0, 734,
1097 417, 171, 0, 681, 694, 683, 0, 0, 0, 0,
1098 0, 707, 0, 716, 0, 722, 731, 0, 332, 333,
1099 0, 0, 0, 331, 181, 684, 92, 94, 400, 400,
1100 539, 418, 418, 0, 0, 452, 79, 85, 546, 0,
1101 736, 178, 0, 365, 0, 684, 0, 697, 685, 671,
1102 747, 700, 0, 0, 0, 0, 712, 721, 0, 0,
1103 691, 538, 536, 535, 537, 437, 436, 430, 67, 70,
1104 0, 0, 0, 172, 387, 682, 183, 695, 185, 0,
1105 748, 0, 746, 705, 709, 708, 732, 754, 0, 0,
1106 435, 740, 741, 737, 400, 671, 169, 0, 0, 175,
1107 0, 174, 684, 0, 0, 0, 755, 756, 717, 433,
1108 0, 432, 0, 184, 0, 698, 701, 706, 710, 0,
1109 754, 0, 0, 431, 176, 170, 0, 0, 0, 718,
1110 757, 0, 0, 758, 0, 0, 177, 702, 759, 0,
1111 719, 0, 0, 0, 703, 760, 720, 0, 0, 0
1114 static const short yydefgoto[] = { 1548,
1115 408, 2, 409, 159, 669, 310, 164, 3, 4, 37,
1116 633, 352, 737, 374, 39, 738, 384, 644, 898, 645,
1117 646, 647, 41, 42, 420, 167, 163, 43, 739, 753,
1118 1017, 759, 1019, 45, 740, 741, 168, 169, 421, 672,
1119 930, 931, 613, 932, 217, 46, 920, 919, 660, 657,
1120 1082, 1081, 881, 878, 134, 918, 47, 48, 528, 311,
1121 312, 313, 314, 1247, 1499, 1404, 1501, 1443, 1532, 1122,
1122 1478, 1496, 346, 870, 315, 1190, 825, 565, 832, 316,
1123 317, 347, 319, 337, 50, 235, 376, 397, 51, 52,
1124 320, 523, 321, 322, 323, 324, 422, 325, 1248, 461,
1125 587, 326, 1249, 54, 200, 650, 327, 201, 501, 202,
1126 180, 193, 58, 444, 462, 1271, 706, 1140, 181, 194,
1127 59, 472, 707, 60, 61, 629, 630, 631, 1226, 427,
1128 796, 797, 1469, 1470, 1436, 1384, 1299, 62, 617, 340,
1129 1167, 1385, 1038, 884, 63, 64, 65, 66, 221, 67,
1130 68, 69, 223, 724, 725, 726, 727, 225, 469, 470,
1131 745, 746, 747, 990, 1000, 991, 1288, 992, 993, 1289,
1132 1290, 614, 615, 566, 860, 329, 430, 431, 174, 182,
1133 71, 72, 73, 183, 184, 151, 75, 130, 330, 331,
1134 332, 77, 333, 79, 729, 121, 122, 123, 477, 103,
1135 80, 334, 837, 838, 855, 590, 1252, 1253, 1123, 1124,
1136 1125, 676, 1254, 937, 1255, 1332, 1446, 1407, 1408, 1256,
1137 1257, 1426, 1333, 1447, 1334, 1480, 1335, 1482, 1527, 1542,
1138 1336, 1503, 1456, 1504, 1413, 423, 673, 1224, 1258, 1346,
1139 1459, 1323, 1324, 1399, 1473, 1445, 1441, 1259, 1452, 1349,
1140 803, 1506, 1507, 1508, 1540, 692, 693, 957, 1136, 1267,
1141 694, 695, 696, 953, 697, 144, 955, 699, 1138, 1139,
1145 static const short yypact[] = { 96,
1146 195,-32768,-32768, 5576,-32768, 23, 47, 205, 282, 116,
1147 166,-32768,-32768, 1516,-32768, 189, 215, 233,-32768,-32768,
1148 -32768, 624, 1171, 994, 174,-32768, 184, 329,-32768, 1291,
1149 1291,-32768, 4184,-32768, 5576, 248,-32768, 328, 81, 5836,
1150 -32768,-32768, 272, 1031, 371, 352, 368,-32768,-32768,-32768,
1151 -32768, 300, 1751,-32768, 4327,-32768, 1925, 606,-32768, 417,
1152 -32768,-32768, 779,-32768,-32768, 392,-32768,-32768, 409, 4293,
1153 -32768,-32768,-32768, 923,-32768,-32768,-32768, 1163,-32768,-32768,
1154 319, 7614, 387,-32768,-32768, 9017,-32768, 9017,-32768, 9017,
1155 -32768,-32768,-32768, 205, 282, 184, 421, 405, 428, 368,
1156 -32768, 795,-32768, 319, 9017, 9017, 424,-32768,-32768,-32768,
1157 -32768,-32768, 197, 492, 381, 403, 539, 500, 516,-32768,
1158 -32768, 1124,-32768, 476, 205, 282, 1429, 184, 421,-32768,
1159 357, 1634, 474, 10242, 9017,-32768, 9017, 3516,-32768, 1310,
1160 360, 3516,-32768, 845, 3693, 3693, 4184, 468, 471, 491,
1161 532, 549,-32768,-32768, 651,-32768, 560,-32768, 3960, 23,
1162 -32768,-32768,-32768, 603, 417, 680, 111, 404, 659,-32768,
1163 -32768, 611, 175,-32768,-32768, 4084, 4084, 4711, 923, 644,
1164 -32768,-32768, 359,-32768,-32768, 2254,-32768,-32768,-32768,-32768,
1165 -32768, 1925, 710,-32768, 417, 923,-32768,-32768,-32768, 2089,
1166 1925,-32768, 417,-32768, 4739,-32768,-32768,-32768,-32768,-32768,
1167 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 368, 1227, 1082,
1168 392,-32768,-32768,-32768,-32768,-32768, 1351, 319,-32768, 563,
1169 1527,-32768, 251,-32768,-32768,-32768,-32768,-32768, 4212,-32768,
1170 -32768, 416,-32768, 643, 648,-32768,-32768,-32768,-32768, 684,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1172 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1173 -32768,-32768, 646,-32768,-32768, 1351, 4293, 890,-32768,-32768,
1174 674,-32768,-32768, 9625, 9711, 9797, 9797,-32768,-32768,-32768,
1175 -32768,-32768, 687, 703, 723, 735, 747, 421, 9103, 845,
1176 9797,-32768,-32768, 9797,-32768,-32768, 9797, 7092,-32768, 9797,
1177 79, 765,-32768, 9797,-32768, 9189,-32768, 10651,-32768, 1587,
1178 1298, 9275,-32768, 820, 2141,-32768, 1861, 2029, 10335,-32768,
1179 259,-32768, 1768, 2209, 79, 79, 9017, 10242,-32768, 845,
1180 697, 845,-32768,-32768, 720, 775, 10584, 730, 751, 769,
1181 1873, 560,-32768, 1429,-32768,-32768,-32768,-32768,-32768,-32768,
1182 492, 381, 403, 845, 539, 500, 799, 516,-32768, 827,
1183 -32768, 205, 282, 830,-32768,-32768,-32768, 1634,-32768,-32768,
1184 -32768,-32768,-32768, 5089,-32768,-32768, 4739, 10544, 2149,-32768,
1185 79, 650,-32768, 495,-32768,-32768,-32768, 3516,-32768,-32768,
1186 3516,-32768, 788,-32768,-32768, 4212, 54, 802, 814,-32768,
1187 -32768,-32768, 651,-32768, 417,-32768,-32768,-32768,-32768, 136,
1188 -32768,-32768,-32768,-32768, 7183, 9103,-32768,-32768,-32768, 9103,
1189 793,-32768, 6540, 100, 4453,-32768, 4453,-32768, 4546, 4546,
1190 4711, 813,-32768, 417, 4739,-32768, 823,-32768,-32768, 4648,
1191 2089, 1925, 4739,-32768, 417,-32768,-32768, 417, 2089,-32768,
1192 909,-32768,-32768, 368,-32768, 1227,-32768, 2351, 1705, 56,
1193 1351, 417,-32768,-32768, 869, 871, 902, 891,-32768,-32768,
1194 -32768,-32768, 989,-32768, 264, 853, 856,-32768,-32768, 1351,
1195 -32768,-32768, 682,-32768,-32768, 9017, 9103, 674, 7092,-32768,
1196 444, 7092,-32768,-32768,-32768, 9017, 4911, 4911, 4911, 4911,
1197 10629,-32768,-32768,-32768,-32768, 861, 9883, 9883, 7092, 863,
1198 468, 864, 915, 867,-32768,-32768,-32768,-32768, 9017,-32768,
1199 6722, 7092,-32768, 9103, 9103, 7274, 9103, 9103, 9103, 9103,
1200 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103,
1201 9103, 9103, 9103, 9103, 9103,-32768,-32768,-32768,-32768,-32768,
1202 9103, 9103,-32768,-32768, 3090, 489, 551, 7974,-32768,-32768,
1203 -32768, 927, 1527, 970, 469, 475, 493, 1785, 360,-32768,
1204 454, 454,-32768, 5298, 878, 901, 962,-32768,-32768, 427,
1205 8472, 858,-32768, 812, 319,-32768,-32768, 9103,-32768,-32768,
1206 -32768,-32768,-32768, 89, 387,-32768,-32768, 79,-32768, 4739,
1207 2405,-32768, 948, 961,-32768,-32768, 845, 799,-32768, 7706,
1208 7797,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 113,-32768,
1209 929, 921, 560, 973, 983, 9017,-32768,-32768,-32768,-32768,
1210 1188, 174, 1009, 152, 988, 990,-32768,-32768, 2783, 10297,
1211 2783, 2555, 779, 5228,-32768, 995,-32768,-32768,-32768,-32768,
1212 -32768,-32768,-32768,-32768, 952,-32768, 1001,-32768,-32768, 272,
1213 80, 200, 1003, 915,-32768,-32768,-32768,-32768, 5722, 10629,
1214 -32768, 775, 969, 10584,-32768,-32768, 971,-32768, 972, 369,
1215 3338, 975,-32768, 190, 10060, 1017, 1020, 503,-32768,-32768,
1216 -32768, 4453, 4453,-32768, 4648,-32768, 1033,-32768,-32768, 992,
1217 100,-32768, 2089,-32768,-32768, 417,-32768, 381, 403,-32768,
1218 1006,-32768, 516, 1041,-32768,-32768, 121,-32768,-32768, 1284,
1219 -32768, 999, 485,-32768, 9103, 3453,-32768, 3453, 278, 278,
1220 135, 511, 3359, 10115, 4809,-32768, 126, 278, 1043, 417,
1221 -32768, 100, 10487, 9017, 9017,-32768, 9017, 100, 10487,-32768,
1222 -32768,-32768,-32768,-32768,-32768, 920, 920, 920, 79, 1002,
1223 1004, 9367, 962, 1008, 1010, 1012, 1042, 3242, 1046, 1047,
1224 1049,-32768, 1024,-32768,-32768, 1026,-32768,-32768, 1078, 356,
1225 749, 170, 63, 9103, 1080,-32768, 1084, 1037, 10629, 10629,
1226 -32768,-32768, 1086, 3084, 5372, 4500, 4604, 1948, 3842, 4235,
1227 2445, 2445, 2445, 1239, 1239, 1443, 1443, 707, 707, 707,
1228 -32768,-32768, 1048, 1038, 9103, 9017,-32768, 489,-32768, 7183,
1229 9103,-32768,-32768,-32768, 9103,-32768,-32768, 1063, 9797, 1053,
1230 1071, 1103, 1132,-32768, 9103,-32768, 9103,-32768, 9103, 2727,
1231 -32768, 2727,-32768, 88, 1074, 1077,-32768, 1075, 4911, 100,
1232 -32768, 100, 4056,-32768, 10487, 1076, 8656, 8656, 6032, 1087,
1233 9189, 1089, 2282, 2209, 859, 1093,-32768,-32768,-32768,-32768,
1234 -32768, 9103, 845, 1085, 961,-32768, 10629,-32768, 10629, 1873,
1235 1095, 9453,-32768, 1096,-32768,-32768, 79,-32768,-32768, 1641,
1236 5089,-32768, 4911, 9017, 2001, 2001, 6141,-32768,-32768,-32768,
1237 -32768, 2254,-32768,-32768,-32768, 255, 9103,-32768,-32768,-32768,
1238 -32768,-32768,-32768,-32768, 492,-32768, 539, 500, 9103, 1139,
1239 -32768, 531, 537, 595, 915,-32768, 48,-32768, 35,-32768,
1240 -32768,-32768,-32768,-32768,-32768, 8564,-32768,-32768,-32768,-32768,
1241 -32768,-32768,-32768, 1020, 1144,-32768,-32768,-32768, 4911,-32768,
1242 -32768,-32768, 1145,-32768, 9017,-32768,-32768,-32768,-32768, 1014,
1243 -32768, 10487, 10629,-32768, 1090,-32768, 417, 417,-32768,-32768,
1244 -32768,-32768,-32768, 10487, 507, 792, 9103, 909,-32768, 1151,
1245 -32768,-32768,-32768, 398, 652, 1163, 360, 706, 278, 1154,
1246 -32768, 767,-32768,-32768,-32768, 417, 4992,-32768,-32768, 1107,
1247 79, 79, 79,-32768, 1108, 100, 10487, 100, 10487,-32768,
1248 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1128, 1141,
1249 1146, 1147, 952,-32768, 5946, 7183, 6816, 1138,-32768, 9103,
1250 -32768,-32768, 1140, 1142, 1148, 4911,-32768,-32768, 1149, 199,
1251 614, 614, 1143, 614,-32768,-32768, 9797, 1253, 9017,-32768,
1252 1157, 1160, 1164,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768, 100, 1165,-32768, 1169,-32768,-32768, 2491,-32768,-32768,
1254 -32768,-32768,-32768, 10629,-32768,-32768, 1162,-32768,-32768, 128,
1255 1166,-32768,-32768,-32768,-32768,-32768,-32768, 2390, 2390, 2463,
1256 2463, 6141,-32768, 2254,-32768, 3175, 10651,-32768,-32768, 1168,
1257 -32768, 200,-32768, 9103,-32768, 9103,-32768, 9103,-32768, 845,
1258 -32768,-32768, 6353, 1257,-32768, 6907,-32768, 8748, 8748, 6446,
1259 77, 1178, 238,-32768, 7183, 6998,-32768,-32768, 142, 7183,
1260 -32768, 1193, 1196, 2351,-32768,-32768,-32768, 100, 1197,-32768,
1261 1247, 1247, 100, 1219, 9103, 9103, 10406, 417, 3714, 417,
1262 417, 936, 417, 3813, 1247, 5460,-32768,-32768,-32768, 1275,
1263 -32768,-32768,-32768, 1223,-32768, 1225, 9103, 9103, 9103, 9103,
1264 7183,-32768, 1273,-32768,-32768, 10629,-32768,-32768,-32768, 419,
1265 1148,-32768,-32768,-32768,-32768,-32768,-32768, 1233,-32768, 1302,
1266 79,-32768,-32768,-32768, 100,-32768,-32768,-32768,-32768,-32768,
1267 -32768, 9103,-32768,-32768, 2390, 2390,-32768, 3175,-32768,-32768,
1268 1242, 1249, 1254, 1267,-32768, 759, 155, 1312, 817, 844,
1269 -32768,-32768,-32768,-32768,-32768, 9103, 1314, 1317, 1318, 8840,
1270 214, 509,-32768,-32768, 8931, 1371, 1321,-32768, 4420, 10183,
1271 10352, 6243,-32768,-32768, 1366,-32768,-32768,-32768, 8083,-32768,
1272 -32768, 1277, 377,-32768,-32768,-32768,-32768, 4911,-32768,-32768,
1273 7183,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1274 10406, 10406,-32768, 1247, 593, 934, 9103,-32768,-32768,-32768,
1275 909, 909, 1247, 1247, 989, 1247,-32768,-32768, 5896, 100,
1276 100,-32768,-32768, 1278, 1280, 1285, 1286,-32768, 7183, 9103,
1277 -32768, 419,-32768,-32768,-32768,-32768, 100, 1287,-32768,-32768,
1278 -32768,-32768, 1267,-32768, 845,-32768,-32768,-32768,-32768,-32768,
1279 -32768, 597, 597, 915, 1290, 1304, 10384,-32768,-32768,-32768,
1280 -32768, 1340, 9103, 1343,-32768, 915,-32768,-32768, 1319,-32768,
1281 -32768, 909, 781,-32768, 785, 909, 9539, 829, 165,-32768,
1282 -32768,-32768,-32768,-32768,-32768, 274,-32768,-32768, 100, 100,
1283 -32768,-32768,-32768, 9103, 9103, 10406, 417, 417,-32768,-32768,
1284 -32768,-32768, 7888,-32768,-32768,-32768,-32768, 100, 100,-32768,
1285 -32768,-32768,-32768,-32768, 1296,-32768,-32768,-32768, 1320,-32768,
1286 -32768,-32768, 9017,-32768,-32768,-32768, 1394, 8379, 6631, 9017,
1287 9103,-32768, 8191,-32768, 1354,-32768,-32768, 651,-32768,-32768,
1288 9969, 9969, 7365,-32768,-32768, 915,-32768,-32768, 10406, 10406,
1289 -32768, 1247, 1247, 1315, 10539, 1324,-32768,-32768,-32768, 10500,
1290 -32768,-32768, 1316, 627, 4739, 915, 8285,-32768,-32768, 48,
1291 -32768,-32768, 1365, 1322, 10607, 8191,-32768,-32768, 1267, 74,
1292 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 371, 272,
1293 1329, 1332, 915,-32768, 909,-32768,-32768,-32768,-32768, 604,
1294 -32768, 7456,-32768,-32768,-32768,-32768, 1267, 1430, 1382, 150,
1295 -32768,-32768,-32768,-32768, 417, 48,-32768, 9103, 1384,-32768,
1296 1385,-32768, 915, 8191, 1353, 590, 1391,-32768,-32768,-32768,
1297 136,-32768, 1387,-32768, 1347,-32768,-32768,-32768,-32768, 9103,
1298 1430, 1396, 1430,-32768,-32768,-32768, 7547, 1350, 591,-32768,
1299 -32768, 7183, 1352,-32768, 1448, 1402,-32768,-32768,-32768, 178,
1300 -32768, 8285, 1453, 1409,-32768,-32768,-32768, 1472, 1475,-32768
1303 static const short yypgoto[] = {-32768,
1304 1476,-32768, -313,-32768, 1067, 18, 10, 1478,-32768, 350,
1305 -32768,-32768, 562, 1130,-32768, 8,-32768,-32768, -601,-32768,
1306 -32768, 581,-32768, 1333, -664, 19, -660, 1336, 64,-32768,
1307 -32768,-32768,-32768,-32768, 755,-32768,-32768,-32768,-32768,-32768,
1308 -32768, 389, 1718,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1309 -32768,-32768,-32768,-32768, 1413, -639, 5081, 60, -126, -62,
1310 1369, -495,-32768, 58,-32768, 176,-32768, -1305,-32768, -761,
1311 -32,-32768, 1361, 732, -213, 322, -509,-32768, -793, 3493,
1312 414, 1065, 3507, 1236, -307, -74, -9, 570, -70, 208,
1313 -32768,-32768,-32768, -309,-32768, -151,-32768,-32768, -1171, -37,
1314 -321, 1870, 57, 1134, -152, 40, 94, -186, -4, -168,
1315 -900, 279,-32768, 33, -110,-32768, -229,-32768,-32768,-32768,
1316 -32768,-32768, 212, 2459, -14,-32768, 638,-32768,-32768, -1006,
1317 -361, 857,-32768,-32768,-32768,-32768,-32768, -52,-32768,-32768,
1318 -32768,-32768,-32768, 654, -371,-32768,-32768,-32768,-32768,-32768,
1319 -32768,-32768, 1325,-32768, 391, 567,-32768,-32768,-32768,-32768,
1320 538, -682,-32768,-32768,-32768,-32768,-32768,-32768, 803,-32768,
1321 384, 937, 668, 1015, 3222, 7, 17, -417, 1370, 1885,
1322 -439,-32768, 6,-32768, 4950, -143, 566, -65, 3794, 1230,
1323 -32768, 4464, 1839, 129, -8, -105,-32768, 1437, -63,-32768,
1324 4081, 2623, -293,-32768, 2343,-32768,-32768, 312,-32768,-32768,
1325 442, 75, -397,-32768,-32768,-32768,-32768, -1311,-32768, -1146,
1326 -1329,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1327 -32768,-32768,-32768,-32768,-32768, 85,-32768,-32768,-32768,-32768,
1328 -32768, 110, -1247,-32768,-32768, -58,-32768,-32768,-32768,-32768,
1329 -1349, 50,-32768, 68,-32768, -645, -496, 633,-32768,-32768,
1330 -32768,-32768, -383,-32768, -366, -111,-32768, 924, 324,-32768,
1335 #define YYLAST 10735
1338 static const short yytable[] = { 57,
1339 655, 399, 402, 407, 204, 452, 592, 236, 935, 923,
1340 70, 40, 653, 36, 120, 179, 478, 656, 371, 101,
1341 921, 35, 677, 278, 602, 335, 601, 336, 728, 710,
1342 57, 457, 460, 788, 1047, 57, 138, 142, 632, 451,
1343 471, 70, 40, 55, 36, 207, 70, 40, 459, 36,
1344 192, 915, 35, 974, 826, 976, 379, 35, 370, 1453,
1345 53, 377, 1003, 681, 570, 227, 382, 44, 173, 236,
1346 500, 503, 391, 1347, 55, 1400, 165, 276, 1449, 55,
1347 1120, 328, 84, 328, 570, 328, 240, 856, 277, 490,
1348 570, 53, 749, 1126, 856, -1, 53, 56, 44, 943,
1349 328, 328, 533, 44, 1454, 1362, 229, 1010, 481, 343,
1350 468, 417, 1365, 1015, 1461, 236, 136, 1479, 191, 605,
1351 86, 380, 381, -276, -125, 786, 288, 968, 56, 389,
1352 328, 85, 328, 56, 1476, 1488, 674, 233, 157, 204,
1353 70, 490, 26, 1127, 1277, 1278, 944, 204, 204, 945,
1354 1510, 398, 401, 526, 57, 527, 1121, 969, 1298, 979,
1355 698, 667, 345, 349, 750, 70, 173, 858, -328, -276,
1356 -276, 890, 418, 388, 204, 275, 1502, 1533, 158, 773,
1357 207, 1489, 435, 437, -269, 1004, 1212, 924, 207, 91,
1358 387, 1518, 980, 675, -2, 787, 981, 386, 55, 173,
1359 1268, 948, 925, 718, 719, 419, 238, -328, 606, 607,
1360 901, 418, 1479, 92, 1327, 53, 93, 108, 109, 1073,
1361 891, 432, 44, 204, 1327, 715, 902, 56, 455, 982,
1362 238, -124, 933, 240, 1005, 1213, 1543, 1451, 1080, 1400,
1363 150, 1083, 751, 135, 419, 580, 926, 133, 949, 1269,
1364 575, 950, 56, 26, 353, 927, 928, 135, 87, 238,
1365 354, 671, 567, 1328, 661, 662, 1457, 433, 238, 110,
1366 111, 900, 227, 1425, 608, 204, 936, 1373, 88, 1108,
1367 1109, 105, 457, 460, -591, 1544, 1379, 1380, 377, 1381,
1368 457, 772, 929, 1343, 602, 399, 402, 479, 1094, 713,
1369 635, 485, 460, 328, 15, 597, 1193, 106, -387, 1486,
1370 762, 655, 640, -43, 238, 576, 276, 1046, -43, 894,
1371 -278, 460, 8, 9, 227, 107, 1149, 277, 954, -43,
1372 -591, -591, 328, 611, 708, 89, 204, -387, 1154, 240,
1373 155, -387, 714, 480, 70, -591, -551, 238, 1353, 658,
1374 1358, 598, 150, 150, 150, 90, 763, 1519, 478, 280,
1375 372, 373, 10, 125, 126, 520, -278, -278, 639, 592,
1376 238, 1174, 856, 1176, 128, 129, 414, 388, 162, 652,
1377 943, -272, 136, 192, 154, 150, -387, 156, -278, 161,
1378 654, 643, -551, 172, 610, 166, 1311, 21, 204, 204,
1379 207, 609, 137, -278, 231, -551, 204, -278, 1097, 87,
1380 856, 170, 27, 298, 275, 128, 129, -122, 204, 8,
1381 483, 171, -337, -278, 15, 1464, 1465, 944, 691, 88,
1382 945, 56, -791, 769, 356, -278, -278, 204, -278, 654,
1383 -278, 1209, 1210, 207, 32, 702, 703, 18, 1075, 856,
1384 424, -551, 447, 222, 88, -337, 357, 125, 126, -337,
1385 279, 238, 13, 342, 57, 829, 224, 425, 1048, -278,
1386 -278, 128, 129, 864, 136, 70, 90, 651, 114, 115,
1387 116, 877, 830, 1003, -278, 341, 736, 685, 125, 126,
1388 580, 328, -337, 716, 328, 484, 426, 328, 125, 126,
1389 580, 328, 778, 778, 778, 778, 567, 26, 744, 128,
1390 129, 831, 1310, 339, 328, 844, 351, 655, 1396, 865,
1391 866, 846, 238, 581, 328, 743, 651, 328, 742, 653,
1392 728, 117, 118, 582, 656, 829, 772, 1119, 26, 848,
1393 128, 129, 342, 583, 457, 355, 584, 585, 383, 958,
1394 128, 129, 830, 359, 125, 126, 520, 983, 204, 520,
1395 276, 845, 56, 775, 602, 38, 601, 847, 1155, 360,
1396 1345, 277, 879, 897, 484, -269, 520, 1113, 404, 652,
1397 86, 831, 135, 1115, 172, 849, 691, 850, 852, 520,
1398 654, 490, 358, 802, 238, 959, 38, 654, 152, 204,
1399 240, 38, 149, 984, 26, 856, 128, 129, 964, 473,
1400 966, 908, 135, 913, 914, 970, 89, 125, 126, 824,
1401 833, 238, 481, 1114, 371, 840, 93, 108, 109, 1116,
1402 834, 328, 120, 856, 198, 199, 90, 1198, 204, 405,
1403 14, 1117, 1023, 1402, 835, 192, 150, 150, 150, 227,
1404 1497, 1521, 1535, 914, 1374, 474, -586, 533, 275, 605,
1405 204, 283, 20, 934, 205, 206, 86, 26, -7, 128,
1406 129, 23, 933, 580, 1182, 1184, -338, 651, 15, 110,
1407 111, 112, 416, 833, 651, 125, 126, 1118, 1481, 1403,
1408 652, 1011, 1012, 834, 1013, 413, 1498, 1522, 1536, 504,
1409 505, 654, 445, 446, 728, 989, 238, 835, 529, -338,
1410 152, 152, 152, -338, 513, 400, 403, 514, 428, 772,
1411 515, 429, 238, 525, 526, 204, 527, 530, 773, 342,
1412 -101, 57, 15, 57, 1514, 569, 486, 128, 129, 192,
1413 57, 487, 70, 152, 70, 488, -338, 149, 652, 328,
1414 328, 70, 328, 736, 652, 736, 489, 1194, 1195, 654,
1415 1197, 232, 736, -101, 1184, 654, 497, -101, 453, 454,
1416 1093, 977, 978, 1264, 1266, 744, 507, 744, 1270, 506,
1417 1006, 93, 94, 95, 744, 208, 209, 210, 651, 554,
1418 555, -99, 743, 15, 975, 742, 508, 742, 8, 9,
1419 -101, 743, 89, 742, 742, 616, 988, 998, 509, 1491,
1420 -123, 1020, 1021, 1022, 211, 8, 9, 1325, 1326, 1308,
1421 510, 328, 90, 529, -99, 1511, 1050, 619, -99, 56,
1422 570, 56, 26, 620, 96, 97, 212, 622, 56, 445,
1423 1419, 236, 342, 453, 1420, 87, 651, 93, 108, 109,
1424 128, 129, 651, 1156, 778, 1144, 1145, 1146, 623, 342,
1425 652, -99, 8, 9, 691, 88, -547, 128, 129, -547,
1426 87, 654, 636, 850, 852, 654, 624, 522, 1330, 240,
1427 637, 213, 214, 215, 1169, 1170, 1171, 445, 1424, 638,
1428 88, 232, 1053, 125, 126, 665, 652, 89, 778, 328,
1429 110, 111, 652, 686, 861, 1331, 342, 654, 643, 1368,
1430 -6, 1098, 1099, 654, 128, 129, -547, 90, -547, -547,
1431 704, -547, 668, 125, 126, 236, 520, 963, 481, 773,
1432 513, 514, -547, 709, -547, 15, 1406, 989, 484, 125,
1433 1295, 691, 754, 26, 755, 128, 129, 1394, 1417, 15,
1434 -547, -547, 654, -387, 778, 756, 399, 402, 651, 491,
1435 328, 1008, 651, 764, 757, -547, 765, 652, 782, 492,
1436 784, 785, 675, 26, 787, 128, 129, 843, 654, 652,
1437 841, -387, -387, 342, 399, 402, -387, 87, 857, 491,
1438 654, 128, 129, 859, 651, 1375, 1201, 125, 126, 492,
1439 651, 238, 57, 238, 152, 152, 152, 88, 861, 400,
1440 403, 882, 652, 70, 652, 484, 114, 718, 719, 883,
1441 1158, 892, 1142, 654, 736, 654, 1160, 1161, 1406, 893,
1442 1158, 1163, 895, 236, 1161, 760, 896, 127, 988, 651,
1443 238, 778, 89, 721, 20, 971, 744, 26, 1406, 128,
1444 129, 903, 89, 904, 328, 233, 655, 15, 917, -272,
1445 922, -387, 90, 743, 418, 651, 742, 26, 522, 117,
1446 118, 522, 90, 1472, 1315, 1494, 940, 651, 941, 942,
1447 -790, 761, 947, 956, 93, 94, 95, 400, 783, -387,
1448 -387, 972, 985, 986, 9, 10, 960, 652, 965, 967,
1449 56, 522, 961, 934, 1007, 1406, 1215, 1216, 654, 1024,
1450 651, 1025, 651, 677, 150, 1026, 1029, 1027, 1251, 1028,
1451 1030, 1031, 773, 1032, 238, 691, 361, 362, 363, 70,
1452 21, 1033, 1246, 1034, 1215, 1216, 654, 96, 97, -121,
1453 1245, 1036, 1037, 26, 1039, 27, 28, 1040, 1042, 1150,
1454 318, 987, 318, 150, 318, 1041, 1055, 683, 1058, 176,
1455 872, 57, 1250, 1057, 689, 7, 8, 230, 10, 177,
1456 1537, 364, 70, 114, 115, 116, 1059, 32, 1060, 365,
1457 366, 1066, 178, 736, 1067, 1068, 1074, 520, 1151, 1152,
1458 361, 362, 363, 1086, 1076, 651, 1077, 1112, 204, 318,
1459 1079, 318, 1089, 21, 1092, 744, 238, 1135, 1141, 1159,
1460 231, 1352, 1164, 1352, 1168, 1172, 56, 1165, 27, 28,
1461 1177, 485, 743, 651, 26, 742, 117, 118, 770, 93,
1462 94, 95, 238, 1178, 1304, 1305, 1306, 1307, 1179, 1180,
1463 1251, 26, 232, 365, 366, 192, 1185, 1251, 1187, 1188,
1464 32, 70, 1056, 1196, 1251, 1189, 1192, 490, 70, 56,
1465 1200, 1246, 1245, 778, 1202, 70, 1460, 1203, 1246, 1245,
1466 1211, 1204, 1207, 1214, 342, 1219, 1245, 399, 402, 1208,
1467 513, 514, 96, 97, 1250, 1263, 114, 718, 719, 1120,
1468 238, 1250, 823, 7, 125, 126, 10, 1342, 1250, 13,
1469 1272, 8, 9, 1273, 1276, 12, 13, 150, 150, 150,
1470 425, 14, 7, 125, 126, 10, 549, 550, 551, 552,
1471 553, 554, 555, 1377, 1378, 16, 1280, 17, -628, 876,
1472 1302, 21, 1303, 20, 1309, 150, 150, 150, 56, 117,
1473 118, 872, 23, 1313, 26, 56, 27, 28, 1314, 1319,
1474 21, 26, 56, 128, 129, 563, 1320, 231, 198, 199,
1475 30, 1321, 1322, 511, 14, 27, 28, 1395, 1283, 1284,
1476 31, 1293, 1294, 1329, 1296, 1338, 1339, 1340, 32, 1348,
1477 1350, 1363, 1409, 33, 1366, 1390, 20, 1391, 455, 232,
1478 564, 204, 1392, 1393, 1398, 23, 1410, 32, 1444, 1414,
1479 1415, 318, 1416, 1251, 1251, 1444, 1439, 1475, 1251, 277,
1480 1448, 1418, 1440, 1458, 70, 70, 277, 1246, 328, 70,
1481 1468, 1466, 1246, 1474, 1483, 1245, 1245, 702, 703, 1484,
1482 1245, 280, 372, 373, 10, 652, 1492, 400, 783, 1493,
1483 1505, 1509, 1251, 1516, 1517, 1520, 654, 1250, 1250, 1523,
1484 1525, 1251, 1250, 70, 1526, 1530, 1246, 1534, 1539, 1538,
1485 1442, 1541, 70, 1546, 1245, 1246, 802, 1442, 1547, 21,
1486 1199, 1549, 152, 1245, 1550, 1, 149, 1444, 670, 5,
1487 520, 1095, 26, 634, 27, 298, 1250, 1490, 277, 680,
1488 684, 411, 1371, 1372, 412, 1250, 275, 684, 999, 1251,
1489 1220, 56, 56, 275, 338, 392, 56, 1495, 1405, 1545,
1490 70, 152, 1312, 1246, 496, 1132, 32, 649, 93, 94,
1491 95, 1245, 551, 552, 553, 554, 555, 1088, 1355, 93,
1492 108, 109, 475, 651, 1274, 939, 1147, 1251, 1087, 1442,
1493 56, 513, 514, 1250, 1166, 467, 1001, 1297, 70, 56,
1494 1085, 1246, 448, 885, 577, 1515, 1043, 1044, 369, 1245,
1495 318, 684, 1049, 1361, 150, 1260, 649, 21, 1487, 26,
1496 1529, 96, 97, 98, 1512, 275, 1061, 1528, 1062, 828,
1497 1063, 1250, 110, 111, 802, 1524, 1134, 1431, 1432, 1433,
1498 1531, 1367, 0, 318, 0, 680, 0, 56, 799, 800,
1499 0, 804, 805, 806, 807, 808, 809, 810, 811, 812,
1500 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
1501 0, 0, 0, 1091, 0, 684, 0, 0, 150, 150,
1502 150, 0, 0, 556, 962, 56, 280, 372, 373, 10,
1503 1462, 1463, 0, 93, 108, 109, 0, 208, 209, 210,
1504 0, 0, 0, 0, 0, 684, 0, 0, 525, 0,
1505 1110, 0, 684, 0, 0, 152, 152, 152, 0, 0,
1506 400, 403, 557, 558, 21, 1009, 211, 559, 560, 561,
1507 562, 1014, 0, 0, 887, 889, 0, 0, 0, 27,
1508 298, 0, 0, 152, 152, 152, 110, 111, 400, 1262,
1509 318, 0, 0, 0, 0, 731, 1513, 7, 8, 732,
1510 10, 385, 12, 13, 0, 0, 0, 649, 14, 0,
1511 0, 32, 0, 0, 649, 0, 0, 0, 0, 0,
1512 0, 99, 16, 0, 17, 18, 19, 0, 0, 113,
1513 20, -494, 0, 680, 0, 21, 0, 0, 0, 23,
1514 733, 0, 642, 7, 8, 9, 10, 0, 26, 0,
1515 27, 28, 0, 0, 734, 0, 735, 0, 0, 0,
1516 280, 8, 9, 10, 30, 0, 0, 0, 0, 0,
1517 216, 0, 0, 1069, 31, 1070, 682, 280, 125, 126,
1518 10, 21, 32, 682, 0, 0, 0, 33, 0, 973,
1519 0, 0, 0, 0, 26, 0, 27, 28, 21, 0,
1520 175, 0, 0, -494, 0, 231, 0, 0, 318, 318,
1521 176, 318, 0, 27, 298, 21, 0, 0, 649, 0,
1522 177, 0, 231, 0, 513, 514, 684, 0, 32, 367,
1523 27, 298, 78, 178, 0, 1221, 0, 1222, 0, 1223,
1524 0, 0, 102, 0, 0, 32, 0, 682, 1035, 0,
1525 0, 396, 131, 0, 125, 126, 0, 0, 140, 140,
1526 0, 140, 32, 78, 0, 93, 108, 109, 78, 625,
1527 626, 627, 0, 0, 0, 0, 649, 0, 0, 684,
1528 684, 186, 649, 78, 680, 684, 0, 0, 0, 0,
1529 0, 219, 0, 0, 0, 0, 0, 580, 102, 684,
1530 0, 684, 0, 684, 26, 0, 128, 129, 0, 242,
1531 102, 682, 152, 0, 0, 0, 1132, 0, 110, 111,
1532 581, 197, 198, 199, 0, 0, 463, 465, 14, 1173,
1533 582, 1175, 102, 1318, 0, 0, 1084, 0, 476, 0,
1534 583, 682, 0, 584, 585, 18, 684, 0, 682, 0,
1535 20, 0, 0, 0, 0, 131, 0, 0, 318, 23,
1536 131, 0, 78, 0, 348, 350, 140, 0, 0, 394,
1537 140, 1107, 0, 140, 140, 140, 152, 152, 152, 0,
1538 0, 400, 1262, 684, 0, 1206, 0, 78, 649, 0,
1539 0, 0, 649, 7, 8, 9, 10, 0, 0, 13,
1540 684, 0, 0, 0, 186, 186, 186, 512, 542, 543,
1541 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1542 554, 555, 125, 126, 649, 0, 198, 199, 0, 0,
1543 649, 21, 14, 186, 0, 0, 0, 580, 0, 0,
1544 0, 1157, 0, 0, 26, 0, 27, 28, 466, 618,
1545 436, 438, 442, 0, 20, 0, 102, 0, 628, 0,
1546 905, 1275, 0, 23, 0, 580, 1279, 140, 0, 649,
1547 906, 618, 26, 0, 128, 129, 0, 0, 32, 0,
1548 583, 0, 0, 907, 585, 456, 198, 199, 581, 0,
1549 680, 680, 14, 0, 1186, 649, 0, 0, 582, 0,
1550 0, 0, 0, 0, 0, 102, 493, 649, 583, 18,
1551 0, 591, 585, 318, 20, 0, 0, 0, 1316, 0,
1552 0, 0, 682, 23, 0, 0, 0, 0, 0, 0,
1553 0, 571, 0, 280, 372, 373, 10, 0, 572, 0,
1554 649, 0, 649, 0, 0, 197, 198, 199, 0, 102,
1555 0, 0, 14, 578, 0, 493, 493, 594, 0, 0,
1556 0, 0, 0, 0, 0, 0, 78, 524, 684, 18,
1557 684, 21, 684, 717, 20, 682, 682, 0, 573, 0,
1558 680, 682, 131, 23, 26, 0, 27, 298, 0, 680,
1559 680, 0, 0, 0, 680, 682, 0, 682, 659, 682,
1560 0, 599, 8, 9, 10, 0, 131, 0, 0, 1281,
1561 1282, 0, 102, 1386, 1387, 186, 102, 0, 574, 0,
1562 0, 0, 0, 0, 0, 649, 140, 0, 0, 140,
1563 1397, 0, 0, 0, 140, 680, 288, 600, 795, 21,
1564 0, 0, 682, 648, 0, 0, 7, 8, 9, 10,
1565 0, 0, 26, 649, 128, 129, 0, 0, 0, 0,
1566 0, 0, 0, 186, 0, 186, 684, 186, 186, 186,
1567 0, 0, 0, 186, 280, 8, 9, 10, 186, 682,
1568 842, 186, 1427, 1428, 21, 0, 0, 0, 0, 0,
1569 1337, 231, 690, 0, 0, 0, 682, 78, 0, 27,
1570 28, 1437, 1438, 0, 0, 0, 0, 0, 0, 700,
1571 0, 701, 21, 436, 438, 442, 0, 0, 0, 231,
1572 0, 0, 0, 232, 712, 680, 0, 27, 298, 0,
1573 0, 32, 0, 0, 0, 102, 102, 102, 102, 0,
1574 0, 1376, 0, 114, 718, 719, 0, 720, 899, 0,
1575 0, 232, 0, 0, 0, 0, 0, 0, 771, 32,
1576 916, 774, 0, 680, 0, 776, 777, 779, 780, 781,
1577 721, 0, 0, 0, 0, 0, 0, 722, 524, 0,
1578 0, 0, 7, 8, 9, 10, 795, 0, 226, 0,
1579 0, 798, 0, 102, 26, 493, 117, 118, 0, 0,
1580 0, 197, 198, 199, 0, 0, 0, 578, 14, 493,
1581 493, 684, 594, 0, 0, 0, 0, 0, 0, 873,
1582 21, 0, 0, 875, 0, 18, 580, 0, 1429, 1430,
1583 20, 0, 0, 26, 0, 27, 28, 1435, 186, 23,
1584 0, 0, 0, 854, 0, 0, 0, 0, 0, 905,
1585 854, 0, 0, 0, 880, 7, 8, 9, 10, 906,
1586 0, 13, 0, 0, 682, 1455, 682, 32, 682, 583,
1587 0, 0, 907, 585, 0, 0, 0, 186, 912, 186,
1588 186, 219, 594, 280, 8, 9, 10, 0, 0, 0,
1589 0, 0, 0, 21, 0, 0, 0, 0, 0, 580,
1590 0, 0, 0, 195, 0, 203, 26, 0, 27, 28,
1591 547, 548, 549, 550, 551, 552, 553, 554, 555, 186,
1592 0, 21, 1100, 912, 0, 0, 0, 0, 231, 0,
1593 186, 186, 1101, 186, 0, 0, 27, 298, 0, 0,
1594 32, 0, 583, 0, 0, 1102, 585, 7, 8, 9,
1595 10, 197, 198, 199, 648, 0, 0, 0, 14, 0,
1596 484, 131, 682, 649, 78, 0, 78, 0, 32, 0,
1597 0, 996, 78, 78, 0, 18, 700, 701, 0, 712,
1598 20, 102, 0, 0, 0, 21, 680, 102, 0, 23,
1599 0, 580, 0, 0, 493, 493, 493, 628, 26, 0,
1600 27, 28, 0, 0, 0, 0, 493, 899, 0, 0,
1601 0, 0, 690, 415, 905, 0, 81, 994, 690, 0,
1602 0, 0, 0, 0, 906, 0, 104, 0, 0, 0,
1603 0, 0, 32, 0, 583, 124, 132, 907, 585, 0,
1604 203, 0, 141, 141, 0, 141, 0, 81, 458, 203,
1605 0, 0, 81, 0, 0, 0, 0, 0, 0, 589,
1606 593, 596, 0, 0, 0, 141, 0, 81, 0, 0,
1607 0, 0, 0, 0, 0, 220, 0, 0, 493, 0,
1608 493, 0, 228, 0, 0, 1045, 0, 102, 0, 0,
1609 0, 493, 0, 102, 228, 873, 873, 873, 0, 0,
1610 0, 0, 1078, 0, 0, 0, 0, 682, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 798, 0,
1612 125, 126, 0, 0, 690, 226, 0, 0, 854, 102,
1613 0, 102, 0, 186, 186, 1104, 0, 0, 0, 378,
1614 0, 0, 0, 0, 1183, 0, 81, 0, 0, 0,
1615 141, 0, 0, 0, 141, 0, 0, 141, 141, 141,
1616 648, 0, 1096, 580, 0, 0, 854, 0, 0, 0,
1617 26, 81, 128, 129, 1104, 7, 8, 9, 10, 436,
1618 438, 442, 0, 0, 0, 0, 581, 102, 141, 141,
1619 141, 0, 0, 0, 0, 0, 582, 0, 0, 0,
1620 102, 0, 0, 996, 0, 854, 583, 0, 0, 584,
1621 585, 0, 102, 21, 0, 0, 0, 141, 1137, 580,
1622 442, 0, 0, 0, 1143, 1162, 26, 1225, 27, 28,
1623 0, 690, 0, 1183, 0, 78, 195, 203, 0, 0,
1624 0, 0, 905, 690, 0, 102, 0, 102, 0, 994,
1625 0, 141, 906, 0, 0, 0, 0, 0, 0, 0,
1626 32, 0, 583, 0, 0, 907, 585, 0, 0, 0,
1627 0, 0, 0, 0, 102, 0, 690, 0, 690, 493,
1628 493, 0, 493, 0, 0, 0, 0, 0, 0, 228,
1629 141, 0, 415, 0, 0, 0, 0, 0, 0, 458,
1630 203, 0, 0, 415, 0, 1191, 0, 458, 0, 0,
1631 0, 0, 0, 851, 853, 0, 0, 0, 0, 0,
1632 415, 0, 0, 0, 0, 0, 186, 186, 186, 186,
1633 1104, 0, 0, 228, 186, 0, 0, 579, 0, 141,
1634 141, 595, 0, 0, 0, 0, 604, 0, 1344, 0,
1635 81, 0, 0, 0, 0, 0, 1104, 1104, 1104, 0,
1636 0, 854, 0, 0, 0, 0, 378, 0, 0, 0,
1637 0, 0, 700, 701, 436, 438, 442, 0, 0, 0,
1638 712, 910, 0, 589, 593, 0, 596, 186, 0, 854,
1639 0, 0, 140, 0, 78, 0, 228, 0, 0, 141,
1640 228, 0, 436, 438, 442, 0, 0, 0, 0, 0,
1641 141, 0, 0, 141, 0, 0, 0, 0, 141, 0,
1642 0, 0, 0, 593, 0, 0, 0, 0, 0, 0,
1643 0, 0, 1401, 1291, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 186, 186, 0, 186, 141, 0, 141,
1645 0, 141, 141, 141, 0, 0, 0, 141, 0, 203,
1646 0, 0, 141, 0, 0, 141, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 186, 912, 186,
1648 730, 81, 0, 8, 9, 0, 0, 12, 13, 700,
1649 701, 0, 712, 14, 0, 0, 102, 0, 195, 0,
1650 203, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1651 593, 0, 0, 0, 0, 20, 0, 0, 0, 228,
1652 228, 228, 228, 0, 23, 0, 0, 1137, 0, 0,
1653 0, 0, 0, 26, 0, 128, 129, 0, 0, 203,
1654 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1655 548, 549, 550, 551, 552, 553, 554, 555, 0, 0,
1656 0, 458, 0, 0, 415, 0, 0, 7, 8, 9,
1657 10, 0, 827, 481, 0, 0, 0, 228, 0, 141,
1658 0, 0, 1064, 0, 1065, 1104, 0, 0, 0, 0,
1659 0, 0, 195, 141, 141, 1071, 595, 0, 415, 851,
1660 853, 0, 0, 874, 0, 21, 0, 0, 0, 0,
1661 0, 580, 0, 0, 0, 0, 604, 0, 26, 0,
1662 27, 28, 141, 0, 0, 0, 0, 0, 0, 0,
1663 0, 442, 0, 0, 905, 125, 126, 851, 853, 198,
1664 199, 0, 0, 0, 906, 14, 0, 0, 0, 1104,
1665 1104, 1104, 32, 124, 583, 0, 0, 907, 585, 0,
1666 0, 141, 595, 141, 141, 220, 595, 20, 102, 0,
1667 0, 0, 0, 186, 0, 0, 23, 0, 580, 0,
1668 0, 0, 524, 0, 730, 26, 0, 128, 129, 0,
1669 0, 239, 0, 0, 0, 436, 438, 442, 0, 648,
1670 0, 581, 0, 141, 0, 0, 0, 595, 0, 0,
1671 0, 582, 0, 0, 141, 141, 0, 141, 0, 0,
1672 0, 583, 0, 0, 584, 585, 0, 0, 0, 0,
1673 7, 8, 9, 10, 197, 198, 199, 0, 0, 0,
1674 0, 14, 0, 0, 0, 132, 0, 0, 81, 0,
1675 81, 985, 986, 9, 10, 997, 81, 81, 18, 0,
1676 0, 0, 0, 20, 406, 228, 0, 0, 21, 0,
1677 0, 228, 23, 0, 580, 0, 0, 0, 141, 141,
1678 141, 26, 0, 27, 28, 434, 0, 0, 0, 21,
1679 141, 0, 0, 0, 0, 0, 0, 905, 450, 0,
1680 0, 0, 26, 0, 27, 28, 0, 906, 0, 0,
1681 987, 0, 0, 0, 0, 32, 0, 583, 176, 0,
1682 946, 585, 0, 0, 0, 415, 415, 0, 177, 0,
1683 1064, 1065, 851, 853, 0, 0, 32, 0, 1071, 0,
1684 0, 178, 0, 731, 0, 7, 8, 732, 10, 385,
1685 12, 13, 0, 0, 415, 0, 14, 0, 0, 0,
1686 851, 853, 141, 0, 141, 0, 0, 0, 0, 0,
1687 16, 228, 17, 18, 19, 141, 0, 228, 20, 874,
1688 874, 874, 0, 21, 0, 0, 604, 23, 733, 0,
1689 642, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1690 49, 0, 734, 0, 735, 0, 0, 0, 7, 125,
1691 126, 10, 30, 228, 226, 228, 0, 141, 141, 595,
1692 0, 0, 31, 0, 0, 0, 49, 49, 0, 148,
1693 32, 49, 0, 0, 0, 33, 49, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 21, 1064, 1065, 49,
1695 1071, 49, 0, 0, 0, 0, 0, 0, 874, 26,
1696 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1697 0, 228, 0, 0, 234, 30, 0, 0, 0, 0,
1698 0, 0, 730, 0, 228, 31, 0, 997, 0, 0,
1699 0, 0, 0, 32, 0, 0, 228, 0, 33, 0,
1700 0, 0, 0, 0, 0, 415, 415, 0, 415, 415,
1701 0, 415, 0, 0, 0, 0, 0, 0, 0, 81,
1702 0, 0, 0, 375, 0, 0, 0, 375, 375, 228,
1703 49, 228, 0, 0, 49, 0, 234, 0, 49, 0,
1704 0, 148, 148, 148, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 705, 49, 0, 0, 228, 711,
1706 0, 0, 0, 141, 141, 0, 141, 0, 0, 0,
1707 0, 0, 49, 49, 148, 0, 0, 0, 0, 0,
1708 0, 0, 234, 0, 752, 7, 125, 126, 10, 0,
1709 758, 13, 0, 0, 0, 0, 0, 0, 195, 203,
1710 0, 49, 766, 767, 0, 768, 1285, 1286, 9, 10,
1711 141, 141, 141, 141, 595, 0, 0, 0, 141, 0,
1712 0, 0, 0, 21, 730, 0, 0, 0, 0, 415,
1713 415, 0, 0, 0, 0, 49, 26, 0, 27, 28,
1714 874, 874, 874, 0, 21, 0, 0, 0, 0, 0,
1715 0, 0, 145, 0, 0, 0, 730, 26, 0, 27,
1716 28, 0, 146, 0, 0, 1287, 0, 0, 0, 0,
1717 32, 141, 0, 176, 0, 147, 141, 0, 81, 0,
1718 0, 0, 0, 177, 0, 0, 0, 76, 0, 0,
1719 0, 32, 0, 0, 0, 0, 178, 0, 862, 863,
1720 0, 0, 0, 862, 521, 1285, 125, 126, 10, 586,
1721 586, 586, 0, 76, 76, 0, 76, 0, 76, 0,
1722 0, 375, 0, 76, 415, 415, 415, 141, 141, 234,
1723 141, 0, 0, 0, 49, 0, 76, 0, 76, 0,
1724 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1725 375, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1726 0, 141, 595, 141, 1287, 0, 0, 0, 0, 0,
1727 0, 0, 30, 0, 375, 0, 0, 415, 415, 0,
1728 228, 0, 31, 49, 0, 0, 0, 0, 0, 0,
1729 32, 0, 0, 0, 49, 33, 0, 49, 0, 0,
1730 0, 0, 49, 543, 544, 545, 546, 547, 548, 549,
1731 550, 551, 552, 553, 554, 555, 0, 76, 0, 0,
1732 0, 76, 0, 0, 0, 76, 0, 0, 76, 76,
1733 76, 49, 0, 49, 0, 148, 148, 148, 0, 0,
1734 0, 49, 76, 415, 0, 0, 49, 0, 0, 49,
1735 6, 0, 7, 8, 9, 10, 11, 12, 13, 76,
1736 76, 76, 0, 14, 0, 49, 0, 0, 0, 874,
1737 0, 1016, 0, 1018, 0, 0, 0, 16, 0, 17,
1738 18, 0, 0, 0, 0, 20, 0, 0, 76, 0,
1739 21, 0, 0, 0, 23, 521, 0, 410, 521, 0,
1740 0, 0, 0, 26, 0, 27, 28, 0, 0, 29,
1741 0, 0, 0, 521, 521, 521, 0, 0, 0, 30,
1742 0, 0, 76, 0, 0, 0, 0, 0, 521, 31,
1743 0, 0, 0, 874, 874, 874, 0, 32, 0, 0,
1744 0, 0, 33, 0, 1051, 1052, 0, 1054, 0, 125,
1745 126, 0, 228, 0, 481, 0, 0, 141, 0, 0,
1746 0, 0, 0, 586, 586, 0, 586, 0, 0, 0,
1747 0, 0, 0, 871, 234, 1072, 7, 8, 9, 10,
1748 0, 0, 13, 0, 0, 0, 0, 521, 0, 0,
1749 0, 0, 580, 0, 0, 0, 0, 0, 0, 26,
1750 0, 128, 129, 153, 0, 0, 49, 0, 0, 0,
1751 0, 0, 0, 0, 21, 581, 0, 603, 0, 0,
1752 1106, 76, 0, 187, 0, 582, 0, 26, 0, 27,
1753 28, 586, 0, 586, 586, 583, 586, 0, 584, 585,
1754 0, 0, 0, 176, 0, 49, 49, 49, 49, 0,
1755 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
1756 0, 32, 0, 0, 0, 0, 178, 0, 0, 0,
1757 76, 0, 0, 586, 0, 0, 7, 125, 126, 10,
1758 0, 76, 1148, 0, 76, 0, 0, 49, 0, 76,
1759 0, 49, 0, 0, 1153, 0, 0, 0, 49, 49,
1760 0, 49, 0, 0, 7, 125, 126, 10, 0, 0,
1761 481, 0, 0, 0, 21, 153, 153, 153, 76, 0,
1762 76, 0, 76, 76, 76, 0, 0, 26, 76, 27,
1763 28, 0, 49, 76, 49, 0, 76, 0, 0, 49,
1764 49, 49, 21, 145, 0, 0, 187, 187, 443, 0,
1765 0, 0, 76, 146, 0, 26, 0, 27, 28, 0,
1766 586, 32, 0, 0, 0, 0, 147, 0, 521, 0,
1767 0, 30, 0, 0, 0, 187, 0, 0, 1205, 0,
1768 0, 31, 0, 0, 0, 0, 8, 9, 0, 32,
1769 12, 226, 0, 0, 33, 0, 14, 544, 545, 546,
1770 547, 548, 549, 550, 551, 552, 553, 554, 555, 0,
1771 16, 0, 17, 0, 0, 0, 1218, 0, 20, 7,
1772 8, 9, 10, 188, 12, 189, 0, 23, 0, 0,
1773 14, 0, 586, 0, 586, 0, 26, 0, 128, 129,
1774 0, 0, 0, 0, 16, 586, 17, 18, 494, 871,
1775 871, 871, 20, 0, 0, 0, 0, 21, 0, 0,
1776 0, 23, 603, 521, 521, 521, 0, 0, 0, 234,
1777 26, 0, 27, 28, 0, 0, 190, 0, 0, 1300,
1778 0, 0, 0, 1301, 0, 0, 30, 586, 586, 586,
1779 0, 0, 0, 76, 0, 0, 31, 588, 588, 588,
1780 0, 49, 49, 148, 32, 0, 0, 0, 234, 33,
1781 0, 0, 7, 8, 9, 10, 0, 0, 1317, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 871, 0,
1783 0, 0, 76, 76, 76, 76, 0, 0, 0, 0,
1784 0, 0, 1131, 0, 0, 7, 8, 9, 10, 0,
1785 21, 226, 0, 0, 0, 0, 0, 187, 0, 0,
1786 0, 0, 0, 26, 0, 27, 28, 0, 0, 1351,
1787 0, 49, 0, 0, 76, 0, 0, 0, 76, 176,
1788 0, 0, 0, 21, 0, 76, 76, 1369, 76, 177,
1789 0, 1370, 234, 0, 0, 0, 26, 32, 27, 28,
1790 0, 0, 178, 49, 0, 187, 185, 187, 0, 443,
1791 443, 443, 176, 1388, 1389, 187, 0, 0, 0, 76,
1792 187, 76, 177, 187, 0, 0, 76, 76, 76, 0,
1793 32, 237, 0, 0, 241, 178, 0, 0, 7, 8,
1794 9, 10, 0, 0, 13, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 237, 0, 344, 540, 541,
1796 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1797 552, 553, 554, 555, 234, 0, 21, 0, 0, 0,
1798 586, 586, 586, 586, 586, 0, 0, 0, 586, 26,
1799 0, 27, 28, 0, 49, 49, 148, 148, 148, 0,
1800 234, 0, 49, 0, 0, 439, 0, 0, 0, 0,
1801 871, 871, 871, 0, 0, 440, 0, 0, 0, 0,
1802 0, 0, 0, 32, 1131, 1131, 1131, 0, 441, 185,
1803 185, 185, 0, 0, 0, 0, 0, 836, 0, 449,
1804 7, 8, 9, 10, 0, 0, 481, 0, 0, 0,
1805 0, 588, 588, 0, 588, 49, 0, 603, 185, 0,
1806 49, 588, 49, 541, 542, 543, 544, 545, 546, 547,
1807 548, 549, 550, 551, 552, 553, 554, 555, 21, 0,
1808 187, 241, 0, 0, 0, 0, 0, 0, 76, 76,
1809 76, 26, 0, 27, 28, 237, 0, 586, 586, 0,
1810 586, 0, 0, 7, 8, 9, 10, 176, 0, 0,
1811 0, 49, 49, 0, 49, 0, 0, 177, 0, 909,
1812 0, 909, 909, 0, 588, 32, 0, 0, 0, 1133,
1813 178, 7, 8, 9, 10, 0, 0, 0, 0, 0,
1814 0, 21, 0, 0, 0, 49, 49, 49, 0, 0,
1815 0, 0, 0, 0, 26, 0, 27, 28, 76, 0,
1816 0, 909, 0, 0, 0, 0, 0, 0, 0, 21,
1817 439, 0, 187, 187, 0, 187, 0, 0, 0, 0,
1818 440, 0, 26, 0, 27, 28, 237, 241, 32, 0,
1819 76, 0, 0, 441, 0, 0, 0, 0, 176, 731,
1820 0, 7, 8, 732, 10, 385, 12, 13, 177, 0,
1821 0, 0, 14, 187, 0, 0, 32, 0, 0, 0,
1822 0, 178, 0, 0, 0, 0, 16, 0, 17, 18,
1823 19, 0, 0, 0, 20, -495, 494, 494, 494, 21,
1824 185, 0, 0, 23, 733, 0, 642, 0, 588, 0,
1825 0, 0, 26, 1131, 27, 28, 0, 0, 734, 0,
1826 735, 0, 0, 0, 0, 0, 0, 0, 30, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
1828 0, 76, 76, 76, 76, 76, 32, 0, 185, 76,
1829 185, 33, 185, 185, 185, 0, 0, 0, 185, 0,
1830 0, 0, 0, 185, 8, 9, 185, -495, 12, 13,
1831 0, 1133, 1133, 1133, 14, 0, 0, 1131, 1131, 1131,
1832 588, 0, 588, 0, 0, 0, 0, 0, 16, 0,
1833 17, 0, 0, 588, 0, 0, 20, 588, 588, 588,
1834 0, 49, 76, 74, 0, 23, 0, 76, 0, 76,
1835 0, 0, 0, 0, 26, 0, 128, 129, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 139,
1837 143, 0, 0, 0, 74, 909, 909, 1105, 0, 74,
1838 0, 0, 731, 0, 7, 8, 732, 10, 385, 12,
1839 13, 0, 0, 0, 196, 14, 0, 0, 76, 76,
1840 0, 76, 0, 0, 0, 0, 0, 0, 0, 16,
1841 0, 17, 18, 19, 0, 0, 1105, 20, -497, 0,
1842 0, 0, 21, 0, 0, 0, 23, 733, 0, 642,
1843 0, 0, 76, 76, 76, 26, 0, 27, 28, 0,
1844 0, 734, 0, 735, 0, 187, 0, 237, 241, 0,
1845 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 31, 0, 185, 0, 0, 0, 0, 0, 32,
1847 0, 0, 0, 390, 33, 0, 0, 393, 0, 0,
1848 0, 395, 8, 9, 100, 385, 12, 13, 0, 0,
1849 -497, 0, 14, 119, 100, 0, 0, 0, 74, 0,
1850 100, 100, 185, 100, 185, 185, 16, 0, 17, 18,
1851 0, 0, 0, 0, 20, 139, 143, 0, 0, 0,
1852 0, 836, 836, 641, 836, 0, 642, 0, 0, 0,
1853 0, 0, 26, 218, 128, 129, 0, 0, 0, 0,
1854 1133, 0, 0, 0, 185, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 185, 185, 0, 185, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 909, 909,
1857 1105, 1105, 1105, 0, 0, 0, 909, 0, 482, 0,
1858 0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
1859 0, 0, 368, 0, 119, 0, 185, 100, 1105, 1105,
1860 1105, 100, 100, 0, 1133, 1133, 1133, 0, 100, 0,
1861 100, 100, 100, 0, 0, 100, 100, 100, 0, 0,
1862 -359, 8, 9, -359, -359, 12, 226, 0, 76, 187,
1863 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 16, 0, 17, -359, 0,
1865 0, 0, 0, 20, 0, 0, 0, 0, -359, 0,
1866 0, 0, 23, 0, 580, 0, 0, 0, 0, 0,
1867 0, 26, 0, 128, 129, 0, 0, 612, 0, 0,
1868 0, 0, 0, 0, 0, 909, 909, 581, 909, 464,
1869 100, 8, 9, 0, 385, 12, 13, 582, 0, 688,
1870 0, 14, 0, 0, 0, -359, 0, 583, 0, 100,
1871 584, 585, 0, 0, 0, 16, 0, 17, 18, 187,
1872 0, 187, 0, 20, 0, 0, 237, 241, 237, 0,
1873 0, 0, 23, 0, 580, 0, 0, 663, 0, 0,
1874 664, 26, 0, 128, 129, 666, 0, 0, 100, 0,
1875 0, 0, 0, 0, 0, 0, 0, 581, 185, 185,
1876 1103, 0, 0, 0, 0, 237, 0, 582, 0, 0,
1877 0, 0, 0, 0, 393, 0, 395, 583, 0, 0,
1878 584, 585, 0, 0, 0, 0, 0, 0, 0, 482,
1879 0, 0, 0, 0, 0, 100, 0, 100, 100, 1103,
1880 0, 0, 0, 0, 0, 0, 0, 0, 748, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 100, 0, 0, 443, 185, 539,
1883 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1884 550, 551, 552, 553, 554, 555, 0, 0, 100, 449,
1885 731, 0, 7, 8, 732, 10, 385, 12, 13, 0,
1886 0, 0, 0, 14, 100, 0, 0, 0, 100, 0,
1887 0, 100, 0, 0, 0, 0, 100, 16, 0, 17,
1888 18, 19, 0, 0, 0, 20, -496, 0, 0, 0,
1889 21, 443, 443, 443, 23, 733, 0, 642, 0, 0,
1890 0, 0, 0, 26, 0, 27, 28, 0, 0, 734,
1891 0, 735, 0, 0, 0, 187, 0, 0, 0, 30,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
1893 0, 237, 0, 0, 0, 0, 100, 32, 723, 0,
1894 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
1895 0, 185, 185, 185, 185, 1103, 0, 1217, -496, 185,
1896 0, 0, 0, 100, 0, 0, 6, 0, 7, 8,
1897 9, 10, 11, 12, 13, 0, 0, 0, 0, 14,
1898 0, 1103, 1103, 1103, 0, 0, 0, 0, 0, 911,
1899 0, 0, 15, 16, 0, 17, 18, 19, 0, 0,
1900 0, 20, 0, 0, 0, 0, 21, 0, 0, 22,
1901 23, 24, 185, 25, 0, 0, 0, 0, 0, 26,
1902 0, 27, 28, 0, 0, 29, 0, 0, 0, 0,
1903 0, 0, 0, 0, 952, 30, 0, 100, 0, 0,
1904 0, 663, 664, 0, 666, 31, 0, 0, 100, 100,
1905 0, 100, 100, 32, 0, 0, 0, 0, 33, 0,
1906 0, 0, 0, 34, 0, 0, 0, 0, 185, 185,
1907 0, 185, 0, 0, 0, 748, 0, 748, 0, 0,
1908 0, 0, 995, 1002, 748, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 185, 0, 185, 0, 0, 0, 0, 0,
1911 0, 119, 678, 0, 789, 790, 791, 10, 0, 12,
1912 498, 282, 283, 218, 284, 14, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1914 285, 17, 723, 19, 0, 286, 287, 20, 0, 288,
1915 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
1916 293, 294, 295, 296, 297, 26, 0, 792, 793, 679,
1917 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
1918 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
1919 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
1920 723, 0, 0, 100, 308, 794, 0, 0, 0, 0,
1921 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 938, 309, 0, 0, 0, 0, 160, 0, 7, 8,
1923 9, 10, 11, 12, 13, 0, 100, 100, 100, 14,
1924 0, 0, 0, 0, 139, 143, 0, 0, 100, 0,
1925 0, 0, 15, 16, 0, 17, 18, 19, 0, 0,
1926 0, 20, 0, 0, 0, 0, 21, 0, 0, 22,
1927 23, 24, 0, 25, 1103, 1103, 1103, 0, 0, 26,
1928 0, 27, 28, 0, 0, 29, 1382, 0, -451, -451,
1929 -451, -451, -451, -451, -451, 30, 0, -451, 185, -451,
1930 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1931 -451, 0, -451, 32, 995, 0, -451, 0, 33, 0,
1932 100, -451, 100, 34, 0, 0, -451, 0, 0, 0,
1933 -451, 0, -451, 100, 0, 0, 0, 0, 0, -451,
1934 0, -451, -451, -451, -451, -451, 748, -451, -451, -451,
1935 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
1936 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
1937 0, -451, -451, -451, 0, -451, -451, -451, -451, -451,
1938 -451, 0, -451, 0, 0, 0, 0, 1383, 0, 0,
1939 0, 0, -451, -451, -451, 0, -451, 0, 534, 535,
1940 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
1941 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1942 0, 0, 516, 0, 280, 8, 9, 10, 385, 12,
1943 281, 282, 283, 688, 284, 14, 0, 393, 395, 0,
1944 723, 0, 0, 0, 0, 482, 1181, 0, 0, 16,
1945 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
1946 289, 290, 21, 291, 292, 0, 23, 100, 580, 0,
1947 293, 294, 295, 296, 297, 26, 0, 27, 298, -286,
1948 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
1949 0, 867, 0, 0, 0, 0, 0, 0, 1292, 302,
1950 303, 868, 0, 1292, 0, 748, 0, 305, 306, 307,
1951 0, 583, 0, 0, 869, 585, 0, 0, 0, 0,
1952 0, 100, 100, 0, 100, 0, 0, 0, 0, 0,
1953 0, 309, 0, 7, 8, 9, 10, 385, 12, 13,
1954 0, 0, 688, 0, 14, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 663, 664, 0, 666, 16, 0,
1956 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
1957 0, 21, 0, 0, 0, 23, 0, 580, 0, 0,
1958 0, 0, 723, 0, 26, 0, 27, 28, 0, 1356,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 1101, 0, 0, 0, 723, 0, 0, 0, 32, 0,
1962 583, 0, 0, 1102, 585, 0, 0, 0, 0, 0,
1963 0, 0, 100, 1359, 100, 1228, 1229, 1230, 10, 385,
1964 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
1965 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
1966 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1967 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1968 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
1969 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
1970 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
1971 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
1972 307, 0, 0, 0, 0, 308, 0, 1244, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 1360, 309, 1227, 0, 1228, 1229, 1230, 10, 385,
1975 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
1976 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
1977 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1978 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1979 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
1980 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
1981 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
1982 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
1983 307, 0, 0, 0, 0, 308, 516, 1244, 7, 8,
1984 9, 10, 385, 12, 281, 282, 283, 688, 284, 14,
1985 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 16, 285, 17, 18, 19, 0, 286,
1987 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
1988 23, 0, 580, 0, 293, 294, 295, 296, 297, 26,
1989 0, 27, 28, -286, 0, 0, 299, 0, 0, 0,
1990 0, 0, 300, 0, 0, 1128, 0, 0, 0, 0,
1991 0, 0, 0, 302, 303, 1129, 0, 0, 0, 0,
1992 0, 305, 306, 307, 0, 583, 0, 0, 1130, 585,
1993 687, 0, 280, 8, 9, 10, 385, 12, 281, 282,
1994 283, 688, 284, 14, 0, 309, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
1996 18, 19, 0, 286, 287, 20, 0, 288, 289, 290,
1997 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
1998 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
1999 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2000 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2001 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2002 0, 801, 308, 280, 8, 9, 10, 385, 12, 281,
2003 282, 283, 0, 284, 14, 0, 0, -761, 0, 309,
2004 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2005 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2006 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2007 294, 295, 296, 297, 26, 0, 27, 298, 1450, 0,
2008 -751, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2009 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2010 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2011 0, 0, 678, 308, 789, 790, 791, 10, 0, 12,
2012 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2013 309, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2014 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2015 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2016 293, 294, 295, 296, 297, 26, 0, 792, 793, 679,
2017 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2018 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2019 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2020 0, 0, 0, 0, 308, 794, 678, 0, 789, 790,
2021 791, 10, 0, 12, 498, 282, 283, 0, 284, 14,
2022 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2024 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2025 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2026 0, 792, 793, 679, 0, 0, 299, 0, 0, 0,
2027 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2028 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2029 0, 305, 306, 307, 0, 0, 0, 678, 308, 789,
2030 790, 791, 10, 0, 12, 498, 282, 283, 0, 284,
2031 14, 0, 0, 0, -455, 309, 0, 0, 0, 0,
2032 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2033 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2034 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2035 26, 0, 792, 793, 679, 0, 0, 299, 0, 0,
2036 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2037 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2038 0, 0, 305, 306, 307, 0, 0, 0, 678, 308,
2039 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2040 284, 14, 0, 0, 0, 1261, 309, 0, 0, 0,
2041 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2042 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2043 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2044 297, 26, 0, 27, 298, 679, 0, 0, 299, 0,
2045 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2046 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2047 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2048 308, 0, 516, 0, 280, 8, 9, 10, 1265, 12,
2049 281, 282, 283, 0, 284, 14, 0, 309, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2051 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2052 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2053 293, 294, 295, 296, 297, 26, 0, 27, 298, -286,
2054 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2055 0, 517, 0, 0, 0, 0, 0, 0, 0, 302,
2056 303, 518, 0, 0, 0, 0, 0, 305, 306, 307,
2057 0, 0, 0, 678, 519, 280, 8, 9, 10, 0,
2058 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2059 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2060 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2061 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2062 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2063 679, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2064 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2065 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2066 307, 0, 0, 0, 801, 308, 280, 8, 9, 10,
2067 0, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2068 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2069 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2070 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2071 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2072 298, 0, 0, 0, 299, -751, 0, 0, 0, 0,
2073 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2074 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2075 306, 307, 0, 0, 0, 516, 308, 7, 8, 9,
2076 10, 0, 12, 281, 282, 283, 0, 284, 14, 0,
2077 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2078 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2079 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2080 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2081 27, 28, -286, 0, 0, 299, 0, 0, 0, 0,
2082 0, 300, 0, 0, 1421, 0, 0, 0, 0, 0,
2083 0, 0, 302, 303, 1422, 0, 0, 0, 0, 0,
2084 305, 306, 307, 0, 0, 0, 1500, 1423, 280, 8,
2085 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2086 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2087 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2088 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2089 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2090 0, 27, 298, 0, 0, -173, 299, 0, 0, 0,
2091 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2092 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2093 0, 305, 306, 307, 0, 0, 0, 801, 308, 280,
2094 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2095 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2096 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2097 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2098 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2099 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2100 0, 0, 0, 300, 243, 0, 301, 8, 9, 0,
2101 0, 12, 13, 0, 302, 303, 304, 14, 0, 0,
2102 0, 0, 305, 306, 307, 0, 0, 0, 0, 308,
2103 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2104 0, 244, 245, 0, -751, 0, 309, 0, 23, 0,
2105 246, 0, 0, 0, 0, 0, 0, 26, 0, 128,
2106 129, 0, 247, 0, 0, 0, 248, 249, 250, 251,
2107 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2108 262, 263, 264, 265, 266, 267, 268, 0, 0, 269,
2109 270, 271, 0, 0, 272, 0, 886, 273, 280, 8,
2110 9, 10, 0, 12, 498, 282, 283, 0, 284, 14,
2111 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2113 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2114 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2115 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2116 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2117 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2118 0, 305, 306, 307, 0, 0, 0, 888, 308, 280,
2119 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2120 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2121 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2122 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2123 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2124 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2125 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2126 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2127 0, 0, 305, 306, 307, 0, 0, 0, 1434, 308,
2128 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2129 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2130 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2131 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2132 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2133 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2134 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2135 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2136 0, 0, 0, 305, 306, 307, 280, 8, 9, 10,
2137 308, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
2139 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2140 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2141 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2142 298, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2143 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2144 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2145 306, 307, 0, 0, 0, 0, 308, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 309, 839, 1228, 1229, 1230, 10, 385,
2148 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
2149 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
2150 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
2151 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2152 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
2153 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
2154 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2155 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2156 307, 0, 0, 0, 0, 308, 0, 1244, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 1364, 309, 1228, 1229, 1230, 10, 385, 12, 281,
2159 282, 283, 0, 284, 14, 1231, 0, 1232, 1233, 1234,
2160 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16, 285,
2161 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2162 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2163 294, 295, 296, 297, 26, 0, 1242, 298, 675, 0,
2164 1243, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2165 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2166 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2167 0, 0, 0, 308, 0, 1244, 0, 1228, 1229, 1230,
2168 10, 385, 12, 281, 282, 283, 0, 284, 14, 1231,
2169 309, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
2170 1241, 15, 16, 285, 17, 18, 19, 0, 286, 287,
2171 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2172 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2173 1242, 298, 1477, 0, 1243, 299, 0, 0, 0, 0,
2174 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2175 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2176 305, 306, 307, 0, 0, 0, 0, 308, 0, 1244,
2177 0, 1228, 1229, 1230, 10, 385, 12, 281, 282, 283,
2178 0, 284, 14, 1231, 309, 1232, 1233, 1234, 1235, 1236,
2179 1237, 1238, 1239, 1240, 1241, 15, 16, 285, 17, 18,
2180 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2181 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2182 296, 297, 26, 0, 1242, 298, 0, 0, 1243, 299,
2183 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2184 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2185 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2186 0, 308, 0, 1244, 280, 8, 9, 10, 385, 12,
2187 281, 282, 283, 688, 284, 14, 0, 0, 309, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2189 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2190 289, 290, 21, 291, 292, 0, 23, 0, 580, 0,
2191 293, 294, 295, 296, 297, 26, 0, 27, 298, 0,
2192 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2193 0, 867, 0, 0, 0, 0, 0, 0, 0, 302,
2194 303, 868, 0, 0, 0, 0, 0, 305, 306, 307,
2195 0, 583, 0, 0, 869, 585, 7, 8, 9, 10,
2196 385, 12, 281, 282, 283, 688, 284, 14, 0, 0,
2197 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2199 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2200 580, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2201 28, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2202 300, 0, 0, 1128, 0, 0, 0, 0, 0, 0,
2203 0, 302, 303, 1129, 0, 0, 0, 0, 0, 305,
2204 306, 307, 0, 583, 0, 0, 1130, 585, 280, 8,
2205 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2206 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2208 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2209 23, 0, 580, 0, 293, 294, 295, 296, 297, 26,
2210 0, 27, 298, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 300, 0, 0, 867, 0, 0, 0, 0,
2212 0, 0, 0, 302, 303, 868, 0, 0, 0, 0,
2213 0, 305, 306, 307, 0, 583, 0, 0, 869, 585,
2214 7, 8, 9, 10, 0, 12, 281, 282, 283, 0,
2215 284, 14, 0, 0, 0, 309, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2217 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2218 292, 0, 23, 0, 580, 0, 293, 294, 295, 296,
2219 297, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 300, 0, 0, 1128, 0, 0,
2221 0, 0, 0, 0, 0, 302, 303, 1129, 0, 0,
2222 0, 0, 0, 305, 306, 307, 0, 583, 0, 0,
2223 1130, 585, 280, 8, 9, 10, 0, 12, 498, 282,
2224 283, 0, 284, 14, 0, 0, 0, 309, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2226 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2227 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2228 295, 296, 297, 26, 0, 27, 298, 0, 0, 1341,
2229 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2230 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2231 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2232 0, 0, 308, 280, 8, 9, 10, 385, 12, 281,
2233 282, 283, 0, 284, 14, 0, 0, 0, 0, 309,
2234 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2235 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2236 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2237 294, 295, 296, 297, 26, 0, 27, 298, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2239 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2240 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2241 8, 9, 10, 308, 12, 281, 282, 283, 0, 284,
2242 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 309, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2244 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2245 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2246 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2247 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2248 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2249 0, 0, 305, 306, 307, 280, 8, 9, 10, 308,
2250 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2252 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2253 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2254 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2255 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2256 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2257 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2258 307, 280, 8, 9, 10, 308, 12, 498, 282, 283,
2259 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2261 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2262 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2263 296, 297, 26, 0, 27, 298, 531, 0, 0, 0,
2264 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2265 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2266 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2267 10, 532, 12, 498, 282, 283, 0, 284, 14, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2269 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2270 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2271 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2272 27, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2274 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2275 305, 306, 307, 0, 0, 0, 0, 308, 568, 280,
2276 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2277 14, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2279 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2280 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2281 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2282 0, 0, 0, 300, 0, 0, 517, 0, 0, 0,
2283 0, 0, 0, 0, 302, 303, 518, 0, 0, 0,
2284 0, 0, 305, 306, 307, 1090, 8, 9, 10, 519,
2285 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2287 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2288 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2289 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2290 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2291 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2292 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2293 307, 7, 8, 9, 10, 308, 12, 498, 282, 283,
2294 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2296 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2297 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2298 296, 297, 26, 0, 27, 28, 0, 0, 0, 299,
2299 0, 0, 0, 0, 0, 300, 0, 0, 1421, 0,
2300 0, 0, 0, 0, 0, 0, 302, 303, 1422, 0,
2301 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2302 10, 1423, 12, 498, 282, 283, 0, 284, 14, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2304 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2305 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2306 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2307 27, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2308 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2309 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2310 305, 306, 307, 280, 8, 9, 10, 499, 12, 498,
2311 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 309, 0, 0, 0, 16, 285,
2313 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2314 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2315 294, 295, 296, 297, 26, 0, 27, 298, 0, 0,
2316 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2317 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2318 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2319 8, 9, 10, 502, 12, 498, 282, 283, 0, 284,
2320 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 309, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2322 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2323 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2324 26, 0, 27, 298, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2326 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2327 0, 0, 305, 306, 307, 280, 8, 9, 10, 308,
2328 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2329 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2330 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2331 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2332 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 300,
2334 0, 0, 517, 0, 0, 0, 0, 0, 0, 0,
2335 302, 303, 518, 0, 0, 0, 0, 0, 305, 306,
2336 307, 7, 8, 9, 10, 519, 12, 281, 282, 283,
2337 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2339 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2340 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2341 296, 297, 26, 0, 27, 28, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 300, 0, 0, 1421, 0,
2343 0, 0, 0, 0, 0, 0, 302, 303, 1422, 0,
2344 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2345 0, 1423, 7, 8, 9, 10, 385, 12, 13, 0,
2346 0, 951, 0, 14, 0, 0, 0, 0, 309, 0,
2347 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2348 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2349 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2350 0, 0, 0, 26, 0, 27, 28, 985, 8, 732,
2351 10, 188, 12, 189, 0, 0, 0, 0, 14, 30,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2353 0, 0, 16, 0, 17, 18, 0, 32, 0, 0,
2354 20, 0, 33, 0, 0, 21, 0, 0, 0, 23,
2355 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2356 27, 28, 0, 0, 0, 0, 987, 0, 0, 0,
2357 0, 0, 0, 0, 30, 7, 8, 9, 10, 188,
2358 12, 189, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 32, 0, 0, 0, 0, 33, 0, 0,
2360 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2361 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2362 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2363 0, 0, 1354, 0, 7, 8, 9, 10, 385, 12,
2364 13, 0, 30, 0, 0, 14, 0, 0, 0, 0,
2365 0, 0, 31, 0, 0, 0, 0, 0, 0, 16,
2366 32, 17, 18, 0, 0, 33, 0, 20, 0, 0,
2367 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
2368 0, 0, 0, 0, 0, 26, 0, 27, 28, 7,
2369 8, 9, 10, 188, 12, 189, 0, 0, 0, 0,
2370 14, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2371 0, 31, 0, 0, 16, 0, 17, 18, 0, 32,
2372 0, 0, 20, 0, 33, 0, 0, 21, 8, 9,
2373 0, 23, 12, 226, 0, 0, 0, 0, 14, 0,
2374 26, 0, 27, 28, 7, 8, 9, 10, 197, 198,
2375 199, 0, 16, 0, 17, 14, 30, 0, 0, 0,
2376 20, 0, 0, 0, 0, 0, 31, 0, 0, 23,
2377 0, 580, 18, 0, 32, 0, 0, 20, 26, 33,
2378 128, 129, 21, 0, 0, 1411, 23, 0, 580, 0,
2379 0, 0, 0, 0, 581, 26, 0, 27, 28, 0,
2380 0, 0, 0, 0, 582, 0, 0, 0, 0, 0,
2381 0, 176, 0, 0, 583, 0, 0, 584, 585, 0,
2382 0, 177, 0, 0, 0, 0, 18, 0, 0, 32,
2383 0, 0, 0, 0, 1357, 1412, 534, 535, 536, 537,
2384 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2385 548, 549, 550, 551, 552, 553, 554, 555, 534, 535,
2386 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2387 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2388 8, 9, 0, 385, 12, 13, 0, 0, 688, 0,
2389 14, 0, 0, 8, 9, 0, 385, 12, 13, 0,
2390 0, 1471, 0, 14, 16, 0, 17, 18, 0, 0,
2391 0, 0, 20, 0, 0, 0, 0, 16, 0, 17,
2392 18, 23, 0, 0, 0, 20, 0, 0, 0, 0,
2393 26, 0, 128, 129, 23, 0, 0, 8, 9, 0,
2394 188, 12, 189, 26, 0, 128, 129, 14, 0, 0,
2395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
2397 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2398 0, 0, 0, 0, 0, 0, 0, 26, 0, 128,
2399 129, 534, 535, 536, 537, 538, 539, 540, 541, 542,
2400 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2401 553, 554, 555, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2403 0, 0, 621, 0, 0, 1467, 534, 535, 536, 537,
2404 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2405 548, 549, 550, 551, 552, 553, 554, 555, 1485, 534,
2406 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2407 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2408 555, 534, 535, 536, 537, 538, 539, 540, 541, 542,
2409 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2410 553, 554, 555, 534, 535, 536, 537, 538, 539, 540,
2411 541, 542, 543, 544, 545, 0, 547, 548, 549, 550,
2412 551, 552, 553, 554, 555
2415 static const short yycheck[] = { 4,
2416 384, 145, 146, 155, 57, 192, 328, 78, 673, 670,
2417 4, 4, 384, 4, 23, 53, 231, 384, 124, 14,
2418 660, 4, 420, 82, 334, 88, 334, 90, 468, 447,
2419 35, 200, 201, 529, 828, 40, 30, 31, 352, 192,
2420 227, 35, 35, 4, 35, 60, 40, 40, 201, 40,
2421 55, 653, 35, 736, 564, 738, 131, 40, 122, 1409,
2422 4, 127, 745, 425, 11, 70, 132, 4, 52, 140,
2423 284, 285, 135, 1245, 35, 1323, 44, 82, 1408, 40,
2424 33, 86, 60, 88, 11, 90, 81, 584, 82, 276,
2425 11, 35, 37, 59, 591, 0, 40, 4, 35, 12,
2426 105, 106, 316, 40, 1410, 1252, 74, 753, 9, 104,
2427 222, 1, 1259, 759, 1426, 186, 54, 1447, 55, 334,
2428 74, 131, 132, 47, 62, 523, 38, 7, 35, 134,
2429 135, 109, 137, 40, 1446, 62, 1, 78, 58, 192,
2430 134, 328, 54, 109, 1151, 1152, 59, 200, 201, 62,
2431 1, 145, 146, 75, 159, 77, 109, 37, 1165, 25,
2432 61, 108, 105, 106, 109, 159, 150, 585, 58, 93,
2433 94, 59, 62, 134, 227, 82, 1482, 1527, 98, 501,
2434 195, 108, 176, 177, 108, 60, 59, 108, 203, 74,
2435 134, 1503, 58, 58, 0, 108, 62, 134, 159, 183,
2436 59, 12, 3, 4, 5, 95, 78, 58, 335, 336,
2437 59, 62, 1542, 48, 60, 159, 3, 4, 5, 865,
2438 108, 47, 159, 276, 60, 455, 75, 134, 196, 95,
2439 102, 62, 672, 228, 109, 108, 59, 1409, 878, 1487,
2440 33, 881, 472, 74, 95, 47, 47, 74, 59, 108,
2441 325, 62, 159, 54, 58, 56, 57, 74, 54, 131,
2442 64, 413, 321, 109, 391, 392, 1413, 93, 140, 56,
2443 57, 643, 277, 109, 337, 328, 674, 1284, 74, 919,
2444 920, 93, 451, 452, 47, 108, 1293, 1294, 354, 1296,
2445 459, 93, 93, 80, 604, 439, 440, 47, 900, 452,
2446 364, 242, 471, 308, 27, 47, 108, 93, 31, 1456,
2447 47, 695, 378, 59, 186, 325, 321, 827, 64, 633,
2448 47, 490, 4, 5, 329, 93, 972, 321, 695, 75,
2449 93, 94, 337, 338, 445, 54, 389, 60, 984, 334,
2450 93, 64, 453, 93, 338, 108, 47, 219, 1249, 387,
2451 1251, 93, 145, 146, 147, 74, 93, 1504, 573, 3,
2452 4, 5, 6, 4, 5, 308, 93, 94, 378, 691,
2453 242, 1017, 869, 1019, 56, 57, 165, 338, 107, 384,
2454 12, 108, 54, 388, 35, 178, 109, 60, 12, 40,
2455 384, 384, 93, 94, 338, 25, 1190, 41, 451, 452,
2456 415, 338, 74, 27, 48, 47, 459, 31, 904, 54,
2457 907, 60, 56, 57, 321, 56, 57, 62, 471, 4,
2458 5, 54, 25, 47, 27, 1432, 1433, 59, 433, 74,
2459 62, 338, 64, 496, 54, 59, 60, 490, 62, 433,
2460 64, 1081, 1082, 458, 88, 439, 440, 31, 866, 946,
2461 47, 93, 94, 62, 74, 58, 54, 4, 5, 62,
2462 74, 333, 9, 48, 469, 47, 58, 64, 830, 93,
2463 94, 56, 57, 47, 54, 469, 74, 384, 3, 4,
2464 5, 608, 64, 1166, 108, 58, 469, 430, 4, 5,
2465 47, 496, 95, 461, 499, 80, 93, 502, 4, 5,
2466 47, 506, 507, 508, 509, 510, 565, 54, 469, 56,
2467 57, 93, 94, 109, 519, 47, 93, 901, 1312, 93,
2468 94, 47, 394, 70, 529, 469, 433, 532, 469, 901,
2469 970, 56, 57, 80, 901, 47, 93, 935, 54, 47,
2470 56, 57, 48, 90, 713, 54, 93, 94, 75, 47,
2471 56, 57, 64, 54, 4, 5, 499, 47, 611, 502,
2472 565, 93, 469, 506, 874, 4, 874, 93, 62, 54,
2473 62, 565, 610, 636, 80, 108, 519, 47, 108, 584,
2474 74, 93, 74, 47, 94, 93, 591, 581, 582, 532,
2475 584, 778, 54, 536, 466, 93, 35, 591, 33, 652,
2476 595, 40, 33, 93, 54, 1102, 56, 57, 720, 47,
2477 722, 649, 74, 651, 652, 727, 54, 4, 5, 562,
2478 70, 493, 9, 93, 730, 568, 3, 4, 5, 93,
2479 80, 636, 641, 1130, 8, 9, 74, 1055, 691, 108,
2480 14, 47, 769, 47, 94, 650, 439, 440, 441, 654,
2481 47, 62, 62, 691, 62, 93, 108, 871, 565, 874,
2482 713, 11, 36, 672, 59, 60, 74, 54, 109, 56,
2483 57, 45, 1112, 47, 1036, 1037, 25, 584, 27, 56,
2484 57, 58, 3, 70, 591, 4, 5, 93, 1450, 93,
2485 695, 754, 755, 80, 757, 93, 93, 108, 108, 286,
2486 287, 695, 59, 60, 1144, 743, 578, 94, 59, 58,
2487 145, 146, 147, 62, 301, 146, 147, 304, 60, 93,
2488 307, 111, 594, 310, 75, 778, 77, 314, 1050, 48,
2489 25, 736, 27, 738, 1496, 322, 94, 56, 57, 744,
2490 745, 94, 736, 178, 738, 62, 95, 178, 753, 754,
2491 755, 745, 757, 736, 759, 738, 111, 1051, 1052, 753,
2492 1054, 80, 745, 58, 1126, 759, 93, 62, 59, 60,
2493 897, 739, 740, 1135, 1136, 736, 74, 738, 1140, 93,
2494 748, 3, 4, 5, 745, 7, 8, 9, 695, 83,
2495 84, 25, 736, 27, 738, 736, 74, 738, 4, 5,
2496 95, 745, 54, 744, 745, 109, 743, 744, 74, 1470,
2497 62, 766, 767, 768, 36, 4, 5, 59, 60, 1181,
2498 74, 826, 74, 59, 58, 1490, 831, 108, 62, 736,
2499 11, 738, 54, 59, 56, 57, 58, 108, 745, 59,
2500 60, 912, 48, 59, 60, 54, 753, 3, 4, 5,
2501 56, 57, 759, 62, 859, 967, 968, 969, 108, 48,
2502 865, 95, 4, 5, 869, 74, 9, 56, 57, 12,
2503 54, 865, 74, 867, 868, 869, 108, 308, 62, 874,
2504 54, 103, 104, 105, 1011, 1012, 1013, 59, 60, 60,
2505 74, 80, 835, 4, 5, 108, 901, 54, 903, 904,
2506 56, 57, 907, 111, 47, 62, 48, 901, 901, 1271,
2507 109, 905, 906, 907, 56, 57, 59, 74, 61, 62,
2508 108, 64, 109, 4, 5, 996, 869, 716, 9, 1251,
2509 517, 518, 75, 111, 77, 27, 1334, 975, 80, 4,
2510 5, 946, 74, 54, 74, 56, 57, 1309, 1346, 27,
2511 93, 94, 946, 31, 959, 54, 1100, 1101, 865, 70,
2512 965, 750, 869, 111, 74, 108, 111, 972, 108, 80,
2513 108, 108, 58, 54, 108, 56, 57, 8, 972, 984,
2514 54, 59, 60, 48, 1128, 1129, 64, 54, 111, 70,
2515 984, 56, 57, 93, 901, 62, 1059, 4, 5, 80,
2516 907, 873, 1007, 875, 439, 440, 441, 74, 47, 440,
2517 441, 64, 1017, 1007, 1019, 80, 3, 4, 5, 59,
2518 988, 93, 965, 1017, 1007, 1019, 994, 995, 1426, 109,
2519 998, 999, 60, 1104, 1002, 47, 54, 44, 975, 946,
2520 912, 1046, 54, 30, 36, 47, 1007, 54, 1446, 56,
2521 57, 64, 54, 64, 1059, 996, 1440, 27, 64, 108,
2522 60, 31, 74, 1007, 62, 972, 1007, 54, 499, 56,
2523 57, 502, 74, 1440, 1201, 1473, 108, 984, 108, 108,
2524 64, 93, 108, 64, 3, 4, 5, 518, 519, 59,
2525 60, 93, 3, 4, 5, 6, 64, 1102, 93, 59,
2526 1007, 532, 111, 1112, 62, 1503, 1100, 1101, 1102, 108,
2527 1017, 108, 1019, 1511, 907, 108, 75, 108, 1123, 108,
2528 75, 75, 1444, 75, 996, 1130, 3, 4, 5, 1123,
2529 41, 108, 1123, 108, 1128, 1129, 1130, 56, 57, 62,
2530 1123, 62, 59, 54, 108, 56, 57, 62, 111, 60,
2531 86, 62, 88, 946, 90, 108, 94, 426, 88, 70,
2532 591, 1166, 1123, 111, 433, 3, 4, 5, 6, 80,
2533 1532, 48, 1166, 3, 4, 5, 74, 88, 47, 56,
2534 57, 108, 93, 1166, 108, 111, 111, 1130, 977, 978,
2535 3, 4, 5, 109, 108, 1102, 108, 59, 1251, 135,
2536 108, 137, 108, 41, 109, 1166, 1078, 64, 64, 59,
2537 48, 1249, 59, 1251, 108, 108, 1123, 1006, 56, 57,
2538 93, 1162, 1166, 1130, 54, 1166, 56, 57, 497, 3,
2539 4, 5, 1104, 93, 1177, 1178, 1179, 1180, 93, 93,
2540 1245, 54, 80, 56, 57, 1250, 109, 1252, 109, 108,
2541 88, 1245, 839, 111, 1259, 108, 108, 1444, 1252, 1166,
2542 8, 1252, 1245, 1268, 108, 1259, 1418, 108, 1259, 1252,
2543 109, 108, 108, 108, 48, 108, 1259, 1421, 1422, 111,
2544 867, 868, 56, 57, 1245, 108, 3, 4, 5, 33,
2545 1162, 1252, 561, 3, 4, 5, 6, 1240, 1259, 9,
2546 108, 4, 5, 108, 108, 8, 9, 1100, 1101, 1102,
2547 64, 14, 3, 4, 5, 6, 78, 79, 80, 81,
2548 82, 83, 84, 1291, 1292, 28, 108, 30, 54, 598,
2549 108, 41, 108, 36, 62, 1128, 1129, 1130, 1245, 56,
2550 57, 772, 45, 111, 54, 1252, 56, 57, 47, 108,
2551 41, 54, 1259, 56, 57, 58, 108, 48, 8, 9,
2552 70, 108, 96, 299, 14, 56, 57, 1310, 1157, 1158,
2553 80, 1160, 1161, 62, 1163, 62, 60, 60, 88, 9,
2554 60, 16, 93, 93, 108, 108, 36, 108, 1356, 80,
2555 93, 1444, 108, 108, 108, 45, 93, 88, 1403, 60,
2556 1343, 337, 60, 1408, 1409, 1410, 111, 1445, 1413, 1403,
2557 17, 93, 93, 60, 1408, 1409, 1410, 1408, 1423, 1413,
2558 97, 107, 1413, 108, 60, 1408, 1409, 1421, 1422, 108,
2559 1413, 3, 4, 5, 6, 1440, 108, 868, 869, 108,
2560 11, 60, 1447, 60, 60, 93, 1440, 1408, 1409, 59,
2561 64, 1456, 1413, 1447, 108, 60, 1447, 108, 11, 108,
2562 1403, 60, 1456, 11, 1447, 1456, 1409, 1410, 60, 41,
2563 1057, 0, 907, 1456, 0, 0, 907, 1482, 412, 2,
2564 1423, 901, 54, 354, 56, 57, 1447, 1469, 1482, 425,
2565 426, 159, 1281, 1282, 159, 1456, 1403, 433, 744, 1504,
2566 1112, 1408, 1409, 1410, 92, 137, 1413, 1475, 1333, 1542,
2567 1504, 946, 1191, 1504, 279, 946, 88, 384, 3, 4,
2568 5, 1504, 80, 81, 82, 83, 84, 890, 1250, 3,
2569 4, 5, 6, 1440, 1144, 679, 970, 1542, 885, 1482,
2570 1447, 1128, 1129, 1504, 1007, 221, 744, 1164, 1542, 1456,
2571 883, 1542, 183, 617, 325, 1498, 825, 826, 122, 1542,
2572 496, 497, 831, 1252, 1357, 1124, 433, 41, 1459, 54,
2573 1521, 56, 57, 58, 1490, 1482, 845, 1520, 847, 565,
2574 849, 1542, 56, 57, 1527, 1511, 954, 1376, 1377, 1378,
2575 1523, 1268, -1, 529, -1, 531, -1, 1504, 534, 535,
2576 -1, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2577 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2578 -1, -1, -1, 892, -1, 561, -1, -1, 1421, 1422,
2579 1423, -1, -1, 47, 711, 1542, 3, 4, 5, 6,
2580 1429, 1430, -1, 3, 4, 5, -1, 7, 8, 9,
2581 -1, -1, -1, -1, -1, 591, -1, -1, 1245, -1,
2582 929, -1, 598, -1, -1, 1100, 1101, 1102, -1, -1,
2583 1101, 1102, 86, 87, 41, 752, 36, 91, 92, 93,
2584 94, 758, -1, -1, 620, 621, -1, -1, -1, 56,
2585 57, -1, -1, 1128, 1129, 1130, 56, 57, 1129, 1130,
2586 636, -1, -1, -1, -1, 1, 1495, 3, 4, 5,
2587 6, 7, 8, 9, -1, -1, -1, 584, 14, -1,
2588 -1, 88, -1, -1, 591, -1, -1, -1, -1, -1,
2589 -1, 14, 28, -1, 30, 31, 32, -1, -1, 22,
2590 36, 37, -1, 679, -1, 41, -1, -1, -1, 45,
2591 46, -1, 48, 3, 4, 5, 6, -1, 54, -1,
2592 56, 57, -1, -1, 60, -1, 62, -1, -1, -1,
2593 3, 4, 5, 6, 70, -1, -1, -1, -1, -1,
2594 63, -1, -1, 860, 80, 862, 426, 3, 4, 5,
2595 6, 41, 88, 433, -1, -1, -1, 93, -1, 735,
2596 -1, -1, -1, -1, 54, -1, 56, 57, 41, -1,
2597 60, -1, -1, 109, -1, 48, -1, -1, 754, 755,
2598 70, 757, -1, 56, 57, 41, -1, -1, 695, -1,
2599 80, -1, 48, -1, 1421, 1422, 772, -1, 88, 122,
2600 56, 57, 4, 93, -1, 1114, -1, 1116, -1, 1118,
2601 -1, -1, 14, -1, -1, 88, -1, 497, 794, -1,
2602 -1, 144, 24, -1, 4, 5, -1, -1, 30, 31,
2603 -1, 33, 88, 35, -1, 3, 4, 5, 40, 7,
2604 8, 9, -1, -1, -1, -1, 753, -1, -1, 825,
2605 826, 53, 759, 55, 830, 831, -1, -1, -1, -1,
2606 -1, 63, -1, -1, -1, -1, -1, 47, 70, 845,
2607 -1, 847, -1, 849, 54, -1, 56, 57, -1, 81,
2608 82, 561, 1357, -1, -1, -1, 1357, -1, 56, 57,
2609 70, 7, 8, 9, -1, -1, 219, 220, 14, 1016,
2610 80, 1018, 104, 1212, -1, -1, 882, -1, 231, -1,
2611 90, 591, -1, 93, 94, 31, 892, -1, 598, -1,
2612 36, -1, -1, -1, -1, 127, -1, -1, 904, 45,
2613 132, -1, 134, -1, 105, 106, 138, -1, -1, 141,
2614 142, 917, -1, 145, 146, 147, 1421, 1422, 1423, -1,
2615 -1, 1422, 1423, 929, -1, 1072, -1, 159, 865, -1,
2616 -1, -1, 869, 3, 4, 5, 6, -1, -1, 9,
2617 946, -1, -1, -1, 176, 177, 178, 300, 71, 72,
2618 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2619 83, 84, 4, 5, 901, -1, 8, 9, -1, -1,
2620 907, 41, 14, 205, -1, -1, -1, 47, -1, -1,
2621 -1, 987, -1, -1, 54, -1, 56, 57, 220, 342,
2622 176, 177, 178, -1, 36, -1, 228, -1, 351, -1,
2623 70, 1148, -1, 45, -1, 47, 1153, 239, -1, 946,
2624 80, 364, 54, -1, 56, 57, -1, -1, 88, -1,
2625 90, -1, -1, 93, 94, 7, 8, 9, 70, -1,
2626 1036, 1037, 14, -1, 1040, 972, -1, -1, 80, -1,
2627 -1, -1, -1, -1, -1, 277, 278, 984, 90, 31,
2628 -1, 93, 94, 1059, 36, -1, -1, -1, 1205, -1,
2629 -1, -1, 772, 45, -1, -1, -1, -1, -1, -1,
2630 -1, 1, -1, 3, 4, 5, 6, -1, 8, -1,
2631 1017, -1, 1019, -1, -1, 7, 8, 9, -1, 321,
2632 -1, -1, 14, 325, -1, 327, 328, 329, -1, -1,
2633 -1, -1, -1, -1, -1, -1, 338, 308, 1114, 31,
2634 1116, 41, 1118, 466, 36, 825, 826, -1, 48, -1,
2635 1126, 831, 354, 45, 54, -1, 56, 57, -1, 1135,
2636 1136, -1, -1, -1, 1140, 845, -1, 847, 60, 849,
2637 -1, 3, 4, 5, 6, -1, 378, -1, -1, 1155,
2638 1156, -1, 384, 1300, 1301, 387, 388, -1, 88, -1,
2639 -1, -1, -1, -1, -1, 1102, 398, -1, -1, 401,
2640 1317, -1, -1, -1, 406, 1181, 38, 39, 531, 41,
2641 -1, -1, 892, 384, -1, -1, 3, 4, 5, 6,
2642 -1, -1, 54, 1130, 56, 57, -1, -1, -1, -1,
2643 -1, -1, -1, 435, -1, 437, 1212, 439, 440, 441,
2644 -1, -1, -1, 445, 3, 4, 5, 6, 450, 929,
2645 573, 453, 1369, 1370, 41, -1, -1, -1, -1, -1,
2646 1236, 48, 433, -1, -1, -1, 946, 469, -1, 56,
2647 57, 1388, 1389, -1, -1, -1, -1, -1, -1, 435,
2648 -1, 437, 41, 439, 440, 441, -1, -1, -1, 48,
2649 -1, -1, -1, 80, 450, 1271, -1, 56, 57, -1,
2650 -1, 88, -1, -1, -1, 507, 508, 509, 510, -1,
2651 -1, 1287, -1, 3, 4, 5, -1, 7, 641, -1,
2652 -1, 80, -1, -1, -1, -1, -1, -1, 499, 88,
2653 653, 502, -1, 1309, -1, 506, 507, 508, 509, 510,
2654 30, -1, -1, -1, -1, -1, -1, 37, 519, -1,
2655 -1, -1, 3, 4, 5, 6, 679, -1, 9, -1,
2656 -1, 532, -1, 565, 54, 567, 56, 57, -1, -1,
2657 -1, 7, 8, 9, -1, -1, -1, 579, 14, 581,
2658 582, 1357, 584, -1, -1, -1, -1, -1, -1, 591,
2659 41, -1, -1, 595, -1, 31, 47, -1, 1374, 1375,
2660 36, -1, -1, 54, -1, 56, 57, 1383, 610, 45,
2661 -1, -1, -1, 584, -1, -1, -1, -1, -1, 70,
2662 591, -1, -1, -1, 60, 3, 4, 5, 6, 80,
2663 -1, 9, -1, -1, 1114, 1411, 1116, 88, 1118, 90,
2664 -1, -1, 93, 94, -1, -1, -1, 649, 650, 651,
2665 652, 653, 654, 3, 4, 5, 6, -1, -1, -1,
2666 -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
2667 -1, -1, -1, 55, -1, 57, 54, -1, 56, 57,
2668 76, 77, 78, 79, 80, 81, 82, 83, 84, 691,
2669 -1, 41, 70, 695, -1, -1, -1, -1, 48, -1,
2670 702, 703, 80, 705, -1, -1, 56, 57, -1, -1,
2671 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
2672 6, 7, 8, 9, 695, -1, -1, -1, 14, -1,
2673 80, 733, 1212, 1440, 736, -1, 738, -1, 88, -1,
2674 -1, 743, 744, 745, -1, 31, 702, 703, -1, 705,
2675 36, 753, -1, -1, -1, 41, 1532, 759, -1, 45,
2676 -1, 47, -1, -1, 766, 767, 768, 890, 54, -1,
2677 56, 57, -1, -1, -1, -1, 778, 900, -1, -1,
2678 -1, -1, 753, 165, 70, -1, 4, 743, 759, -1,
2679 -1, -1, -1, -1, 80, -1, 14, -1, -1, -1,
2680 -1, -1, 88, -1, 90, 23, 24, 93, 94, -1,
2681 192, -1, 30, 31, -1, 33, -1, 35, 200, 201,
2682 -1, -1, 40, -1, -1, -1, -1, -1, -1, 327,
2683 328, 329, -1, -1, -1, 53, -1, 55, -1, -1,
2684 -1, -1, -1, -1, -1, 63, -1, -1, 850, -1,
2685 852, -1, 70, -1, -1, 826, -1, 859, -1, -1,
2686 -1, 863, -1, 865, 82, 867, 868, 869, -1, -1,
2687 -1, -1, 874, -1, -1, -1, -1, 1357, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, 859, -1,
2689 4, 5, -1, -1, 865, 9, -1, -1, 869, 901,
2690 -1, 903, -1, 905, 906, 907, -1, -1, -1, 127,
2691 -1, -1, -1, -1, 1037, -1, 134, -1, -1, -1,
2692 138, -1, -1, -1, 142, -1, -1, 145, 146, 147,
2693 901, -1, 903, 47, -1, -1, 907, -1, -1, -1,
2694 54, 159, 56, 57, 946, 3, 4, 5, 6, 905,
2695 906, 907, -1, -1, -1, -1, 70, 959, 176, 177,
2696 178, -1, -1, -1, -1, -1, 80, -1, -1, -1,
2697 972, -1, -1, 975, -1, 946, 90, -1, -1, 93,
2698 94, -1, 984, 41, -1, -1, -1, 205, 959, 47,
2699 946, -1, -1, -1, 965, 997, 54, 1120, 56, 57,
2700 -1, 972, -1, 1126, -1, 1007, 388, 389, -1, -1,
2701 -1, -1, 70, 984, -1, 1017, -1, 1019, -1, 975,
2702 -1, 239, 80, -1, -1, -1, -1, -1, -1, -1,
2703 88, -1, 90, -1, -1, 93, 94, -1, -1, -1,
2704 -1, -1, -1, -1, 1046, -1, 1017, -1, 1019, 1051,
2705 1052, -1, 1054, -1, -1, -1, -1, -1, -1, 277,
2706 278, -1, 444, -1, -1, -1, -1, -1, -1, 451,
2707 452, -1, -1, 455, -1, 1046, -1, 459, -1, -1,
2708 -1, -1, -1, 581, 582, -1, -1, -1, -1, -1,
2709 472, -1, -1, -1, -1, -1, 1098, 1099, 1100, 1101,
2710 1102, -1, -1, 321, 1106, -1, -1, 325, -1, 327,
2711 328, 329, -1, -1, -1, -1, 334, -1, 1241, -1,
2712 338, -1, -1, -1, -1, -1, 1128, 1129, 1130, -1,
2713 -1, 1102, -1, -1, -1, -1, 354, -1, -1, -1,
2714 -1, -1, 1098, 1099, 1100, 1101, 1102, -1, -1, -1,
2715 1106, 649, -1, 651, 652, -1, 654, 1159, -1, 1130,
2716 -1, -1, 1164, -1, 1166, -1, 384, -1, -1, 387,
2717 388, -1, 1128, 1129, 1130, -1, -1, -1, -1, -1,
2718 398, -1, -1, 401, -1, -1, -1, -1, 406, -1,
2719 -1, -1, -1, 691, -1, -1, -1, -1, -1, -1,
2720 -1, -1, 1325, 1159, -1, -1, -1, -1, -1, -1,
2721 -1, -1, -1, 1215, 1216, -1, 1218, 435, -1, 437,
2722 -1, 439, 440, 441, -1, -1, -1, 445, -1, 611,
2723 -1, -1, 450, -1, -1, 453, -1, -1, -1, -1,
2724 -1, -1, -1, -1, -1, -1, -1, 1249, 1250, 1251,
2725 468, 469, -1, 4, 5, -1, -1, 8, 9, 1215,
2726 1216, -1, 1218, 14, -1, -1, 1268, -1, 650, -1,
2727 652, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2728 778, -1, -1, -1, -1, 36, -1, -1, -1, 507,
2729 508, 509, 510, -1, 45, -1, -1, 1268, -1, -1,
2730 -1, -1, -1, 54, -1, 56, 57, -1, -1, 691,
2731 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2732 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
2733 -1, 713, -1, -1, 716, -1, -1, 3, 4, 5,
2734 6, -1, 93, 9, -1, -1, -1, 565, -1, 567,
2735 -1, -1, 850, -1, 852, 1357, -1, -1, -1, -1,
2736 -1, -1, 744, 581, 582, 863, 584, -1, 750, 867,
2737 868, -1, -1, 591, -1, 41, -1, -1, -1, -1,
2738 -1, 47, -1, -1, -1, -1, 604, -1, 54, -1,
2739 56, 57, 610, -1, -1, -1, -1, -1, -1, -1,
2740 -1, 1357, -1, -1, 70, 4, 5, 905, 906, 8,
2741 9, -1, -1, -1, 80, 14, -1, -1, -1, 1421,
2742 1422, 1423, 88, 641, 90, -1, -1, 93, 94, -1,
2743 -1, 649, 650, 651, 652, 653, 654, 36, 1440, -1,
2744 -1, -1, -1, 1445, -1, -1, 45, -1, 47, -1,
2745 -1, -1, 1423, -1, 672, 54, -1, 56, 57, -1,
2746 -1, 80, -1, -1, -1, 1421, 1422, 1423, -1, 1440,
2747 -1, 70, -1, 691, -1, -1, -1, 695, -1, -1,
2748 -1, 80, -1, -1, 702, 703, -1, 705, -1, -1,
2749 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2750 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2751 -1, 14, -1, -1, -1, 733, -1, -1, 736, -1,
2752 738, 3, 4, 5, 6, 743, 744, 745, 31, -1,
2753 -1, -1, -1, 36, 153, 753, -1, -1, 41, -1,
2754 -1, 759, 45, -1, 47, -1, -1, -1, 766, 767,
2755 768, 54, -1, 56, 57, 174, -1, -1, -1, 41,
2756 778, -1, -1, -1, -1, -1, -1, 70, 187, -1,
2757 -1, -1, 54, -1, 56, 57, -1, 80, -1, -1,
2758 62, -1, -1, -1, -1, 88, -1, 90, 70, -1,
2759 93, 94, -1, -1, -1, 977, 978, -1, 80, -1,
2760 1098, 1099, 1100, 1101, -1, -1, 88, -1, 1106, -1,
2761 -1, 93, -1, 1, -1, 3, 4, 5, 6, 7,
2762 8, 9, -1, -1, 1006, -1, 14, -1, -1, -1,
2763 1128, 1129, 850, -1, 852, -1, -1, -1, -1, -1,
2764 28, 859, 30, 31, 32, 863, -1, 865, 36, 867,
2765 868, 869, -1, 41, -1, -1, 874, 45, 46, -1,
2766 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2767 4, -1, 60, -1, 62, -1, -1, -1, 3, 4,
2768 5, 6, 70, 901, 9, 903, -1, 905, 906, 907,
2769 -1, -1, 80, -1, -1, -1, 30, 31, -1, 33,
2770 88, 35, -1, -1, -1, 93, 40, -1, -1, -1,
2771 -1, -1, -1, -1, -1, -1, 41, 1215, 1216, 53,
2772 1218, 55, -1, -1, -1, -1, -1, -1, 946, 54,
2773 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
2774 -1, 959, -1, -1, 78, 70, -1, -1, -1, -1,
2775 -1, -1, 970, -1, 972, 80, -1, 975, -1, -1,
2776 -1, -1, -1, 88, -1, -1, 984, -1, 93, -1,
2777 -1, -1, -1, -1, -1, 1157, 1158, -1, 1160, 1161,
2778 -1, 1163, -1, -1, -1, -1, -1, -1, -1, 1007,
2779 -1, -1, -1, 127, -1, -1, -1, 131, 132, 1017,
2780 134, 1019, -1, -1, 138, -1, 140, -1, 142, -1,
2781 -1, 145, 146, 147, -1, -1, -1, -1, -1, -1,
2782 -1, -1, -1, -1, 443, 159, -1, -1, 1046, 448,
2783 -1, -1, -1, 1051, 1052, -1, 1054, -1, -1, -1,
2784 -1, -1, 176, 177, 178, -1, -1, -1, -1, -1,
2785 -1, -1, 186, -1, 473, 3, 4, 5, 6, -1,
2786 479, 9, -1, -1, -1, -1, -1, -1, 1250, 1251,
2787 -1, 205, 491, 492, -1, 494, 3, 4, 5, 6,
2788 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, -1,
2789 -1, -1, -1, 41, 1112, -1, -1, -1, -1, 1281,
2790 1282, -1, -1, -1, -1, 239, 54, -1, 56, 57,
2791 1128, 1129, 1130, -1, 41, -1, -1, -1, -1, -1,
2792 -1, -1, 70, -1, -1, -1, 1144, 54, -1, 56,
2793 57, -1, 80, -1, -1, 62, -1, -1, -1, -1,
2794 88, 1159, -1, 70, -1, 93, 1164, -1, 1166, -1,
2795 -1, -1, -1, 80, -1, -1, -1, 4, -1, -1,
2796 -1, 88, -1, -1, -1, -1, 93, -1, 587, 588,
2797 -1, -1, -1, 592, 308, 3, 4, 5, 6, 327,
2798 328, 329, -1, 30, 31, -1, 33, -1, 35, -1,
2799 -1, 325, -1, 40, 1376, 1377, 1378, 1215, 1216, 333,
2800 1218, -1, -1, -1, 338, -1, 53, -1, 55, -1,
2801 -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
2802 354, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2803 -1, 1249, 1250, 1251, 62, -1, -1, -1, -1, -1,
2804 -1, -1, 70, -1, 378, -1, -1, 1429, 1430, -1,
2805 1268, -1, 80, 387, -1, -1, -1, -1, -1, -1,
2806 88, -1, -1, -1, 398, 93, -1, 401, -1, -1,
2807 -1, -1, 406, 72, 73, 74, 75, 76, 77, 78,
2808 79, 80, 81, 82, 83, 84, -1, 134, -1, -1,
2809 -1, 138, -1, -1, -1, 142, -1, -1, 145, 146,
2810 147, 435, -1, 437, -1, 439, 440, 441, -1, -1,
2811 -1, 445, 159, 1495, -1, -1, 450, -1, -1, 453,
2812 1, -1, 3, 4, 5, 6, 7, 8, 9, 176,
2813 177, 178, -1, 14, -1, 469, -1, -1, -1, 1357,
2814 -1, 760, -1, 762, -1, -1, -1, 28, -1, 30,
2815 31, -1, -1, -1, -1, 36, -1, -1, 205, -1,
2816 41, -1, -1, -1, 45, 499, -1, 48, 502, -1,
2817 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2818 -1, -1, -1, 517, 518, 519, -1, -1, -1, 70,
2819 -1, -1, 239, -1, -1, -1, -1, -1, 532, 80,
2820 -1, -1, -1, 1421, 1422, 1423, -1, 88, -1, -1,
2821 -1, -1, 93, -1, 833, 834, -1, 836, -1, 4,
2822 5, -1, 1440, -1, 9, -1, -1, 1445, -1, -1,
2823 -1, -1, -1, 581, 582, -1, 584, -1, -1, -1,
2824 -1, -1, -1, 591, 578, 864, 3, 4, 5, 6,
2825 -1, -1, 9, -1, -1, -1, -1, 591, -1, -1,
2826 -1, -1, 47, -1, -1, -1, -1, -1, -1, 54,
2827 -1, 56, 57, 33, -1, -1, 610, -1, -1, -1,
2828 -1, -1, -1, -1, 41, 70, -1, 334, -1, -1,
2829 909, 338, -1, 53, -1, 80, -1, 54, -1, 56,
2830 57, 649, -1, 651, 652, 90, 654, -1, 93, 94,
2831 -1, -1, -1, 70, -1, 649, 650, 651, 652, -1,
2832 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2833 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2834 387, -1, -1, 691, -1, -1, 3, 4, 5, 6,
2835 -1, 398, 971, -1, 401, -1, -1, 691, -1, 406,
2836 -1, 695, -1, -1, 983, -1, -1, -1, 702, 703,
2837 -1, 705, -1, -1, 3, 4, 5, 6, -1, -1,
2838 9, -1, -1, -1, 41, 145, 146, 147, 435, -1,
2839 437, -1, 439, 440, 441, -1, -1, 54, 445, 56,
2840 57, -1, 736, 450, 738, -1, 453, -1, -1, 743,
2841 744, 745, 41, 70, -1, -1, 176, 177, 178, -1,
2842 -1, -1, 469, 80, -1, 54, -1, 56, 57, -1,
2843 778, 88, -1, -1, -1, -1, 93, -1, 772, -1,
2844 -1, 70, -1, -1, -1, 205, -1, -1, 1067, -1,
2845 -1, 80, -1, -1, -1, -1, 4, 5, -1, 88,
2846 8, 9, -1, -1, 93, -1, 14, 73, 74, 75,
2847 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2848 28, -1, 30, -1, -1, -1, 1105, -1, 36, 3,
2849 4, 5, 6, 7, 8, 9, -1, 45, -1, -1,
2850 14, -1, 850, -1, 852, -1, 54, -1, 56, 57,
2851 -1, -1, -1, -1, 28, 863, 30, 31, 278, 867,
2852 868, 869, 36, -1, -1, -1, -1, 41, -1, -1,
2853 -1, 45, 579, 867, 868, 869, -1, -1, -1, 873,
2854 54, -1, 56, 57, -1, -1, 60, -1, -1, 1168,
2855 -1, -1, -1, 1172, -1, -1, 70, 905, 906, 907,
2856 -1, -1, -1, 610, -1, -1, 80, 327, 328, 329,
2857 -1, 905, 906, 907, 88, -1, -1, -1, 912, 93,
2858 -1, -1, 3, 4, 5, 6, -1, -1, 1207, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1, 946, -1,
2860 -1, -1, 649, 650, 651, 652, -1, -1, -1, -1,
2861 -1, -1, 946, -1, -1, 3, 4, 5, 6, -1,
2862 41, 9, -1, -1, -1, -1, -1, 387, -1, -1,
2863 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2864 -1, 975, -1, -1, 691, -1, -1, -1, 695, 70,
2865 -1, -1, -1, 41, -1, 702, 703, 1276, 705, 80,
2866 -1, 1280, 996, -1, -1, -1, 54, 88, 56, 57,
2867 -1, -1, 93, 1007, -1, 435, 53, 437, -1, 439,
2868 440, 441, 70, 1302, 1303, 445, -1, -1, -1, 736,
2869 450, 738, 80, 453, -1, -1, 743, 744, 745, -1,
2870 88, 78, -1, -1, 81, 93, -1, -1, 3, 4,
2871 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2872 -1, -1, -1, -1, -1, 102, -1, 104, 69, 70,
2873 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2874 81, 82, 83, 84, 1078, -1, 41, -1, -1, -1,
2875 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, 54,
2876 -1, 56, 57, -1, 1098, 1099, 1100, 1101, 1102, -1,
2877 1104, -1, 1106, -1, -1, 70, -1, -1, -1, -1,
2878 1128, 1129, 1130, -1, -1, 80, -1, -1, -1, -1,
2879 -1, -1, -1, 88, 1128, 1129, 1130, -1, 93, 176,
2880 177, 178, -1, -1, -1, -1, -1, 567, -1, 186,
2881 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
2882 -1, 581, 582, -1, 584, 1159, -1, 874, 205, -1,
2883 1164, 591, 1166, 70, 71, 72, 73, 74, 75, 76,
2884 77, 78, 79, 80, 81, 82, 83, 84, 41, -1,
2885 610, 228, -1, -1, -1, -1, -1, -1, 905, 906,
2886 907, 54, -1, 56, 57, 242, -1, 1215, 1216, -1,
2887 1218, -1, -1, 3, 4, 5, 6, 70, -1, -1,
2888 -1, 1215, 1216, -1, 1218, -1, -1, 80, -1, 649,
2889 -1, 651, 652, -1, 654, 88, -1, -1, -1, 946,
2890 93, 3, 4, 5, 6, -1, -1, -1, -1, -1,
2891 -1, 41, -1, -1, -1, 1249, 1250, 1251, -1, -1,
2892 -1, -1, -1, -1, 54, -1, 56, 57, 975, -1,
2893 -1, 691, -1, -1, -1, -1, -1, -1, -1, 41,
2894 70, -1, 702, 703, -1, 705, -1, -1, -1, -1,
2895 80, -1, 54, -1, 56, 57, 333, 334, 88, -1,
2896 1007, -1, -1, 93, -1, -1, -1, -1, 70, 1,
2897 -1, 3, 4, 5, 6, 7, 8, 9, 80, -1,
2898 -1, -1, 14, 743, -1, -1, 88, -1, -1, -1,
2899 -1, 93, -1, -1, -1, -1, 28, -1, 30, 31,
2900 32, -1, -1, -1, 36, 37, 766, 767, 768, 41,
2901 387, -1, -1, 45, 46, -1, 48, -1, 778, -1,
2902 -1, -1, 54, 1357, 56, 57, -1, -1, 60, -1,
2903 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2904 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
2905 -1, 1098, 1099, 1100, 1101, 1102, 88, -1, 435, 1106,
2906 437, 93, 439, 440, 441, -1, -1, -1, 445, -1,
2907 -1, -1, -1, 450, 4, 5, 453, 109, 8, 9,
2908 -1, 1128, 1129, 1130, 14, -1, -1, 1421, 1422, 1423,
2909 850, -1, 852, -1, -1, -1, -1, -1, 28, -1,
2910 30, -1, -1, 863, -1, -1, 36, 867, 868, 869,
2911 -1, 1445, 1159, 4, -1, 45, -1, 1164, -1, 1166,
2912 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
2914 31, -1, -1, -1, 35, 905, 906, 907, -1, 40,
2915 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2916 9, -1, -1, -1, 55, 14, -1, -1, 1215, 1216,
2917 -1, 1218, -1, -1, -1, -1, -1, -1, -1, 28,
2918 -1, 30, 31, 32, -1, -1, 946, 36, 37, -1,
2919 -1, -1, 41, -1, -1, -1, 45, 46, -1, 48,
2920 -1, -1, 1249, 1250, 1251, 54, -1, 56, 57, -1,
2921 -1, 60, -1, 62, -1, 975, -1, 594, 595, -1,
2922 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2923 -1, 80, -1, 610, -1, -1, -1, -1, -1, 88,
2924 -1, -1, -1, 134, 93, -1, -1, 138, -1, -1,
2925 -1, 142, 4, 5, 14, 7, 8, 9, -1, -1,
2926 109, -1, 14, 23, 24, -1, -1, -1, 159, -1,
2927 30, 31, 649, 33, 651, 652, 28, -1, 30, 31,
2928 -1, -1, -1, -1, 36, 176, 177, -1, -1, -1,
2929 -1, 1051, 1052, 45, 1054, -1, 48, -1, -1, -1,
2930 -1, -1, 54, 63, 56, 57, -1, -1, -1, -1,
2931 1357, -1, -1, -1, 691, -1, -1, -1, -1, -1,
2932 -1, -1, -1, -1, -1, 702, 703, -1, 705, -1,
2933 -1, -1, -1, -1, -1, -1, -1, -1, 1098, 1099,
2934 1100, 1101, 1102, -1, -1, -1, 1106, -1, 239, -1,
2935 -1, -1, -1, 730, -1, -1, -1, -1, -1, -1,
2936 -1, -1, 122, -1, 124, -1, 743, 127, 1128, 1129,
2937 1130, 131, 132, -1, 1421, 1422, 1423, -1, 138, -1,
2938 140, 141, 142, -1, -1, 145, 146, 147, -1, -1,
2939 3, 4, 5, 6, 7, 8, 9, -1, 1445, 1159,
2940 -1, 14, -1, -1, -1, -1, -1, -1, -1, -1,
2941 -1, -1, -1, -1, -1, 28, -1, 30, 31, -1,
2942 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
2943 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
2944 -1, 54, -1, 56, 57, -1, -1, 338, -1, -1,
2945 -1, -1, -1, -1, -1, 1215, 1216, 70, 1218, 219,
2946 220, 4, 5, -1, 7, 8, 9, 80, -1, 12,
2947 -1, 14, -1, -1, -1, 88, -1, 90, -1, 239,
2948 93, 94, -1, -1, -1, 28, -1, 30, 31, 1249,
2949 -1, 1251, -1, 36, -1, -1, 873, 874, 875, -1,
2950 -1, -1, 45, -1, 47, -1, -1, 398, -1, -1,
2951 401, 54, -1, 56, 57, 406, -1, -1, 278, -1,
2952 -1, -1, -1, -1, -1, -1, -1, 70, 905, 906,
2953 907, -1, -1, -1, -1, 912, -1, 80, -1, -1,
2954 -1, -1, -1, -1, 435, -1, 437, 90, -1, -1,
2955 93, 94, -1, -1, -1, -1, -1, -1, -1, 450,
2956 -1, -1, -1, -1, -1, 325, -1, 327, 328, 946,
2957 -1, -1, -1, -1, -1, -1, -1, -1, 469, -1,
2958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2959 -1, -1, -1, -1, 354, -1, -1, 1357, 975, 68,
2960 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2961 79, 80, 81, 82, 83, 84, -1, -1, 378, 996,
2962 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2963 -1, -1, -1, 14, 394, -1, -1, -1, 398, -1,
2964 -1, 401, -1, -1, -1, -1, 406, 28, -1, 30,
2965 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2966 41, 1421, 1422, 1423, 45, 46, -1, 48, -1, -1,
2967 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2968 -1, 62, -1, -1, -1, 1445, -1, -1, -1, 70,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2970 -1, 1078, -1, -1, -1, -1, 466, 88, 468, -1,
2971 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2972 -1, 1098, 1099, 1100, 1101, 1102, -1, 1104, 109, 1106,
2973 -1, -1, -1, 493, -1, -1, 1, -1, 3, 4,
2974 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2975 -1, 1128, 1129, 1130, -1, -1, -1, -1, -1, 650,
2976 -1, -1, 27, 28, -1, 30, 31, 32, -1, -1,
2977 -1, 36, -1, -1, -1, -1, 41, -1, -1, 44,
2978 45, 46, 1159, 48, -1, -1, -1, -1, -1, 54,
2979 -1, 56, 57, -1, -1, 60, -1, -1, -1, -1,
2980 -1, -1, -1, -1, 695, 70, -1, 567, -1, -1,
2981 -1, 702, 703, -1, 705, 80, -1, -1, 578, 579,
2982 -1, 581, 582, 88, -1, -1, -1, -1, 93, -1,
2983 -1, -1, -1, 98, -1, -1, -1, -1, 1215, 1216,
2984 -1, 1218, -1, -1, -1, 736, -1, 738, -1, -1,
2985 -1, -1, 743, 744, 745, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2987 -1, -1, 1249, -1, 1251, -1, -1, -1, -1, -1,
2988 -1, 641, 1, -1, 3, 4, 5, 6, -1, 8,
2989 9, 10, 11, 653, 13, 14, -1, -1, -1, -1,
2990 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
2991 29, 30, 672, 32, -1, 34, 35, 36, -1, 38,
2992 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
2993 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
2994 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
2995 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2996 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
2997 730, -1, -1, 733, 93, 94, -1, -1, -1, -1,
2998 1357, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2999 109, 110, -1, -1, -1, -1, 1, -1, 3, 4,
3000 5, 6, 7, 8, 9, -1, 766, 767, 768, 14,
3001 -1, -1, -1, -1, 905, 906, -1, -1, 778, -1,
3002 -1, -1, 27, 28, -1, 30, 31, 32, -1, -1,
3003 -1, 36, -1, -1, -1, -1, 41, -1, -1, 44,
3004 45, 46, -1, 48, 1421, 1422, 1423, -1, -1, 54,
3005 -1, 56, 57, -1, -1, 60, 1, -1, 3, 4,
3006 5, 6, 7, 8, 9, 70, -1, 12, 1445, 14,
3007 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3008 25, -1, 27, 88, 975, -1, 31, -1, 93, -1,
3009 850, 36, 852, 98, -1, -1, 41, -1, -1, -1,
3010 45, -1, 47, 863, -1, -1, -1, -1, -1, 54,
3011 -1, 56, 57, 58, 59, 60, 1007, 62, 63, 64,
3012 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3013 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3014 -1, 86, 87, 88, -1, 90, 91, 92, 93, 94,
3015 95, -1, 97, -1, -1, -1, -1, 102, -1, -1,
3016 -1, -1, 107, 108, 109, -1, 111, -1, 63, 64,
3017 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3018 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3019 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3020 9, 10, 11, 12, 13, 14, -1, 1098, 1099, -1,
3021 970, -1, -1, -1, -1, 1106, 111, -1, -1, 28,
3022 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3023 39, 40, 41, 42, 43, -1, 45, 997, 47, -1,
3024 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3025 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3026 -1, 70, -1, -1, -1, -1, -1, -1, 1159, 78,
3027 79, 80, -1, 1164, -1, 1166, -1, 86, 87, 88,
3028 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
3029 -1, 1051, 1052, -1, 1054, -1, -1, -1, -1, -1,
3030 -1, 110, -1, 3, 4, 5, 6, 7, 8, 9,
3031 -1, -1, 12, -1, 14, -1, -1, -1, -1, -1,
3032 -1, -1, -1, -1, 1215, 1216, -1, 1218, 28, -1,
3033 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3034 -1, 41, -1, -1, -1, 45, -1, 47, -1, -1,
3035 -1, -1, 1112, -1, 54, -1, 56, 57, -1, 1250,
3036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3037 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3038 80, -1, -1, -1, 1144, -1, -1, -1, 88, -1,
3039 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3040 -1, -1, 1162, 1, 1164, 3, 4, 5, 6, 7,
3041 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3042 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3043 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3044 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3045 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3046 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3047 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3048 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3049 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3051 -1, 109, 110, 1, -1, 3, 4, 5, 6, 7,
3052 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3053 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3054 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3055 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3056 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3057 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3058 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3059 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3060 88, -1, -1, -1, -1, 93, 1, 95, 3, 4,
3061 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3062 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3063 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3064 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3065 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3066 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3067 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3068 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3069 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3070 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3071 11, 12, 13, 14, -1, 110, -1, -1, -1, -1,
3072 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3073 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3074 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3075 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3076 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3077 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3078 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3079 -1, 1, 93, 3, 4, 5, 6, 7, 8, 9,
3080 10, 11, -1, 13, 14, -1, -1, 108, -1, 110,
3081 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3082 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3083 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3084 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3085 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3086 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3087 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3088 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3089 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3090 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3091 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3092 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3093 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3094 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3095 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3096 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3097 -1, -1, -1, -1, 93, 94, 1, -1, 3, 4,
3098 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3099 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3100 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3101 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3102 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3103 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3104 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3105 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3106 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3107 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3108 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3109 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3110 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3111 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3112 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3113 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3114 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3115 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3116 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3117 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3118 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3119 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3120 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3121 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3122 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3123 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3124 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3125 93, -1, 1, -1, 3, 4, 5, 6, 101, 8,
3126 9, 10, 11, -1, 13, 14, -1, 110, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3128 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3129 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3130 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3131 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3132 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3133 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3134 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3135 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3136 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3137 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3138 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3139 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3140 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3141 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3142 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3143 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3144 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3145 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3146 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3147 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3148 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3149 57, -1, -1, -1, 61, 62, -1, -1, -1, -1,
3150 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3151 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3152 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3153 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3154 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3155 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3156 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3157 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3158 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3159 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3160 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3161 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3162 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3163 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3164 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3165 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3166 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3167 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3168 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3169 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3170 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3171 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3172 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3173 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3174 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3175 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3176 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3177 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3178 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3179 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3180 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3181 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3182 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3183 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3184 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3185 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3186 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3187 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3188 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3190 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3191 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3192 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3193 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3194 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3195 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3196 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3198 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3199 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3200 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3201 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3202 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3203 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3204 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3205 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3206 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3207 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3208 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3209 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3210 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3211 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3212 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3213 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3214 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3215 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3216 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3217 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3218 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3219 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3220 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3221 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3222 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3224 -1, -1, -1, 110, 111, 3, 4, 5, 6, 7,
3225 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3226 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3227 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3228 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3229 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3230 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3231 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3232 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3233 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3235 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3236 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3237 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3238 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3239 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3240 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3241 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3242 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3243 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3244 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3245 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3246 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3247 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3248 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3249 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3250 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3251 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3252 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3253 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3254 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3255 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3256 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3257 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3258 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3259 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3260 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3261 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3262 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3263 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3264 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3265 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3266 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3267 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3268 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3269 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3270 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3271 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3272 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3273 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3274 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3276 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3277 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3278 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3279 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3280 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3281 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3282 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3283 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3284 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3285 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3286 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3287 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3288 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3289 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3290 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3291 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3292 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3293 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3294 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3295 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3296 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3297 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3298 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3299 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3300 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3301 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3303 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3304 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3305 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
3306 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3307 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3308 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3309 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
3310 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3311 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3312 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3313 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3314 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3315 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3316 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3317 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3318 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3319 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3320 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3321 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3322 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3323 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3324 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3325 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3326 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3327 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3328 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3329 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3330 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3331 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3332 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3333 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3334 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3335 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3336 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3337 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3338 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3339 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3340 52, 53, 54, -1, 56, 57, 58, -1, -1, -1,
3341 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3342 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3343 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3344 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3345 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3346 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3347 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3348 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3349 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3350 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3351 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3352 86, 87, 88, -1, -1, -1, -1, 93, 94, 3,
3353 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3354 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3355 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3356 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3357 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3358 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3359 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3360 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3361 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3362 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3363 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3364 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3365 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3366 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3367 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3368 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3369 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3370 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3371 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3372 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3373 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3374 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3375 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3376 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3377 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3378 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3379 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3380 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3381 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3382 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3383 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3384 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3385 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3386 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3387 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3388 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3389 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3390 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3391 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3392 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3393 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3394 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3395 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3396 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3397 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3398 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3399 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3400 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3401 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3402 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3403 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3404 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3405 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3406 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3407 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3408 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3409 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3410 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3411 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3412 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3413 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3414 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3415 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3416 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3417 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3418 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3419 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3420 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3421 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3422 -1, 93, 3, 4, 5, 6, 7, 8, 9, -1,
3423 -1, 12, -1, 14, -1, -1, -1, -1, 110, -1,
3424 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3425 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3426 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3427 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
3428 6, 7, 8, 9, -1, -1, -1, -1, 14, 70,
3429 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3430 -1, -1, 28, -1, 30, 31, -1, 88, -1, -1,
3431 36, -1, 93, -1, -1, 41, -1, -1, -1, 45,
3432 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3433 56, 57, -1, -1, -1, -1, 62, -1, -1, -1,
3434 -1, -1, -1, -1, 70, 3, 4, 5, 6, 7,
3435 8, 9, -1, -1, 80, -1, 14, -1, -1, -1,
3436 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
3437 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3438 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3439 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3440 -1, -1, 60, -1, 3, 4, 5, 6, 7, 8,
3441 9, -1, 70, -1, -1, 14, -1, -1, -1, -1,
3442 -1, -1, 80, -1, -1, -1, -1, -1, -1, 28,
3443 88, 30, 31, -1, -1, 93, -1, 36, -1, -1,
3444 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
3445 -1, -1, -1, -1, -1, 54, -1, 56, 57, 3,
3446 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3447 14, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3448 -1, 80, -1, -1, 28, -1, 30, 31, -1, 88,
3449 -1, -1, 36, -1, 93, -1, -1, 41, 4, 5,
3450 -1, 45, 8, 9, -1, -1, -1, -1, 14, -1,
3451 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
3452 9, -1, 28, -1, 30, 14, 70, -1, -1, -1,
3453 36, -1, -1, -1, -1, -1, 80, -1, -1, 45,
3454 -1, 47, 31, -1, 88, -1, -1, 36, 54, 93,
3455 56, 57, 41, -1, -1, 12, 45, -1, 47, -1,
3456 -1, -1, -1, -1, 70, 54, -1, 56, 57, -1,
3457 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
3458 -1, 70, -1, -1, 90, -1, -1, 93, 94, -1,
3459 -1, 80, -1, -1, -1, -1, 31, -1, -1, 88,
3460 -1, -1, -1, -1, 93, 62, 63, 64, 65, 66,
3461 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3462 77, 78, 79, 80, 81, 82, 83, 84, 63, 64,
3463 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3464 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3465 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
3466 14, -1, -1, 4, 5, -1, 7, 8, 9, -1,
3467 -1, 12, -1, 14, 28, -1, 30, 31, -1, -1,
3468 -1, -1, 36, -1, -1, -1, -1, 28, -1, 30,
3469 31, 45, -1, -1, -1, 36, -1, -1, -1, -1,
3470 54, -1, 56, 57, 45, -1, -1, 4, 5, -1,
3471 7, 8, 9, 54, -1, 56, 57, 14, -1, -1,
3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3473 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
3474 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
3475 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3476 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3477 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3478 82, 83, 84, -1, -1, -1, -1, -1, -1, -1,
3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3480 -1, -1, 59, -1, -1, 107, 63, 64, 65, 66,
3481 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3482 77, 78, 79, 80, 81, 82, 83, 84, 62, 63,
3483 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3484 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3485 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3486 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3487 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3488 70, 71, 72, 73, 74, -1, 76, 77, 78, 79,
3491 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3492 #line 3 "/usr/lib/bison.simple"
3494 /* Skeleton output parser for bison,
3495 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3497 This program is free software; you can redistribute it and/or modify
3498 it under the terms of the GNU General Public License as published by
3499 the Free Software Foundation; either version 2, or (at your option)
3502 This program is distributed in the hope that it will be useful,
3503 but WITHOUT ANY WARRANTY; without even the implied warranty of
3504 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3505 GNU General Public License for more details.
3507 You should have received a copy of the GNU General Public License
3508 along with this program; if not, write to the Free Software
3509 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3511 /* As a special exception, when this file is copied by Bison into a
3512 Bison output file, you may use that output file without restriction.
3513 This special exception was added by the Free Software Foundation
3514 in version 1.24 of Bison. */
3518 #define alloca __builtin_alloca
3519 #else /* not GNU C. */
3520 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3522 #else /* not sparc */
3523 #if defined (MSDOS) && !defined (__TURBOC__)
3525 #else /* not MSDOS, or __TURBOC__ */
3529 #else /* not MSDOS, __TURBOC__, or _AIX */
3533 void *alloca (unsigned int);
3535 #else /* not __cplusplus */
3537 #endif /* not __cplusplus */
3539 #endif /* not _AIX */
3540 #endif /* not MSDOS, or __TURBOC__ */
3541 #endif /* not sparc. */
3542 #endif /* not GNU C. */
3543 #endif /* alloca not defined. */
3545 /* This is the parser code that is written into each bison parser
3546 when the %semantic_parser declaration is not specified in the grammar.
3547 It was written by Richard Stallman by simplifying the hairy parser
3548 used when %semantic_parser is specified. */
3550 /* Note: there must be only one dollar sign in this file.
3551 It is replaced by the list of actions, each action
3552 as one case of the switch. */
3554 #define yyerrok (yyerrstatus = 0)
3555 #define yyclearin (yychar = YYEMPTY)
3558 #define YYACCEPT return(0)
3559 #define YYABORT return(1)
3560 #define YYERROR goto yyerrlab1
3561 /* Like YYERROR except do call yyerror.
3562 This remains here temporarily to ease the
3563 transition to the new meaning of YYERROR, for GCC.
3564 Once GCC version 2 has supplanted version 1, this can go. */
3565 #define YYFAIL goto yyerrlab
3566 #define YYRECOVERING() (!!yyerrstatus)
3567 #define YYBACKUP(token, value) \
3569 if (yychar == YYEMPTY && yylen == 1) \
3570 { yychar = (token), yylval = (value); \
3571 yychar1 = YYTRANSLATE (yychar); \
3576 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3580 #define YYERRCODE 256
3583 #define YYLEX yylex()
3589 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3591 #define YYLEX yylex(&yylval, &yylloc)
3593 #else /* not YYLSP_NEEDED */
3595 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3597 #define YYLEX yylex(&yylval)
3599 #endif /* not YYLSP_NEEDED */
3602 /* If nonreentrant, generate the variables here */
3606 int yychar; /* the lookahead symbol */
3607 YYSTYPE yylval; /* the semantic value of the */
3608 /* lookahead symbol */
3611 YYLTYPE yylloc; /* location data for the lookahead */
3615 int yynerrs; /* number of parse errors so far */
3616 #endif /* not YYPURE */
3619 int yydebug; /* nonzero means print parse trace */
3620 /* Since this is uninitialized, it does not stop multiple parsers
3624 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3627 #define YYINITDEPTH 200
3630 /* YYMAXDEPTH is the maximum size the stacks can grow to
3631 (effective only if the built-in stack extension method is used). */
3638 #define YYMAXDEPTH 10000
3641 /* Prevent warning if -Wstrict-prototypes. */
3646 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3647 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3648 #else /* not GNU C or C++ */
3651 /* This is the most reliable way to avoid incompatibilities
3652 in available built-in functions on various systems. */
3654 __yy_memcpy (to, from, count)
3659 register char *f = from;
3660 register char *t = to;
3661 register int i = count;
3667 #else /* __cplusplus */
3669 /* This is the most reliable way to avoid incompatibilities
3670 in available built-in functions on various systems. */
3672 __yy_memcpy (char *to, char *from, int count)
3674 register char *f = from;
3675 register char *t = to;
3676 register int i = count;
3685 #line 196 "/usr/lib/bison.simple"
3687 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3688 into yyparse. The argument should have type void *.
3689 It should actually point to an object.
3690 Grammar actions can access the variable by casting it
3691 to the proper pointer type. */
3693 #ifdef YYPARSE_PARAM
3695 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3696 #define YYPARSE_PARAM_DECL
3697 #else /* not __cplusplus */
3698 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3699 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3700 #endif /* not __cplusplus */
3701 #else /* not YYPARSE_PARAM */
3702 #define YYPARSE_PARAM_ARG
3703 #define YYPARSE_PARAM_DECL
3704 #endif /* not YYPARSE_PARAM */
3707 yyparse(YYPARSE_PARAM_ARG)
3710 register int yystate;
3712 register short *yyssp;
3713 register YYSTYPE *yyvsp;
3714 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3715 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3717 short yyssa[YYINITDEPTH]; /* the state stack */
3718 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3720 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3721 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3724 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3725 YYLTYPE *yyls = yylsa;
3728 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3730 #define YYPOPSTACK (yyvsp--, yyssp--)
3733 int yystacksize = YYINITDEPTH;
3744 YYSTYPE yyval; /* the variable used to return */
3745 /* semantic values from the action */
3752 fprintf(stderr, "Starting parse\n");
3758 yychar = YYEMPTY; /* Cause a token to be read. */
3760 /* Initialize stack pointers.
3761 Waste one element of value and location stack
3762 so that they stay on the same level as the state stack.
3763 The wasted elements are never initialized. */
3771 /* Push a new state, which is found in yystate . */
3772 /* In all cases, when you get here, the value and location stacks
3773 have just been pushed. so pushing a state here evens the stacks. */
3778 if (yyssp >= yyss + yystacksize - 1)
3780 /* Give user a chance to reallocate the stack */
3781 /* Use copies of these so that the &'s don't force the real ones into memory. */
3782 YYSTYPE *yyvs1 = yyvs;
3783 short *yyss1 = yyss;
3785 YYLTYPE *yyls1 = yyls;
3788 /* Get the current used size of the three stacks, in elements. */
3789 int size = yyssp - yyss + 1;
3792 /* Each stack pointer address is followed by the size of
3793 the data in use in that stack, in bytes. */
3795 /* This used to be a conditional around just the two extra args,
3796 but that might be undefined if yyoverflow is a macro. */
3797 yyoverflow("parser stack overflow",
3798 &yyss1, size * sizeof (*yyssp),
3799 &yyvs1, size * sizeof (*yyvsp),
3800 &yyls1, size * sizeof (*yylsp),
3803 yyoverflow("parser stack overflow",
3804 &yyss1, size * sizeof (*yyssp),
3805 &yyvs1, size * sizeof (*yyvsp),
3809 yyss = yyss1; yyvs = yyvs1;
3813 #else /* no yyoverflow */
3814 /* Extend the stack our own way. */
3815 if (yystacksize >= YYMAXDEPTH)
3817 yyerror("parser stack overflow");
3821 if (yystacksize > YYMAXDEPTH)
3822 yystacksize = YYMAXDEPTH;
3823 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3824 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3825 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3826 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3828 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3829 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3831 #endif /* no yyoverflow */
3833 yyssp = yyss + size - 1;
3834 yyvsp = yyvs + size - 1;
3836 yylsp = yyls + size - 1;
3841 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3844 if (yyssp >= yyss + yystacksize - 1)
3850 fprintf(stderr, "Entering state %d\n", yystate);
3856 /* Do appropriate processing given the current state. */
3857 /* Read a lookahead token if we need one and don't already have one. */
3860 /* First try to decide what to do without reference to lookahead token. */
3862 yyn = yypact[yystate];
3866 /* Not known => get a lookahead token if don't already have one. */
3868 /* yychar is either YYEMPTY or YYEOF
3869 or a valid token in external form. */
3871 if (yychar == YYEMPTY)
3875 fprintf(stderr, "Reading a token: ");
3880 /* Convert token to internal form (in yychar1) for indexing tables with */
3882 if (yychar <= 0) /* This means end of input. */
3885 yychar = YYEOF; /* Don't call YYLEX any more */
3889 fprintf(stderr, "Now at end of input.\n");
3894 yychar1 = YYTRANSLATE(yychar);
3899 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3900 /* Give the individual parser a way to print the precise meaning
3901 of a token, for further debugging info. */
3903 YYPRINT (stderr, yychar, yylval);
3905 fprintf (stderr, ")\n");
3911 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3916 /* yyn is what to do for this token type in this state.
3917 Negative => reduce, -yyn is rule number.
3918 Positive => shift, yyn is new state.
3919 New state is final state => don't bother to shift,
3920 just return success.
3921 0, or most negative number => error. */
3936 /* Shift the lookahead token. */
3940 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3943 /* Discard the token being shifted unless it is eof. */
3944 if (yychar != YYEOF)
3952 /* count tokens shifted since error; after three, turn off error status. */
3953 if (yyerrstatus) yyerrstatus--;
3958 /* Do the default action for the current state. */
3961 yyn = yydefact[yystate];
3965 /* Do a reduction. yyn is the number of a rule to reduce with. */
3969 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3976 fprintf (stderr, "Reducing via rule %d (line %d), ",
3979 /* Print the symbols being reduced, and their result. */
3980 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3981 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3982 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3991 { finish_translation_unit (); ;
3995 { yyval.ttype = NULL_TREE; ;
3999 { yyval.ttype = NULL_TREE; ;
4003 { yyval.ttype = NULL_TREE; ;
4007 { have_extern_spec = 1;
4008 used_extern_spec = 0;
4009 yyval.ttype = NULL_TREE; ;
4013 { have_extern_spec = 0; ;
4017 { yyval.itype = pedantic;
4022 { if (pending_lang_change) do_pending_lang_change(); ;
4026 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4027 pop_everything (); ;
4031 { if (pending_inlines) do_pending_inlines (); ;
4035 { if (pending_inlines) do_pending_inlines (); ;
4039 { if (pending_inlines) do_pending_inlines (); ;
4043 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4044 assemble_asm (yyvsp[-2].ttype); ;
4048 { pop_lang_context (); ;
4052 { if (pending_inlines) do_pending_inlines ();
4053 pop_lang_context (); ;
4057 { if (pending_inlines) do_pending_inlines ();
4058 pop_lang_context (); ;
4062 { push_namespace (yyvsp[-1].ttype); ;
4066 { pop_namespace (); ;
4070 { push_namespace (NULL_TREE); ;
4074 { pop_namespace (); ;
4078 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4082 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4087 /* If no declaration was found, the using-directive is
4088 invalid. Since that was not reported, we need the
4089 identifier for the error message. */
4090 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4091 yyvsp[-1].ttype = lastiddecl;
4092 do_using_directive (yyvsp[-1].ttype);
4097 { pedantic = yyvsp[-1].itype; ;
4101 { yyval.ttype = yyvsp[0].ttype; ;
4105 { yyval.ttype = yyvsp[0].ttype; ;
4109 { yyval.ttype = yyvsp[0].ttype; ;
4113 { yyval.ttype = yyvsp[0].ttype; ;
4117 { yyval.ttype = yyvsp[0].ttype; ;
4121 { push_lang_context (yyvsp[0].ttype); ;
4125 { if (current_lang_name != yyvsp[0].ttype)
4126 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4127 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4131 { begin_template_parm_list (); ;
4135 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4139 { begin_specialization();
4140 yyval.ttype = NULL_TREE; ;
4144 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4148 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4152 { yyval.ttype = yyvsp[0].ttype; ;
4156 { yyval.ttype = NULL_TREE; ;
4160 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4164 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4168 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4172 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4176 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4180 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4184 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4188 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4193 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4194 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4195 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4197 error ("invalid default template argument");
4198 yyvsp[0].ttype = error_mark_node;
4200 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4206 if (yyvsp[-1].ttype)
4207 end_template_decl ();
4209 end_specialization ();
4215 if (yyvsp[-1].ttype)
4216 end_template_decl ();
4218 end_specialization ();
4228 note_list_got_semicolon (yyvsp[-2].ftype.t);
4233 { pedwarn ("empty declaration"); ;
4239 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4241 note_list_got_semicolon (yyvsp[-1].ftype.t);
4246 { yyval.itype = 0; ;
4250 { yyval.itype = 1; ;
4254 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4266 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4270 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4274 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4275 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4280 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4284 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4288 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4289 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4294 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4298 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4302 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4303 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4308 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4312 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4316 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4317 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4322 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4327 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4332 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4337 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4342 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4347 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4351 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4355 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4359 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4363 { tree specs = strip_attrs (yyvsp[-1].ttype);
4364 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4368 if (yychar == YYEMPTY)
4370 reinit_parse_for_method (yychar, yyval.ttype); ;
4374 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4378 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4379 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4383 { tree specs = strip_attrs (yyvsp[-1].ttype);
4384 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4388 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4392 { tree specs = strip_attrs (yyvsp[-1].ttype);
4393 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4397 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4402 if (! current_function_parms_stored)
4403 store_parm_decls ();
4404 yyval.ttype = yyvsp[0].ttype;
4409 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4413 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4417 { store_return_init (yyval.ttype, NULL_TREE); ;
4422 if (yyvsp[0].itype == 0)
4423 error ("no base initializers given following ':'");
4425 /* Always keep the BLOCK node associated with the outermost
4426 pair of curley braces of a function. These are needed
4427 for correct operation of dwarfout.c. */
4434 if (! current_function_parms_stored)
4435 store_parm_decls ();
4437 if (DECL_CONSTRUCTOR_P (current_function_decl))
4439 /* Make a contour for the initializer list. */
4442 expand_start_bindings (0);
4444 else if (current_class_type == NULL_TREE)
4445 error ("base initializers not allowed for non-member functions");
4446 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4447 error ("only constructors take base initializers");
4452 { yyval.itype = 0; ;
4456 { yyval.itype = 1; ;
4461 if (current_class_name)
4462 pedwarn ("anachronistic old style base class initializer");
4463 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4469 if (current_class_name)
4470 pedwarn ("anachronistic old style base class initializer");
4471 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4476 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4480 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4484 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4488 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4492 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4497 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4502 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4503 yyungetc (';', 1); ;
4507 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4508 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4512 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4516 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4520 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4521 yyungetc (';', 1); ;
4525 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4526 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4530 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4534 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4538 { begin_explicit_instantiation(); ;
4542 { end_explicit_instantiation(); ;
4547 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4548 if (yyval.ttype != error_mark_node)
4549 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4555 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4556 if (yyval.ttype != error_mark_node)
4557 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4563 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4564 if (yyval.ttype != error_mark_node)
4565 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4571 /* Handle `Class<Class<Type>>' without space in the `>>' */
4572 pedwarn ("`>>' should be `> >' in template class name");
4578 { yyval.ttype = NULL_TREE; ;
4582 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4586 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4590 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4594 { yyval.code = NEGATE_EXPR; ;
4598 { yyval.code = CONVERT_EXPR; ;
4602 { yyval.code = PREINCREMENT_EXPR; ;
4606 { yyval.code = PREDECREMENT_EXPR; ;
4610 { yyval.code = TRUTH_NOT_EXPR; ;
4614 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4618 { error ("ANSI C++ forbids an empty condition for `%s'",
4620 yyval.ttype = integer_zero_node; ;
4624 { yyval.ttype = yyvsp[-1].ttype; ;
4628 { error ("ANSI C++ forbids an empty condition for `%s'",
4630 yyval.ttype = integer_zero_node; ;
4634 { yyval.ttype = yyvsp[-1].ttype; ;
4638 { yyval.ttype = NULL_TREE; ;
4642 { yyval.ttype = condition_conversion (yyval.ttype); ;
4646 { yyval.ttype = NULL_TREE; ;
4652 for (d = getdecls (); d; d = TREE_CHAIN (d))
4653 if (TREE_CODE (d) == TYPE_DECL) {
4654 tree s = TREE_TYPE (d);
4655 if (TREE_CODE (s) == RECORD_TYPE)
4656 cp_error ("definition of class `%T' in condition", s);
4657 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4658 cp_error ("definition of enum `%T' in condition", s);
4661 current_declspecs = yyvsp[-4].ftype.t;
4662 yyvsp[0].itype = suspend_momentary ();
4663 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4664 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4670 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4671 resume_momentary (yyvsp[-2].itype);
4672 yyval.ttype = yyvsp[-1].ttype;
4673 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4674 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4679 { yyval.ttype = begin_compound_stmt (1); ;
4683 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4687 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4688 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4692 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4693 build_expr_list (NULL_TREE, error_mark_node)); ;
4697 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4701 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4705 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4709 { yyval.ttype = yyvsp[0].ttype; ;
4713 { yyval.ttype = yyvsp[0].ttype;
4714 pedantic = yyvsp[-1].itype; ;
4718 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4721 #line 1000 "parse.y"
4722 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4725 #line 1002 "parse.y"
4726 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4729 #line 1004 "parse.y"
4730 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4733 #line 1007 "parse.y"
4735 pedwarn ("ANSI C++ forbids `&&'");
4736 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4739 #line 1011 "parse.y"
4740 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4743 #line 1013 "parse.y"
4744 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4747 #line 1015 "parse.y"
4748 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4751 #line 1017 "parse.y"
4752 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4753 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4756 #line 1023 "parse.y"
4757 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4758 check_for_new_type ("new", yyvsp[0].ftype); ;
4761 #line 1026 "parse.y"
4762 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4763 check_for_new_type ("new", yyvsp[-1].ftype); ;
4766 #line 1029 "parse.y"
4767 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4768 check_for_new_type ("new", yyvsp[0].ftype); ;
4771 #line 1032 "parse.y"
4772 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4773 check_for_new_type ("new", yyvsp[-1].ftype); ;
4776 #line 1045 "parse.y"
4777 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4778 NULL_TREE, yyvsp[-4].itype);
4779 check_for_new_type ("new", yyvsp[-1].ftype); ;
4782 #line 1050 "parse.y"
4783 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4784 check_for_new_type ("new", yyvsp[-2].ftype); ;
4787 #line 1054 "parse.y"
4788 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4789 check_for_new_type ("new", yyvsp[-1].ftype); ;
4792 #line 1058 "parse.y"
4793 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4794 check_for_new_type ("new", yyvsp[-2].ftype); ;
4797 #line 1062 "parse.y"
4798 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4801 #line 1064 "parse.y"
4802 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4803 if (yychar == YYEMPTY)
4807 #line 1068 "parse.y"
4808 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4809 if (yychar == YYEMPTY)
4813 #line 1072 "parse.y"
4814 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4817 #line 1074 "parse.y"
4818 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4821 #line 1084 "parse.y"
4822 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4825 #line 1087 "parse.y"
4826 { yyval.itype = begin_new_placement (); ;
4829 #line 1091 "parse.y"
4830 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4833 #line 1093 "parse.y"
4834 { cp_pedwarn ("old style placement syntax, use () instead");
4835 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4838 #line 1099 "parse.y"
4839 { yyval.ttype = yyvsp[-1].ttype; ;
4842 #line 1101 "parse.y"
4843 { yyval.ttype = NULL_TREE; ;
4846 #line 1103 "parse.y"
4848 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4849 yyval.ttype = error_mark_node;
4853 #line 1111 "parse.y"
4856 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4857 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4858 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4859 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4861 yyval.ttype = yyvsp[0].ttype;
4865 #line 1125 "parse.y"
4866 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4867 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4868 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4871 #line 1129 "parse.y"
4872 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4873 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4874 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4877 #line 1137 "parse.y"
4878 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4881 #line 1139 "parse.y"
4883 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4884 nreverse (yyvsp[-2].ttype));
4886 pedwarn ("ANSI C++ forbids constructor-expressions");
4887 /* Indicate that this was a GNU C constructor expression. */
4888 TREE_HAS_CONSTRUCTOR (init) = 1;
4890 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4894 #line 1155 "parse.y"
4895 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4898 #line 1157 "parse.y"
4899 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4902 #line 1159 "parse.y"
4903 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4906 #line 1161 "parse.y"
4907 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4910 #line 1163 "parse.y"
4911 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4914 #line 1165 "parse.y"
4915 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4918 #line 1167 "parse.y"
4919 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4922 #line 1169 "parse.y"
4923 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4926 #line 1171 "parse.y"
4927 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4930 #line 1173 "parse.y"
4931 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4934 #line 1175 "parse.y"
4935 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4938 #line 1177 "parse.y"
4939 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4942 #line 1179 "parse.y"
4943 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4946 #line 1181 "parse.y"
4947 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4950 #line 1183 "parse.y"
4951 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4954 #line 1185 "parse.y"
4955 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4958 #line 1187 "parse.y"
4959 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4962 #line 1189 "parse.y"
4963 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4966 #line 1191 "parse.y"
4967 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4970 #line 1193 "parse.y"
4971 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4974 #line 1195 "parse.y"
4975 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4976 if (yyval.ttype != error_mark_node)
4977 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4980 #line 1199 "parse.y"
4981 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4984 #line 1201 "parse.y"
4985 { yyval.ttype = build_throw (NULL_TREE); ;
4988 #line 1203 "parse.y"
4989 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4992 #line 1221 "parse.y"
4993 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4996 #line 1230 "parse.y"
4997 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5000 #line 1234 "parse.y"
5001 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5004 #line 1236 "parse.y"
5005 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5008 #line 1241 "parse.y"
5009 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5012 #line 1243 "parse.y"
5013 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5016 #line 1246 "parse.y"
5017 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5020 #line 1258 "parse.y"
5021 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5024 #line 1260 "parse.y"
5025 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5028 #line 1262 "parse.y"
5029 { yyval.ttype = yyvsp[-1].ttype; ;
5032 #line 1267 "parse.y"
5033 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5036 #line 1269 "parse.y"
5037 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5040 #line 1277 "parse.y"
5041 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5044 #line 1282 "parse.y"
5046 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5047 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5049 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5053 #line 1291 "parse.y"
5055 if (processing_template_decl)
5056 push_obstacks (&permanent_obstack, &permanent_obstack);
5057 yyval.ttype = combine_strings (yyval.ttype);
5058 if (processing_template_decl)
5063 #line 1299 "parse.y"
5064 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5067 #line 1301 "parse.y"
5068 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5069 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5072 #line 1304 "parse.y"
5073 { yyval.ttype = error_mark_node; ;
5076 #line 1306 "parse.y"
5077 { if (current_function_decl == 0)
5079 error ("braced-group within expression allowed only inside a function");
5083 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5084 yyval.ttype = begin_stmt_expr ();
5088 #line 1316 "parse.y"
5089 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5092 #line 1318 "parse.y"
5093 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5096 #line 1320 "parse.y"
5097 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5100 #line 1322 "parse.y"
5101 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5104 #line 1324 "parse.y"
5105 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5108 #line 1326 "parse.y"
5109 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5112 #line 1329 "parse.y"
5113 { yyval.ttype = finish_this_expr (); ;
5116 #line 1331 "parse.y"
5118 tree type = NULL_TREE;
5119 tree id = yyval.ttype;
5121 /* This is a C cast in C++'s `functional' notation. */
5122 if (yyvsp[-1].ttype == error_mark_node)
5124 yyval.ttype = error_mark_node;
5128 if (yyvsp[-1].ttype == NULL_TREE)
5130 error ("cannot cast null list to type `%s'",
5131 IDENTIFIER_POINTER (TYPE_NAME (id)));
5132 yyval.ttype = error_mark_node;
5137 /* type is not set! (mrs) */
5138 if (type == error_mark_node)
5139 yyval.ttype = error_mark_node;
5143 if (id == ridpointers[(int) RID_CONST])
5144 type = build_type_variant (integer_type_node, 1, 0);
5145 else if (id == ridpointers[(int) RID_VOLATILE])
5146 type = build_type_variant (integer_type_node, 0, 1);
5148 /* should not be able to get here (mrs) */
5149 else if (id == ridpointers[(int) RID_FRIEND])
5151 error ("cannot cast expression to `friend' type");
5152 yyval.ttype = error_mark_node;
5156 else my_friendly_abort (79);
5157 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5162 #line 1376 "parse.y"
5163 { tree type = groktypename (yyvsp[-4].ftype.t);
5164 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5165 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5168 #line 1380 "parse.y"
5169 { tree type = groktypename (yyvsp[-4].ftype.t);
5170 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5171 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5174 #line 1384 "parse.y"
5175 { tree type = groktypename (yyvsp[-4].ftype.t);
5176 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5177 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5180 #line 1388 "parse.y"
5181 { tree type = groktypename (yyvsp[-4].ftype.t);
5182 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5183 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5186 #line 1392 "parse.y"
5187 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5190 #line 1394 "parse.y"
5191 { tree type = groktypename (yyvsp[-1].ftype.t);
5192 check_for_new_type ("typeid", yyvsp[-1].ftype);
5193 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5196 #line 1398 "parse.y"
5197 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5200 #line 1400 "parse.y"
5201 { yyval.ttype = yyvsp[0].ttype; ;
5204 #line 1402 "parse.y"
5206 got_scope = NULL_TREE;
5207 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5208 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5210 yyval.ttype = yyvsp[0].ttype;
5214 #line 1410 "parse.y"
5215 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5218 #line 1412 "parse.y"
5219 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5222 #line 1414 "parse.y"
5223 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5226 #line 1416 "parse.y"
5228 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5232 #line 1420 "parse.y"
5233 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5236 #line 1422 "parse.y"
5237 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5240 #line 1424 "parse.y"
5241 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5244 #line 1426 "parse.y"
5245 { if (processing_template_decl)
5246 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5248 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5251 #line 1431 "parse.y"
5252 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5255 #line 1433 "parse.y"
5256 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5259 #line 1435 "parse.y"
5260 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5263 #line 1437 "parse.y"
5264 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5267 #line 1440 "parse.y"
5268 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5271 #line 1442 "parse.y"
5272 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5275 #line 1444 "parse.y"
5277 yyval.ttype = error_mark_node;
5281 #line 1489 "parse.y"
5282 { yyval.itype = 0; ;
5285 #line 1491 "parse.y"
5286 { got_scope = NULL_TREE; yyval.itype = 1; ;
5289 #line 1496 "parse.y"
5290 { yyval.itype = 0; ;
5293 #line 1498 "parse.y"
5294 { got_scope = NULL_TREE; yyval.itype = 1; ;
5297 #line 1503 "parse.y"
5298 { yyval.ttype = boolean_true_node; ;
5301 #line 1505 "parse.y"
5302 { yyval.ttype = boolean_false_node; ;
5305 #line 1512 "parse.y"
5306 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5309 #line 1517 "parse.y"
5311 if (! current_function_parms_stored)
5312 store_parm_decls ();
5314 /* Always keep the BLOCK node associated with the outermost
5315 pair of curley braces of a function. These are needed
5316 for correct operation of dwarfout.c. */
5321 #line 1530 "parse.y"
5322 { got_object = TREE_TYPE (yyval.ttype); ;
5325 #line 1532 "parse.y"
5327 yyval.ttype = build_x_arrow (yyval.ttype);
5328 got_object = TREE_TYPE (yyval.ttype);
5332 #line 1540 "parse.y"
5334 resume_momentary (yyvsp[-1].itype);
5335 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5336 note_got_semicolon (yyvsp[-2].ftype.t);
5340 #line 1546 "parse.y"
5342 resume_momentary (yyvsp[-1].itype);
5343 note_list_got_semicolon (yyvsp[-2].ftype.t);
5347 #line 1551 "parse.y"
5348 { resume_momentary (yyvsp[-1].itype); ;
5351 #line 1553 "parse.y"
5353 shadow_tag (yyvsp[-1].ftype.t);
5354 note_list_got_semicolon (yyvsp[-1].ftype.t);
5358 #line 1558 "parse.y"
5359 { warning ("empty declaration"); ;
5362 #line 1560 "parse.y"
5363 { pedantic = yyvsp[-1].itype; ;
5366 #line 1574 "parse.y"
5367 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5368 NULL_TREE, NULL_TREE); ;
5371 #line 1577 "parse.y"
5372 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5376 #line 1584 "parse.y"
5377 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5378 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5381 #line 1587 "parse.y"
5382 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5383 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5386 #line 1590 "parse.y"
5387 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5388 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5391 #line 1593 "parse.y"
5392 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5393 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5396 #line 1596 "parse.y"
5397 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5398 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5401 #line 1612 "parse.y"
5402 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5403 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5406 #line 1615 "parse.y"
5407 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5408 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5411 #line 1618 "parse.y"
5412 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5413 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5416 #line 1621 "parse.y"
5417 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5418 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5421 #line 1624 "parse.y"
5422 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5423 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5426 #line 1627 "parse.y"
5427 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5428 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5429 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5432 #line 1634 "parse.y"
5433 { if (extra_warnings)
5434 warning ("`%s' is not at beginning of declaration",
5435 IDENTIFIER_POINTER (yyval.ttype));
5436 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5439 #line 1639 "parse.y"
5440 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5443 #line 1641 "parse.y"
5444 { if (extra_warnings)
5445 warning ("`%s' is not at beginning of declaration",
5446 IDENTIFIER_POINTER (yyvsp[0].ttype));
5447 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5450 #line 1646 "parse.y"
5451 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5454 #line 1648 "parse.y"
5455 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5458 #line 1658 "parse.y"
5459 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5462 #line 1660 "parse.y"
5463 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5466 #line 1662 "parse.y"
5467 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5468 TREE_STATIC (yyval.ttype) = 1; ;
5471 #line 1665 "parse.y"
5472 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5473 warning ("`%s' is not at beginning of declaration",
5474 IDENTIFIER_POINTER (yyvsp[0].ttype));
5475 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5476 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5479 #line 1671 "parse.y"
5480 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5483 #line 1673 "parse.y"
5484 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5487 #line 1684 "parse.y"
5488 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5489 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5492 #line 1687 "parse.y"
5493 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5494 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5497 #line 1690 "parse.y"
5498 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5499 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5502 #line 1693 "parse.y"
5503 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5504 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5507 #line 1699 "parse.y"
5508 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5511 #line 1701 "parse.y"
5512 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5515 #line 1711 "parse.y"
5516 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5519 #line 1713 "parse.y"
5520 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5523 #line 1715 "parse.y"
5524 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5525 yyval.ftype.new_type_flag = 0; ;
5528 #line 1718 "parse.y"
5529 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5530 yyval.ftype.new_type_flag = 0; ;
5533 #line 1721 "parse.y"
5534 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5536 yyval.ftype.new_type_flag = 0;
5537 if (IS_AGGR_TYPE (type))
5539 sorry ("sigof type specifier");
5540 yyval.ftype.t = type;
5544 error ("`sigof' applied to non-aggregate expression");
5545 yyval.ftype.t = error_mark_node;
5550 #line 1736 "parse.y"
5551 { tree type = groktypename (yyvsp[-1].ftype.t);
5553 yyval.ftype.new_type_flag = 0;
5554 if (IS_AGGR_TYPE (type))
5556 sorry ("sigof type specifier");
5557 yyval.ftype.t = type;
5561 error("`sigof' applied to non-aggregate type");
5562 yyval.ftype.t = error_mark_node;
5567 #line 1756 "parse.y"
5568 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5571 #line 1758 "parse.y"
5572 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5575 #line 1779 "parse.y"
5576 { yyval.ttype = NULL_TREE; ;
5579 #line 1781 "parse.y"
5580 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5583 #line 1786 "parse.y"
5584 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5585 yyvsp[-1].ttype, prefix_attributes); ;
5588 #line 1790 "parse.y"
5589 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5592 #line 1792 "parse.y"
5593 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5594 yyvsp[0].ttype, prefix_attributes);
5595 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5598 #line 1805 "parse.y"
5599 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5600 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5603 #line 1810 "parse.y"
5604 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5605 LOOKUP_ONLYCONVERTING);
5606 yyval.itype = yyvsp[-2].itype; ;
5609 #line 1814 "parse.y"
5611 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5612 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5615 #line 1821 "parse.y"
5616 { yyval.itype = yyvsp[0].itype; ;
5619 #line 1825 "parse.y"
5620 { yyval.itype = yyvsp[0].itype; ;
5623 #line 1830 "parse.y"
5624 { /* Set things up as initdcl0_innards expects. */
5625 yyval.ttype = yyvsp[-1].ttype;
5626 yyvsp[-1].ttype = NULL_TREE; ;
5629 #line 1834 "parse.y"
5633 #line 1836 "parse.y"
5635 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5636 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5639 #line 1845 "parse.y"
5640 { yyval.ttype = NULL_TREE; ;
5643 #line 1847 "parse.y"
5644 { yyval.ttype = yyvsp[0].ttype; ;
5647 #line 1852 "parse.y"
5648 { yyval.ttype = yyvsp[0].ttype; ;
5651 #line 1854 "parse.y"
5652 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5655 #line 1859 "parse.y"
5656 { yyval.ttype = yyvsp[-2].ttype; ;
5659 #line 1864 "parse.y"
5660 { yyval.ttype = yyvsp[0].ttype; ;
5663 #line 1866 "parse.y"
5664 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5667 #line 1871 "parse.y"
5668 { yyval.ttype = NULL_TREE; ;
5671 #line 1873 "parse.y"
5672 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5675 #line 1875 "parse.y"
5676 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5679 #line 1877 "parse.y"
5680 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5683 #line 1879 "parse.y"
5684 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5687 #line 1895 "parse.y"
5688 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5691 #line 1897 "parse.y"
5692 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5695 #line 1902 "parse.y"
5696 { yyval.ttype = NULL_TREE; ;
5699 #line 1904 "parse.y"
5700 { yyval.ttype = yyvsp[0].ttype; ;
5703 #line 1912 "parse.y"
5704 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5705 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5708 #line 1915 "parse.y"
5709 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5710 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5713 #line 1918 "parse.y"
5714 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5715 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5718 #line 1921 "parse.y"
5719 { yyval.ttype = NULL_TREE; ;
5722 #line 1928 "parse.y"
5723 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5726 #line 1930 "parse.y"
5727 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5730 #line 1933 "parse.y"
5731 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5734 #line 1935 "parse.y"
5735 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5738 #line 1937 "parse.y"
5739 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5742 #line 1942 "parse.y"
5743 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5745 reinit_parse_for_function (); ;
5748 #line 1948 "parse.y"
5750 int nested = (hack_decl_function_context
5751 (current_function_decl) != NULL_TREE);
5752 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5753 process_next_inline (yyvsp[-3].ttype);
5757 #line 1955 "parse.y"
5758 { process_next_inline (yyvsp[-2].ttype); ;
5761 #line 1957 "parse.y"
5762 { process_next_inline (yyvsp[-2].ttype); ;
5765 #line 1969 "parse.y"
5766 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5769 #line 1971 "parse.y"
5770 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5773 #line 1976 "parse.y"
5774 { do_pending_defargs (); ;
5777 #line 1978 "parse.y"
5778 { do_pending_defargs (); ;
5781 #line 1983 "parse.y"
5782 { yyvsp[0].itype = suspend_momentary ();
5783 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5786 #line 1986 "parse.y"
5787 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5788 yyval.ftype.new_type_flag = 1;
5789 resume_momentary ((int) yyvsp[-4].itype);
5790 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5793 #line 1991 "parse.y"
5794 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5795 yyval.ftype.new_type_flag = 1;
5796 check_for_missing_semicolon (yyval.ftype.t); ;
5799 #line 1995 "parse.y"
5800 { yyvsp[0].itype = suspend_momentary ();
5801 yyval.ttype = start_enum (make_anon_name ()); ;
5804 #line 1998 "parse.y"
5805 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5806 resume_momentary ((int) yyvsp[-5].itype);
5807 check_for_missing_semicolon (yyvsp[-3].ttype);
5808 yyval.ftype.new_type_flag = 1; ;
5811 #line 2003 "parse.y"
5812 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5813 yyval.ftype.new_type_flag = 1;
5814 check_for_missing_semicolon (yyval.ftype.t); ;
5817 #line 2007 "parse.y"
5818 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5819 yyval.ftype.new_type_flag = 0; ;
5822 #line 2010 "parse.y"
5823 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5824 yyval.ftype.new_type_flag = 0; ;
5827 #line 2013 "parse.y"
5828 { yyval.ftype.t = yyvsp[0].ttype;
5829 yyval.ftype.new_type_flag = 0; ;
5832 #line 2018 "parse.y"
5836 if (yychar == YYEMPTY)
5838 semi = yychar == ';';
5840 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5844 #line 2028 "parse.y"
5845 { finish_default_args (); ;
5848 #line 2030 "parse.y"
5849 { yyval.ftype.t = yyvsp[-3].ttype;
5850 yyval.ftype.new_type_flag = 1;
5851 begin_inline_definitions (); ;
5854 #line 2034 "parse.y"
5856 yyval.ftype.new_type_flag = 0;
5857 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5859 cp_error ("%T is not a class type", yyvsp[0].ttype);
5860 yyval.ftype.t = error_mark_node;
5864 yyval.ftype.t = yyvsp[0].ttype;
5865 /* struct B: public A; is not accepted by the WP grammar. */
5866 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5867 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5868 cp_error ("base clause without member specification for `%#T'",
5874 #line 2061 "parse.y"
5875 { if (pedantic && !in_system_header)
5876 pedwarn ("comma at end of enumerator list"); ;
5879 #line 2068 "parse.y"
5880 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5883 #line 2070 "parse.y"
5884 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5887 #line 2072 "parse.y"
5888 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5891 #line 2074 "parse.y"
5892 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5895 #line 2079 "parse.y"
5896 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5899 #line 2084 "parse.y"
5900 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5903 #line 2089 "parse.y"
5905 current_aggr = yyvsp[-2].ttype;
5906 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5910 #line 2094 "parse.y"
5912 current_aggr = yyvsp[-3].ttype;
5913 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5917 #line 2099 "parse.y"
5919 current_aggr = yyvsp[-2].ttype;
5920 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5924 #line 2104 "parse.y"
5925 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5928 #line 2106 "parse.y"
5929 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5932 #line 2111 "parse.y"
5933 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5936 #line 2116 "parse.y"
5937 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5940 #line 2119 "parse.y"
5942 yyval.ttype = yyvsp[-1].ttype;
5944 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5948 #line 2125 "parse.y"
5950 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5951 if (TREE_INT_CST_LOW (current_aggr) == union_type
5952 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5953 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5954 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5955 && TREE_INT_CST_LOW (current_aggr) != union_type)
5956 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5959 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5961 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5962 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5964 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
5965 if (processing_template_decl)
5966 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
5968 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
5969 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
5971 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
5976 #line 2154 "parse.y"
5977 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
5978 yyungetc ('{', 1); ;
5981 #line 2165 "parse.y"
5982 { yyval.ttype = NULL_TREE; ;
5985 #line 2167 "parse.y"
5986 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5989 #line 2169 "parse.y"
5990 { yyval.ttype = yyvsp[0].ttype; ;
5993 #line 2175 "parse.y"
5994 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5997 #line 2180 "parse.y"
5999 tree type = TREE_TYPE (yyvsp[0].ttype);
6000 if (! is_aggr_type (type, 1))
6001 yyval.ttype = NULL_TREE;
6002 else if (current_aggr == signature_type_node
6003 && (! type) && (! IS_SIGNATURE (type)))
6005 error ("class name not allowed as base signature");
6006 yyval.ttype = NULL_TREE;
6008 else if (current_aggr == signature_type_node)
6010 sorry ("signature inheritance, base type `%s' ignored",
6011 IDENTIFIER_POINTER (yyval.ttype));
6012 yyval.ttype = build_tree_list (access_public_node, type);
6014 else if (type && IS_SIGNATURE (type))
6016 error ("signature name not allowed as base class");
6017 yyval.ttype = NULL_TREE;
6020 yyval.ttype = build_tree_list (access_default_node, type);
6024 #line 2205 "parse.y"
6026 tree type = TREE_TYPE (yyvsp[0].ttype);
6027 if (current_aggr == signature_type_node)
6028 error ("access and source specifiers not allowed in signature");
6029 if (! IS_AGGR_TYPE (type))
6030 yyval.ttype = NULL_TREE;
6031 else if (current_aggr == signature_type_node
6032 && (! type) && (! IS_SIGNATURE (type)))
6034 error ("class name not allowed as base signature");
6035 yyval.ttype = NULL_TREE;
6037 else if (current_aggr == signature_type_node)
6039 sorry ("signature inheritance, base type `%s' ignored",
6040 IDENTIFIER_POINTER (yyval.ttype));
6041 yyval.ttype = build_tree_list (access_public_node, type);
6043 else if (type && IS_SIGNATURE (type))
6045 error ("signature name not allowed as base class");
6046 yyval.ttype = NULL_TREE;
6049 yyval.ttype = build_tree_list (yyval.ttype, type);
6053 #line 2235 "parse.y"
6054 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6057 #line 2238 "parse.y"
6059 if (current_aggr == signature_type_node)
6061 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6063 sorry ("`sigof' as base signature specifier");
6064 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6068 error ("`sigof' applied to non-aggregate expression");
6069 yyval.ttype = error_mark_node;
6074 error ("`sigof' in struct or class declaration");
6075 yyval.ttype = error_mark_node;
6080 #line 2259 "parse.y"
6082 if (current_aggr == signature_type_node)
6084 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6086 sorry ("`sigof' as base signature specifier");
6087 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6091 error ("`sigof' applied to non-aggregate expression");
6092 yyval.ttype = error_mark_node;
6097 error ("`sigof' in struct or class declaration");
6098 yyval.ttype = error_mark_node;
6103 #line 2284 "parse.y"
6104 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6105 cp_error ("`%D' access", yyvsp[-1].ttype);
6106 yyval.ttype = access_default_virtual_node; ;
6109 #line 2288 "parse.y"
6111 if (yyvsp[-2].ttype != access_default_virtual_node)
6112 error ("multiple access specifiers");
6113 else if (yyvsp[-1].ttype == access_public_node)
6114 yyval.ttype = access_public_virtual_node;
6115 else if (yyvsp[-1].ttype == access_protected_node)
6116 yyval.ttype = access_protected_virtual_node;
6117 else /* $2 == access_private_node */
6118 yyval.ttype = access_private_virtual_node;
6122 #line 2299 "parse.y"
6123 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6124 cp_error ("`%D' access", yyvsp[-1].ttype);
6125 else if (yyval.ttype == access_public_node)
6126 yyval.ttype = access_public_virtual_node;
6127 else if (yyval.ttype == access_protected_node)
6128 yyval.ttype = access_protected_virtual_node;
6129 else if (yyval.ttype == access_private_node)
6130 yyval.ttype = access_private_virtual_node;
6132 error ("multiple `virtual' specifiers");
6136 #line 2314 "parse.y"
6137 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6140 #line 2319 "parse.y"
6142 yyval.ttype = build_self_reference ();
6146 #line 2326 "parse.y"
6147 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6150 #line 2328 "parse.y"
6152 if (current_aggr == signature_type_node)
6153 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6155 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6156 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6160 #line 2336 "parse.y"
6162 tree visspec = yyvsp[-2].ttype;
6164 if (current_aggr == signature_type_node)
6166 error ("access specifier not allowed in signature");
6167 visspec = access_public_node;
6169 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6173 #line 2347 "parse.y"
6175 if (current_aggr == signature_type_node)
6176 error ("access specifier not allowed in signature");
6180 #line 2357 "parse.y"
6181 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6185 #line 2360 "parse.y"
6186 { /* In pushdecl, we created a reverse list of names
6187 in this binding level. Make sure that the chain
6188 of what we're trying to add isn't the item itself
6189 (which can happen with what pushdecl's doing). */
6190 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6192 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6193 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6195 yyval.ttype = yyvsp[0].ttype;
6200 #line 2376 "parse.y"
6204 #line 2378 "parse.y"
6205 { error ("missing ';' before right brace");
6206 yyungetc ('}', 0); ;
6209 #line 2383 "parse.y"
6210 { yyval.ttype = finish_method (yyval.ttype); ;
6213 #line 2385 "parse.y"
6214 { yyval.ttype = finish_method (yyval.ttype); ;
6217 #line 2387 "parse.y"
6218 { yyval.ttype = finish_method (yyval.ttype); ;
6221 #line 2389 "parse.y"
6222 { yyval.ttype = finish_method (yyval.ttype); ;
6225 #line 2391 "parse.y"
6226 { yyval.ttype = NULL_TREE; ;
6229 #line 2393 "parse.y"
6230 { yyval.ttype = yyvsp[0].ttype;
6231 pedantic = yyvsp[-1].itype; ;
6234 #line 2396 "parse.y"
6235 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6238 #line 2398 "parse.y"
6240 note_list_got_semicolon (yyvsp[-1].ftype.t);
6241 grok_x_components (yyvsp[-1].ftype.t, NULL_TREE);
6242 if (TYPE_CONTEXT (TREE_VALUE (yyvsp[-1].ftype.t)) != current_class_type)
6243 /* The component was in fact a friend
6245 yyvsp[-1].ftype.t = NULL_TREE;
6246 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6250 #line 2414 "parse.y"
6251 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6254 #line 2416 "parse.y"
6255 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6258 #line 2418 "parse.y"
6259 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6260 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6263 #line 2421 "parse.y"
6264 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6265 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6268 #line 2424 "parse.y"
6269 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6272 #line 2426 "parse.y"
6273 { yyval.ttype = NULL_TREE; ;
6276 #line 2437 "parse.y"
6277 { tree specs, attrs;
6278 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6279 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6280 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6283 #line 2442 "parse.y"
6284 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6285 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6288 #line 2445 "parse.y"
6289 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6292 #line 2451 "parse.y"
6293 { yyval.ttype = NULL_TREE; ;
6296 #line 2454 "parse.y"
6298 /* In this context, void_type_node encodes
6299 friends. They have been recorded elsewhere. */
6300 if (yyval.ttype == void_type_node)
6301 yyval.ttype = yyvsp[0].ttype;
6303 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6307 #line 2466 "parse.y"
6308 { yyval.ttype = NULL_TREE; ;
6311 #line 2469 "parse.y"
6313 /* In this context, void_type_node encodes
6314 friends. They have been recorded elsewhere. */
6315 if (yyval.ttype == void_type_node)
6316 yyval.ttype = yyvsp[0].ttype;
6318 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6322 #line 2491 "parse.y"
6323 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6324 &prefix_attributes);
6325 yyvsp[-4].ttype = current_declspecs;
6326 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6327 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6330 #line 2497 "parse.y"
6331 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6332 &prefix_attributes);
6333 yyvsp[-4].ttype = current_declspecs;
6334 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6335 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6338 #line 2506 "parse.y"
6339 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6340 &prefix_attributes);
6341 yyvsp[-4].ttype = current_declspecs;
6342 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6343 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6346 #line 2512 "parse.y"
6347 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6348 &prefix_attributes);
6349 yyvsp[-4].ttype = current_declspecs;
6350 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6351 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6354 #line 2518 "parse.y"
6355 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6356 &prefix_attributes);
6357 yyvsp[-4].ttype = current_declspecs;
6358 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6359 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6362 #line 2524 "parse.y"
6363 { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs,
6364 &prefix_attributes);
6365 yyvsp[-3].ttype = current_declspecs;
6366 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6367 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6370 #line 2533 "parse.y"
6371 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6372 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6375 #line 2536 "parse.y"
6376 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6377 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6380 #line 2542 "parse.y"
6381 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6382 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6385 #line 2545 "parse.y"
6386 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6387 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6390 #line 2548 "parse.y"
6391 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6392 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6395 #line 2559 "parse.y"
6396 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6399 #line 2564 "parse.y"
6400 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6403 #line 2566 "parse.y"
6404 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6407 #line 2572 "parse.y"
6408 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6409 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6412 #line 2575 "parse.y"
6413 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6414 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6417 #line 2582 "parse.y"
6420 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6421 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6422 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6423 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6427 #line 2593 "parse.y"
6428 { yyval.ttype = NULL_TREE; ;
6431 #line 2595 "parse.y"
6432 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6435 #line 2600 "parse.y"
6436 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6437 yyval.ftype.new_type_flag = 0; ;
6440 #line 2603 "parse.y"
6441 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6442 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6445 #line 2612 "parse.y"
6446 { yyval.itype = suspend_momentary (); ;
6449 #line 2617 "parse.y"
6450 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6453 #line 2623 "parse.y"
6454 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6457 #line 2625 "parse.y"
6458 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6461 #line 2627 "parse.y"
6462 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6465 #line 2629 "parse.y"
6466 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6469 #line 2636 "parse.y"
6470 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6473 #line 2638 "parse.y"
6474 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6477 #line 2640 "parse.y"
6478 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6481 #line 2642 "parse.y"
6482 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6485 #line 2644 "parse.y"
6486 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6487 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6491 #line 2652 "parse.y"
6493 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6495 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6496 if (current_class_type
6497 && TYPE_BEING_DEFINED (current_class_type)
6498 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6500 /* Remember that this name has been used in the class
6501 definition, as per [class.scope0] */
6502 pushdecl_class_level (yyval.ttype);
6506 yyval.ttype = yyvsp[0].ttype;
6510 #line 2669 "parse.y"
6512 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6513 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6515 yyval.ttype = yyvsp[0].ttype;
6516 got_scope = NULL_TREE;
6520 #line 2682 "parse.y"
6521 { yyval.ttype = yyvsp[0].ttype; ;
6524 #line 2687 "parse.y"
6525 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6528 #line 2692 "parse.y"
6529 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6532 #line 2694 "parse.y"
6533 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6536 #line 2696 "parse.y"
6537 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6540 #line 2698 "parse.y"
6541 { yyval.ttype = yyvsp[-1].ttype; ;
6544 #line 2700 "parse.y"
6545 { push_nested_class (yyvsp[-1].ttype, 3);
6546 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6547 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6550 #line 2711 "parse.y"
6551 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6554 #line 2713 "parse.y"
6555 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6558 #line 2715 "parse.y"
6559 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6562 #line 2717 "parse.y"
6563 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6566 #line 2719 "parse.y"
6567 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6568 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6572 #line 2727 "parse.y"
6573 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6576 #line 2729 "parse.y"
6577 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6580 #line 2731 "parse.y"
6581 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6584 #line 2733 "parse.y"
6585 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6588 #line 2735 "parse.y"
6589 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6590 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6594 #line 2743 "parse.y"
6595 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6598 #line 2745 "parse.y"
6599 { yyval.ttype = yyvsp[-1].ttype; ;
6602 #line 2747 "parse.y"
6603 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6606 #line 2749 "parse.y"
6607 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6610 #line 2751 "parse.y"
6611 { if (OP0 (yyval.ttype) != current_class_type)
6613 push_nested_class (OP0 (yyval.ttype), 3);
6614 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6619 #line 2758 "parse.y"
6620 { got_scope = NULL_TREE;
6621 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6622 if (yyvsp[-1].ttype != current_class_type)
6624 push_nested_class (yyvsp[-1].ttype, 3);
6625 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6630 #line 2770 "parse.y"
6631 { got_scope = NULL_TREE;
6632 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6635 #line 2773 "parse.y"
6636 { got_scope = NULL_TREE;
6637 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6640 #line 2779 "parse.y"
6641 { got_scope = NULL_TREE;
6642 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6645 #line 2782 "parse.y"
6646 { got_scope = NULL_TREE;
6647 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6650 #line 2789 "parse.y"
6651 { yyval.ttype = yyvsp[0].ttype; ;
6654 #line 2794 "parse.y"
6655 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6658 #line 2796 "parse.y"
6659 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6662 #line 2798 "parse.y"
6663 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6666 #line 2810 "parse.y"
6667 { yyval.ttype = yyvsp[0].ttype; ;
6670 #line 2812 "parse.y"
6671 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6674 #line 2819 "parse.y"
6676 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6678 yyval.ttype = lastiddecl;
6679 /* Remember that this name has been used in the class
6680 definition, as per [class.scope0] */
6681 if (current_class_type
6682 && TYPE_BEING_DEFINED (current_class_type)
6683 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6684 pushdecl_class_level (yyval.ttype);
6686 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6690 #line 2833 "parse.y"
6692 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6693 yyval.ttype = lastiddecl;
6694 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6698 #line 2839 "parse.y"
6700 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6701 yyval.ttype = lastiddecl;
6702 got_scope = yyval.ttype;
6706 #line 2845 "parse.y"
6707 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6710 #line 2861 "parse.y"
6711 { yyval.ttype = yyvsp[0].ttype; ;
6714 #line 2866 "parse.y"
6716 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6717 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6718 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6719 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6722 yyval.ttype = yyvsp[0].ttype;
6723 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6724 yyval.ttype = TREE_TYPE (yyval.ttype);
6729 #line 2879 "parse.y"
6730 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6733 #line 2881 "parse.y"
6734 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6737 #line 2883 "parse.y"
6738 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6741 #line 2888 "parse.y"
6743 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6744 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6748 #line 2893 "parse.y"
6750 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6751 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6752 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6753 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6756 yyval.ttype = yyvsp[0].ttype;
6757 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6758 yyval.ttype = TREE_TYPE (yyval.ttype);
6763 #line 2906 "parse.y"
6764 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6767 #line 2908 "parse.y"
6768 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6771 #line 2913 "parse.y"
6773 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6774 yyvsp[-1].ttype = lastiddecl;
6776 /* Retrieve the type for the identifier, which might involve
6777 some computation. */
6778 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6780 if (yyval.ttype == error_mark_node)
6781 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6785 #line 2925 "parse.y"
6787 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6788 yyval.ttype = lastiddecl;
6789 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6793 #line 2931 "parse.y"
6794 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6797 #line 2935 "parse.y"
6799 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6800 yyval.ttype = lastiddecl;
6801 got_scope = yyval.ttype;
6805 #line 2944 "parse.y"
6806 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6809 #line 2949 "parse.y"
6811 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6812 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6814 yyval.ttype = yyvsp[0].ttype;
6815 got_scope = NULL_TREE;
6819 #line 2958 "parse.y"
6820 { yyval.ttype = yyvsp[0].ttype; ;
6823 #line 2963 "parse.y"
6824 { got_scope = NULL_TREE; ;
6827 #line 2965 "parse.y"
6828 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6831 #line 2972 "parse.y"
6832 { got_scope = void_type_node; ;
6835 #line 2978 "parse.y"
6836 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6839 #line 2980 "parse.y"
6840 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6843 #line 2982 "parse.y"
6844 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6847 #line 2984 "parse.y"
6848 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6851 #line 2986 "parse.y"
6852 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6853 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6857 #line 2990 "parse.y"
6858 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6859 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6863 #line 2999 "parse.y"
6864 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6867 #line 3001 "parse.y"
6868 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6871 #line 3007 "parse.y"
6872 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6875 #line 3009 "parse.y"
6876 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6879 #line 3011 "parse.y"
6880 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6883 #line 3013 "parse.y"
6884 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6887 #line 3015 "parse.y"
6888 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6891 #line 3017 "parse.y"
6892 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6895 #line 3019 "parse.y"
6896 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6899 #line 3021 "parse.y"
6900 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6903 #line 3023 "parse.y"
6904 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6905 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6909 #line 3027 "parse.y"
6910 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6911 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6915 #line 3036 "parse.y"
6916 { yyval.ttype = yyvsp[-1].ttype; ;
6919 #line 3040 "parse.y"
6920 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6923 #line 3042 "parse.y"
6924 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
6927 #line 3044 "parse.y"
6928 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6931 #line 3046 "parse.y"
6932 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6935 #line 3048 "parse.y"
6936 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6939 #line 3050 "parse.y"
6940 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6943 #line 3052 "parse.y"
6944 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6947 #line 3054 "parse.y"
6948 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6951 #line 3056 "parse.y"
6952 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
6955 #line 3079 "parse.y"
6957 pedwarn ("ANSI C++ forbids label declarations"); ;
6960 #line 3090 "parse.y"
6962 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
6964 tree label = shadow_label (TREE_VALUE (link));
6965 C_DECLARED_LABEL_FLAG (label) = 1;
6966 declare_nonlocal_label (label);
6971 #line 3104 "parse.y"
6975 #line 3110 "parse.y"
6976 { yyval.ttype = begin_compound_stmt (0); ;
6979 #line 3112 "parse.y"
6980 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6983 #line 3117 "parse.y"
6985 yyval.ttype = begin_if_stmt ();
6986 cond_stmt_keyword = "if";
6990 #line 3122 "parse.y"
6991 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6994 #line 3124 "parse.y"
6995 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
6998 #line 3129 "parse.y"
6999 { yyval.ttype = begin_compound_stmt (0); ;
7002 #line 3131 "parse.y"
7003 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7006 #line 3136 "parse.y"
7010 #line 3142 "parse.y"
7014 #line 3144 "parse.y"
7015 { finish_expr_stmt (yyvsp[-1].ttype); ;
7018 #line 3146 "parse.y"
7019 { begin_else_clause (); ;
7022 #line 3148 "parse.y"
7024 finish_else_clause (yyvsp[-3].ttype);
7029 #line 3153 "parse.y"
7030 { finish_if_stmt (); ;
7033 #line 3155 "parse.y"
7035 yyval.ttype = begin_while_stmt ();
7036 cond_stmt_keyword = "while";
7040 #line 3160 "parse.y"
7041 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7044 #line 3162 "parse.y"
7045 { finish_while_stmt (yyvsp[-3].ttype); ;
7048 #line 3164 "parse.y"
7049 { yyval.ttype = begin_do_stmt (); ;
7052 #line 3166 "parse.y"
7054 finish_do_body (yyvsp[-2].ttype);
7055 cond_stmt_keyword = "do";
7059 #line 3171 "parse.y"
7060 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7063 #line 3173 "parse.y"
7064 { yyval.ttype = begin_for_stmt (); ;
7067 #line 3175 "parse.y"
7068 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7071 #line 3177 "parse.y"
7072 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7075 #line 3179 "parse.y"
7076 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7079 #line 3181 "parse.y"
7080 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7083 #line 3183 "parse.y"
7084 { begin_switch_stmt (); ;
7087 #line 3185 "parse.y"
7088 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7091 #line 3187 "parse.y"
7092 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7095 #line 3189 "parse.y"
7096 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7099 #line 3192 "parse.y"
7100 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7103 #line 3195 "parse.y"
7104 { finish_case_label (NULL_TREE, NULL_TREE); ;
7107 #line 3198 "parse.y"
7108 { finish_break_stmt (); ;
7111 #line 3200 "parse.y"
7112 { finish_continue_stmt (); ;
7115 #line 3202 "parse.y"
7116 { finish_return_stmt (NULL_TREE); ;
7119 #line 3204 "parse.y"
7120 { finish_return_stmt (yyvsp[-1].ttype); ;
7123 #line 3206 "parse.y"
7125 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7130 #line 3212 "parse.y"
7132 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7137 #line 3218 "parse.y"
7138 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7141 #line 3222 "parse.y"
7142 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7145 #line 3224 "parse.y"
7148 pedwarn ("ANSI C++ forbids computed gotos");
7149 finish_goto_stmt (yyvsp[-1].ttype);
7153 #line 3230 "parse.y"
7154 { finish_goto_stmt (yyvsp[-1].ttype); ;
7157 #line 3232 "parse.y"
7161 #line 3234 "parse.y"
7162 { error ("label must be followed by statement");
7167 #line 3238 "parse.y"
7171 #line 3244 "parse.y"
7173 if (! current_function_parms_stored)
7174 store_parm_decls ();
7175 expand_start_early_try_stmts ();
7179 #line 3250 "parse.y"
7181 expand_start_all_catch ();
7182 expand_start_catch (NULL);
7186 #line 3255 "parse.y"
7188 int nested = (hack_decl_function_context
7189 (current_function_decl) != NULL_TREE);
7190 expand_end_all_catch ();
7191 expand_end_catch ();
7192 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7196 #line 3266 "parse.y"
7197 { yyval.ttype = begin_try_block (); ;
7200 #line 3268 "parse.y"
7201 { finish_try_block (yyvsp[-1].ttype); ;
7204 #line 3270 "parse.y"
7205 { finish_handler_sequence (yyvsp[-3].ttype); ;
7208 #line 3280 "parse.y"
7209 { yyval.ttype = begin_handler(); ;
7212 #line 3282 "parse.y"
7213 { finish_handler_parms (yyvsp[-1].ttype); ;
7216 #line 3284 "parse.y"
7217 { finish_handler (yyvsp[-3].ttype); ;
7220 #line 3294 "parse.y"
7221 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7224 #line 3310 "parse.y"
7225 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7226 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7227 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7230 #line 3317 "parse.y"
7233 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7234 if (label && ! minimal_parse_mode)
7235 expand_label (label);
7239 #line 3324 "parse.y"
7243 #line 3326 "parse.y"
7247 #line 3328 "parse.y"
7251 #line 3333 "parse.y"
7252 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7255 #line 3336 "parse.y"
7257 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7261 #line 3345 "parse.y"
7262 { emit_line_note (input_filename, lineno);
7263 yyval.ttype = NULL_TREE; ;
7266 #line 3348 "parse.y"
7267 { emit_line_note (input_filename, lineno); ;
7270 #line 3353 "parse.y"
7271 { yyval.ttype = NULL_TREE; ;
7274 #line 3356 "parse.y"
7275 { yyval.ttype = NULL_TREE; ;
7278 #line 3363 "parse.y"
7279 { yyval.ttype = NULL_TREE; ;
7282 #line 3370 "parse.y"
7283 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7286 #line 3375 "parse.y"
7287 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7290 #line 3380 "parse.y"
7291 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7294 #line 3382 "parse.y"
7295 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7298 #line 3393 "parse.y"
7300 yyval.ttype = empty_parms();
7304 #line 3398 "parse.y"
7305 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7306 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7309 #line 3406 "parse.y"
7310 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7313 #line 3408 "parse.y"
7314 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7317 #line 3411 "parse.y"
7318 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7321 #line 3413 "parse.y"
7322 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7323 yyvsp[-1].ftype.t), 1); ;
7326 #line 3416 "parse.y"
7327 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7330 #line 3418 "parse.y"
7332 /* This helps us recover from really nasty
7333 parse errors, for example, a missing right
7335 yyerror ("possibly missing ')'");
7336 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7342 #line 3428 "parse.y"
7344 /* This helps us recover from really nasty
7345 parse errors, for example, a missing right
7347 yyerror ("possibly missing ')'");
7348 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7349 yyvsp[-1].ftype.t), 0);
7355 #line 3443 "parse.y"
7356 { maybe_snarf_defarg (); ;
7359 #line 3445 "parse.y"
7360 { yyval.ttype = yyvsp[0].ttype; ;
7363 #line 3456 "parse.y"
7364 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7365 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7368 #line 3459 "parse.y"
7369 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7370 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7373 #line 3462 "parse.y"
7374 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7375 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7378 #line 3465 "parse.y"
7379 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7382 #line 3467 "parse.y"
7383 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7386 #line 3473 "parse.y"
7387 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7388 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7391 #line 3483 "parse.y"
7392 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7393 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7394 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7397 #line 3487 "parse.y"
7398 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7399 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7402 #line 3490 "parse.y"
7403 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7404 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7407 #line 3493 "parse.y"
7408 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7409 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7410 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7413 #line 3497 "parse.y"
7414 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7415 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7416 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7419 #line 3501 "parse.y"
7420 { tree specs = strip_attrs (yyvsp[-1].ttype);
7421 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7422 yyval.ftype.new_type_flag = 0; ;
7425 #line 3508 "parse.y"
7426 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7427 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7430 #line 3511 "parse.y"
7431 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7432 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7435 #line 3522 "parse.y"
7436 { see_typename (); ;
7439 #line 3527 "parse.y"
7441 error ("type specifier omitted for parameter");
7442 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7446 #line 3532 "parse.y"
7448 error ("type specifier omitted for parameter");
7449 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7450 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7451 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7452 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7453 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7457 #line 3544 "parse.y"
7458 { yyval.ttype = NULL_TREE; ;
7461 #line 3546 "parse.y"
7462 { yyval.ttype = yyvsp[-1].ttype; ;
7465 #line 3548 "parse.y"
7466 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7469 #line 3553 "parse.y"
7470 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7473 #line 3559 "parse.y"
7475 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7476 yyval.ttype = yyvsp[0].ttype;
7480 #line 3567 "parse.y"
7481 { yyval.ttype = NULL_TREE; ;
7484 #line 3569 "parse.y"
7485 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7488 #line 3571 "parse.y"
7489 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7492 #line 3573 "parse.y"
7493 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7494 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7498 #line 3580 "parse.y"
7499 { got_scope = NULL_TREE; ;
7502 #line 3585 "parse.y"
7503 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7506 #line 3587 "parse.y"
7507 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7510 #line 3589 "parse.y"
7511 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7514 #line 3591 "parse.y"
7515 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7518 #line 3593 "parse.y"
7519 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7522 #line 3595 "parse.y"
7523 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7526 #line 3597 "parse.y"
7527 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7530 #line 3599 "parse.y"
7531 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7534 #line 3601 "parse.y"
7535 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7538 #line 3603 "parse.y"
7539 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7542 #line 3605 "parse.y"
7543 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7546 #line 3607 "parse.y"
7547 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7550 #line 3609 "parse.y"
7551 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7554 #line 3611 "parse.y"
7555 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7558 #line 3613 "parse.y"
7559 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7562 #line 3615 "parse.y"
7563 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7566 #line 3617 "parse.y"
7567 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7570 #line 3619 "parse.y"
7571 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7574 #line 3621 "parse.y"
7575 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7578 #line 3623 "parse.y"
7579 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7582 #line 3625 "parse.y"
7583 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7586 #line 3627 "parse.y"
7587 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7590 #line 3629 "parse.y"
7591 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7594 #line 3631 "parse.y"
7595 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7598 #line 3633 "parse.y"
7599 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7602 #line 3635 "parse.y"
7603 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7606 #line 3637 "parse.y"
7607 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7610 #line 3639 "parse.y"
7611 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7614 #line 3641 "parse.y"
7615 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7618 #line 3643 "parse.y"
7619 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7622 #line 3645 "parse.y"
7623 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7626 #line 3647 "parse.y"
7627 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7630 #line 3649 "parse.y"
7631 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7634 #line 3652 "parse.y"
7635 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7638 #line 3654 "parse.y"
7639 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7642 /* the action file gets copied in in place of this dollarsign */
7643 #line 498 "/usr/lib/bison.simple"
7654 short *ssp1 = yyss - 1;
7655 fprintf (stderr, "state stack now");
7656 while (ssp1 != yyssp)
7657 fprintf (stderr, " %d", *++ssp1);
7658 fprintf (stderr, "\n");
7668 yylsp->first_line = yylloc.first_line;
7669 yylsp->first_column = yylloc.first_column;
7670 yylsp->last_line = (yylsp-1)->last_line;
7671 yylsp->last_column = (yylsp-1)->last_column;
7676 yylsp->last_line = (yylsp+yylen-1)->last_line;
7677 yylsp->last_column = (yylsp+yylen-1)->last_column;
7681 /* Now "shift" the result of the reduction.
7682 Determine what state that goes to,
7683 based on the state we popped back to
7684 and the rule number reduced by. */
7688 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7689 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7690 yystate = yytable[yystate];
7692 yystate = yydefgoto[yyn - YYNTBASE];
7696 yyerrlab: /* here on detecting error */
7699 /* If not already recovering from an error, report this error. */
7703 #ifdef YYERROR_VERBOSE
7704 yyn = yypact[yystate];
7706 if (yyn > YYFLAG && yyn < YYLAST)
7713 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7714 for (x = (yyn < 0 ? -yyn : 0);
7715 x < (sizeof(yytname) / sizeof(char *)); x++)
7716 if (yycheck[x + yyn] == x)
7717 size += strlen(yytname[x]) + 15, count++;
7718 msg = (char *) malloc(size + 15);
7721 strcpy(msg, "parse error");
7726 for (x = (yyn < 0 ? -yyn : 0);
7727 x < (sizeof(yytname) / sizeof(char *)); x++)
7728 if (yycheck[x + yyn] == x)
7730 strcat(msg, count == 0 ? ", expecting `" : " or `");
7731 strcat(msg, yytname[x]);
7740 yyerror ("parse error; also virtual memory exceeded");
7743 #endif /* YYERROR_VERBOSE */
7744 yyerror("parse error");
7748 yyerrlab1: /* here on error raised explicitly by an action */
7750 if (yyerrstatus == 3)
7752 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7754 /* return failure if at end of input */
7755 if (yychar == YYEOF)
7760 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7766 /* Else will try to reuse lookahead token
7767 after shifting the error token. */
7769 yyerrstatus = 3; /* Each real token shifted decrements this */
7773 yyerrdefault: /* current state does not do anything special for the error token. */
7776 /* This is wrong; only states that explicitly want error tokens
7777 should shift them. */
7778 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7779 if (yyn) goto yydefault;
7782 yyerrpop: /* pop the current state because it cannot handle the error token */
7784 if (yyssp == yyss) YYABORT;
7794 short *ssp1 = yyss - 1;
7795 fprintf (stderr, "Error: state stack now");
7796 while (ssp1 != yyssp)
7797 fprintf (stderr, " %d", *++ssp1);
7798 fprintf (stderr, "\n");
7804 yyn = yypact[yystate];
7809 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7828 fprintf(stderr, "Shifting error token, ");
7839 #line 3657 "parse.y"
7844 debug_yytranslate (value)
7847 return yytname[YYTRANSLATE (value)];