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
33 #define GCC_ASM_KEYWORD 283
51 #define TYPENAME_KEYWORD 301
53 #define LEFT_RIGHT 303
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
70 #define ARITHCOMPARE 320
73 #define POINTSAT_STAR 323
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
87 #define PRE_PARSED_CLASS_DECL 337
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
98 /* Cause the `yydebug' variable to be defined. */
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 char *language_string = "GNU C++";
117 extern tree void_list_node;
118 extern struct obstack permanent_obstack;
120 extern int end_of_file;
122 /* Like YYERROR but do call yyerror. */
123 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
125 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
126 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
128 /* Contains the statement keyword (if/while/do) to include in an
129 error message if the user supplies an empty conditional expression. */
130 static char *cond_stmt_keyword;
132 static tree empty_parms PROTO((void));
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec;
136 int used_extern_spec;
138 /* Cons up an empty parameter list. */
148 || current_class_type != NULL)
149 parms = void_list_node;
157 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
160 /* List of types and structure classes of the current declaration. */
161 static tree current_declspecs = NULL_TREE;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes = NULL_TREE;
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr;
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint PROTO((FILE *, int, YYSTYPE));
176 extern tree combine_strings PROTO((tree));
179 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
188 split_specs_attrs (specs_attrs, ¤t_declspecs, &prefix_attributes);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs) != TREE_LIST)
191 current_declspecs = get_decl_list (current_declspecs);
192 if (have_extern_spec && !used_extern_spec)
194 current_declspecs = decl_tree_cons (NULL_TREE,
195 get_identifier ("extern"),
197 used_extern_spec = 1;
199 sm = suspend_momentary ();
200 *decl = start_decl (declarator, current_declspecs, initialized,
201 attributes, prefix_attributes);
215 #define YYFLAG -32768
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 386)
220 static const char yytranslate[] = { 0,
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, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
225 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
227 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 59, 69, 111, 89, 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, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
253 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 static const short yyprhs[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
262 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
263 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
264 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
265 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
266 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
267 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
268 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
269 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
270 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
271 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
272 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
273 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
274 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
275 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
276 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
277 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
278 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
279 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
280 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
281 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
282 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
283 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
284 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
285 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
286 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
287 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
288 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
289 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
290 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
291 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
292 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
293 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
294 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
295 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
296 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
297 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
298 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
299 1301, 1306, 1308, 1312, 1316, 1317, 1322, 1326, 1327, 1329,
300 1331, 1334, 1341, 1343, 1347, 1348, 1350, 1355, 1362, 1367,
301 1369, 1371, 1373, 1375, 1377, 1381, 1382, 1385, 1387, 1390,
302 1394, 1399, 1401, 1403, 1407, 1412, 1416, 1422, 1424, 1429,
303 1433, 1437, 1438, 1442, 1446, 1450, 1451, 1454, 1457, 1458,
304 1466, 1471, 1472, 1479, 1483, 1486, 1489, 1492, 1493, 1494,
305 1504, 1506, 1507, 1509, 1510, 1512, 1514, 1517, 1520, 1523,
306 1526, 1529, 1532, 1536, 1541, 1545, 1548, 1552, 1553, 1555,
307 1559, 1562, 1565, 1567, 1569, 1570, 1573, 1577, 1579, 1584,
308 1586, 1590, 1592, 1594, 1599, 1604, 1607, 1610, 1614, 1618,
309 1620, 1621, 1623, 1626, 1631, 1635, 1637, 1640, 1643, 1646,
310 1649, 1652, 1655, 1658, 1660, 1663, 1666, 1670, 1673, 1676,
311 1681, 1686, 1689, 1691, 1697, 1702, 1704, 1705, 1707, 1711,
312 1712, 1714, 1718, 1720, 1722, 1724, 1726, 1731, 1736, 1741,
313 1746, 1751, 1755, 1760, 1765, 1770, 1775, 1779, 1781, 1785,
314 1787, 1791, 1794, 1796, 1803, 1804, 1807, 1809, 1812, 1813,
315 1816, 1821, 1826, 1829, 1834, 1838, 1842, 1845, 1848, 1852,
316 1854, 1856, 1859, 1861, 1863, 1866, 1869, 1874, 1879, 1883,
317 1887, 1890, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1916,
318 1920, 1923, 1926, 1930, 1932, 1937, 1941, 1946, 1950, 1952,
319 1955, 1958, 1961, 1964, 1967, 1969, 1972, 1977, 1982, 1985,
320 1987, 1989, 1991, 1993, 1996, 2001, 2004, 2007, 2010, 2013,
321 2015, 2018, 2021, 2024, 2027, 2031, 2033, 2036, 2040, 2045,
322 2048, 2051, 2054, 2057, 2060, 2063, 2068, 2071, 2073, 2076,
323 2079, 2083, 2085, 2089, 2092, 2096, 2099, 2102, 2106, 2108,
324 2112, 2117, 2121, 2124, 2127, 2129, 2133, 2136, 2139, 2141,
325 2144, 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2177, 2183,
326 2187, 2191, 2195, 2198, 2200, 2202, 2205, 2208, 2211, 2212,
327 2214, 2216, 2219, 2223, 2225, 2228, 2229, 2233, 2234, 2235,
328 2241, 2243, 2244, 2247, 2249, 2251, 2253, 2256, 2257, 2262,
329 2264, 2265, 2266, 2272, 2273, 2274, 2282, 2283, 2284, 2285,
330 2286, 2299, 2300, 2301, 2309, 2310, 2316, 2317, 2325, 2326,
331 2331, 2334, 2337, 2340, 2344, 2351, 2360, 2371, 2384, 2389,
332 2393, 2396, 2399, 2401, 2403, 2404, 2405, 2412, 2413, 2414,
333 2420, 2422, 2425, 2426, 2427, 2433, 2435, 2437, 2441, 2445,
334 2448, 2451, 2454, 2457, 2460, 2462, 2465, 2466, 2468, 2469,
335 2471, 2473, 2474, 2476, 2478, 2482, 2487, 2489, 2493, 2494,
336 2496, 2498, 2500, 2503, 2506, 2509, 2511, 2513, 2516, 2519,
337 2522, 2525, 2526, 2530, 2532, 2534, 2536, 2539, 2542, 2545,
338 2550, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, 2575,
339 2578, 2580, 2582, 2583, 2584, 2586, 2587, 2592, 2595, 2597,
340 2599, 2603, 2604, 2608, 2612, 2616, 2618, 2621, 2624, 2627,
341 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
342 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687,
343 2691, 2694, 2697, 2700, 2703, 2707, 2710, 2713, 2718, 2723,
347 static const short yyrhs[] = { -1,
348 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
349 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
350 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
351 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
352 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
353 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
354 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
355 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
356 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
357 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
358 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
359 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
360 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
361 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
362 0, 134, 0, 134, 65, 214, 0, 377, 0, 377,
363 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
364 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
365 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
366 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
367 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
368 152, 61, 0, 0, 109, 0, 148, 140, 139, 324,
369 0, 148, 140, 348, 0, 148, 140, 1, 0, 0,
370 305, 5, 94, 144, 368, 110, 287, 380, 0, 305,
371 5, 48, 287, 380, 0, 0, 314, 305, 5, 94,
372 145, 368, 110, 287, 380, 0, 314, 305, 5, 48,
373 287, 380, 0, 0, 305, 172, 94, 146, 368, 110,
374 287, 380, 0, 305, 172, 48, 287, 380, 0, 0,
375 314, 305, 172, 94, 147, 368, 110, 287, 380, 0,
376 314, 305, 172, 48, 287, 380, 0, 215, 212, 0,
377 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
378 5, 94, 368, 110, 287, 380, 0, 5, 48, 287,
379 380, 0, 172, 94, 368, 110, 287, 380, 0, 172,
380 48, 287, 380, 0, 218, 149, 0, 149, 0, 215,
381 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
382 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
383 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
384 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
385 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
386 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
387 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
388 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
389 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
390 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
391 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
392 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
393 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
394 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
395 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
396 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
397 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
398 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
399 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
400 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
401 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
402 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
403 182, 0, 1, 0, 0, 358, 212, 226, 235, 65,
404 183, 243, 0, 178, 0, 111, 0, 321, 319, 111,
405 0, 321, 319, 1, 111, 0, 321, 1, 111, 0,
406 0, 59, 186, 184, 0, 333, 0, 194, 60, 194,
407 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
408 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
409 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
410 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
411 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
412 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
413 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
414 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
415 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
416 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
417 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
418 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
419 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
420 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
421 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
422 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
423 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
424 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
425 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
426 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
427 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
428 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
429 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
430 194, 0, 194, 66, 363, 63, 194, 0, 194, 65,
431 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
432 0, 89, 378, 157, 0, 197, 0, 385, 0, 3,
433 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
434 173, 0, 385, 75, 196, 174, 173, 0, 49, 157,
435 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
436 49, 385, 75, 174, 173, 0, 195, 0, 4, 0,
437 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
438 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
439 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
440 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
441 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
442 94, 1, 110, 0, 0, 94, 204, 325, 110, 0,
443 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
444 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
445 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
446 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
447 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
448 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
449 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
450 314, 3, 0, 314, 385, 0, 302, 0, 302, 94,
451 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
452 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
453 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
454 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
455 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
456 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
457 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
458 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
459 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
460 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
461 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
462 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
463 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
464 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
465 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
466 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
467 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
468 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
469 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
470 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
471 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
472 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
473 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
474 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
475 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
476 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
477 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
478 235, 65, 230, 243, 0, 235, 0, 212, 226, 229,
479 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
480 0, 143, 226, 235, 0, 0, 236, 0, 237, 0,
481 236, 237, 0, 32, 94, 94, 238, 110, 110, 0,
482 239, 0, 238, 60, 239, 0, 0, 240, 0, 240,
483 94, 3, 110, 0, 240, 94, 3, 60, 188, 110,
484 0, 240, 94, 188, 110, 0, 157, 0, 7, 0,
485 8, 0, 9, 0, 157, 0, 241, 60, 157, 0,
486 0, 65, 243, 0, 194, 0, 59, 111, 0, 59,
487 244, 111, 0, 59, 244, 60, 111, 0, 1, 0,
488 243, 0, 244, 60, 243, 0, 95, 194, 113, 243,
489 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
490 0, 99, 0, 245, 140, 139, 324, 0, 245, 140,
491 348, 0, 245, 140, 1, 0, 0, 247, 246, 141,
492 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
493 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
494 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
495 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
496 111, 0, 14, 157, 0, 14, 312, 0, 46, 307,
497 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
498 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
499 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
500 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
501 0, 257, 305, 157, 0, 257, 314, 305, 157, 0,
502 257, 314, 157, 0, 257, 171, 0, 257, 305, 171,
503 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
504 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
505 378, 0, 63, 378, 266, 0, 267, 0, 266, 60,
506 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
507 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
508 214, 110, 0, 38, 378, 0, 7, 378, 0, 269,
509 38, 378, 0, 269, 7, 378, 0, 59, 0, 0,
510 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
511 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
512 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
513 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
514 274, 0, 130, 274, 0, 130, 215, 61, 0, 215,
515 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
516 143, 226, 235, 242, 0, 63, 194, 0, 1, 0,
517 218, 149, 226, 235, 242, 0, 149, 226, 235, 242,
518 0, 127, 0, 0, 278, 0, 276, 60, 279, 0,
519 0, 281, 0, 277, 60, 283, 0, 280, 0, 281,
520 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
521 4, 63, 194, 235, 0, 297, 226, 235, 242, 0,
522 143, 226, 235, 242, 0, 3, 63, 194, 235, 0,
523 63, 194, 235, 0, 292, 226, 235, 242, 0, 4,
524 63, 194, 235, 0, 297, 226, 235, 242, 0, 3,
525 63, 194, 235, 0, 63, 194, 235, 0, 285, 0,
526 284, 60, 285, 0, 157, 0, 157, 65, 194, 0,
527 358, 315, 0, 358, 0, 94, 214, 110, 95, 178,
528 113, 0, 0, 287, 9, 0, 9, 0, 288, 9,
529 0, 0, 289, 178, 0, 289, 94, 188, 110, 0,
530 289, 94, 368, 110, 0, 289, 48, 0, 289, 94,
531 1, 110, 0, 81, 288, 292, 0, 71, 288, 292,
532 0, 81, 292, 0, 71, 292, 0, 313, 287, 292,
533 0, 296, 0, 304, 0, 314, 304, 0, 293, 0,
534 295, 0, 314, 295, 0, 305, 304, 0, 296, 291,
535 287, 380, 0, 296, 95, 290, 113, 0, 296, 95,
536 113, 0, 94, 292, 110, 0, 305, 304, 0, 304,
537 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
538 297, 0, 71, 297, 0, 313, 287, 297, 0, 202,
539 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
540 298, 0, 71, 298, 0, 313, 287, 297, 0, 299,
541 0, 202, 291, 287, 380, 0, 94, 298, 110, 0,
542 202, 95, 290, 113, 0, 202, 95, 113, 0, 301,
543 0, 305, 201, 0, 305, 199, 0, 305, 198, 0,
544 305, 195, 0, 305, 198, 0, 301, 0, 314, 301,
545 0, 221, 94, 188, 110, 0, 221, 94, 200, 110,
546 0, 221, 213, 0, 4, 0, 5, 0, 171, 0,
547 306, 0, 305, 306, 0, 305, 49, 311, 55, 0,
548 4, 55, 0, 5, 55, 0, 58, 55, 0, 171,
549 55, 0, 308, 0, 314, 308, 0, 309, 157, 0,
550 309, 171, 0, 309, 311, 0, 309, 49, 311, 0,
551 310, 0, 309, 310, 0, 309, 311, 55, 0, 309,
552 49, 311, 55, 0, 4, 55, 0, 5, 55, 0,
553 171, 55, 0, 57, 55, 0, 3, 55, 0, 58,
554 55, 0, 157, 75, 174, 173, 0, 314, 304, 0,
555 295, 0, 314, 295, 0, 305, 81, 0, 314, 305,
556 81, 0, 55, 0, 81, 287, 315, 0, 81, 287,
557 0, 71, 287, 315, 0, 71, 287, 0, 313, 287,
558 0, 313, 287, 315, 0, 316, 0, 95, 178, 113,
559 0, 316, 95, 290, 113, 0, 81, 288, 317, 0,
560 81, 317, 0, 81, 288, 0, 81, 0, 71, 288,
561 317, 0, 71, 317, 0, 71, 288, 0, 71, 0,
562 313, 287, 0, 313, 287, 317, 0, 318, 0, 94,
563 317, 110, 0, 91, 0, 318, 94, 368, 110, 287,
564 380, 0, 318, 48, 287, 380, 0, 318, 95, 290,
565 113, 0, 318, 95, 113, 0, 94, 369, 110, 287,
566 380, 0, 192, 287, 380, 0, 213, 287, 380, 0,
567 95, 290, 113, 0, 95, 113, 0, 332, 0, 320,
568 0, 319, 332, 0, 319, 320, 0, 1, 61, 0,
569 0, 322, 0, 323, 0, 322, 323, 0, 34, 241,
570 61, 0, 325, 0, 1, 325, 0, 0, 59, 326,
571 184, 0, 0, 0, 15, 328, 180, 329, 330, 0,
572 325, 0, 0, 331, 333, 0, 325, 0, 333, 0,
573 211, 0, 178, 61, 0, 0, 327, 16, 334, 330,
574 0, 327, 0, 0, 0, 17, 335, 180, 336, 185,
575 0, 0, 0, 18, 337, 330, 17, 338, 179, 61,
576 0, 0, 0, 0, 0, 19, 339, 94, 361, 340,
577 181, 61, 341, 363, 110, 342, 185, 0, 0, 0,
578 20, 343, 94, 182, 110, 344, 330, 0, 0, 21,
579 194, 63, 345, 332, 0, 0, 21, 194, 12, 194,
580 63, 346, 332, 0, 0, 22, 63, 347, 332, 0,
581 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
582 178, 61, 0, 121, 362, 94, 208, 110, 61, 0,
583 121, 362, 94, 208, 63, 364, 110, 61, 0, 121,
584 362, 94, 208, 63, 364, 63, 364, 110, 61, 0,
585 121, 362, 94, 208, 63, 364, 63, 364, 63, 367,
586 110, 61, 0, 26, 81, 178, 61, 0, 26, 157,
587 61, 0, 360, 332, 0, 360, 111, 0, 61, 0,
588 351, 0, 0, 0, 96, 349, 139, 325, 350, 354,
589 0, 0, 0, 96, 352, 325, 353, 354, 0, 355,
590 0, 354, 355, 0, 0, 0, 97, 356, 359, 357,
591 325, 0, 219, 0, 288, 0, 94, 12, 110, 0,
592 94, 377, 110, 0, 3, 63, 0, 57, 63, 0,
593 4, 63, 0, 5, 63, 0, 363, 61, 0, 211,
594 0, 59, 184, 0, 0, 9, 0, 0, 178, 0,
595 1, 0, 0, 365, 0, 366, 0, 365, 60, 366,
596 0, 11, 94, 178, 110, 0, 11, 0, 367, 60,
597 11, 0, 0, 369, 0, 214, 0, 373, 0, 374,
598 12, 0, 373, 12, 0, 214, 12, 0, 12, 0,
599 98, 0, 373, 98, 0, 214, 98, 0, 373, 63,
600 0, 214, 63, 0, 0, 65, 371, 372, 0, 103,
601 0, 243, 0, 375, 0, 377, 370, 0, 374, 376,
602 0, 374, 379, 0, 374, 379, 65, 243, 0, 373,
603 60, 0, 214, 60, 0, 216, 212, 0, 219, 212,
604 0, 221, 212, 0, 216, 317, 0, 216, 0, 218,
605 297, 0, 377, 0, 377, 370, 0, 375, 0, 214,
606 0, 0, 0, 297, 0, 0, 62, 94, 382, 110,
607 0, 62, 48, 0, 214, 0, 381, 0, 382, 60,
608 381, 0, 0, 81, 287, 383, 0, 71, 287, 383,
609 0, 313, 287, 383, 0, 42, 0, 384, 81, 0,
610 384, 82, 0, 384, 83, 0, 384, 79, 0, 384,
611 80, 0, 384, 71, 0, 384, 69, 0, 384, 70,
612 0, 384, 89, 0, 384, 60, 0, 384, 74, 0,
613 384, 75, 0, 384, 76, 0, 384, 73, 0, 384,
614 64, 0, 384, 65, 0, 384, 77, 0, 384, 78,
615 0, 384, 87, 0, 384, 88, 0, 384, 68, 0,
616 384, 67, 0, 384, 112, 0, 384, 66, 63, 0,
617 384, 72, 0, 384, 92, 0, 384, 84, 0, 384,
618 48, 0, 384, 95, 113, 0, 384, 40, 0, 384,
619 39, 0, 384, 40, 95, 113, 0, 384, 39, 95,
620 113, 0, 384, 358, 383, 0, 384, 1, 0
626 static const short yyrline[] = { 0,
627 328, 330, 344, 347, 348, 352, 354, 357, 362, 366,
628 372, 374, 377, 380, 384, 387, 389, 391, 394, 396,
629 399, 402, 404, 406, 408, 410, 412, 414, 420, 424,
630 427, 429, 433, 435, 436, 438, 442, 445, 451, 454,
631 456, 461, 464, 468, 471, 474, 477, 481, 486, 496,
632 498, 500, 502, 504, 517, 526, 536, 538, 540, 544,
633 546, 547, 554, 555, 556, 559, 562, 566, 568, 569,
634 572, 574, 577, 580, 582, 586, 589, 591, 595, 597,
635 599, 603, 605, 607, 611, 613, 615, 621, 625, 628,
636 631, 634, 639, 642, 644, 646, 652, 662, 664, 667,
637 670, 672, 675, 679, 688, 691, 693, 697, 710, 730,
638 733, 735, 736, 739, 746, 752, 754, 756, 758, 760,
639 763, 768, 770, 771, 772, 773, 776, 778, 779, 782,
640 784, 785, 788, 793, 793, 797, 797, 800, 800, 803,
641 803, 807, 807, 812, 812, 815, 815, 818, 820, 823,
642 830, 837, 843, 846, 855, 857, 865, 868, 871, 874,
643 878, 881, 884, 887, 889, 891, 893, 897, 900, 903,
644 908, 912, 917, 921, 924, 926, 930, 949, 956, 959,
645 961, 962, 963, 966, 970, 971, 975, 979, 982, 984,
646 988, 991, 994, 998, 1001, 1003, 1005, 1007, 1014, 1018,
647 1020, 1022, 1024, 1030, 1033, 1036, 1039, 1042, 1046, 1049,
648 1052, 1056, 1058, 1062, 1066, 1068, 1072, 1075, 1082, 1085,
649 1087, 1095, 1108, 1114, 1121, 1123, 1125, 1138, 1141, 1143,
650 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163,
651 1165, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1185,
652 1187, 1189, 1206, 1209, 1210, 1211, 1212, 1213, 1216, 1219,
653 1222, 1226, 1229, 1231, 1236, 1238, 1239, 1242, 1244, 1246,
654 1248, 1252, 1255, 1259, 1261, 1262, 1263, 1267, 1275, 1276,
655 1277, 1285, 1287, 1290, 1292, 1302, 1304, 1306, 1308, 1310,
656 1312, 1315, 1317, 1361, 1362, 1366, 1370, 1374, 1378, 1380,
657 1384, 1386, 1394, 1396, 1398, 1400, 1404, 1406, 1408, 1410,
658 1415, 1417, 1419, 1421, 1424, 1426, 1428, 1472, 1475, 1479,
659 1482, 1486, 1489, 1494, 1496, 1500, 1513, 1516, 1523, 1530,
660 1535, 1537, 1542, 1544, 1551, 1553, 1557, 1561, 1567, 1571,
661 1574, 1577, 1580, 1590, 1592, 1595, 1599, 1602, 1605, 1608,
662 1611, 1617, 1623, 1625, 1630, 1632, 1641, 1644, 1646, 1649,
663 1655, 1657, 1667, 1671, 1674, 1677, 1682, 1685, 1693, 1695,
664 1697, 1699, 1702, 1705, 1720, 1739, 1742, 1744, 1747, 1749,
665 1752, 1754, 1757, 1759, 1762, 1765, 1769, 1775, 1776, 1788,
666 1795, 1798, 1804, 1808, 1813, 1819, 1820, 1828, 1831, 1835,
667 1838, 1842, 1847, 1850, 1854, 1857, 1859, 1861, 1863, 1870,
668 1872, 1873, 1874, 1878, 1881, 1885, 1888, 1894, 1896, 1899,
669 1902, 1905, 1911, 1914, 1917, 1919, 1921, 1925, 1931, 1939,
670 1941, 1945, 1947, 1952, 1955, 1958, 1960, 1962, 1966, 1970,
671 1975, 1979, 1982, 1987, 1991, 1994, 1997, 2001, 2036, 2042,
672 2051, 2071, 2073, 2076, 2078, 2083, 2085, 2087, 2089, 2091,
673 2095, 2100, 2105, 2111, 2116, 2121, 2123, 2127, 2132, 2135,
674 2142, 2170, 2176, 2178, 2181, 2184, 2186, 2190, 2192, 2196,
675 2222, 2251, 2254, 2255, 2276, 2299, 2301, 2305, 2316, 2330,
676 2419, 2426, 2429, 2437, 2448, 2457, 2461, 2476, 2479, 2484,
677 2486, 2488, 2490, 2492, 2494, 2497, 2499, 2507, 2513, 2515,
678 2518, 2521, 2523, 2534, 2539, 2542, 2547, 2550, 2551, 2562,
679 2565, 2566, 2577, 2579, 2582, 2584, 2587, 2594, 2602, 2609,
680 2615, 2621, 2629, 2633, 2638, 2642, 2645, 2654, 2656, 2660,
681 2663, 2668, 2672, 2677, 2687, 2690, 2694, 2698, 2706, 2711,
682 2717, 2720, 2722, 2724, 2730, 2733, 2735, 2737, 2739, 2743,
683 2746, 2764, 2774, 2776, 2777, 2781, 2786, 2789, 2791, 2793,
684 2795, 2799, 2805, 2808, 2810, 2812, 2814, 2818, 2821, 2824,
685 2826, 2828, 2830, 2834, 2837, 2840, 2842, 2844, 2846, 2853,
686 2864, 2868, 2873, 2877, 2882, 2884, 2888, 2891, 2893, 2897,
687 2899, 2900, 2903, 2905, 2907, 2913, 2928, 2934, 2940, 2954,
688 2956, 2960, 2974, 2976, 2978, 2982, 2988, 3001, 3003, 3007,
689 3018, 3024, 3026, 3027, 3028, 3036, 3041, 3050, 3051, 3055,
690 3058, 3064, 3070, 3073, 3075, 3077, 3079, 3083, 3087, 3091,
691 3094, 3099, 3102, 3104, 3106, 3108, 3110, 3112, 3114, 3116,
692 3120, 3124, 3128, 3132, 3133, 3135, 3137, 3139, 3141, 3143,
693 3145, 3147, 3149, 3157, 3159, 3160, 3161, 3164, 3170, 3172,
694 3177, 3179, 3182, 3196, 3199, 3202, 3206, 3209, 3216, 3218,
695 3221, 3223, 3225, 3228, 3231, 3234, 3237, 3239, 3242, 3246,
696 3248, 3254, 3256, 3257, 3259, 3264, 3266, 3268, 3270, 3272,
697 3275, 3276, 3278, 3281, 3282, 3285, 3285, 3288, 3288, 3291,
698 3291, 3293, 3295, 3297, 3299, 3305, 3311, 3314, 3317, 3323,
699 3325, 3327, 3331, 3333, 3336, 3343, 3346, 3354, 3358, 3360,
700 3363, 3365, 3368, 3372, 3374, 3377, 3379, 3382, 3399, 3405,
701 3413, 3415, 3417, 3421, 3424, 3425, 3433, 3437, 3441, 3444,
702 3445, 3451, 3454, 3457, 3459, 3463, 3468, 3471, 3481, 3486,
703 3487, 3495, 3501, 3506, 3510, 3515, 3519, 3523, 3527, 3532,
704 3543, 3557, 3561, 3564, 3566, 3570, 3574, 3577, 3580, 3582,
705 3586, 3588, 3595, 3602, 3605, 3608, 3612, 3616, 3622, 3626,
706 3631, 3633, 3636, 3641, 3647, 3658, 3661, 3663, 3667, 3672,
707 3674, 3681, 3684, 3686, 3688, 3694, 3699, 3702, 3704, 3706,
708 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726,
709 3728, 3730, 3732, 3734, 3736, 3738, 3740, 3742, 3744, 3746,
710 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3767,
716 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
718 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
719 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
720 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
721 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
722 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
723 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
724 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
725 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
726 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
727 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
728 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
729 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
730 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
731 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
732 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
733 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
734 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
735 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
736 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
737 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
738 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
739 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
740 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
741 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
742 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
743 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
744 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
745 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
746 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
747 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
748 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
749 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
750 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
751 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
752 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
753 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
754 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
755 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
756 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
757 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
758 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
759 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
760 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
761 "component_decl_1","components","notype_components","component_declarator0",
762 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
763 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
764 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
765 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
766 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
767 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
768 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
769 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
770 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
771 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
772 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
773 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
774 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
775 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
776 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
777 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
778 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
779 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
780 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
784 static const short yyr1[] = { 0,
785 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
786 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
787 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
788 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
789 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
790 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
791 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
792 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
793 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
794 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
795 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
796 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
797 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
798 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
799 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
800 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
801 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
802 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
803 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
804 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
805 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
806 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
807 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
808 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
809 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
810 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
811 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
812 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
813 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
815 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
816 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
817 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
818 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
819 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
820 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
821 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
822 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
823 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
824 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
825 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
826 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
827 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
828 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
829 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
830 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
831 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
832 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
833 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
834 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
835 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
836 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
837 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
838 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
839 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
840 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
841 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
842 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
843 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
844 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
845 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
846 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
847 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
848 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
849 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
850 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
851 318, 318, 318, 319, 319, 319, 319, 320, 321, 321,
852 322, 322, 323, 324, 324, 326, 325, 328, 329, 327,
853 330, 331, 330, 332, 332, 333, 333, 334, 333, 333,
854 335, 336, 333, 337, 338, 333, 339, 340, 341, 342,
855 333, 343, 344, 333, 345, 333, 346, 333, 347, 333,
856 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
857 333, 333, 333, 333, 349, 350, 348, 352, 353, 351,
858 354, 354, 356, 357, 355, 358, 358, 359, 359, 360,
859 360, 360, 360, 361, 361, 361, 362, 362, 363, 363,
860 363, 364, 364, 365, 365, 366, 367, 367, 368, 368,
861 368, 369, 369, 369, 369, 369, 369, 369, 369, 369,
862 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
863 374, 374, 375, 375, 375, 375, 375, 375, 376, 376,
864 377, 377, 378, 379, 379, 380, 380, 380, 381, 382,
865 382, 383, 383, 383, 383, 384, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
867 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
868 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
872 static const short yyr2[] = { 0,
873 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
874 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
875 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
876 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
877 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
878 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
879 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
880 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
881 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
882 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
883 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
884 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
885 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
886 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
887 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
888 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
889 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
890 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
891 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
892 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
893 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
894 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
895 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
896 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
897 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
898 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
899 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
900 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
901 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
902 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
903 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
904 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
905 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
906 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
907 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
908 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
909 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
910 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
911 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
912 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
913 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
914 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
915 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
916 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
917 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
918 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
919 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
920 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
921 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
922 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
923 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
924 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
925 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
926 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
927 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
928 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
929 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
930 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
931 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
932 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
933 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
934 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
935 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
936 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
937 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
938 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
939 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
940 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
941 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
942 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
943 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
944 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
945 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
946 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
947 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
948 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
949 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
950 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
951 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
952 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
953 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
955 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
956 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
960 static const short yydefact[] = { 3,
961 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
962 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
963 456, 806, 0, 0, 0, 149, 632, 257, 258, 65,
964 0, 0, 793, 0, 37, 0, 0, 14, 0, 8,
965 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
966 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
967 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
968 357, 563, 371, 564, 90, 274, 589, 561, 0, 603,
969 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
970 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
971 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
972 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
973 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
974 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
975 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
976 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
977 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
978 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
979 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
980 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
981 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
982 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
983 0, 475, 793, 471, 490, 491, 548, 364, 0, 395,
984 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
985 565, 562, 0, 841, 837, 836, 834, 816, 821, 822,
986 0, 828, 827, 813, 814, 812, 831, 820, 817, 818,
987 819, 823, 824, 810, 811, 807, 808, 809, 833, 825,
988 826, 815, 832, 0, 829, 736, 363, 737, 802, 259,
989 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
990 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
991 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
992 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
993 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
994 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
995 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
996 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
997 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
998 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
999 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1000 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1001 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1002 149, 9, 9, 0, 397, 399, 104, 75, 109, 725,
1003 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1004 0, 0, 553, 0, 796, 0, 558, 0, 557, 0,
1005 0, 0, 0, 545, 398, 0, 59, 549, 545, 571,
1006 0, 349, 350, 0, 58, 398, 354, 353, 355, 348,
1007 368, 385, 384, 463, 467, 465, 0, 470, 476, 0,
1008 0, 366, 398, 545, 76, 0, 0, 0, 0, 545,
1009 82, 546, 577, 601, 631, 153, 0, 0, 830, 835,
1010 365, 545, 545, 0, 545, 840, 157, 0, 0, 0,
1011 200, 0, 0, 202, 215, 216, 0, 0, 0, 0,
1012 0, 252, 199, 196, 195, 197, 0, 0, 0, 0,
1013 0, 278, 0, 0, 0, 194, 155, 156, 272, 0,
1014 198, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 288, 290, 291, 328,
1017 327, 0, 0, 0, 0, 0, 204, 543, 0, 212,
1018 325, 317, 0, 0, 793, 306, 309, 310, 0, 0,
1019 337, 649, 645, 654, 0, 549, 545, 545, 545, 339,
1020 652, 0, 599, 341, 0, 0, 340, 305, 0, 301,
1021 319, 321, 596, 0, 302, 152, 154, 0, 147, 0,
1022 363, 145, 540, 454, 538, 441, 0, 0, 372, 0,
1023 0, 373, 374, 375, 411, 412, 413, 410, 0, 403,
1024 406, 0, 3, 0, 615, 157, 618, 28, 36, 35,
1025 45, 0, 0, 0, 49, 53, 42, 792, 787, 0,
1026 342, 363, 45, 343, 791, 51, 150, 135, 133, 150,
1027 151, 273, 580, 579, 277, 583, 0, 19, 21, 71,
1028 0, 110, 326, 0, 676, 73, 674, 422, 0, 418,
1029 417, 192, 0, 191, 550, 587, 0, 766, 767, 0,
1030 761, 363, 0, 760, 762, 794, 776, 0, 0, 585,
1031 556, 555, 0, 0, 570, 0, 393, 392, 380, 569,
1032 0, 796, 559, 351, 382, 394, 398, 464, 600, 601,
1033 793, 0, 793, 602, 477, 478, 480, 793, 483, 482,
1034 0, 513, 601, 0, 504, 0, 0, 516, 0, 103,
1035 98, 0, 153, 517, 520, 0, 496, 0, 101, 0,
1036 398, 396, 796, 759, 157, 157, 605, 157, 796, 759,
1037 545, 79, 545, 85, 839, 838, 802, 802, 802, 0,
1038 0, 0, 0, 599, 0, 0, 0, 0, 363, 0,
1039 0, 0, 284, 0, 282, 283, 0, 223, 160, 256,
1040 600, 601, 257, 258, 0, 0, 423, 452, 0, 250,
1041 249, 751, 750, 0, 247, 246, 244, 245, 243, 242,
1042 241, 238, 239, 240, 236, 237, 231, 232, 233, 234,
1043 235, 229, 230, 0, 0, 0, 0, 0, 0, 206,
1044 220, 0, 0, 205, 545, 545, 0, 545, 542, 639,
1045 0, 0, 0, 0, 0, 308, 0, 312, 0, 314,
1046 0, 648, 647, 644, 643, 792, 0, 0, 663, 0,
1047 0, 796, 338, 796, 650, 545, 759, 549, 649, 645,
1048 0, 0, 545, 0, 0, 0, 0, 0, 260, 150,
1049 143, 141, 150, 0, 455, 0, 454, 190, 189, 188,
1050 187, 405, 0, 0, 25, 0, 26, 619, 0, 47,
1051 44, 45, 0, 40, 0, 0, 649, 645, 0, 783,
1052 545, 786, 788, 0, 784, 785, 46, 461, 0, 140,
1053 150, 150, 138, 18, 20, 386, 127, 115, 128, 129,
1054 0, 108, 111, 0, 0, 0, 0, 675, 669, 419,
1055 0, 106, 554, 551, 765, 782, 771, 769, 0, 552,
1056 764, 781, 770, 768, 763, 795, 778, 789, 779, 772,
1057 777, 798, 0, 390, 568, 567, 389, 487, 0, 486,
1058 793, 793, 793, 0, 545, 759, 512, 505, 517, 506,
1059 398, 398, 502, 503, 500, 501, 545, 759, 256, 600,
1060 0, 385, 99, 508, 518, 523, 524, 385, 385, 0,
1061 0, 385, 97, 509, 521, 385, 497, 498, 499, 398,
1062 0, 448, 78, 0, 0, 0, 0, 84, 0, 796,
1063 759, 796, 759, 804, 803, 805, 261, 293, 201, 203,
1064 299, 300, 0, 0, 0, 0, 283, 286, 0, 0,
1065 0, 0, 224, 0, 287, 289, 218, 217, 208, 0,
1066 207, 222, 0, 0, 636, 634, 0, 637, 549, 213,
1067 0, 0, 157, 315, 0, 0, 0, 646, 642, 653,
1068 545, 662, 660, 661, 651, 796, 0, 658, 0, 597,
1069 598, 0, 304, 148, 150, 150, 146, 541, 539, 443,
1070 0, 404, 402, 256, 0, 23, 626, 48, 43, 50,
1071 54, 648, 644, 649, 645, 0, 561, 0, 545, 650,
1072 52, 136, 134, 0, 113, 0, 117, 0, 119, 0,
1073 121, 0, 726, 0, 180, 677, 0, 670, 671, 0,
1074 420, 649, 645, 0, 278, 0, 595, 790, 0, 0,
1075 799, 800, 0, 0, 387, 0, 0, 0, 489, 488,
1076 481, 796, 0, 507, 416, 416, 796, 0, 0, 0,
1077 398, 398, 0, 398, 398, 0, 398, 0, 416, 0,
1078 436, 545, 263, 262, 264, 545, 81, 0, 87, 0,
1079 0, 0, 0, 0, 0, 426, 0, 424, 227, 248,
1080 0, 209, 210, 219, 221, 635, 633, 640, 638, 0,
1081 214, 0, 0, 307, 311, 313, 796, 656, 545, 657,
1082 144, 142, 440, 0, 407, 409, 648, 644, 566, 650,
1083 114, 112, 0, 0, 0, 0, 414, 0, 0, 256,
1084 600, 601, 678, 691, 694, 697, 702, 0, 0, 0,
1085 0, 0, 0, 257, 723, 728, 0, 747, 0, 686,
1086 0, 0, 363, 0, 665, 684, 690, 664, 685, 724,
1087 0, 672, 421, 0, 598, 780, 774, 775, 773, 0,
1088 797, 391, 0, 484, 485, 479, 94, 545, 511, 515,
1089 96, 545, 398, 398, 532, 416, 256, 600, 0, 519,
1090 525, 526, 385, 385, 416, 416, 0, 416, 522, 510,
1091 0, 796, 796, 545, 545, 0, 0, 0, 0, 425,
1092 0, 0, 211, 641, 316, 262, 659, 796, 0, 116,
1093 118, 120, 733, 727, 731, 0, 673, 668, 183, 740,
1094 742, 743, 0, 0, 682, 0, 0, 0, 709, 711,
1095 712, 713, 0, 0, 0, 741, 0, 334, 748, 0,
1096 687, 332, 385, 0, 333, 0, 385, 0, 0, 0,
1097 181, 667, 666, 688, 722, 721, 283, 801, 388, 796,
1098 796, 531, 528, 530, 0, 0, 398, 398, 398, 527,
1099 529, 514, 438, 0, 437, 432, 77, 83, 796, 796,
1100 295, 296, 297, 298, 427, 544, 655, 408, 0, 732,
1101 415, 172, 0, 679, 692, 681, 0, 0, 0, 0,
1102 0, 705, 0, 714, 0, 720, 729, 0, 330, 331,
1103 0, 0, 0, 329, 182, 682, 93, 95, 398, 398,
1104 537, 416, 416, 0, 0, 450, 80, 86, 0, 734,
1105 179, 0, 363, 0, 682, 0, 695, 683, 669, 745,
1106 698, 0, 0, 0, 0, 710, 719, 0, 0, 689,
1107 536, 534, 533, 535, 435, 434, 428, 68, 71, 0,
1108 0, 0, 173, 385, 680, 184, 693, 186, 0, 746,
1109 0, 744, 703, 707, 706, 730, 752, 0, 0, 433,
1110 738, 739, 735, 398, 669, 170, 0, 0, 176, 0,
1111 175, 682, 0, 0, 0, 753, 754, 715, 431, 0,
1112 430, 0, 185, 0, 696, 699, 704, 708, 0, 752,
1113 0, 0, 429, 177, 171, 0, 0, 0, 716, 755,
1114 0, 0, 756, 0, 0, 178, 700, 757, 0, 717,
1115 0, 0, 0, 701, 758, 718, 0, 0, 0
1118 static const short yydefgoto[] = { 1547,
1119 409, 2, 410, 160, 669, 311, 165, 3, 4, 38,
1120 633, 353, 738, 375, 40, 739, 385, 644, 900, 645,
1121 646, 647, 42, 43, 421, 168, 164, 44, 740, 754,
1122 1021, 760, 1023, 46, 741, 742, 169, 170, 422, 672,
1123 932, 933, 613, 934, 218, 47, 922, 921, 660, 657,
1124 1086, 1085, 883, 880, 135, 920, 48, 49, 529, 312,
1125 313, 314, 315, 1249, 1498, 1404, 1500, 1442, 1531, 1126,
1126 1477, 1495, 347, 872, 316, 566, 834, 317, 318, 348,
1127 320, 338, 51, 236, 377, 398, 52, 53, 321, 524,
1128 322, 323, 324, 325, 423, 326, 1250, 462, 588, 327,
1129 1251, 55, 201, 650, 328, 202, 502, 203, 181, 194,
1130 59, 445, 463, 1273, 707, 1144, 182, 195, 60, 473,
1131 708, 61, 62, 629, 630, 631, 1228, 428, 797, 798,
1132 1468, 1469, 1436, 1385, 1301, 63, 617, 341, 1171, 1386,
1133 1042, 886, 64, 65, 66, 67, 222, 68, 69, 70,
1134 224, 725, 726, 727, 728, 226, 470, 471, 746, 747,
1135 748, 994, 1004, 995, 1290, 996, 997, 1291, 1292, 614,
1136 615, 567, 862, 330, 431, 432, 175, 183, 72, 73,
1137 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1138 334, 80, 730, 122, 123, 124, 478, 104, 81, 335,
1139 839, 840, 857, 591, 1254, 1255, 1127, 1128, 1129, 676,
1140 1256, 939, 1257, 1333, 1445, 1407, 1408, 1258, 1259, 1426,
1141 1334, 1446, 1335, 1479, 1336, 1481, 1526, 1541, 1337, 1502,
1142 1455, 1503, 1413, 424, 673, 1226, 1260, 1347, 1458, 1324,
1143 1325, 1399, 1472, 1444, 1440, 1261, 1451, 1350, 804, 1505,
1144 1506, 1507, 1539, 693, 694, 961, 1140, 1269, 695, 696,
1145 697, 957, 698, 145, 959, 700, 1142, 1143, 496, 83,
1149 static const short yypact[] = { 125,
1150 130,-32768,-32768, 3240,-32768, 195, 72, 188, 284, 151,
1151 102,-32768,-32768, 1117,-32768,-32768, 136, 176, 198,-32768,
1152 -32768,-32768, 1085, 1187, 1489, 256,-32768, 304, 367,-32768,
1153 2407, 2407,-32768, 4859,-32768, 3240, 294,-32768, 352, 91,
1154 5970,-32768,-32768, 208, 1265, 379, 356, 372,-32768,-32768,
1155 -32768,-32768, 330, 2553,-32768, 10199,-32768, 1350, 498,-32768,
1156 423,-32768,-32768, 1046,-32768,-32768, 399,-32768,-32768, 417,
1157 4154,-32768,-32768,-32768, 784,-32768,-32768,-32768, 849,-32768,
1158 -32768, 508, 5609, 408,-32768,-32768, 9052,-32768, 9052,-32768,
1159 9052,-32768,-32768,-32768, 188, 284, 304, 445, 453, 492,
1160 372,-32768, 1409,-32768, 508, 9052, 9052, 480,-32768,-32768,
1161 -32768,-32768,-32768, 64, 528, 368, 383, 478, 538, 553,
1162 -32768,-32768, 564,-32768, 572, 188, 284, 1112, 304, 445,
1163 -32768, 855, 467, 509, 10350, 9052,-32768, 9052, 2926,-32768,
1164 1285, 543, 2926,-32768, 1090, 3033, 3033, 4859, 524, 547,
1165 517, 552, 555,-32768,-32768, 627,-32768, 556,-32768, 10084,
1166 195,-32768,-32768,-32768, 582, 423, 691, 145, 179, 624,
1167 -32768,-32768, 592, 250,-32768,-32768, 3416, 3416, 4989, 784,
1168 591,-32768,-32768, 387,-32768,-32768, 2806,-32768,-32768,-32768,
1169 -32768,-32768, 1350, 641,-32768, 423, 784,-32768,-32768,-32768,
1170 1578, 1350,-32768, 423,-32768, 5186,-32768,-32768,-32768,-32768,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 372, 988,
1172 1434, 399,-32768,-32768,-32768,-32768,-32768, 682, 508,-32768,
1173 497, 963,-32768, 271,-32768,-32768,-32768,-32768,-32768, 3988,
1174 -32768,-32768, 590,-32768, 617, 620,-32768,-32768,-32768,-32768,
1175 658,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1177 -32768,-32768,-32768, 616,-32768,-32768, 682, 4154, 1158,-32768,
1178 -32768, 646,-32768,-32768, 9667, 9754, 9841, 9841,-32768,-32768,
1179 -32768,-32768,-32768, 668, 701, 711, 721, 732, 445, 9139,
1180 1090, 9841,-32768,-32768, 9841,-32768,-32768, 9841, 7165,-32768,
1181 9841, 223, 683,-32768, 9841,-32768, 9226,-32768, 10446,-32768,
1182 1514, 1785, 9313,-32768, 799, 2426,-32768, 953, 3686, 4007,
1183 -32768, 307,-32768, 1524, 1858, 223, 223, 9052, 10350,-32768,
1184 1090, 703, 1090,-32768,-32768, 708, 768, 10596, 724, 733,
1185 738, 945, 556,-32768, 1112,-32768,-32768,-32768,-32768,-32768,
1186 -32768, 528, 368, 383, 1090, 478, 538, 793, 553,-32768,
1187 776,-32768, 188, 284, 814,-32768,-32768,-32768, 467,-32768,
1188 -32768,-32768,-32768,-32768, 4967,-32768,-32768, 5186, 5373, 1679,
1189 -32768, 223, 809,-32768, 775,-32768,-32768,-32768, 2926,-32768,
1190 -32768, 2926,-32768, 760,-32768,-32768, 3988, 87, 761, 777,
1191 -32768,-32768,-32768, 627,-32768, 423,-32768,-32768,-32768,-32768,
1192 148,-32768,-32768,-32768,-32768, 7257, 9139,-32768,-32768,-32768,
1193 9139, 779,-32768, 6493, 100, 4306,-32768, 4306,-32768, 4584,
1194 4584, 4989, 790,-32768, 423, 5186,-32768, 783,-32768,-32768,
1195 4619, 1578, 1350, 5186,-32768, 423,-32768,-32768, 423, 1578,
1196 -32768, 811,-32768,-32768, 372,-32768, 988,-32768, 1220, 1675,
1197 57, 682, 423,-32768,-32768, 836, 852, 876, 858,-32768,
1198 -32768,-32768,-32768, 532,-32768, 338, 821, 826,-32768,-32768,
1199 682,-32768,-32768, 822,-32768,-32768, 9052, 9139, 646, 7165,
1200 -32768, 437, 7165,-32768,-32768,-32768, 9052, 5977, 5977, 5977,
1201 5977, 10641,-32768,-32768,-32768,-32768, 832, 9928, 9928, 7165,
1202 851, 524, 863, 887, 867,-32768,-32768,-32768,-32768, 9052,
1203 -32768, 6790, 7165,-32768, 9139, 9139, 7349, 9139, 9139, 9139,
1204 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139,
1205 9139, 9139, 9139, 9139, 9139, 9139,-32768,-32768,-32768,-32768,
1206 -32768, 9139, 9139, 9139, 9052, 2857, 366, 440, 7988,-32768,
1207 -32768,-32768, 880, 963, 972, 444, 523, 530, 2780, 543,
1208 -32768, 1687, 1687,-32768, 4837, 868, 877, 948,-32768,-32768,
1209 502, 8495, 725,-32768, 860, 508,-32768,-32768, 9139,-32768,
1210 -32768,-32768,-32768, 249,-32768,-32768,-32768, 223,-32768, 5186,
1211 1998,-32768, 933, 939,-32768,-32768, 1090, 793,-32768, 7717,
1212 7809,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 79,-32768,
1213 906, 895, 556, 951, 961, 9052,-32768,-32768,-32768,-32768,
1214 1386, 256, 990, 206, 970, 971,-32768,-32768, 2152, 10406,
1215 2152, 4432, 1046, 10143,-32768, 973,-32768,-32768,-32768,-32768,
1216 -32768,-32768,-32768,-32768, 929,-32768, 979,-32768,-32768, 208,
1217 89, 460, 993, 887,-32768,-32768,-32768,-32768, 6695, 10641,
1218 -32768, 768, 947, 10596,-32768,-32768, 952,-32768,-32768, 967,
1219 160, 5318, 969,-32768, 169, 5796, 996, 1015, 561,-32768,
1220 -32768,-32768, 4306, 4306,-32768, 4619,-32768, 1016,-32768,-32768,
1221 995, 100,-32768, 1578,-32768,-32768, 423,-32768, 368, 383,
1222 -32768, 964,-32768, 553, 1022,-32768,-32768, 120,-32768,-32768,
1223 1492,-32768, 589, 669,-32768, 9139, 5517,-32768, 5517, 335,
1224 335, 217, 585, 2595, 10244, 2284,-32768, 225, 335, 1043,
1225 423,-32768, 100, 2575, 9052, 9052,-32768, 9052, 100, 2575,
1226 -32768,-32768,-32768,-32768,-32768,-32768, 649, 649, 649, 223,
1227 975, 1000, 9406, 948, 1004, 1014, 1019, 1059, 4066, 1060,
1228 1074, 1079,-32768, 1058,-32768,-32768, 1068,-32768,-32768, 1118,
1229 787, 900, 65, 431, 9139, 1120,-32768, 1124, 1070, 10641,
1230 10641,-32768,-32768, 1123, 5412, 5667, 3513, 5693, 4244, 3542,
1231 3712, 1983, 1983, 1983, 1691, 1691, 1237, 1237, 756, 756,
1232 756,-32768,-32768, 1084, 1082, 1086, 1095, 1097, 5977, 366,
1233 -32768, 7257, 9139,-32768,-32768,-32768, 9139,-32768,-32768, 1105,
1234 9841, 1099, 1119, 1136, 1166,-32768, 9139,-32768, 9139,-32768,
1235 9139, 2683,-32768, 2683,-32768, 140, 1109, 1110,-32768, 1113,
1236 5977, 100,-32768, 100, 4679,-32768, 2575, 1125, 8687, 8687,
1237 6301, 1121, 9226, 1122, 3050, 1858, 984, 1130,-32768,-32768,
1238 -32768,-32768,-32768, 9139, 1090, 1138, 939,-32768, 10641,-32768,
1239 10641, 945, 1137, 9493,-32768, 1141,-32768,-32768, 223,-32768,
1240 -32768, 1364, 4967,-32768, 5977, 9052, 2037, 2037, 3864,-32768,
1241 -32768,-32768,-32768, 2806,-32768,-32768,-32768, 61, 9139,-32768,
1242 -32768,-32768,-32768,-32768,-32768,-32768, 528,-32768, 478, 538,
1243 9139, 1170,-32768, 587, 601, 622, 887,-32768, 71,-32768,
1244 55,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8591,-32768,
1245 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1015, 1168,-32768,
1246 -32768,-32768, 5977,-32768,-32768,-32768, 1190,-32768, 9052,-32768,
1247 -32768,-32768,-32768, 1345,-32768, 2575, 10641,-32768, 1904,-32768,
1248 423, 423,-32768,-32768,-32768,-32768,-32768, 2575, 232, 915,
1249 9139, 811,-32768, 1196,-32768,-32768,-32768, 343, 391, 849,
1250 543, 686, 335, 1199,-32768, 901,-32768,-32768,-32768, 423,
1251 4219,-32768,-32768, 1154, 223, 223, 223,-32768, 1157, 100,
1252 2575, 100, 2575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768,-32768, 1175, 1176, 1177, 1179, 929,-32768, 10528, 7257,
1254 6885, 1163,-32768, 9139,-32768,-32768,-32768,-32768, 825, 1172,
1255 -32768,-32768, 1173, 66, 285, 285, 1167, 285,-32768,-32768,
1256 9841, 1268, 9052,-32768, 1185, 1186, 1188,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768, 100, 1191,-32768, 1192,-32768,
1258 -32768, 3120,-32768,-32768,-32768,-32768,-32768, 10641,-32768,-32768,
1259 1189,-32768,-32768, 227, 1197,-32768,-32768,-32768,-32768,-32768,
1260 -32768, 2938, 2938, 3140, 3140, 3864,-32768, 2806,-32768, 3487,
1261 10446,-32768,-32768, 1200,-32768, 460,-32768, 9139,-32768, 9139,
1262 -32768, 9139,-32768, 1090,-32768,-32768, 6207, 1275,-32768, 6977,
1263 -32768, 8780, 8780, 6397, 183, 1205, 254,-32768, 7257, 7069,
1264 -32768,-32768, 240, 7257,-32768, 1214, 1218, 1220,-32768,-32768,
1265 -32768, 100, 1219,-32768, 1266, 1266, 100, 1222, 9139, 9139,
1266 10506, 423, 3309, 423, 423, 1160, 423, 4478, 1266, 5125,
1267 -32768,-32768,-32768, 1278,-32768,-32768,-32768, 1225,-32768, 1226,
1268 9139, 9139, 9139, 9139, 7257,-32768, 1276,-32768,-32768, 10641,
1269 9139,-32768, 825,-32768,-32768,-32768,-32768,-32768,-32768, 1228,
1270 -32768, 1290, 223,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1271 -32768,-32768,-32768, 9139,-32768,-32768, 2938, 2938,-32768, 3487,
1272 -32768,-32768, 1234, 1236, 1244, 1250,-32768, 786, 242, 1297,
1273 1021, 1023,-32768,-32768,-32768,-32768,-32768, 9139, 1300, 1304,
1274 1309, 8873, 257, 415,-32768,-32768, 8965, 1366, 1316,-32768,
1275 4706, 10305, 10451, 6095,-32768,-32768, 1362,-32768,-32768,-32768,
1276 8099,-32768,-32768, 1273, 1916,-32768,-32768,-32768,-32768, 5977,
1277 -32768,-32768, 7257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1278 -32768,-32768, 10506, 10506,-32768, 1266, 695, 1083, 9139,-32768,
1279 -32768,-32768, 811, 811, 1266, 1266, 532, 1266,-32768,-32768,
1280 5854, 100, 100,-32768,-32768, 1282, 1284, 1298, 1308,-32768,
1281 7257, 1310,-32768,-32768,-32768,-32768,-32768, 100, 1314,-32768,
1282 -32768,-32768,-32768, 1250,-32768, 1090,-32768,-32768,-32768,-32768,
1283 -32768,-32768, 629, 629, 887, 1292, 1294, 10484,-32768,-32768,
1284 -32768,-32768, 1334, 9139, 1369,-32768, 887,-32768,-32768, 1338,
1285 -32768,-32768, 811, 823,-32768, 861, 811, 9580, 864, 266,
1286 -32768,-32768,-32768,-32768,-32768,-32768, 339,-32768,-32768, 100,
1287 100,-32768,-32768,-32768, 9139, 9139, 10506, 423, 423,-32768,
1288 -32768,-32768,-32768, 7901,-32768,-32768,-32768,-32768, 100, 100,
1289 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1339,-32768,
1290 -32768,-32768, 9052,-32768,-32768,-32768, 1435, 8401, 6603, 9052,
1291 9139,-32768, 8209,-32768, 1394,-32768,-32768, 627,-32768,-32768,
1292 10015, 10015, 7441,-32768,-32768, 887,-32768,-32768, 10506, 10506,
1293 -32768, 1266, 1266, 1347, 10550, 1358,-32768,-32768, 5257,-32768,
1294 -32768, 1349, 443, 5186, 887, 8305,-32768,-32768, 71,-32768,
1295 -32768, 1402, 1359, 10619, 8209,-32768,-32768, 1250, 78,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 208, 1360,
1297 1361, 887,-32768, 811,-32768,-32768,-32768,-32768, 638,-32768,
1298 7533,-32768,-32768,-32768,-32768, 1250, 1457, 1411, 156,-32768,
1299 -32768,-32768,-32768, 423, 71,-32768, 9139, 1413,-32768, 1414,
1300 -32768, 887, 8209, 1382, 53, 1418,-32768,-32768,-32768, 148,
1301 -32768, 1415,-32768, 1371,-32768,-32768,-32768,-32768, 9139, 1457,
1302 1421, 1457,-32768,-32768,-32768, 7625, 1373, 158,-32768,-32768,
1303 7257, 1377,-32768, 1479, 1439,-32768,-32768,-32768, 301,-32768,
1304 8305, 1490, 1442,-32768,-32768,-32768, 1508, 1509,-32768
1307 static const short yypgoto[] = {-32768,
1308 1511,-32768, -303,-32768, 1101, 18, -1, 1515,-32768, 192,
1309 -32768,-32768, 519, 1161,-32768, 5,-32768,-32768, -623,-32768,
1310 -32768, 615,-32768, 1363, -668, 83, -664, 1392, 30,-32768,
1311 -32768,-32768,-32768,-32768, 774,-32768,-32768,-32768,-32768,-32768,
1312 -32768, 404, 661,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768, 1440, -611, 5315, 32, -317, 44,
1314 1416, -503,-32768, 103,-32768, 222,-32768, -1302,-32768, -756,
1315 17,-32768, 1320, 1586, -262,-32768, -794, 1774, -110, 1098,
1316 3500, 1281,-32768, -87, -55, 1580, -77, 27,-32768,-32768,
1317 -32768, -319,-32768, -155,-32768,-32768, -1156, -47, -316, 2413,
1318 58, -240, -120, 52, 76, -181, -4, -144, -610, 312,
1319 -32768, 68, 73,-32768, -337,-32768,-32768,-32768,-32768,-32768,
1320 374, 1115, 20,-32768, 673,-32768,-32768, -1049, -422, 890,
1321 -32768,-32768,-32768,-32768,-32768, -32,-32768,-32768,-32768,-32768,
1322 -32768, 685, -360,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1323 1348,-32768, 426, 602,-32768,-32768,-32768,-32768, 566, -686,
1324 -32768,-32768,-32768,-32768,-32768,-32768, 833,-32768, 412, 966,
1325 704, 1024, 3968, 7, 51, -431, 1407, 3322, -438,-32768,
1326 19,-32768, 3079, -118, 247, -59, 3948, 1271,-32768, 4653,
1327 1794, 1660, -16, -115,-32768, 1471, -81,-32768, 4369, 2696,
1328 -290,-32768, 2504,-32768,-32768, 344,-32768,-32768, 471, 93,
1329 -353,-32768,-32768,-32768,-32768, -1262,-32768, -1191, -1324,-32768,
1330 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1331 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768, 153,
1332 -1232,-32768,-32768, -65,-32768,-32768,-32768,-32768, -1312, 92,
1333 -32768, 94,-32768, -616, -520, 660,-32768,-32768,-32768,-32768,
1334 -371,-32768, -364, -179,-32768, 681, 349,-32768, -394,-32768,
1339 #define YYLAST 10726
1342 static const short yytable[] = { 58,
1343 408, 237, 37, 681, 937, 925, 180, 121, 41, 372,
1344 71, 453, 593, 655, 479, 602, 711, 279, 606, 607,
1345 656, 36, 501, 504, 653, 205, 789, 400, 403, 917,
1346 729, 58, 102, 45, 37, 1051, 58, 139, 143, 37,
1347 41, 371, 71, 469, 380, 41, 472, 71, 923, 632,
1348 978, 193, 980, 36, 534, 56, 458, 461, 36, 1007,
1349 151, 54, 1363, 237, 858, 45, 228, 677, 378, 1366,
1350 45, 858, 452, 383, 661, 662, 381, 382, 277, 57,
1351 208, 460, 329, 1448, 329, 192, 329, 56, 571, 278,
1352 1348, 1400, 56, 54, 750, 491, 1452, 571, 54, 571,
1353 241, 329, 329, 174, 1124, 1279, 1280, 1453, 482, 237,
1354 234, 57, 166, 581, 1130, 1520, 57, 605, 716, 1300,
1355 -44, 1478, 354, 344, -1, -44, 972, -125, 355, -2,
1356 390, 329, 336, 329, 337, 752, -44, 1014, 892, 136,
1357 1487, 71, 230, 1019, 649, 418, 87, 491, 674, 158,
1358 93, 945, 399, 402, 860, 58, 1509, 973, 276, 773,
1359 205, 699, 1521, 1460, 387, 1131, 71, 751, 205, 205,
1360 787, 945, 151, 151, 151, 1195, 505, 506, 1501, 392,
1361 951, 1125, 1475, 436, 438, 774, 389, 1488, 893, 45,
1362 159, 514, 388, 649, 515, 205, 667, 516, 926, 946,
1363 526, 174, 947, -326, 531, 151, 675, 419, 346, 350,
1364 57, 56, 570, 1532, -326, 208, 1478, 54, 419, 946,
1365 1534, 1456, 947, 208, -792, 92, 425, 155, 952, 106,
1366 -275, 953, 162, 935, 174, 57, 1374, 948, 576, 1517,
1367 420, 983, 88, 426, 205, 1380, 1381, 241, 1382, 788,
1368 1077, 420, 1450, 1400, 1192, 85, 568, 948, 671, 94,
1369 109, 110, 89, 1485, 456, 903, 954, 1535, 1084, 107,
1370 577, 1087, 427, 228, 486, 984, -275, -275, 1098, 985,
1371 153, 904, 902, 635, 602, 1008, 1214, 289, 126, 127,
1372 879, 108, -268, 482, 1159, 378, 205, 433, 527, 1270,
1373 528, -589, 1328, 27, 329, 86, 87, 458, 461, 1112,
1374 1113, 1518, 986, 111, 112, 458, 163, 277, 480, 640,
1375 938, 400, 403, 639, 655, 228, 1328, 461, 278, 896,
1376 134, 958, 714, 329, 611, 1009, 1215, 1344, 90, 27,
1377 658, 129, 130, 434, 649, 71, 461, -589, -589, 1271,
1378 858, 649, 1329, 241, 598, 835, 479, 205, 91, 1153,
1379 1542, 15, 16, -589, 481, 836, -385, -335, 609, 15,
1380 16, 1158, 1024, 1025, 1026, 593, 1425, -549, 136, 837,
1381 652, 608, 1463, 1464, 193, 763, -277, 156, 858, 643,
1382 389, 654, 153, 153, 153, -385, 610, 276, 1313, -385,
1383 599, -335, 1101, 167, 1178, -335, 1180, 514, 515, 1052,
1384 1543, 521, 157, 831, 57, -336, 171, 15, 16, 205,
1385 205, 137, 357, -549, 173, 153, 172, 205, 858, 692,
1386 832, 764, -277, -277, -549, 208, 1079, 358, -335, 205,
1387 654, 138, 89, 126, 127, -385, 703, 704, -271, -336,
1388 199, 200, 1027, -336, 19, 649, 14, 91, 205, 833,
1389 651, 223, 927, 719, 720, 58, 151, 151, 151, 281,
1390 373, 374, 10, 1211, 1212, 225, 71, 1346, 208, 21,
1391 -549, 448, 280, 1007, 581, 137, -336, 737, 24, 136,
1392 581, 846, 329, -126, 27, 329, 129, 130, 329, 137,
1393 568, 743, 329, 779, 779, 779, 779, 928, 22, 651,
1394 835, 8, 9, 649, 27, 329, 929, 930, 709, 649,
1395 836, 745, 39, 28, 299, 329, 715, 744, 329, 717,
1396 773, 655, 359, 685, 837, 729, 773, 847, 656, 415,
1397 770, 968, 653, 970, 474, 57, 126, 127, 974, 866,
1398 342, 90, 136, 931, 39, 33, 602, 206, 207, 39,
1399 329, 277, 881, 340, 129, 130, 362, 363, 364, 458,
1400 848, 91, 278, 352, 115, 116, 117, 850, 205, 761,
1401 652, 1097, 356, 1123, 384, 858, 90, 692, 852, 854,
1402 475, 654, 360, 8, 484, 867, 868, 491, 654, 129,
1403 130, 910, 521, 915, 916, 521, 91, 361, 962, 776,
1404 534, 173, 365, 858, 241, 372, 849, 1186, 1188, 205,
1405 366, 367, 521, 851, 121, 762, 649, 1200, 118, 119,
1406 649, 329, 987, -268, 1117, 521, 975, 284, 343, 803,
1407 1354, 276, 1359, 90, 916, 193, 129, 130, 1119, 228,
1408 446, 447, 126, 127, 963, 936, 405, 482, 605, 205,
1409 651, 406, 649, 91, -584, 825, -7, 651, 649, 1121,
1410 485, 842, 126, 127, 100, 414, 1402, 935, 988, 899,
1411 1118, 205, 976, 114, 429, 1496, 153, 153, 153, 199,
1412 200, 652, 1480, 417, 1120, 14, 993, 1173, 1174, 1175,
1413 454, 455, 654, 27, 430, 129, 130, 1188, 649, 729,
1414 -102, 487, 15, 16, 488, 1122, 1266, 1268, 21, 492,
1415 489, 1272, 1403, 27, 217, 129, 130, 24, 490, 493,
1416 1060, 1497, 58, -545, 58, 649, -545, 774, 1513, 498,
1417 193, 58, 530, 71, -102, 71, 205, 649, -102, 652,
1418 329, 329, 71, 329, 737, 652, 737, 1375, 514, 515,
1419 654, 507, 1310, 737, 1196, 1197, 654, 1199, 743, 87,
1420 743, 651, 863, 992, 1002, 508, 743, 743, 126, 127,
1421 649, -102, 649, 368, -545, 509, -545, -545, 745, -545,
1422 745, 1148, 1149, 1150, 744, 510, 979, 745, 1015, 1016,
1423 -545, 1017, -545, 744, 1490, 397, 511, 981, 982, 571,
1424 15, 16, 57, 616, 57, -385, 1010, 619, -545, -545,
1425 1510, 57, -545, 343, 779, 126, 127, 620, 1054, 651,
1426 637, 129, 130, 622, -545, 651, 237, 15, 16, 555,
1427 556, 88, 623, -385, -385, 1326, 1327, 624, -385, -123,
1428 1369, 7, 8, 231, 10, 485, 779, 281, 373, 374,
1429 10, 89, 652, 8, 9, 649, 692, 636, 530, 665,
1430 343, -6, 831, 654, 638, 852, 854, 654, 129, 130,
1431 464, 466, 446, 1419, 527, 1316, 528, 668, 1395, 832,
1432 22, 686, 477, 649, 241, 710, 22, 232, 652, 705,
1433 779, 329, 233, 232, 652, 28, 29, 643, 343, 654,
1434 755, 28, 299, 1102, 1103, 654, 129, 130, 833, 1191,
1435 454, 1420, 237, 446, 1424, -100, 756, 15, 16, 233,
1436 757, 993, 758, 765, 843, 151, 774, 33, 766, 1057,
1437 233, 783, 651, 33, 692, 675, 651, 94, 109, 110,
1438 1201, 625, 626, 627, 90, 654, 126, 127, 779, -100,
1439 785, 513, -124, -100, 329, 94, 109, 110, 476, 88,
1440 861, 652, 786, 521, 91, 151, 788, 1160, 651, 845,
1441 859, 1406, 654, 652, 651, 400, 403, 8, 9, 89,
1442 94, 95, 96, 1417, 654, 863, -100, 884, 885, 894,
1443 581, 111, 112, 618, 22, 895, 58, 27, 992, 129,
1444 130, 897, 628, 400, 403, 898, 652, 71, 652, 111,
1445 112, 514, 515, 582, 651, 618, 21, 654, 737, 654,
1446 237, 234, 343, 583, 905, 906, 343, 919, -271, 924,
1447 129, 130, 743, 584, 97, 98, 585, 586, 94, 95,
1448 96, 651, 209, 210, 211, 419, 942, 969, 329, 1162,
1449 -791, 943, 745, 651, 485, 1164, 1165, 655, 744, 1162,
1450 1167, 1146, 1406, 1165, 1471, 88, 944, 90, 950, 960,
1451 964, 971, 212, 1331, 1028, 1332, 57, 94, 109, 110,
1452 967, 1406, 94, 109, 110, 89, 651, 91, 651, 936,
1453 27, 652, 97, 98, 213, 1011, 1203, 965, 1536, 1029,
1454 1217, 1218, 654, 1030, 281, 373, 374, 10, 1493, 94,
1455 95, 96, 1253, 1031, 1012, 1248, 774, 718, 1032, 692,
1456 151, 151, 151, 71, 1033, 1034, 526, 88, 1217, 1218,
1457 654, 111, 112, 113, 1247, 1376, 111, 112, 1406, 1035,
1458 214, 215, 216, 22, 1036, 153, 677, 89, 151, 151,
1459 151, 126, 127, 126, 1297, 58, 27, 1037, 28, 299,
1460 196, 27, 204, 97, 98, 99, 71, 1038, 1252, 1043,
1461 -122, 651, 1040, 1041, 319, 1044, 319, 737, 319, 115,
1462 116, 117, 796, 1045, 1046, 153, 1047, 486, 649, 1059,
1463 33, 743, 57, 1353, 1048, 1353, 1049, 1062, 343, 651,
1464 1063, 1061, 27, 1064, 129, 130, 129, 130, 1070, 1071,
1465 205, 745, 115, 719, 720, 1072, 721, 744, 492, 1116,
1466 1080, 1081, 1139, 319, 844, 319, 521, 1078, 493, 1083,
1467 485, 27, 1253, 118, 119, 57, 1093, 193, 1090, 1253,
1468 722, 1096, 1248, 71, 1145, 1163, 1253, 723, 1168, 1248,
1469 71, 491, 1459, 1172, 1247, 779, 1176, 71, 1181, 1182,
1470 1183, 1247, 1184, 1189, 27, 1202, 118, 119, 1247, 1198,
1471 416, 1193, 1194, 1306, 1307, 1308, 1309, 7, 126, 127,
1472 10, 15, 16, 1312, 1204, 1205, -385, 1206, 1252, 1213,
1473 1209, 901, 400, 403, 1210, 1252, 1216, 204, 1124, 1221,
1474 514, 515, 1252, 918, 1265, 459, 204, 552, 553, 554,
1475 555, 556, 57, 1274, -385, -385, 22, 1275, 1278, 57,
1476 426, 1282, -626, 232, 1304, 1305, 57, 1315, 1311, 796,
1477 1314, 28, 29, 1320, 1343, 1321, 1323, 115, 719, 720,
1478 153, 153, 153, 1322, 1155, 1156, 198, 199, 200, 1330,
1479 1378, 1379, 1339, 14, 1340, 233, 94, 109, 110, 1341,
1480 209, 210, 211, 33, 1349, 722, 1351, 1364, 153, 153,
1481 153, 19, 1367, 1169, 151, 1409, 21, 1410, 362, 363,
1482 364, 1391, 966, 1392, 1414, 24, 1474, 512, 1443, 27,
1483 212, 118, 119, 1253, 1253, 1443, 1248, 1393, 1253, 278,
1484 205, 1248, 8, 9, 71, 71, 278, 1394, 329, 71,
1485 111, 112, 1396, 1398, 456, 1247, 1247, 703, 704, 1416,
1486 1247, 1418, 1439, 1013, 652, 319, 94, 95, 96, 1018,
1487 27, 1253, 366, 367, 1248, 654, 1415, 151, 151, 151,
1488 1253, 1447, 71, 1248, 1457, 1465, 1467, 343, 1473, 1252,
1489 1252, 71, 1482, 1247, 1252, 129, 130, 1504, 1483, 1491,
1490 1492, 1508, 1247, 1515, 1516, 1519, 1443, 1522, 276, 1524,
1491 1525, 1529, 1533, 57, 57, 276, 1537, 278, 57, 1538,
1492 97, 98, 126, 127, 115, 719, 720, 1252, 1253, 1540,
1493 1545, 1248, 1546, 196, 204, 1441, 1252, 1548, 1549, 71,
1494 1, 803, 1441, 670, 651, 634, 5, 1099, 1003, 1222,
1495 1247, 57, 412, 680, 684, 521, 281, 8, 9, 10,
1496 57, 684, 339, 128, 1285, 1286, 1253, 1295, 1296, 1248,
1497 1298, 1494, 1073, 27, 1074, 129, 130, 71, 118, 119,
1498 1489, 413, 628, 393, 1252, 1405, 276, 1544, 1247, 416,
1499 497, 557, 901, 1356, 1092, 22, 459, 204, 941, 468,
1500 416, 1091, 232, 1276, 459, 1151, 1170, 1005, 57, 1299,
1501 28, 299, 887, 1441, 457, 199, 200, 416, 1089, 830,
1502 449, 14, 1252, 370, 319, 684, 578, 1362, 1262, 1514,
1503 558, 559, 1523, 1511, 153, 560, 561, 562, 563, 19,
1504 1486, 1528, 33, 150, 21, 1530, 57, 1138, 1368, 0,
1505 0, 1527, 0, 24, 0, 0, 0, 319, 803, 680,
1506 0, 0, 800, 801, 0, 805, 806, 807, 808, 809,
1507 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
1508 820, 821, 822, 823, 0, 0, 1372, 1373, 0, 684,
1509 0, 684, 684, 0, 0, 0, 0, 153, 153, 153,
1510 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1511 10, 386, 12, 13, 0, 198, 199, 200, 14, 684,
1512 126, 127, 14, 0, 0, 13, 684, 0, 0, 0,
1513 1177, 1187, 1179, 17, 0, 18, 19, 20, 0, 0,
1514 19, 21, -492, 0, 0, 21, 22, 889, 891, 0,
1515 24, 734, 0, 642, 24, 204, 401, 404, 0, 27,
1516 0, 28, 29, 319, 581, 735, 0, 736, 239, 659,
1517 0, 27, 0, 129, 130, 31, 682, 0, 0, 0,
1518 1431, 1432, 1433, 682, 0, 32, 1208, 582, 150, 0,
1519 0, 0, 239, 33, 196, 0, 204, 583, 34, 550,
1520 551, 552, 553, 554, 555, 556, 680, 584, 0, 0,
1521 585, 586, 0, 0, 1227, -492, 0, 0, 8, 9,
1522 1187, 239, 12, 13, 0, 0, 0, 79, 14, 0,
1523 239, 0, 1461, 1462, 0, 0, 204, 103, 0, 0,
1524 0, 0, 0, 17, 0, 18, 0, 682, 132, 0,
1525 0, 21, 0, 0, 141, 141, 0, 141, 459, 79,
1526 24, 416, 1277, 977, 79, 0, 0, 1281, 0, 27,
1527 0, 129, 130, 564, 0, 0, 239, 187, 0, 79,
1528 0, 0, 319, 319, 0, 319, 0, 220, 0, 196,
1529 600, 8, 9, 0, 103, 416, 0, 1512, 0, 0,
1530 684, 0, 0, 0, 0, 243, 103, 0, 565, 239,
1531 0, 682, 0, 682, 682, 0, 0, 1317, 523, 0,
1532 0, 0, 1039, 0, 0, 0, 289, 601, 103, 22,
1533 0, 0, 239, 1345, 0, 0, 989, 990, 9, 10,
1534 0, 682, 27, 0, 129, 130, 0, 0, 682, 0,
1535 0, 132, 0, 0, 0, 0, 132, -277, 79, 680,
1536 684, 0, 141, 0, 0, 395, 141, 0, 0, 141,
1537 141, 141, -277, -277, 684, 22, 684, -277, 684, 0,
1538 0, 0, 0, 79, 0, 0, 0, 0, 27, 0,
1539 28, 29, 0, -277, 1154, 0, 991, 0, 0, 0,
1540 187, 187, 187, 0, 177, -277, -277, 0, -277, 0,
1541 -277, 1088, 1387, 1388, 178, 0, 1401, 0, 0, 0,
1542 0, 684, 33, 239, 0, 0, 0, 179, 1397, 187,
1543 0, 0, 0, 319, 198, 199, 200, 0, 0, -277,
1544 -277, 14, 683, -277, 467, 0, 1111, 0, 0, 690,
1545 401, 404, 103, 0, 0, -277, 0, 0, 684, 19,
1546 0, 0, 0, 141, 21, 0, 0, 0, 0, 7,
1547 8, 9, 10, 24, 0, 13, 684, 0, 0, 0,
1548 1427, 1428, 0, 0, 239, 0, 0, 0, 882, 548,
1549 549, 550, 551, 552, 553, 554, 555, 556, 0, 1437,
1550 1438, 103, 494, 0, 0, 0, 0, 0, 22, 523,
1551 0, 0, 523, 771, 581, 0, 0, 0, 1161, 0,
1552 0, 27, 682, 28, 29, 416, 416, 0, 401, 784,
1553 0, 587, 587, 587, 0, 0, 0, 907, 0, 0,
1554 0, 0, 523, 0, 0, 103, 0, 908, 0, 579,
1555 0, 494, 494, 595, 416, 33, 239, 584, 0, 0,
1556 909, 586, 79, 0, 0, 0, 0, 680, 680, 0,
1557 0, 1190, 0, 0, 0, 0, 0, 824, 132, 826,
1558 827, 0, 682, 239, 7, 8, 9, 10, 0, 0,
1559 319, 0, 0, 0, 0, 0, 682, 0, 682, 0,
1560 682, 874, 132, 0, 0, 0, 0, 0, 103, 0,
1561 0, 187, 103, 0, 878, 0, 0, 0, 0, 0,
1562 0, 0, 141, 22, 0, 141, 0, 0, 0, 581,
1563 141, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1564 0, 0, 0, 682, 0, 684, 0, 684, 0, 684,
1565 0, 0, 907, 0, 0, 0, 0, 680, 0, 187,
1566 0, 187, 908, 187, 187, 187, 680, 680, 239, 187,
1567 33, 680, 584, 0, 187, 909, 586, 187, 0, 0,
1568 682, 0, 0, 0, 239, 0, 1283, 1284, 0, 0,
1569 0, 0, 0, 79, 0, 0, 0, 0, 682, 0,
1570 0, 0, 0, 0, 0, 416, 416, 0, 416, 416,
1571 0, 416, 680, 0, 732, 0, 7, 8, 733, 10,
1572 386, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1573 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
1574 0, 684, 17, 0, 18, 19, 20, 0, 0, 0,
1575 21, -493, 0, 0, 0, 22, 0, 0, 0, 24,
1576 734, 0, 642, 0, 0, 1338, 0, 0, 27, 0,
1577 28, 29, 0, 0, 735, 0, 736, 0, 0, 0,
1578 0, 0, 874, 0, 31, 587, 587, 0, 587, 103,
1579 0, 494, 0, 0, 32, 873, 196, 204, 0, 0,
1580 680, 0, 33, 579, 0, 494, 494, 34, 595, 0,
1581 0, 0, 0, 0, 0, 875, 1377, 0, 0, 877,
1582 0, 0, 0, 0, -493, 0, 0, 416, 416, 0,
1583 0, 0, 0, 187, 0, 0, 0, 0, 680, 7,
1584 126, 127, 10, 0, 0, 13, 0, 0, 1053, 0,
1585 0, 0, 587, 0, 587, 587, 572, 587, 281, 373,
1586 374, 10, 1065, 573, 1066, 0, 1067, 682, 0, 682,
1587 0, 682, 187, 914, 187, 187, 220, 595, 22, 401,
1588 784, 0, 0, 0, 0, 684, 0, 0, 0, 0,
1589 0, 27, 0, 28, 29, 587, 0, 22, 0, 0,
1590 0, 0, 1429, 1430, 574, 0, 0, 31, 0, 1095,
1591 27, 1435, 28, 299, 0, 187, 0, 32, 150, 914,
1592 0, 416, 416, 416, 0, 33, 187, 187, 0, 187,
1593 34, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
1594 0, 0, 0, 0, 575, 0, 1114, 0, 349, 351,
1595 0, 0, 0, 0, 0, 0, 0, 132, 1136, 0,
1596 79, 0, 79, 682, 239, 0, 239, 1000, 79, 79,
1597 0, 0, 0, 416, 416, 0, 0, 103, 0, 0,
1598 0, 0, 587, 103, 0, 7, 8, 9, 10, 0,
1599 494, 494, 494, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 494, 239, 0, 0, 0, 0, 8, 9,
1601 0, 386, 12, 13, 0, 0, 688, 0, 14, 0,
1602 0, 0, 0, 0, 22, 0, 0, 989, 990, 9,
1603 10, 0, 0, 17, 0, 18, 19, 27, 416, 28,
1604 29, 21, 0, 176, 0, 0, 0, 0, 0, 0,
1605 24, 0, 103, 177, 0, 587, 0, 587, 680, 27,
1606 0, 129, 130, 178, 0, 0, 22, 0, 587, 0,
1607 0, 33, 873, 873, 873, 494, 179, 494, 0, 27,
1608 0, 28, 29, 0, 103, 0, 0, 991, 494, 239,
1609 103, 0, 875, 875, 875, 177, 0, 0, 0, 1082,
1610 0, 0, 689, 0, 0, 178, 0, 682, 0, 0,
1611 587, 587, 587, 33, 401, 404, 126, 127, 179, 0,
1612 0, 227, 0, 0, 0, 0, 103, 0, 103, 82,
1613 187, 187, 1108, 1223, 0, 1224, 0, 1225, 0, 105,
1614 0, 0, 401, 1264, 0, 0, 0, 0, 0, 125,
1615 133, 525, 873, 0, 0, 0, 142, 142, 0, 142,
1616 581, 82, 0, 0, 0, 0, 82, 27, 0, 129,
1617 130, 239, 1108, 0, 0, 0, 0, 0, 0, 142,
1618 0, 82, 0, 582, 0, 0, 103, 0, 0, 221,
1619 0, 0, 0, 583, 0, 0, 229, 239, 0, 103,
1620 0, 0, 1000, 584, 0, 0, 585, 586, 229, 0,
1621 0, 103, 281, 126, 127, 10, 0, 0, 0, 0,
1622 0, 0, 0, 0, 1166, 0, 0, 648, 0, 1319,
1623 0, 0, 0, 0, 79, 0, 0, 0, 7, 8,
1624 9, 10, 0, 0, 103, 0, 103, 0, 0, 0,
1625 0, 22, 0, 379, 0, 239, 0, 0, 232, 0,
1626 82, 590, 594, 597, 142, 0, 28, 299, 142, 0,
1627 0, 142, 142, 142, 0, 0, 691, 22, 494, 494,
1628 0, 494, 0, 0, 232, 82, 0, 0, 0, 0,
1629 8, 9, 28, 29, 12, 13, 0, 0, 33, 0,
1630 14, 0, 142, 142, 142, 587, 587, 587, 587, 587,
1631 0, 0, 0, 587, 0, 17, 233, 18, 0, 0,
1632 0, 0, 0, 21, 33, 187, 187, 187, 187, 1108,
1633 0, 142, 24, 187, 0, 873, 873, 873, 0, 0,
1634 0, 27, 772, 129, 130, 775, 0, 0, 0, 777,
1635 778, 780, 781, 782, 0, 1108, 1108, 1108, 7, 126,
1636 127, 10, 525, 0, 227, 142, 0, 1136, 0, 0,
1637 7, 8, 9, 10, 0, 799, 227, 0, 0, 0,
1638 829, 0, 0, 0, 0, 0, 187, 0, 0, 0,
1639 0, 141, 0, 79, 0, 0, 0, 22, 0, 0,
1640 0, 0, 0, 229, 142, 0, 0, 828, 0, 22,
1641 27, 0, 28, 29, 0, 581, 0, 0, 0, 0,
1642 587, 587, 27, 587, 28, 29, 31, 856, 0, 0,
1643 0, 401, 1264, 0, 856, 0, 32, 0, 907, 0,
1644 187, 187, 0, 187, 33, 0, 0, 229, 908, 34,
1645 0, 580, 0, 142, 142, 596, 33, 0, 584, 0,
1646 604, 909, 586, 0, 82, 7, 126, 127, 10, 0,
1647 0, 13, 0, 0, 187, 914, 187, 0, 0, 0,
1648 379, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1649 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1651 229, 0, 75, 142, 229, 853, 855, 27, 0, 28,
1652 29, 22, 0, 0, 142, 0, 0, 142, 232, 0,
1653 0, 0, 142, 146, 0, 0, 28, 299, 648, 140,
1654 144, 0, 0, 147, 75, 0, 0, 0, 0, 75,
1655 0, 33, 281, 8, 9, 10, 148, 0, 0, 0,
1656 233, 142, 0, 142, 197, 142, 142, 142, 33, 0,
1657 0, 142, 7, 8, 9, 10, 142, 0, 13, 142,
1658 0, 1108, 912, 0, 590, 594, 0, 597, 0, 0,
1659 0, 22, 0, 0, 731, 82, 691, 0, 232, 0,
1660 0, 0, 691, 0, 0, 0, 28, 299, 0, 0,
1661 0, 22, 0, 0, 0, 0, 0, 581, 0, 0,
1662 0, 0, 0, 0, 27, 594, 28, 29, 0, 0,
1663 485, 0, 0, 229, 229, 229, 229, 0, 33, 0,
1664 1104, 0, 0, 391, 1108, 1108, 1108, 394, 0, 0,
1665 1105, 396, 0, 0, 0, 0, 0, 0, 33, 0,
1666 584, 0, 103, 1106, 586, 0, 0, 187, 75, 0,
1667 6, 1050, 7, 8, 9, 10, 11, 12, 13, 0,
1668 0, 0, 0, 14, 0, 140, 144, 0, 0, 0,
1669 0, 229, 0, 142, 0, 0, 15, 16, 17, 0,
1670 18, 19, 20, 799, 0, 0, 21, 142, 142, 691,
1671 596, 22, 594, 856, 23, 24, 25, 876, 26, 0,
1672 0, 0, 0, 0, 27, 0, 28, 29, 0, 604,
1673 30, 0, 0, 0, 0, 142, 0, 0, 0, 0,
1674 31, 1287, 1288, 9, 10, 648, 0, 1100, 483, 0,
1675 32, 856, 0, 0, 0, 0, 0, 0, 33, 0,
1676 0, 0, 0, 34, 0, 0, 125, 0, 0, 35,
1677 0, 0, 0, 0, 142, 596, 142, 142, 221, 596,
1678 22, 0, 0, 0, 0, 1068, 0, 1069, 0, 0,
1679 0, 856, 0, 27, 0, 28, 29, 731, 1075, 0,
1680 0, 1289, 853, 855, 0, 1141, 0, 0, 0, 177,
1681 0, 1147, 0, 0, 0, 0, 0, 142, 691, 178,
1682 0, 596, 0, 0, 0, 0, 0, 33, 142, 142,
1683 691, 142, 179, 0, 0, 0, 0, 0, 0, 0,
1684 853, 855, 0, 0, 0, 0, 0, 612, 7, 8,
1685 9, 10, 0, 0, 13, 0, 0, 0, 0, 133,
1686 0, 0, 82, 691, 82, 691, 0, 0, 0, 1001,
1687 82, 82, 0, 0, 0, 0, 0, 0, 0, 229,
1688 0, 0, 0, 0, 0, 229, 0, 22, 0, 0,
1689 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
1690 27, 0, 28, 29, 142, 0, 0, 663, 0, 0,
1691 664, 0, 0, 0, 0, 666, 177, 0, 0, 7,
1692 8, 9, 10, 0, 0, 482, 178, 0, 437, 439,
1693 443, 0, 0, 50, 33, 0, 0, 0, 0, 179,
1694 0, 0, 0, 0, 394, 0, 396, 0, 856, 0,
1695 0, 0, 0, 0, 229, 0, 0, 0, 22, 483,
1696 50, 50, 0, 149, 581, 50, 0, 0, 0, 0,
1697 50, 27, 0, 28, 29, 0, 856, 142, 749, 142,
1698 0, 0, 0, 50, 0, 50, 229, 907, 0, 0,
1699 142, 0, 229, 0, 876, 876, 876, 908, 0, 0,
1700 0, 604, 0, 0, 0, 33, 0, 584, 235, 0,
1701 909, 586, 541, 542, 543, 544, 545, 546, 547, 548,
1702 549, 550, 551, 552, 553, 554, 555, 556, 229, 0,
1703 229, 0, 142, 142, 596, 1068, 1069, 853, 855, 0,
1704 0, 0, 0, 1075, 544, 545, 546, 547, 548, 549,
1705 550, 551, 552, 553, 554, 555, 556, 376, 0, 0,
1706 0, 376, 376, 0, 50, 853, 855, 0, 50, 0,
1707 235, 0, 50, 0, 876, 149, 149, 149, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 229, 50,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
1710 0, 229, 0, 0, 1001, 0, 50, 50, 149, 0,
1711 0, 0, 1141, 229, 0, 0, 235, 0, 0, 126,
1712 127, 0, 0, 199, 200, 0, 0, 0, 0, 14,
1713 0, 0, 0, 0, 0, 50, 82, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 229, 0, 229, 0,
1715 1068, 1069, 21, 1075, 0, 0, 0, 0, 913, 0,
1716 0, 24, 0, 581, 0, 0, 0, 0, 0, 50,
1717 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1718 142, 142, 0, 142, 0, 0, 582, 701, 0, 702,
1719 0, 437, 439, 443, 0, 0, 583, 0, 0, 0,
1720 0, 0, 713, 0, 956, 0, 584, 0, 0, 592,
1721 586, 663, 664, 0, 666, 545, 546, 547, 548, 549,
1722 550, 551, 552, 553, 554, 555, 556, 142, 142, 142,
1723 142, 596, 0, 0, 0, 142, 0, 0, 522, 0,
1724 0, 731, 0, 0, 0, 749, 0, 749, 0, 0,
1725 0, 0, 999, 1006, 749, 376, 0, 876, 876, 876,
1726 0, 0, 0, 235, 0, 525, 0, 0, 50, 0,
1727 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
1728 0, 648, 0, 0, 376, 0, 0, 0, 142, 0,
1729 0, 0, 0, 142, 0, 82, 7, 8, 9, 10,
1730 386, 12, 13, 0, 0, 688, 0, 14, 376, 0,
1731 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1732 0, 0, 17, 0, 18, 19, 0, 0, 50, 0,
1733 21, 50, 0, 0, 0, 22, 50, 0, 0, 24,
1734 0, 581, 142, 142, 0, 142, 0, 0, 27, 0,
1735 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 1104, 50, 0, 50, 0, 149,
1737 149, 149, 0, 0, 1105, 50, 142, 596, 142, 0,
1738 50, 77, 33, 50, 584, 0, 0, 1106, 586, 0,
1739 0, 689, 0, 0, 0, 229, 0, 0, 0, 50,
1740 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
1741 0, 77, 0, 77, 0, 140, 144, 0, 77, 0,
1742 7, 126, 127, 10, 0, 0, 482, 0, 0, 522,
1743 0, 77, 522, 77, 0, 0, 0, 0, 0, 0,
1744 8, 9, 0, 0, 12, 227, 0, 522, 522, 522,
1745 14, 0, 0, 0, 701, 702, 0, 713, 0, 22,
1746 0, 0, 522, 0, 0, 17, 0, 18, 0, 0,
1747 0, 0, 27, 21, 28, 29, 0, 0, 240, 0,
1748 0, 0, 24, 876, 581, 0, 0, 999, 31, 0,
1749 0, 27, 0, 129, 130, 998, 0, 0, 32, 126,
1750 127, 0, 0, 199, 200, 0, 33, 582, 235, 14,
1751 0, 34, 77, 0, 0, 0, 77, 583, 0, 749,
1752 77, 522, 0, 77, 77, 77, 0, 584, 0, 0,
1753 585, 586, 21, 0, 0, 0, 0, 77, 0, 50,
1754 0, 24, 0, 581, 0, 0, 876, 876, 876, 0,
1755 27, 407, 129, 130, 77, 77, 77, 0, 0, 0,
1756 0, 0, 0, 0, 229, 0, 582, 0, 0, 142,
1757 0, 0, 435, 0, 0, 0, 583, 0, 50, 50,
1758 50, 50, 0, 77, 0, 451, 584, 8, 9, 585,
1759 586, 12, 227, 0, 0, 0, 0, 14, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 394, 396, 17, 0, 18, 0, 0, 77, 483, 0,
1762 21, 50, 0, 0, 0, 50, 0, 0, 0, 24,
1763 0, 0, 50, 50, 0, 50, 0, 0, 27, 0,
1764 129, 130, 0, 0, 0, 0, 0, 0, 0, 732,
1765 0, 7, 8, 733, 10, 386, 12, 13, 437, 439,
1766 443, 0, 14, 0, 0, 0, 50, 0, 50, 0,
1767 0, 1294, 0, 50, 50, 50, 1294, 17, 749, 18,
1768 19, 20, 0, 0, 0, 21, -495, 0, 0, 0,
1769 22, 0, 0, 0, 24, 734, 0, 642, 0, 0,
1770 443, 0, 522, 27, 0, 28, 29, 0, 0, 735,
1771 0, 736, 603, 0, 0, 0, 77, 0, 0, 31,
1772 0, 0, 0, 0, 0, 663, 664, 0, 666, 32,
1773 998, 0, 0, 0, 0, 0, 0, 33, 7, 8,
1774 9, 10, 34, 0, 227, 543, 544, 545, 546, 547,
1775 548, 549, 550, 551, 552, 553, 554, 555, 556, -495,
1776 1357, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 77, 22, 0, 77,
1778 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
1779 27, 0, 28, 29, 0, 0, 0, 0, 522, 522,
1780 522, 0, 0, 0, 235, 0, 177, 0, 0, 0,
1781 0, 0, 0, 77, 0, 77, 178, 77, 77, 77,
1782 0, 0, 0, 77, 33, 0, 0, 0, 77, 179,
1783 0, 77, 154, 0, 0, 0, 50, 50, 149, 0,
1784 0, 706, 0, 235, 0, 0, 712, 77, 0, 0,
1785 0, 0, 188, 701, 702, 437, 439, 443, 0, 0,
1786 0, 713, 0, 0, 7, 8, 9, 10, 198, 199,
1787 200, 753, 0, 0, 0, 14, 0, 759, 1135, 0,
1788 0, 0, 0, 437, 439, 443, 0, 0, 0, 767,
1789 768, 0, 769, 19, 0, 0, 0, 0, 21, 0,
1790 0, 0, 0, 22, 0, 0, 0, 24, 50, 581,
1791 1287, 126, 127, 10, 1293, 0, 27, 0, 28, 29,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
1793 0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
1794 50, 0, 908, 0, 154, 154, 154, 0, 0, 22,
1795 33, 0, 584, 0, 0, 909, 586, 603, 0, 0,
1796 0, 0, 27, 0, 28, 29, 0, 0, 701, 702,
1797 1289, 713, 0, 0, 0, 188, 188, 444, 31, 0,
1798 0, 0, 0, 0, 0, 864, 865, 77, 32, 0,
1799 864, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1800 0, 34, 0, 0, 188, 0, 0, 0, 0, 0,
1801 0, 235, 0, 0, 0, 0, 7, 8, 9, 10,
1802 0, 0, 13, 0, 0, 0, 77, 77, 77, 77,
1803 0, 50, 50, 149, 149, 149, 0, 235, 0, 50,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 7, 8, 9, 10, 22, 0, 482, 0, 0,
1806 0, 1135, 1135, 1135, 0, 0, 0, 0, 27, 77,
1807 28, 29, 0, 77, 0, 0, 0, 495, 0, 0,
1808 77, 77, 0, 77, 440, 0, 0, 0, 0, 0,
1809 22, 0, 50, 0, 441, 0, 0, 50, 0, 50,
1810 0, 0, 33, 27, 0, 28, 29, 442, 0, 443,
1811 0, 0, 126, 127, 77, 0, 77, 482, 0, 177,
1812 0, 77, 77, 77, 0, 0, 589, 589, 589, 178,
1813 0, 0, 0, 0, 0, 0, 186, 33, 7, 8,
1814 9, 10, 179, 0, 0, 0, 50, 50, 0, 50,
1815 0, 0, 0, 0, 0, 0, 581, 0, 1020, 0,
1816 1022, 238, 0, 27, 242, 129, 130, 0, 0, 0,
1817 0, 0, 437, 439, 443, 0, 0, 22, 0, 582,
1818 50, 50, 50, 0, 0, 238, 188, 345, 0, 583,
1819 27, 0, 28, 29, 0, 0, 1352, 0, 0, 584,
1820 0, 0, 585, 586, 0, 0, 177, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1822 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1823 0, 0, 1055, 1056, 188, 1058, 188, 0, 444, 444,
1824 444, 0, 0, 0, 188, 0, 0, 0, 0, 188,
1825 0, 0, 188, 603, 0, 0, 0, 0, 0, 186,
1826 186, 186, 0, 1076, 0, 0, 0, 0, 0, 450,
1827 8, 9, 0, 386, 12, 13, 0, 0, 688, 0,
1828 14, 0, 0, 0, 77, 77, 77, 1135, 186, 0,
1829 0, 7, 126, 127, 10, 17, 0, 18, 19, 0,
1830 0, 0, 0, 21, 0, 0, 0, 0, 1110, 0,
1831 0, 242, 24, 0, 581, 0, 0, 0, 0, 0,
1832 0, 27, 0, 129, 130, 238, 1137, 0, 0, 0,
1833 22, 0, 0, 0, 0, 0, 0, 582, 0, 0,
1834 0, 0, 0, 27, 0, 28, 29, 583, 0, 0,
1835 1135, 1135, 1135, 0, 0, 0, 77, 584, 0, 146,
1836 585, 586, 0, 0, 689, 0, 838, 0, 0, 147,
1837 0, 0, 1152, 50, 0, 0, 0, 33, 0, 0,
1838 589, 589, 148, 589, 1157, 0, 0, 0, 77, 0,
1839 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 8, 9, 0, 386, 12, 13, 0, 0, 188, 0,
1841 14, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1842 0, 7, 8, 9, 10, 17, 0, 18, 19, 0,
1843 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1844 0, 0, 641, 0, 0, 642, 0, 911, 0, 911,
1845 911, 27, 589, 129, 130, 0, 0, 0, 0, 0,
1846 22, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
1847 186, 0, 0, 27, 0, 28, 29, 0, 0, 77,
1848 77, 77, 77, 77, 0, 0, 0, 77, 0, 440,
1849 911, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1850 0, 188, 188, 0, 188, 0, 1220, 33, 0, 1137,
1851 1137, 1137, 442, 0, 0, 0, 0, 0, 186, 0,
1852 186, 0, 186, 186, 186, 0, 0, 0, 186, 0,
1853 0, 0, 0, 186, 0, 0, 186, 0, 0, 0,
1854 77, 0, 188, 0, 0, 77, 0, 77, 0, 0,
1855 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1856 10, 386, 12, 13, 0, 495, 495, 495, 14, 1302,
1857 0, 0, 0, 1303, 0, 0, 0, 589, 0, 0,
1858 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1859 0, 21, -494, 0, 77, 77, 22, 77, 0, 0,
1860 24, 734, 0, 642, 0, 0, 1318, 0, 0, 27,
1861 0, 28, 29, 0, 0, 735, 0, 736, 7, 8,
1862 9, 10, 0, 0, 0, 31, 0, 0, 77, 77,
1863 77, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1864 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
1865 589, 0, 589, 0, 0, 0, 0, 22, 0, 0,
1866 0, 0, 0, 589, 0, -494, 0, 589, 589, 589,
1867 27, 0, 28, 29, 0, 1370, 0, 238, 242, 1371,
1868 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1869 8, 9, 186, 386, 12, 13, 178, 0, 1470, 0,
1870 14, 1389, 1390, 0, 33, 911, 911, 1109, 0, 179,
1871 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1872 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1873 0, 186, 24, 186, 186, 1137, 0, 0, 0, 0,
1874 0, 27, 0, 129, 130, 0, 0, 1109, 0, 0,
1875 7, 8, 9, 10, 198, 199, 200, 0, 101, 0,
1876 0, 14, 0, 0, 0, 0, 0, 0, 120, 101,
1877 0, 0, 0, 0, 186, 101, 101, 188, 101, 19,
1878 0, 0, 0, 0, 21, 186, 186, 0, 186, 22,
1879 0, 0, 0, 24, 0, 581, 0, 0, 1137, 1137,
1880 1137, 0, 27, 0, 28, 29, 8, 9, 219, 189,
1881 12, 190, 0, 242, 0, 0, 14, 0, 907, 0,
1882 0, 77, 0, 0, 0, 0, 186, 0, 908, 0,
1883 0, 17, 0, 18, 19, 0, 33, 0, 584, 21,
1884 0, 949, 586, 0, 0, 0, 0, 0, 24, 0,
1885 0, 0, 0, 838, 838, 0, 838, 27, 0, 129,
1886 130, 0, 0, 0, 0, 0, 0, 369, 0, 120,
1887 0, 0, 101, 0, 0, 0, 101, 101, 0, 0,
1888 0, 0, 0, 101, 0, 101, 101, 101, 0, 0,
1889 101, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1890 911, 911, 1109, 1109, 1109, 0, 0, 0, 911, 539,
1891 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1892 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
1893 1109, 1109, 1109, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 732, 0, 7,
1895 8, 733, 10, 386, 12, 13, 0, 238, 242, 238,
1896 14, 188, 0, 0, 465, 101, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
1898 0, 0, 0, 21, 101, 0, 0, 0, 22, 186,
1899 186, 1107, 24, 734, 0, 642, 238, 0, 0, 0,
1900 0, 27, 0, 28, 29, 0, 0, 735, 0, 736,
1901 0, 0, 0, 0, 0, 911, 911, 31, 911, 0,
1902 0, 0, 0, 101, 0, 0, 0, 32, 0, 0,
1903 0, 1107, 0, 0, 0, 33, 0, 0, 0, 244,
1904 34, 0, 8, 9, 0, 0, 12, 13, 0, 188,
1905 0, 188, 14, 0, 0, 0, 0, 0, 0, 0,
1906 0, 186, 0, 0, 0, 0, 0, 17, 0, 18,
1907 101, 0, 101, 101, 0, 21, 0, 245, 246, 0,
1908 0, 0, 450, 0, 24, 0, 247, 0, 0, 0,
1909 0, 0, 0, 27, 0, 129, 130, 0, 248, 101,
1910 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1911 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1912 267, 268, 269, 101, 0, 270, 271, 272, 0, 0,
1913 273, 0, 0, 274, 0, 0, 0, 0, 0, 101,
1914 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1915 275, 101, 0, 0, 0, 0, 444, 0, 0, 0,
1916 0, 0, 0, 0, 238, 540, 541, 542, 543, 544,
1917 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1918 555, 556, 0, 0, 186, 186, 186, 186, 1107, 0,
1919 1219, 0, 186, 542, 543, 544, 545, 546, 547, 548,
1920 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
1921 0, 101, 0, 724, 1107, 1107, 1107, 0, 0, 444,
1922 444, 444, 0, 0, 0, 0, 0, 0, 7, 8,
1923 9, 10, 386, 12, 13, 0, 0, 955, 101, 14,
1924 0, 0, 188, 0, 0, 186, 0, 0, 0, 0,
1925 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1926 0, 0, 21, 0, 0, 0, 0, 22, 0, 0,
1927 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1928 27, 0, 28, 29, 1383, 0, -449, -449, -449, -449,
1929 -449, -449, -449, 0, 0, -449, 31, -449, 0, 186,
1930 186, 0, 186, 0, 0, 0, 32, 0, -449, 0,
1931 -449, -449, 101, 0, 33, -449, 0, 0, 0, 34,
1932 -449, 0, 0, 101, 101, -449, 101, 101, 0, -449,
1933 0, -449, 0, 186, 0, 186, 0, 0, -449, 0,
1934 -449, -449, -449, -449, -449, 0, -449, -449, -449, -449,
1935 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1936 -449, -449, -449, -449, -449, -449, -449, -449, -449, 0,
1937 -449, -449, -449, 0, -449, -449, -449, -449, -449, -449,
1938 0, -449, -449, 0, 0, 120, 0, 1384, 0, 0,
1939 0, 0, -449, -449, -449, 0, -449, 219, 0, 0,
1940 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1941 8, 9, 0, 14, 12, 13, 724, 0, 0, 0,
1942 14, 0, 0, 0, 0, 0, 15, 16, 17, 0,
1943 18, 19, 20, 0, 0, 17, 21, 18, 0, 0,
1944 1107, 22, 0, 21, 23, 24, 25, 0, 26, 0,
1945 0, 0, 24, 0, 27, 0, 28, 29, 0, 0,
1946 30, 27, 0, 129, 130, 0, 0, 0, 0, 0,
1947 31, 0, 0, 0, 0, 724, 0, 0, 101, 0,
1948 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1949 0, 0, 0, 34, 0, 0, 0, 0, 0, 35,
1950 0, 0, 0, 1107, 1107, 1107, 0, 0, 0, 0,
1951 0, 101, 101, 101, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 101, 0, 1360, 186, 1230, 1231, 1232,
1953 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
1954 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1955 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
1956 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
1957 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
1958 0, 1244, 299, 675, 0, 1245, 300, 0, 0, 0,
1959 0, 0, 301, 0, 0, 302, 101, 0, 101, 0,
1960 0, 0, 0, 303, 304, 305, 0, 0, 0, 101,
1961 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
1962 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 1361, 310, 1229, 0, 1230,
1964 1231, 1232, 10, 386, 12, 282, 283, 284, 0, 285,
1965 14, 1233, 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1966 1241, 1242, 1243, 15, 16, 17, 286, 18, 19, 20,
1967 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1968 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
1969 298, 27, 0, 1244, 299, 675, 0, 1245, 300, 0,
1970 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
1971 0, 0, 0, 0, 0, 303, 304, 305, 724, 0,
1972 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1973 309, 517, 1246, 281, 8, 9, 10, 386, 12, 282,
1974 283, 284, 688, 285, 14, 101, 0, 0, 310, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1976 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
1977 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
1978 294, 295, 296, 297, 298, 27, 0, 28, 299, -285,
1979 0, 0, 300, 0, 0, 0, 0, 0, 301, 101,
1980 101, 869, 101, 0, 0, 0, 0, 0, 0, 303,
1981 304, 870, 0, 0, 0, 0, 0, 306, 307, 308,
1982 0, 584, 0, 0, 871, 586, 0, 517, 689, 7,
1983 8, 9, 10, 386, 12, 282, 283, 284, 688, 285,
1984 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 17, 286, 18, 19, 20,
1986 724, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1987 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
1988 298, 27, 0, 28, 29, -285, 0, 0, 300, 0,
1989 0, 0, 724, 0, 301, 0, 0, 1132, 0, 0,
1990 0, 0, 0, 0, 0, 303, 304, 1133, 0, 0,
1991 101, 0, 101, 306, 307, 308, 0, 584, 0, 0,
1992 1134, 586, 0, 687, 689, 281, 8, 9, 10, 386,
1993 12, 282, 283, 284, 688, 285, 14, 0, 310, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
1996 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
1997 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
1998 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
1999 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2000 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2001 307, 308, 0, 0, 0, 0, 309, 0, 0, 0,
2002 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, -759, 802, 310, 281, 8, 9, 10, 386,
2004 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2007 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2008 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2009 299, 1449, 0, -749, 300, 0, 0, 0, 0, 0,
2010 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2011 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2012 307, 308, 0, 0, 0, 678, 309, 790, 791, 792,
2013 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2014 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2015 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2016 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2017 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2018 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2019 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2020 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2021 0, 306, 307, 308, 0, 0, 0, 0, 309, 795,
2022 678, 0, 790, 791, 792, 10, 0, 12, 499, 283,
2023 284, 0, 285, 14, 0, 940, 310, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2025 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2026 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2027 295, 296, 297, 298, 27, 0, 793, 794, 679, 0,
2028 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2029 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2030 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2031 0, 0, 0, 309, 795, 678, 0, 790, 791, 792,
2032 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2033 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2035 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2036 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2037 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2038 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2039 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2040 0, 306, 307, 308, 0, 0, 0, 678, 309, 790,
2041 791, 792, 10, 0, 12, 499, 283, 284, 0, 285,
2042 14, 0, 0, 0, 0, -453, 310, 0, 0, 0,
2043 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2044 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2045 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2046 298, 27, 0, 793, 794, 679, 0, 0, 300, 0,
2047 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2048 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2049 0, 0, 0, 306, 307, 308, 0, 0, 0, 678,
2050 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2051 0, 285, 14, 0, 0, 0, 0, 1263, 310, 0,
2052 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2053 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2054 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2055 296, 297, 298, 27, 0, 28, 299, 679, 0, 0,
2056 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2057 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2058 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2059 0, 0, 309, 0, 0, 517, 0, 281, 8, 9,
2060 10, 1267, 12, 282, 283, 284, 0, 285, 14, 0,
2061 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2063 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2064 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2065 0, 28, 299, -285, 0, 0, 300, 0, 0, 0,
2066 0, 0, 301, 0, 0, 518, 0, 0, 0, 0,
2067 0, 0, 0, 303, 304, 519, 0, 0, 0, 0,
2068 0, 306, 307, 308, 0, 0, 0, 678, 520, 281,
2069 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2070 14, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2071 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2072 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2073 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2074 298, 27, 0, 28, 299, 679, 0, 0, 300, 0,
2075 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2076 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2077 0, 0, 0, 306, 307, 308, 0, 0, 0, 802,
2078 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2079 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2080 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2081 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2082 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2083 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2084 300, -749, 0, 0, 0, 0, 301, 0, 0, 302,
2085 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2086 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2087 0, 517, 309, 7, 8, 9, 10, 0, 12, 282,
2088 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2089 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2090 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2091 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2092 294, 295, 296, 297, 298, 27, 0, 28, 29, -285,
2093 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2094 0, 1421, 0, 0, 0, 0, 0, 0, 0, 303,
2095 304, 1422, 0, 0, 0, 0, 0, 306, 307, 308,
2096 0, 0, 0, 1499, 1423, 281, 8, 9, 10, 0,
2097 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2098 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2099 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2100 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2101 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2102 299, 0, 0, -174, 300, 0, 0, 0, 0, 0,
2103 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2104 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2105 307, 308, 0, 0, 0, 802, 309, 281, 8, 9,
2106 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2107 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2108 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2109 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2110 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2111 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2112 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2113 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2114 0, 306, 307, 308, 0, 0, 0, 888, 309, 281,
2115 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2116 14, 0, 0, 0, -749, 0, 310, 0, 0, 0,
2117 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2118 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2119 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2120 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2121 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2122 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2123 0, 0, 0, 306, 307, 308, 0, 0, 0, 890,
2124 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2125 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2126 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2127 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2128 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2129 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2130 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2131 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2132 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2133 0, 1434, 309, 281, 8, 9, 10, 0, 12, 499,
2134 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2135 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2136 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2137 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2138 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2139 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2140 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2141 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2142 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2143 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2145 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2146 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2147 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2148 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2149 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2150 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2151 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2153 841, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2154 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2155 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2156 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2157 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2158 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2159 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2160 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2161 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2162 0, 0, 309, 0, 1246, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365,
2164 310, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2165 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2166 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2167 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2168 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2169 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2170 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2171 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2172 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2173 0, 0, 309, 0, 1246, 0, 0, 1230, 1231, 1232,
2174 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
2175 310, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2176 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
2177 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2178 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2179 0, 1244, 299, 1476, 0, 1245, 300, 0, 0, 0,
2180 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2181 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2182 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2183 1246, 0, 0, 1230, 1231, 1232, 10, 386, 12, 282,
2184 283, 284, 0, 285, 14, 1233, 310, 1234, 1235, 1236,
2185 1237, 1238, 1239, 1240, 1241, 1242, 1243, 15, 16, 17,
2186 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2187 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2188 294, 295, 296, 297, 298, 27, 0, 1244, 299, 0,
2189 0, 1245, 300, 0, 0, 0, 0, 0, 301, 0,
2190 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2191 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2192 0, 0, 0, 0, 309, 0, 1246, 281, 8, 9,
2193 10, 386, 12, 282, 283, 284, 688, 285, 14, 0,
2194 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2196 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2197 24, 0, 581, 0, 294, 295, 296, 297, 298, 27,
2198 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2199 0, 0, 301, 0, 0, 869, 0, 0, 0, 0,
2200 0, 0, 0, 303, 304, 870, 0, 0, 0, 0,
2201 0, 306, 307, 308, 0, 584, 0, 0, 871, 586,
2202 0, 0, 689, 7, 8, 9, 10, 386, 12, 282,
2203 283, 284, 688, 285, 14, 0, 310, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2205 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2206 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
2207 294, 295, 296, 297, 298, 27, 0, 28, 29, 0,
2208 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2209 0, 1132, 0, 0, 0, 0, 0, 0, 0, 303,
2210 304, 1133, 0, 0, 0, 0, 0, 306, 307, 308,
2211 0, 584, 0, 0, 1134, 586, 0, 0, 689, 281,
2212 8, 9, 10, 0, 12, 282, 283, 284, 0, 285,
2213 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2215 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2216 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
2217 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 301, 0, 0, 869, 0, 0,
2219 0, 0, 0, 0, 0, 303, 304, 870, 0, 0,
2220 0, 0, 0, 306, 307, 308, 0, 584, 0, 0,
2221 871, 586, 7, 8, 9, 10, 0, 12, 282, 283,
2222 284, 0, 285, 14, 0, 0, 0, 0, 310, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2224 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2225 291, 22, 292, 293, 0, 24, 0, 581, 0, 294,
2226 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2228 1132, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2229 1133, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2230 584, 0, 0, 1134, 586, 281, 8, 9, 10, 0,
2231 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2232 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2234 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2235 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2236 299, 0, 0, 1342, 300, 0, 0, 0, 0, 0,
2237 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2238 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2239 307, 308, 0, 0, 0, 0, 309, 281, 8, 9,
2240 10, 386, 12, 282, 283, 284, 0, 285, 14, 0,
2241 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2242 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2243 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2244 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2245 0, 28, 299, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2247 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2248 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2249 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2251 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2252 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2253 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2254 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2255 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2256 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2257 308, 281, 8, 9, 10, 309, 12, 499, 283, 284,
2258 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2260 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2261 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2262 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2263 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2264 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2265 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2266 9, 10, 309, 12, 499, 283, 284, 0, 285, 14,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2269 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2270 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2271 27, 0, 28, 299, 532, 0, 0, 0, 0, 0,
2272 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2273 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2274 0, 0, 306, 307, 308, 281, 8, 9, 10, 533,
2275 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2277 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2278 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2279 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2280 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2282 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2283 307, 308, 0, 0, 0, 0, 309, 569, 281, 8,
2284 9, 10, 0, 12, 499, 283, 284, 0, 285, 14,
2285 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2287 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2288 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2289 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2290 0, 0, 0, 301, 0, 0, 518, 0, 0, 0,
2291 0, 0, 0, 0, 303, 304, 519, 0, 0, 0,
2292 0, 0, 306, 307, 308, 1094, 8, 9, 10, 520,
2293 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2295 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2296 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2297 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2298 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2299 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2300 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2301 307, 308, 7, 8, 9, 10, 309, 12, 499, 283,
2302 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2304 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2305 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2306 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2307 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2308 1421, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2309 1422, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2310 8, 9, 10, 1423, 12, 499, 283, 284, 0, 285,
2311 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2313 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2314 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2315 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2317 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2318 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2319 500, 12, 499, 283, 284, 0, 285, 14, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2321 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2322 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2323 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2324 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2326 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2327 306, 307, 308, 281, 8, 9, 10, 503, 12, 499,
2328 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2330 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2331 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2332 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2334 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2335 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2336 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2337 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2339 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2340 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2341 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 301, 0, 0, 518, 0,
2343 0, 0, 0, 0, 0, 0, 303, 304, 519, 0,
2344 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2345 10, 520, 12, 282, 283, 284, 0, 285, 14, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2347 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2348 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2349 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2350 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 301, 0, 6, 1421, 7, 8, 9, 10,
2352 11, 12, 13, 303, 304, 1422, 0, 14, 0, 0,
2353 0, 306, 307, 308, 0, 0, 0, 0, 1423, 0,
2354 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
2355 21, 0, 0, 0, 0, 22, 310, 0, 0, 24,
2356 0, 0, 411, 0, 0, 0, 0, 0, 27, 0,
2357 28, 29, 0, 0, 30, -357, 8, 9, -357, -357,
2358 12, 227, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2360 0, 17, 33, 18, -357, 0, 0, 34, 0, 21,
2361 0, 0, 0, 0, -357, 0, 0, 0, 24, 0,
2362 581, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2363 130, 7, 8, 9, 10, 189, 12, 190, 0, 0,
2364 0, 0, 14, 582, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 583, 0, 0, 0, 17, 0, 18,
2366 19, -357, 0, 584, 0, 21, 585, 586, 0, 0,
2367 22, 0, 0, 0, 24, 0, 989, 8, 733, 10,
2368 189, 12, 190, 27, 0, 28, 29, 14, 0, 191,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2370 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2371 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2372 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2373 28, 29, 0, 0, 0, 0, 991, 7, 8, 9,
2374 10, 189, 12, 190, 31, 0, 0, 0, 14, 0,
2375 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2376 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2377 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2378 24, 0, 7, 8, 9, 10, 386, 12, 13, 27,
2379 0, 28, 29, 14, 0, 1355, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2381 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2382 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2383 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2384 9, 10, 189, 12, 190, 0, 0, 0, 0, 14,
2385 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2387 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2388 0, 24, 0, 7, 8, 9, 10, 198, 199, 200,
2389 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2391 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2392 0, 0, 22, 0, 33, 1411, 24, 0, 581, 34,
2393 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2394 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2395 546, 177, 548, 549, 550, 551, 552, 553, 554, 555,
2396 556, 178, 0, 0, 0, 0, 0, 19, 0, 33,
2397 0, 0, 0, 0, 1358, 0, 1412, 535, 536, 537,
2398 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2399 548, 549, 550, 551, 552, 553, 554, 555, 556, 535,
2400 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2401 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2402 556, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2403 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2404 554, 555, 556, 535, 536, 537, 538, 539, 540, 541,
2405 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2406 552, 553, 554, 555, 556, 0, 0, 0, 0, 0,
2407 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 621, 0, 0, 1466, 535,
2409 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2410 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2411 556, 1484, 535, 536, 537, 538, 539, 540, 541, 542,
2412 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2413 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2414 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2415 551, 552, 553, 554, 555, 556
2418 static const short yycheck[] = { 4,
2419 156, 79, 4, 426, 673, 670, 54, 24, 4, 125,
2420 4, 193, 329, 385, 232, 335, 448, 83, 336, 337,
2421 385, 4, 285, 286, 385, 58, 530, 146, 147, 653,
2422 469, 36, 14, 4, 36, 830, 41, 31, 32, 41,
2423 36, 123, 36, 223, 132, 41, 228, 41, 660, 353,
2424 737, 56, 739, 36, 317, 4, 201, 202, 41, 746,
2425 34, 4, 1254, 141, 585, 36, 71, 421, 128, 1261,
2426 41, 592, 193, 133, 392, 393, 132, 133, 83, 4,
2427 61, 202, 87, 1408, 89, 56, 91, 36, 11, 83,
2428 1247, 1324, 41, 36, 38, 277, 1409, 11, 41, 11,
2429 82, 106, 107, 53, 34, 1155, 1156, 1410, 9, 187,
2430 79, 36, 45, 48, 60, 63, 41, 335, 456, 1169,
2431 60, 1446, 59, 105, 0, 65, 7, 63, 65, 0,
2432 135, 136, 89, 138, 91, 473, 76, 754, 60, 75,
2433 63, 135, 75, 760, 385, 1, 75, 329, 1, 59,
2434 49, 12, 146, 147, 586, 160, 1, 38, 83, 94,
2435 193, 62, 110, 1426, 135, 111, 160, 111, 201, 202,
2436 524, 12, 146, 147, 148, 110, 287, 288, 1481, 136,
2437 12, 111, 1445, 177, 178, 502, 135, 110, 110, 160,
2438 100, 302, 135, 434, 305, 228, 110, 308, 110, 60,
2439 311, 151, 63, 59, 315, 179, 59, 63, 106, 107,
2440 135, 160, 323, 1526, 59, 196, 1541, 160, 63, 60,
2441 63, 1413, 63, 204, 65, 75, 48, 36, 60, 94,
2442 48, 63, 41, 672, 184, 160, 1286, 98, 326, 1502,
2443 96, 25, 55, 65, 277, 1295, 1296, 229, 1298, 110,
2444 867, 96, 1409, 1486, 1049, 61, 322, 98, 414, 3,
2445 4, 5, 75, 1455, 197, 60, 98, 110, 880, 94,
2446 326, 883, 94, 278, 243, 59, 94, 95, 902, 63,
2447 34, 76, 643, 365, 604, 61, 60, 39, 4, 5,
2448 608, 94, 110, 9, 63, 355, 329, 48, 76, 60,
2449 78, 48, 61, 55, 309, 111, 75, 452, 453, 921,
2450 922, 1503, 96, 57, 58, 460, 109, 322, 48, 379,
2451 674, 440, 441, 379, 696, 330, 61, 472, 322, 633,
2452 75, 696, 453, 338, 339, 111, 110, 81, 55, 55,
2453 388, 57, 58, 94, 585, 339, 491, 94, 95, 110,
2454 871, 592, 111, 335, 48, 71, 574, 390, 75, 976,
2455 60, 27, 28, 110, 94, 81, 32, 25, 339, 27,
2456 28, 988, 767, 768, 769, 692, 111, 48, 75, 95,
2457 385, 338, 1432, 1433, 389, 48, 48, 94, 909, 385,
2458 339, 385, 146, 147, 148, 61, 339, 322, 1193, 65,
2459 94, 59, 906, 25, 1021, 63, 1023, 518, 519, 832,
2460 110, 309, 61, 48, 339, 25, 61, 27, 28, 452,
2461 453, 55, 55, 94, 95, 179, 55, 460, 949, 434,
2462 65, 94, 94, 95, 48, 416, 868, 55, 96, 472,
2463 434, 75, 75, 4, 5, 111, 440, 441, 110, 59,
2464 8, 9, 770, 63, 32, 696, 14, 75, 491, 94,
2465 385, 63, 3, 4, 5, 470, 440, 441, 442, 3,
2466 4, 5, 6, 1085, 1086, 59, 470, 63, 459, 37,
2467 94, 95, 75, 1170, 48, 55, 96, 470, 46, 75,
2468 48, 48, 497, 63, 55, 500, 57, 58, 503, 55,
2469 566, 470, 507, 508, 509, 510, 511, 48, 42, 434,
2470 71, 4, 5, 754, 55, 520, 57, 58, 446, 760,
2471 81, 470, 4, 57, 58, 530, 454, 470, 533, 462,
2472 94, 903, 55, 431, 95, 974, 94, 94, 903, 166,
2473 497, 721, 903, 723, 48, 470, 4, 5, 728, 48,
2474 59, 55, 75, 94, 36, 89, 876, 60, 61, 41,
2475 565, 566, 610, 111, 57, 58, 3, 4, 5, 714,
2476 48, 75, 566, 94, 3, 4, 5, 48, 611, 48,
2477 585, 899, 55, 937, 76, 1106, 55, 592, 582, 583,
2478 94, 585, 55, 4, 5, 94, 95, 779, 592, 57,
2479 58, 649, 500, 651, 652, 503, 75, 55, 48, 507,
2480 873, 95, 49, 1134, 596, 731, 94, 1040, 1041, 652,
2481 57, 58, 520, 94, 641, 94, 867, 1059, 57, 58,
2482 871, 636, 48, 110, 48, 533, 48, 11, 49, 537,
2483 1251, 566, 1253, 55, 692, 650, 57, 58, 48, 654,
2484 60, 61, 4, 5, 94, 672, 110, 9, 876, 692,
2485 585, 110, 903, 75, 110, 563, 111, 592, 909, 48,
2486 81, 569, 4, 5, 14, 94, 48, 1116, 94, 636,
2487 94, 714, 94, 23, 61, 48, 440, 441, 442, 8,
2488 9, 696, 1449, 3, 94, 14, 744, 1015, 1016, 1017,
2489 60, 61, 696, 55, 113, 57, 58, 1130, 949, 1148,
2490 25, 95, 27, 28, 95, 94, 1139, 1140, 37, 71,
2491 63, 1144, 94, 55, 64, 57, 58, 46, 113, 81,
2492 841, 94, 737, 9, 739, 976, 12, 1054, 1495, 94,
2493 745, 746, 60, 737, 59, 739, 779, 988, 63, 754,
2494 755, 756, 746, 758, 737, 760, 739, 63, 869, 870,
2495 754, 94, 1185, 746, 1055, 1056, 760, 1058, 737, 75,
2496 739, 696, 48, 744, 745, 75, 745, 746, 4, 5,
2497 1021, 96, 1023, 123, 60, 75, 62, 63, 737, 65,
2498 739, 971, 972, 973, 737, 75, 739, 746, 755, 756,
2499 76, 758, 78, 746, 1469, 145, 75, 740, 741, 11,
2500 27, 28, 737, 111, 739, 32, 749, 110, 94, 95,
2501 1489, 746, 98, 49, 829, 4, 5, 60, 833, 754,
2502 55, 57, 58, 110, 110, 760, 914, 27, 28, 84,
2503 85, 55, 110, 60, 61, 60, 61, 110, 65, 63,
2504 1273, 3, 4, 5, 6, 81, 861, 3, 4, 5,
2505 6, 75, 867, 4, 5, 1106, 871, 75, 60, 110,
2506 49, 111, 48, 867, 61, 869, 870, 871, 57, 58,
2507 220, 221, 60, 61, 76, 1203, 78, 111, 1311, 65,
2508 42, 113, 232, 1134, 876, 113, 42, 49, 903, 110,
2509 905, 906, 81, 49, 909, 57, 58, 903, 49, 903,
2510 75, 57, 58, 907, 908, 909, 57, 58, 94, 95,
2511 60, 61, 1000, 60, 61, 25, 75, 27, 28, 81,
2512 55, 979, 75, 113, 55, 909, 1253, 89, 113, 837,
2513 81, 110, 867, 89, 949, 59, 871, 3, 4, 5,
2514 1061, 7, 8, 9, 55, 949, 4, 5, 963, 59,
2515 110, 301, 63, 63, 969, 3, 4, 5, 6, 55,
2516 94, 976, 110, 871, 75, 949, 110, 63, 903, 8,
2517 113, 1335, 976, 988, 909, 1104, 1105, 4, 5, 75,
2518 3, 4, 5, 1347, 988, 48, 96, 65, 60, 94,
2519 48, 57, 58, 343, 42, 111, 1011, 55, 979, 57,
2520 58, 61, 352, 1132, 1133, 55, 1021, 1011, 1023, 57,
2521 58, 1132, 1133, 71, 949, 365, 37, 1021, 1011, 1023,
2522 1108, 1000, 49, 81, 65, 65, 49, 65, 110, 61,
2523 57, 58, 1011, 91, 57, 58, 94, 95, 3, 4,
2524 5, 976, 7, 8, 9, 63, 110, 94, 1063, 992,
2525 65, 110, 1011, 988, 81, 998, 999, 1439, 1011, 1002,
2526 1003, 969, 1426, 1006, 1439, 55, 110, 55, 110, 65,
2527 65, 60, 37, 63, 110, 63, 1011, 3, 4, 5,
2528 717, 1445, 3, 4, 5, 75, 1021, 75, 1023, 1116,
2529 55, 1106, 57, 58, 59, 63, 1063, 113, 1531, 110,
2530 1104, 1105, 1106, 110, 3, 4, 5, 6, 1472, 3,
2531 4, 5, 1127, 110, 751, 1127, 1443, 467, 110, 1134,
2532 1104, 1105, 1106, 1127, 76, 76, 1247, 55, 1132, 1133,
2533 1134, 57, 58, 59, 1127, 63, 57, 58, 1502, 76,
2534 105, 106, 107, 42, 76, 909, 1510, 75, 1132, 1133,
2535 1134, 4, 5, 4, 5, 1170, 55, 110, 57, 58,
2536 56, 55, 58, 57, 58, 59, 1170, 110, 1127, 110,
2537 63, 1106, 63, 60, 87, 63, 89, 1170, 91, 3,
2538 4, 5, 532, 110, 113, 949, 111, 1166, 1439, 95,
2539 89, 1170, 1127, 1251, 110, 1253, 110, 89, 49, 1134,
2540 75, 113, 55, 48, 57, 58, 57, 58, 110, 110,
2541 1253, 1170, 3, 4, 5, 113, 7, 1170, 71, 60,
2542 110, 110, 65, 136, 574, 138, 1134, 113, 81, 110,
2543 81, 55, 1247, 57, 58, 1170, 110, 1252, 111, 1254,
2544 31, 111, 1254, 1247, 65, 60, 1261, 38, 60, 1261,
2545 1254, 1443, 1418, 110, 1247, 1270, 110, 1261, 94, 94,
2546 94, 1254, 94, 111, 55, 8, 57, 58, 1261, 113,
2547 166, 110, 110, 1181, 1182, 1183, 1184, 3, 4, 5,
2548 6, 27, 28, 1191, 110, 110, 32, 110, 1247, 111,
2549 110, 641, 1421, 1422, 113, 1254, 110, 193, 34, 110,
2550 1421, 1422, 1261, 653, 110, 201, 202, 81, 82, 83,
2551 84, 85, 1247, 110, 60, 61, 42, 110, 110, 1254,
2552 65, 110, 55, 49, 110, 110, 1261, 48, 63, 679,
2553 113, 57, 58, 110, 1242, 110, 97, 3, 4, 5,
2554 1104, 1105, 1106, 110, 981, 982, 7, 8, 9, 63,
2555 1293, 1294, 63, 14, 61, 81, 3, 4, 5, 61,
2556 7, 8, 9, 89, 9, 31, 61, 16, 1132, 1133,
2557 1134, 32, 110, 1010, 1358, 94, 37, 94, 3, 4,
2558 5, 110, 712, 110, 61, 46, 1444, 300, 1403, 55,
2559 37, 57, 58, 1408, 1409, 1410, 1408, 110, 1413, 1403,
2560 1443, 1413, 4, 5, 1408, 1409, 1410, 110, 1423, 1413,
2561 57, 58, 113, 110, 1357, 1408, 1409, 1421, 1422, 61,
2562 1413, 94, 94, 753, 1439, 338, 3, 4, 5, 759,
2563 55, 1446, 57, 58, 1446, 1439, 1344, 1421, 1422, 1423,
2564 1455, 17, 1446, 1455, 61, 109, 99, 49, 110, 1408,
2565 1409, 1455, 61, 1446, 1413, 57, 58, 11, 110, 110,
2566 110, 61, 1455, 61, 61, 94, 1481, 60, 1403, 65,
2567 110, 61, 110, 1408, 1409, 1410, 110, 1481, 1413, 11,
2568 57, 58, 4, 5, 3, 4, 5, 1446, 1503, 61,
2569 11, 1503, 61, 389, 390, 1403, 1455, 0, 0, 1503,
2570 0, 1409, 1410, 413, 1439, 355, 2, 903, 745, 1116,
2571 1503, 1446, 160, 426, 427, 1423, 3, 4, 5, 6,
2572 1455, 434, 93, 45, 1161, 1162, 1541, 1164, 1165, 1541,
2573 1167, 1474, 862, 55, 864, 57, 58, 1541, 57, 58,
2574 1468, 160, 892, 138, 1503, 1334, 1481, 1541, 1541, 445,
2575 280, 48, 902, 1252, 892, 42, 452, 453, 679, 222,
2576 456, 887, 49, 1148, 460, 974, 1011, 745, 1503, 1168,
2577 57, 58, 617, 1481, 7, 8, 9, 473, 885, 566,
2578 184, 14, 1541, 123, 497, 498, 326, 1254, 1128, 1497,
2579 87, 88, 1510, 1489, 1358, 92, 93, 94, 95, 32,
2580 1458, 1520, 89, 34, 37, 1522, 1541, 958, 1270, -1,
2581 -1, 1519, -1, 46, -1, -1, -1, 530, 1526, 532,
2582 -1, -1, 535, 536, -1, 538, 539, 540, 541, 542,
2583 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2584 553, 554, 555, 556, -1, -1, 1283, 1284, -1, 562,
2585 -1, 564, 565, -1, -1, -1, -1, 1421, 1422, 1423,
2586 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2587 6, 7, 8, 9, -1, 7, 8, 9, 14, 592,
2588 4, 5, 14, -1, -1, 9, 599, -1, -1, -1,
2589 1020, 1041, 1022, 29, -1, 31, 32, 33, -1, -1,
2590 32, 37, 38, -1, -1, 37, 42, 620, 621, -1,
2591 46, 47, -1, 49, 46, 611, 147, 148, -1, 55,
2592 -1, 57, 58, 636, 48, 61, -1, 63, 79, 61,
2593 -1, 55, -1, 57, 58, 71, 427, -1, -1, -1,
2594 1377, 1378, 1379, 434, -1, 81, 1076, 71, 179, -1,
2595 -1, -1, 103, 89, 650, -1, 652, 81, 94, 79,
2596 80, 81, 82, 83, 84, 85, 679, 91, -1, -1,
2597 94, 95, -1, -1, 1124, 111, -1, -1, 4, 5,
2598 1130, 132, 8, 9, -1, -1, -1, 4, 14, -1,
2599 141, -1, 1429, 1430, -1, -1, 692, 14, -1, -1,
2600 -1, -1, -1, 29, -1, 31, -1, 498, 25, -1,
2601 -1, 37, -1, -1, 31, 32, -1, 34, 714, 36,
2602 46, 717, 1152, 736, 41, -1, -1, 1157, -1, 55,
2603 -1, 57, 58, 59, -1, -1, 187, 54, -1, 56,
2604 -1, -1, 755, 756, -1, 758, -1, 64, -1, 745,
2605 3, 4, 5, -1, 71, 751, -1, 1494, -1, -1,
2606 773, -1, -1, -1, -1, 82, 83, -1, 94, 220,
2607 -1, 562, -1, 564, 565, -1, -1, 1207, 309, -1,
2608 -1, -1, 795, -1, -1, -1, 39, 40, 105, 42,
2609 -1, -1, 243, 1243, -1, -1, 3, 4, 5, 6,
2610 -1, 592, 55, -1, 57, 58, -1, -1, 599, -1,
2611 -1, 128, -1, -1, -1, -1, 133, 12, 135, 832,
2612 833, -1, 139, -1, -1, 142, 143, -1, -1, 146,
2613 147, 148, 27, 28, 847, 42, 849, 32, 851, -1,
2614 -1, -1, -1, 160, -1, -1, -1, -1, 55, -1,
2615 57, 58, -1, 48, 61, -1, 63, -1, -1, -1,
2616 177, 178, 179, -1, 71, 60, 61, -1, 63, -1,
2617 65, 884, 1302, 1303, 81, -1, 1326, -1, -1, -1,
2618 -1, 894, 89, 334, -1, -1, -1, 94, 1318, 206,
2619 -1, -1, -1, 906, 7, 8, 9, -1, -1, 94,
2620 95, 14, 427, 98, 221, -1, 919, -1, -1, 434,
2621 441, 442, 229, -1, -1, 110, -1, -1, 931, 32,
2622 -1, -1, -1, 240, 37, -1, -1, -1, -1, 3,
2623 4, 5, 6, 46, -1, 9, 949, -1, -1, -1,
2624 1370, 1371, -1, -1, 395, -1, -1, -1, 61, 77,
2625 78, 79, 80, 81, 82, 83, 84, 85, -1, 1389,
2626 1390, 278, 279, -1, -1, -1, -1, -1, 42, 500,
2627 -1, -1, 503, 498, 48, -1, -1, -1, 991, -1,
2628 -1, 55, 773, 57, 58, 981, 982, -1, 519, 520,
2629 -1, 328, 329, 330, -1, -1, -1, 71, -1, -1,
2630 -1, -1, 533, -1, -1, 322, -1, 81, -1, 326,
2631 -1, 328, 329, 330, 1010, 89, 467, 91, -1, -1,
2632 94, 95, 339, -1, -1, -1, -1, 1040, 1041, -1,
2633 -1, 1044, -1, -1, -1, -1, -1, 562, 355, 564,
2634 565, -1, 833, 494, 3, 4, 5, 6, -1, -1,
2635 1063, -1, -1, -1, -1, -1, 847, -1, 849, -1,
2636 851, 592, 379, -1, -1, -1, -1, -1, 385, -1,
2637 -1, 388, 389, -1, 599, -1, -1, -1, -1, -1,
2638 -1, -1, 399, 42, -1, 402, -1, -1, -1, 48,
2639 407, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2640 -1, -1, -1, 894, -1, 1118, -1, 1120, -1, 1122,
2641 -1, -1, 71, -1, -1, -1, -1, 1130, -1, 436,
2642 -1, 438, 81, 440, 441, 442, 1139, 1140, 579, 446,
2643 89, 1144, 91, -1, 451, 94, 95, 454, -1, -1,
2644 931, -1, -1, -1, 595, -1, 1159, 1160, -1, -1,
2645 -1, -1, -1, 470, -1, -1, -1, -1, 949, -1,
2646 -1, -1, -1, -1, -1, 1161, 1162, -1, 1164, 1165,
2647 -1, 1167, 1185, -1, 1, -1, 3, 4, 5, 6,
2648 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2649 -1, 508, 509, 510, 511, -1, -1, -1, -1, -1,
2650 -1, 1214, 29, -1, 31, 32, 33, -1, -1, -1,
2651 37, 38, -1, -1, -1, 42, -1, -1, -1, 46,
2652 47, -1, 49, -1, -1, 1238, -1, -1, 55, -1,
2653 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2654 -1, -1, 773, -1, 71, 582, 583, -1, 585, 566,
2655 -1, 568, -1, -1, 81, 592, 1252, 1253, -1, -1,
2656 1273, -1, 89, 580, -1, 582, 583, 94, 585, -1,
2657 -1, -1, -1, -1, -1, 592, 1289, -1, -1, 596,
2658 -1, -1, -1, -1, 111, -1, -1, 1283, 1284, -1,
2659 -1, -1, -1, 610, -1, -1, -1, -1, 1311, 3,
2660 4, 5, 6, -1, -1, 9, -1, -1, 833, -1,
2661 -1, -1, 649, -1, 651, 652, 1, 654, 3, 4,
2662 5, 6, 847, 8, 849, -1, 851, 1118, -1, 1120,
2663 -1, 1122, 649, 650, 651, 652, 653, 654, 42, 870,
2664 871, -1, -1, -1, -1, 1358, -1, -1, -1, -1,
2665 -1, 55, -1, 57, 58, 692, -1, 42, -1, -1,
2666 -1, -1, 1375, 1376, 49, -1, -1, 71, -1, 894,
2667 55, 1384, 57, 58, -1, 692, -1, 81, 909, 696,
2668 -1, 1377, 1378, 1379, -1, 89, 703, 704, -1, 706,
2669 94, -1, -1, -1, -1, -1, -1, -1, 1411, -1,
2670 -1, -1, -1, -1, 89, -1, 931, -1, 106, 107,
2671 -1, -1, -1, -1, -1, -1, -1, 734, 949, -1,
2672 737, -1, 739, 1214, 875, -1, 877, 744, 745, 746,
2673 -1, -1, -1, 1429, 1430, -1, -1, 754, -1, -1,
2674 -1, -1, 779, 760, -1, 3, 4, 5, 6, -1,
2675 767, 768, 769, -1, -1, -1, -1, -1, -1, -1,
2676 -1, -1, 779, 914, -1, -1, -1, -1, 4, 5,
2677 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2678 -1, -1, -1, -1, 42, -1, -1, 3, 4, 5,
2679 6, -1, -1, 29, -1, 31, 32, 55, 1494, 57,
2680 58, 37, -1, 61, -1, -1, -1, -1, -1, -1,
2681 46, -1, 829, 71, -1, 852, -1, 854, 1531, 55,
2682 -1, 57, 58, 81, -1, -1, 42, -1, 865, -1,
2683 -1, 89, 869, 870, 871, 852, 94, 854, -1, 55,
2684 -1, 57, 58, -1, 861, -1, -1, 63, 865, 1000,
2685 867, -1, 869, 870, 871, 71, -1, -1, -1, 876,
2686 -1, -1, 98, -1, -1, 81, -1, 1358, -1, -1,
2687 907, 908, 909, 89, 1105, 1106, 4, 5, 94, -1,
2688 -1, 9, -1, -1, -1, -1, 903, -1, 905, 4,
2689 907, 908, 909, 1118, -1, 1120, -1, 1122, -1, 14,
2690 -1, -1, 1133, 1134, -1, -1, -1, -1, -1, 24,
2691 25, 309, 949, -1, -1, -1, 31, 32, -1, 34,
2692 48, 36, -1, -1, -1, -1, 41, 55, -1, 57,
2693 58, 1082, 949, -1, -1, -1, -1, -1, -1, 54,
2694 -1, 56, -1, 71, -1, -1, 963, -1, -1, 64,
2695 -1, -1, -1, 81, -1, -1, 71, 1108, -1, 976,
2696 -1, -1, 979, 91, -1, -1, 94, 95, 83, -1,
2697 -1, 988, 3, 4, 5, 6, -1, -1, -1, -1,
2698 -1, -1, -1, -1, 1001, -1, -1, 385, -1, 1214,
2699 -1, -1, -1, -1, 1011, -1, -1, -1, 3, 4,
2700 5, 6, -1, -1, 1021, -1, 1023, -1, -1, -1,
2701 -1, 42, -1, 128, -1, 1166, -1, -1, 49, -1,
2702 135, 328, 329, 330, 139, -1, 57, 58, 143, -1,
2703 -1, 146, 147, 148, -1, -1, 434, 42, 1055, 1056,
2704 -1, 1058, -1, -1, 49, 160, -1, -1, -1, -1,
2705 4, 5, 57, 58, 8, 9, -1, -1, 89, -1,
2706 14, -1, 177, 178, 179, 1102, 1103, 1104, 1105, 1106,
2707 -1, -1, -1, 1110, -1, 29, 81, 31, -1, -1,
2708 -1, -1, -1, 37, 89, 1102, 1103, 1104, 1105, 1106,
2709 -1, 206, 46, 1110, -1, 1132, 1133, 1134, -1, -1,
2710 -1, 55, 500, 57, 58, 503, -1, -1, -1, 507,
2711 508, 509, 510, 511, -1, 1132, 1133, 1134, 3, 4,
2712 5, 6, 520, -1, 9, 240, -1, 1358, -1, -1,
2713 3, 4, 5, 6, -1, 533, 9, -1, -1, -1,
2714 94, -1, -1, -1, -1, -1, 1163, -1, -1, -1,
2715 -1, 1168, -1, 1170, -1, -1, -1, 42, -1, -1,
2716 -1, -1, -1, 278, 279, -1, -1, 565, -1, 42,
2717 55, -1, 57, 58, -1, 48, -1, -1, -1, -1,
2718 1217, 1218, 55, 1220, 57, 58, 71, 585, -1, -1,
2719 -1, 1422, 1423, -1, 592, -1, 81, -1, 71, -1,
2720 1217, 1218, -1, 1220, 89, -1, -1, 322, 81, 94,
2721 -1, 326, -1, 328, 329, 330, 89, -1, 91, -1,
2722 335, 94, 95, -1, 339, 3, 4, 5, 6, -1,
2723 -1, 9, -1, -1, 1251, 1252, 1253, -1, -1, -1,
2724 355, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2725 -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2727 385, -1, 4, 388, 389, 582, 583, 55, -1, 57,
2728 58, 42, -1, -1, 399, -1, -1, 402, 49, -1,
2729 -1, -1, 407, 71, -1, -1, 57, 58, 696, 31,
2730 32, -1, -1, 81, 36, -1, -1, -1, -1, 41,
2731 -1, 89, 3, 4, 5, 6, 94, -1, -1, -1,
2732 81, 436, -1, 438, 56, 440, 441, 442, 89, -1,
2733 -1, 446, 3, 4, 5, 6, 451, -1, 9, 454,
2734 -1, 1358, 649, -1, 651, 652, -1, 654, -1, -1,
2735 -1, 42, -1, -1, 469, 470, 754, -1, 49, -1,
2736 -1, -1, 760, -1, -1, -1, 57, 58, -1, -1,
2737 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2738 -1, -1, -1, -1, 55, 692, 57, 58, -1, -1,
2739 81, -1, -1, 508, 509, 510, 511, -1, 89, -1,
2740 71, -1, -1, 135, 1421, 1422, 1423, 139, -1, -1,
2741 81, 143, -1, -1, -1, -1, -1, -1, 89, -1,
2742 91, -1, 1439, 94, 95, -1, -1, 1444, 160, -1,
2743 1, 829, 3, 4, 5, 6, 7, 8, 9, -1,
2744 -1, -1, -1, 14, -1, 177, 178, -1, -1, -1,
2745 -1, 566, -1, 568, -1, -1, 27, 28, 29, -1,
2746 31, 32, 33, 861, -1, -1, 37, 582, 583, 867,
2747 585, 42, 779, 871, 45, 46, 47, 592, 49, -1,
2748 -1, -1, -1, -1, 55, -1, 57, 58, -1, 604,
2749 61, -1, -1, -1, -1, 610, -1, -1, -1, -1,
2750 71, 3, 4, 5, 6, 903, -1, 905, 240, -1,
2751 81, 909, -1, -1, -1, -1, -1, -1, 89, -1,
2752 -1, -1, -1, 94, -1, -1, 641, -1, -1, 100,
2753 -1, -1, -1, -1, 649, 650, 651, 652, 653, 654,
2754 42, -1, -1, -1, -1, 852, -1, 854, -1, -1,
2755 -1, 949, -1, 55, -1, 57, 58, 672, 865, -1,
2756 -1, 63, 869, 870, -1, 963, -1, -1, -1, 71,
2757 -1, 969, -1, -1, -1, -1, -1, 692, 976, 81,
2758 -1, 696, -1, -1, -1, -1, -1, 89, 703, 704,
2759 988, 706, 94, -1, -1, -1, -1, -1, -1, -1,
2760 907, 908, -1, -1, -1, -1, -1, 339, 3, 4,
2761 5, 6, -1, -1, 9, -1, -1, -1, -1, 734,
2762 -1, -1, 737, 1021, 739, 1023, -1, -1, -1, 744,
2763 745, 746, -1, -1, -1, -1, -1, -1, -1, 754,
2764 -1, -1, -1, -1, -1, 760, -1, 42, -1, -1,
2765 -1, -1, 767, 768, 769, -1, -1, -1, -1, -1,
2766 55, -1, 57, 58, 779, -1, -1, 399, -1, -1,
2767 402, -1, -1, -1, -1, 407, 71, -1, -1, 3,
2768 4, 5, 6, -1, -1, 9, 81, -1, 177, 178,
2769 179, -1, -1, 4, 89, -1, -1, -1, -1, 94,
2770 -1, -1, -1, -1, 436, -1, 438, -1, 1106, -1,
2771 -1, -1, -1, -1, 829, -1, -1, -1, 42, 451,
2772 31, 32, -1, 34, 48, 36, -1, -1, -1, -1,
2773 41, 55, -1, 57, 58, -1, 1134, 852, 470, 854,
2774 -1, -1, -1, 54, -1, 56, 861, 71, -1, -1,
2775 865, -1, 867, -1, 869, 870, 871, 81, -1, -1,
2776 -1, 876, -1, -1, -1, 89, -1, 91, 79, -1,
2777 94, 95, 70, 71, 72, 73, 74, 75, 76, 77,
2778 78, 79, 80, 81, 82, 83, 84, 85, 903, -1,
2779 905, -1, 907, 908, 909, 1102, 1103, 1104, 1105, -1,
2780 -1, -1, -1, 1110, 73, 74, 75, 76, 77, 78,
2781 79, 80, 81, 82, 83, 84, 85, 128, -1, -1,
2782 -1, 132, 133, -1, 135, 1132, 1133, -1, 139, -1,
2783 141, -1, 143, -1, 949, 146, 147, 148, -1, -1,
2784 -1, -1, -1, -1, -1, -1, -1, -1, 963, 160,
2785 -1, -1, -1, -1, -1, -1, -1, -1, -1, 974,
2786 -1, 976, -1, -1, 979, -1, 177, 178, 179, -1,
2787 -1, -1, 1270, 988, -1, -1, 187, -1, -1, 4,
2788 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2789 -1, -1, -1, -1, -1, 206, 1011, -1, -1, -1,
2790 -1, -1, -1, -1, -1, -1, 1021, -1, 1023, -1,
2791 1217, 1218, 37, 1220, -1, -1, -1, -1, 650, -1,
2792 -1, 46, -1, 48, -1, -1, -1, -1, -1, 240,
2793 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2794 1055, 1056, -1, 1058, -1, -1, 71, 436, -1, 438,
2795 -1, 440, 441, 442, -1, -1, 81, -1, -1, -1,
2796 -1, -1, 451, -1, 696, -1, 91, -1, -1, 94,
2797 95, 703, 704, -1, 706, 74, 75, 76, 77, 78,
2798 79, 80, 81, 82, 83, 84, 85, 1102, 1103, 1104,
2799 1105, 1106, -1, -1, -1, 1110, -1, -1, 309, -1,
2800 -1, 1116, -1, -1, -1, 737, -1, 739, -1, -1,
2801 -1, -1, 744, 745, 746, 326, -1, 1132, 1133, 1134,
2802 -1, -1, -1, 334, -1, 1423, -1, -1, 339, -1,
2803 -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1,
2804 -1, 1439, -1, -1, 355, -1, -1, -1, 1163, -1,
2805 -1, -1, -1, 1168, -1, 1170, 3, 4, 5, 6,
2806 7, 8, 9, -1, -1, 12, -1, 14, 379, -1,
2807 -1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
2808 -1, -1, 29, -1, 31, 32, -1, -1, 399, -1,
2809 37, 402, -1, -1, -1, 42, 407, -1, -1, 46,
2810 -1, 48, 1217, 1218, -1, 1220, -1, -1, 55, -1,
2811 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, 71, 436, -1, 438, -1, 440,
2813 441, 442, -1, -1, 81, 446, 1251, 1252, 1253, -1,
2814 451, 4, 89, 454, 91, -1, -1, 94, 95, -1,
2815 -1, 98, -1, -1, -1, 1270, -1, -1, -1, 470,
2816 -1, -1, -1, -1, -1, -1, -1, -1, 31, 32,
2817 -1, 34, -1, 36, -1, 907, 908, -1, 41, -1,
2818 3, 4, 5, 6, -1, -1, 9, -1, -1, 500,
2819 -1, 54, 503, 56, -1, -1, -1, -1, -1, -1,
2820 4, 5, -1, -1, 8, 9, -1, 518, 519, 520,
2821 14, -1, -1, -1, 703, 704, -1, 706, -1, 42,
2822 -1, -1, 533, -1, -1, 29, -1, 31, -1, -1,
2823 -1, -1, 55, 37, 57, 58, -1, -1, 81, -1,
2824 -1, -1, 46, 1358, 48, -1, -1, 979, 71, -1,
2825 -1, 55, -1, 57, 58, 744, -1, -1, 81, 4,
2826 5, -1, -1, 8, 9, -1, 89, 71, 579, 14,
2827 -1, 94, 135, -1, -1, -1, 139, 81, -1, 1011,
2828 143, 592, -1, 146, 147, 148, -1, 91, -1, -1,
2829 94, 95, 37, -1, -1, -1, -1, 160, -1, 610,
2830 -1, 46, -1, 48, -1, -1, 1421, 1422, 1423, -1,
2831 55, 154, 57, 58, 177, 178, 179, -1, -1, -1,
2832 -1, -1, -1, -1, 1439, -1, 71, -1, -1, 1444,
2833 -1, -1, 175, -1, -1, -1, 81, -1, 649, 650,
2834 651, 652, -1, 206, -1, 188, 91, 4, 5, 94,
2835 95, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 1102, 1103, 29, -1, 31, -1, -1, 240, 1110, -1,
2838 37, 692, -1, -1, -1, 696, -1, -1, -1, 46,
2839 -1, -1, 703, 704, -1, 706, -1, -1, 55, -1,
2840 57, 58, -1, -1, -1, -1, -1, -1, -1, 1,
2841 -1, 3, 4, 5, 6, 7, 8, 9, 907, 908,
2842 909, -1, 14, -1, -1, -1, 737, -1, 739, -1,
2843 -1, 1163, -1, 744, 745, 746, 1168, 29, 1170, 31,
2844 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2845 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
2846 949, -1, 773, 55, -1, 57, 58, -1, -1, 61,
2847 -1, 63, 335, -1, -1, -1, 339, -1, -1, 71,
2848 -1, -1, -1, -1, -1, 1217, 1218, -1, 1220, 81,
2849 979, -1, -1, -1, -1, -1, -1, 89, 3, 4,
2850 5, 6, 94, -1, 9, 72, 73, 74, 75, 76,
2851 77, 78, 79, 80, 81, 82, 83, 84, 85, 111,
2852 1252, -1, -1, -1, -1, 388, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, 399, 42, -1, 402,
2854 -1, -1, -1, -1, 407, -1, -1, -1, -1, -1,
2855 55, -1, 57, 58, -1, -1, -1, -1, 869, 870,
2856 871, -1, -1, -1, 875, -1, 71, -1, -1, -1,
2857 -1, -1, -1, 436, -1, 438, 81, 440, 441, 442,
2858 -1, -1, -1, 446, 89, -1, -1, -1, 451, 94,
2859 -1, 454, 34, -1, -1, -1, 907, 908, 909, -1,
2860 -1, 444, -1, 914, -1, -1, 449, 470, -1, -1,
2861 -1, -1, 54, 1102, 1103, 1104, 1105, 1106, -1, -1,
2862 -1, 1110, -1, -1, 3, 4, 5, 6, 7, 8,
2863 9, 474, -1, -1, -1, 14, -1, 480, 949, -1,
2864 -1, -1, -1, 1132, 1133, 1134, -1, -1, -1, 492,
2865 493, -1, 495, 32, -1, -1, -1, -1, 37, -1,
2866 -1, -1, -1, 42, -1, -1, -1, 46, 979, 48,
2867 3, 4, 5, 6, 1163, -1, 55, -1, 57, 58,
2868 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000,
2869 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2870 1011, -1, 81, -1, 146, 147, 148, -1, -1, 42,
2871 89, -1, 91, -1, -1, 94, 95, 580, -1, -1,
2872 -1, -1, 55, -1, 57, 58, -1, -1, 1217, 1218,
2873 63, 1220, -1, -1, -1, 177, 178, 179, 71, -1,
2874 -1, -1, -1, -1, -1, 588, 589, 610, 81, -1,
2875 593, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2876 -1, 94, -1, -1, 206, -1, -1, -1, -1, -1,
2877 -1, 1082, -1, -1, -1, -1, 3, 4, 5, 6,
2878 -1, -1, 9, -1, -1, -1, 649, 650, 651, 652,
2879 -1, 1102, 1103, 1104, 1105, 1106, -1, 1108, -1, 1110,
2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, 3, 4, 5, 6, 42, -1, 9, -1, -1,
2882 -1, 1132, 1133, 1134, -1, -1, -1, -1, 55, 692,
2883 57, 58, -1, 696, -1, -1, -1, 279, -1, -1,
2884 703, 704, -1, 706, 71, -1, -1, -1, -1, -1,
2885 42, -1, 1163, -1, 81, -1, -1, 1168, -1, 1170,
2886 -1, -1, 89, 55, -1, 57, 58, 94, -1, 1358,
2887 -1, -1, 4, 5, 737, -1, 739, 9, -1, 71,
2888 -1, 744, 745, 746, -1, -1, 328, 329, 330, 81,
2889 -1, -1, -1, -1, -1, -1, 54, 89, 3, 4,
2890 5, 6, 94, -1, -1, -1, 1217, 1218, -1, 1220,
2891 -1, -1, -1, -1, -1, -1, 48, -1, 761, -1,
2892 763, 79, -1, 55, 82, 57, 58, -1, -1, -1,
2893 -1, -1, 1421, 1422, 1423, -1, -1, 42, -1, 71,
2894 1251, 1252, 1253, -1, -1, 103, 388, 105, -1, 81,
2895 55, -1, 57, 58, -1, -1, 61, -1, -1, 91,
2896 -1, -1, 94, 95, -1, -1, 71, -1, -1, -1,
2897 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2898 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2899 -1, -1, 835, 836, 436, 838, 438, -1, 440, 441,
2900 442, -1, -1, -1, 446, -1, -1, -1, -1, 451,
2901 -1, -1, 454, 876, -1, -1, -1, -1, -1, 177,
2902 178, 179, -1, 866, -1, -1, -1, -1, -1, 187,
2903 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2904 14, -1, -1, -1, 907, 908, 909, 1358, 206, -1,
2905 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2906 -1, -1, -1, 37, -1, -1, -1, -1, 911, -1,
2907 -1, 229, 46, -1, 48, -1, -1, -1, -1, -1,
2908 -1, 55, -1, 57, 58, 243, 949, -1, -1, -1,
2909 42, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2910 -1, -1, -1, 55, -1, 57, 58, 81, -1, -1,
2911 1421, 1422, 1423, -1, -1, -1, 979, 91, -1, 71,
2912 94, 95, -1, -1, 98, -1, 568, -1, -1, 81,
2913 -1, -1, 975, 1444, -1, -1, -1, 89, -1, -1,
2914 582, 583, 94, 585, 987, -1, -1, -1, 1011, -1,
2915 592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 4, 5, -1, 7, 8, 9, -1, -1, 610, -1,
2917 14, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2918 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2919 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2920 -1, -1, 46, -1, -1, 49, -1, 649, -1, 651,
2921 652, 55, 654, 57, 58, -1, -1, -1, -1, -1,
2922 42, -1, -1, -1, -1, -1, -1, -1, 1071, -1,
2923 388, -1, -1, 55, -1, 57, 58, -1, -1, 1102,
2924 1103, 1104, 1105, 1106, -1, -1, -1, 1110, -1, 71,
2925 692, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2926 -1, 703, 704, -1, 706, -1, 1109, 89, -1, 1132,
2927 1133, 1134, 94, -1, -1, -1, -1, -1, 436, -1,
2928 438, -1, 440, 441, 442, -1, -1, -1, 446, -1,
2929 -1, -1, -1, 451, -1, -1, 454, -1, -1, -1,
2930 1163, -1, 744, -1, -1, 1168, -1, 1170, -1, -1,
2931 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2932 6, 7, 8, 9, -1, 767, 768, 769, 14, 1172,
2933 -1, -1, -1, 1176, -1, -1, -1, 779, -1, -1,
2934 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2935 -1, 37, 38, -1, 1217, 1218, 42, 1220, -1, -1,
2936 46, 47, -1, 49, -1, -1, 1209, -1, -1, 55,
2937 -1, 57, 58, -1, -1, 61, -1, 63, 3, 4,
2938 5, 6, -1, -1, -1, 71, -1, -1, 1251, 1252,
2939 1253, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2940 -1, -1, -1, 89, -1, -1, -1, -1, 94, -1,
2941 852, -1, 854, -1, -1, -1, -1, 42, -1, -1,
2942 -1, -1, -1, 865, -1, 111, -1, 869, 870, 871,
2943 55, -1, 57, 58, -1, 1278, -1, 595, 596, 1282,
2944 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2945 4, 5, 610, 7, 8, 9, 81, -1, 12, -1,
2946 14, 1304, 1305, -1, 89, 907, 908, 909, -1, 94,
2947 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2948 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2949 -1, 649, 46, 651, 652, 1358, -1, -1, -1, -1,
2950 -1, 55, -1, 57, 58, -1, -1, 949, -1, -1,
2951 3, 4, 5, 6, 7, 8, 9, -1, 14, -1,
2952 -1, 14, -1, -1, -1, -1, -1, -1, 24, 25,
2953 -1, -1, -1, -1, 692, 31, 32, 979, 34, 32,
2954 -1, -1, -1, -1, 37, 703, 704, -1, 706, 42,
2955 -1, -1, -1, 46, -1, 48, -1, -1, 1421, 1422,
2956 1423, -1, 55, -1, 57, 58, 4, 5, 64, 7,
2957 8, 9, -1, 731, -1, -1, 14, -1, 71, -1,
2958 -1, 1444, -1, -1, -1, -1, 744, -1, 81, -1,
2959 -1, 29, -1, 31, 32, -1, 89, -1, 91, 37,
2960 -1, 94, 95, -1, -1, -1, -1, -1, 46, -1,
2961 -1, -1, -1, 1055, 1056, -1, 1058, 55, -1, 57,
2962 58, -1, -1, -1, -1, -1, -1, 123, -1, 125,
2963 -1, -1, 128, -1, -1, -1, 132, 133, -1, -1,
2964 -1, -1, -1, 139, -1, 141, 142, 143, -1, -1,
2965 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2966 1102, 1103, 1104, 1105, 1106, -1, -1, -1, 1110, 68,
2967 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2968 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2969 1132, 1133, 1134, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
2971 4, 5, 6, 7, 8, 9, -1, 875, 876, 877,
2972 14, 1163, -1, -1, 220, 221, -1, -1, -1, -1,
2973 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2974 -1, -1, -1, 37, 240, -1, -1, -1, 42, 907,
2975 908, 909, 46, 47, -1, 49, 914, -1, -1, -1,
2976 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2977 -1, -1, -1, -1, -1, 1217, 1218, 71, 1220, -1,
2978 -1, -1, -1, 279, -1, -1, -1, 81, -1, -1,
2979 -1, 949, -1, -1, -1, 89, -1, -1, -1, 1,
2980 94, -1, 4, 5, -1, -1, 8, 9, -1, 1251,
2981 -1, 1253, 14, -1, -1, -1, -1, -1, -1, -1,
2982 -1, 979, -1, -1, -1, -1, -1, 29, -1, 31,
2983 326, -1, 328, 329, -1, 37, -1, 39, 40, -1,
2984 -1, -1, 1000, -1, 46, -1, 48, -1, -1, -1,
2985 -1, -1, -1, 55, -1, 57, 58, -1, 60, 355,
2986 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
2987 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2988 82, 83, 84, 379, -1, 87, 88, 89, -1, -1,
2989 92, -1, -1, 95, -1, -1, -1, -1, -1, 395,
2990 -1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
2991 112, 407, -1, -1, -1, -1, 1358, -1, -1, -1,
2992 -1, -1, -1, -1, 1082, 69, 70, 71, 72, 73,
2993 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2994 84, 85, -1, -1, 1102, 1103, 1104, 1105, 1106, -1,
2995 1108, -1, 1110, 71, 72, 73, 74, 75, 76, 77,
2996 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
2997 -1, 467, -1, 469, 1132, 1133, 1134, -1, -1, 1421,
2998 1422, 1423, -1, -1, -1, -1, -1, -1, 3, 4,
2999 5, 6, 7, 8, 9, -1, -1, 12, 494, 14,
3000 -1, -1, 1444, -1, -1, 1163, -1, -1, -1, -1,
3001 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
3002 -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
3003 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3004 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
3005 7, 8, 9, -1, -1, 12, 71, 14, -1, 1217,
3006 1218, -1, 1220, -1, -1, -1, 81, -1, 25, -1,
3007 27, 28, 568, -1, 89, 32, -1, -1, -1, 94,
3008 37, -1, -1, 579, 580, 42, 582, 583, -1, 46,
3009 -1, 48, -1, 1251, -1, 1253, -1, -1, 55, -1,
3010 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
3011 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3012 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3013 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
3014 -1, 98, 99, -1, -1, 641, -1, 104, -1, -1,
3015 -1, -1, 109, 110, 111, -1, 113, 653, -1, -1,
3016 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3017 4, 5, -1, 14, 8, 9, 672, -1, -1, -1,
3018 14, -1, -1, -1, -1, -1, 27, 28, 29, -1,
3019 31, 32, 33, -1, -1, 29, 37, 31, -1, -1,
3020 1358, 42, -1, 37, 45, 46, 47, -1, 49, -1,
3021 -1, -1, 46, -1, 55, -1, 57, 58, -1, -1,
3022 61, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3023 71, -1, -1, -1, -1, 731, -1, -1, 734, -1,
3024 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3025 -1, -1, -1, 94, -1, -1, -1, -1, -1, 100,
3026 -1, -1, -1, 1421, 1422, 1423, -1, -1, -1, -1,
3027 -1, 767, 768, 769, -1, -1, -1, -1, -1, -1,
3028 -1, -1, -1, 779, -1, 1, 1444, 3, 4, 5,
3029 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3030 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3031 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3032 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3033 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3034 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3035 -1, -1, 68, -1, -1, 71, 852, -1, 854, -1,
3036 -1, -1, -1, 79, 80, 81, -1, -1, -1, 865,
3037 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3038 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3040 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3041 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3042 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3043 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3044 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3045 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3046 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3047 -1, -1, -1, -1, -1, 79, 80, 81, 974, -1,
3048 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3049 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3050 10, 11, 12, 13, 14, 1001, -1, -1, 112, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3052 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3053 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3054 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3055 -1, -1, 62, -1, -1, -1, -1, -1, 68, 1055,
3056 1056, 71, 1058, -1, -1, -1, -1, -1, -1, 79,
3057 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3058 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3059 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3060 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3061 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3062 1116, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3063 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3064 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3065 -1, -1, 1148, -1, 68, -1, -1, 71, -1, -1,
3066 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3067 1166, -1, 1168, 87, 88, 89, -1, 91, -1, -1,
3068 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3069 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3072 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3073 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3074 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3075 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3076 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3077 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3078 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3079 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3080 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3083 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3084 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3085 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3086 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3087 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3088 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3089 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3090 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3091 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3092 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3093 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3094 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3095 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3096 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3097 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3098 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3099 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3100 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3101 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3102 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3103 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3104 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3105 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3106 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3107 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3108 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3109 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3111 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3112 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3113 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3114 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3115 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3116 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3117 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3118 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3119 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3120 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3121 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3122 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3123 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3124 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3125 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3126 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3127 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3128 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3129 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3130 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3131 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3132 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3133 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3134 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3135 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3136 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3137 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3138 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3139 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3140 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3141 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3142 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3143 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3144 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3145 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3146 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3147 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3148 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3149 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3150 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3151 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3152 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3153 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3154 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3155 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3156 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3157 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3158 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3159 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3160 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3161 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3162 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3163 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3164 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3165 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3166 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3167 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3168 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3169 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3170 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3171 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3172 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3173 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3174 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3175 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3176 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3177 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3178 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3179 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3180 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3181 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3182 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3183 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3184 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3185 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3186 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3187 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3188 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3189 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3190 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3191 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3192 14, -1, -1, -1, 110, -1, 112, -1, -1, -1,
3193 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3194 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3195 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3196 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3197 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3198 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3199 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3200 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3201 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3202 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3203 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3204 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3205 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3206 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3207 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3208 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3209 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3210 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3211 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3212 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3213 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3214 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3215 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3216 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3217 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3218 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3219 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3221 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3222 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3223 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3224 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3225 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3226 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3227 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3228 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3229 113, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3230 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3231 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3232 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3233 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3234 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3235 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3236 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3237 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3238 -1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3240 112, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3241 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3242 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3243 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3244 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3245 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3246 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3247 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3248 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3249 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3250 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3251 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3252 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3253 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3254 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3255 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3256 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3257 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3258 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3259 96, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3260 10, 11, -1, 13, 14, 15, 112, 17, 18, 19,
3261 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3262 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3263 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3264 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3265 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3266 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3267 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3268 -1, -1, -1, -1, 94, -1, 96, 3, 4, 5,
3269 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3270 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3271 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3272 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3273 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3274 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3275 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3276 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3277 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3278 -1, -1, 98, 3, 4, 5, 6, 7, 8, 9,
3279 10, 11, 12, 13, 14, -1, 112, -1, -1, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3281 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3282 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3283 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3284 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3285 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3286 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3287 -1, 91, -1, -1, 94, 95, -1, -1, 98, 3,
3288 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3289 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3290 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3291 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3292 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3293 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3294 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3295 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3296 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3297 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3298 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3300 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3301 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3302 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3304 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3305 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3306 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3307 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3308 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3309 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3310 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3311 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3312 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3313 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3314 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3315 88, 89, -1, -1, -1, -1, 94, 3, 4, 5,
3316 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3317 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3318 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3319 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3320 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3321 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3322 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3323 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3324 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3325 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3327 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3328 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3329 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3330 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3331 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3332 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3333 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3334 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3335 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3336 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3337 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3338 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3339 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3340 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3341 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3342 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3344 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3345 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3346 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3347 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
3348 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3349 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3350 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3351 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3352 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3353 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3354 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3355 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3356 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3357 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3358 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3359 88, 89, -1, -1, -1, -1, 94, 95, 3, 4,
3360 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3361 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3362 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3363 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3364 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3365 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3366 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3367 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3368 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3371 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3372 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3373 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3374 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3375 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3376 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3377 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3378 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3380 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3381 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3382 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3383 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3384 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3385 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3386 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3387 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3388 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3389 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3390 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3391 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3392 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3393 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3394 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3395 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3396 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3397 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3398 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3399 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3400 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3401 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3402 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3403 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3404 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3406 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3407 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3408 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3410 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3411 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3412 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3413 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3414 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3415 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3416 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3417 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3418 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3419 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3420 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3421 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3423 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3424 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3425 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3426 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3427 -1, -1, 68, -1, 1, 71, 3, 4, 5, 6,
3428 7, 8, 9, 79, 80, 81, -1, 14, -1, -1,
3429 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3430 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
3431 37, -1, -1, -1, -1, 42, 112, -1, -1, 46,
3432 -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3433 57, 58, -1, -1, 61, 3, 4, 5, 6, 7,
3434 8, 9, -1, -1, 71, -1, 14, -1, -1, -1,
3435 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3436 -1, 29, 89, 31, 32, -1, -1, 94, -1, 37,
3437 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3438 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3439 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3440 -1, -1, 14, 71, -1, -1, -1, -1, -1, -1,
3441 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3442 32, 89, -1, 91, -1, 37, 94, 95, -1, -1,
3443 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3444 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3445 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3446 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3447 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3448 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3449 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3450 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3451 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3452 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3453 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3454 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3455 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3456 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3457 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3458 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3459 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3460 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3461 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3462 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3463 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3464 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3465 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3466 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3467 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3468 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3469 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3470 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3471 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3472 85, 81, -1, -1, -1, -1, -1, 32, -1, 89,
3473 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3474 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3475 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3476 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3477 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3478 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3479 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3480 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3481 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3482 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
3483 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 -1, -1, -1, -1, -1, 60, -1, -1, 109, 64,
3485 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3486 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3487 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3488 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3489 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3490 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3491 80, 81, 82, 83, 84, 85
3493 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3494 #line 3 "/usr/cygnus/latest-940103/share/bison.simple"
3496 /* Skeleton output parser for bison,
3497 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3499 This program is free software; you can redistribute it and/or modify
3500 it under the terms of the GNU General Public License as published by
3501 the Free Software Foundation; either version 2, or (at your option)
3504 This program is distributed in the hope that it will be useful,
3505 but WITHOUT ANY WARRANTY; without even the implied warranty of
3506 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3507 GNU General Public License for more details.
3509 You should have received a copy of the GNU General Public License
3510 along with this program; if not, write to the Free Software
3511 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3513 /* As a special exception, when this file is copied by Bison into a
3514 Bison output file, you may use that output file without restriction.
3515 This special exception was added by the Free Software Foundation
3516 in version 1.24 of Bison. */
3520 #define alloca __builtin_alloca
3521 #else /* not GNU C. */
3522 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3524 #else /* not sparc */
3525 #if defined (MSDOS) && !defined (__TURBOC__)
3527 #else /* not MSDOS, or __TURBOC__ */
3531 #else /* not MSDOS, __TURBOC__, or _AIX */
3535 void *alloca (unsigned int);
3537 #else /* not __cplusplus */
3539 #endif /* not __cplusplus */
3541 #endif /* not _AIX */
3542 #endif /* not MSDOS, or __TURBOC__ */
3543 #endif /* not sparc. */
3544 #endif /* not GNU C. */
3545 #endif /* alloca not defined. */
3547 /* This is the parser code that is written into each bison parser
3548 when the %semantic_parser declaration is not specified in the grammar.
3549 It was written by Richard Stallman by simplifying the hairy parser
3550 used when %semantic_parser is specified. */
3552 /* Note: there must be only one dollar sign in this file.
3553 It is replaced by the list of actions, each action
3554 as one case of the switch. */
3556 #define yyerrok (yyerrstatus = 0)
3557 #define yyclearin (yychar = YYEMPTY)
3560 #define YYACCEPT return(0)
3561 #define YYABORT return(1)
3562 #define YYERROR goto yyerrlab1
3563 /* Like YYERROR except do call yyerror.
3564 This remains here temporarily to ease the
3565 transition to the new meaning of YYERROR, for GCC.
3566 Once GCC version 2 has supplanted version 1, this can go. */
3567 #define YYFAIL goto yyerrlab
3568 #define YYRECOVERING() (!!yyerrstatus)
3569 #define YYBACKUP(token, value) \
3571 if (yychar == YYEMPTY && yylen == 1) \
3572 { yychar = (token), yylval = (value); \
3573 yychar1 = YYTRANSLATE (yychar); \
3578 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3582 #define YYERRCODE 256
3585 #define YYLEX yylex()
3591 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3593 #define YYLEX yylex(&yylval, &yylloc)
3595 #else /* not YYLSP_NEEDED */
3597 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3599 #define YYLEX yylex(&yylval)
3601 #endif /* not YYLSP_NEEDED */
3604 /* If nonreentrant, generate the variables here */
3608 int yychar; /* the lookahead symbol */
3609 YYSTYPE yylval; /* the semantic value of the */
3610 /* lookahead symbol */
3613 YYLTYPE yylloc; /* location data for the lookahead */
3617 int yynerrs; /* number of parse errors so far */
3618 #endif /* not YYPURE */
3621 int yydebug; /* nonzero means print parse trace */
3622 /* Since this is uninitialized, it does not stop multiple parsers
3626 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3629 #define YYINITDEPTH 200
3632 /* YYMAXDEPTH is the maximum size the stacks can grow to
3633 (effective only if the built-in stack extension method is used). */
3640 #define YYMAXDEPTH 10000
3643 /* Prevent warning if -Wstrict-prototypes. */
3648 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3649 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3650 #else /* not GNU C or C++ */
3653 /* This is the most reliable way to avoid incompatibilities
3654 in available built-in functions on various systems. */
3656 __yy_memcpy (to, from, count)
3661 register char *f = from;
3662 register char *t = to;
3663 register int i = count;
3669 #else /* __cplusplus */
3671 /* This is the most reliable way to avoid incompatibilities
3672 in available built-in functions on various systems. */
3674 __yy_memcpy (char *to, char *from, int count)
3676 register char *f = from;
3677 register char *t = to;
3678 register int i = count;
3687 #line 196 "/usr/cygnus/latest-940103/share/bison.simple"
3689 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3690 into yyparse. The argument should have type void *.
3691 It should actually point to an object.
3692 Grammar actions can access the variable by casting it
3693 to the proper pointer type. */
3695 #ifdef YYPARSE_PARAM
3697 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3698 #define YYPARSE_PARAM_DECL
3699 #else /* not __cplusplus */
3700 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3701 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3702 #endif /* not __cplusplus */
3703 #else /* not YYPARSE_PARAM */
3704 #define YYPARSE_PARAM_ARG
3705 #define YYPARSE_PARAM_DECL
3706 #endif /* not YYPARSE_PARAM */
3709 yyparse(YYPARSE_PARAM_ARG)
3712 register int yystate;
3714 register short *yyssp;
3715 register YYSTYPE *yyvsp;
3716 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3717 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3719 short yyssa[YYINITDEPTH]; /* the state stack */
3720 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3722 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3723 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3726 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3727 YYLTYPE *yyls = yylsa;
3730 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3732 #define YYPOPSTACK (yyvsp--, yyssp--)
3735 int yystacksize = YYINITDEPTH;
3746 YYSTYPE yyval; /* the variable used to return */
3747 /* semantic values from the action */
3754 fprintf(stderr, "Starting parse\n");
3760 yychar = YYEMPTY; /* Cause a token to be read. */
3762 /* Initialize stack pointers.
3763 Waste one element of value and location stack
3764 so that they stay on the same level as the state stack.
3765 The wasted elements are never initialized. */
3773 /* Push a new state, which is found in yystate . */
3774 /* In all cases, when you get here, the value and location stacks
3775 have just been pushed. so pushing a state here evens the stacks. */
3780 if (yyssp >= yyss + yystacksize - 1)
3782 /* Give user a chance to reallocate the stack */
3783 /* Use copies of these so that the &'s don't force the real ones into memory. */
3784 YYSTYPE *yyvs1 = yyvs;
3785 short *yyss1 = yyss;
3787 YYLTYPE *yyls1 = yyls;
3790 /* Get the current used size of the three stacks, in elements. */
3791 int size = yyssp - yyss + 1;
3794 /* Each stack pointer address is followed by the size of
3795 the data in use in that stack, in bytes. */
3797 /* This used to be a conditional around just the two extra args,
3798 but that might be undefined if yyoverflow is a macro. */
3799 yyoverflow("parser stack overflow",
3800 &yyss1, size * sizeof (*yyssp),
3801 &yyvs1, size * sizeof (*yyvsp),
3802 &yyls1, size * sizeof (*yylsp),
3805 yyoverflow("parser stack overflow",
3806 &yyss1, size * sizeof (*yyssp),
3807 &yyvs1, size * sizeof (*yyvsp),
3811 yyss = yyss1; yyvs = yyvs1;
3815 #else /* no yyoverflow */
3816 /* Extend the stack our own way. */
3817 if (yystacksize >= YYMAXDEPTH)
3819 yyerror("parser stack overflow");
3823 if (yystacksize > YYMAXDEPTH)
3824 yystacksize = YYMAXDEPTH;
3825 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3826 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3827 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3828 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3830 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3831 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3833 #endif /* no yyoverflow */
3835 yyssp = yyss + size - 1;
3836 yyvsp = yyvs + size - 1;
3838 yylsp = yyls + size - 1;
3843 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3846 if (yyssp >= yyss + yystacksize - 1)
3852 fprintf(stderr, "Entering state %d\n", yystate);
3858 /* Do appropriate processing given the current state. */
3859 /* Read a lookahead token if we need one and don't already have one. */
3862 /* First try to decide what to do without reference to lookahead token. */
3864 yyn = yypact[yystate];
3868 /* Not known => get a lookahead token if don't already have one. */
3870 /* yychar is either YYEMPTY or YYEOF
3871 or a valid token in external form. */
3873 if (yychar == YYEMPTY)
3877 fprintf(stderr, "Reading a token: ");
3882 /* Convert token to internal form (in yychar1) for indexing tables with */
3884 if (yychar <= 0) /* This means end of input. */
3887 yychar = YYEOF; /* Don't call YYLEX any more */
3891 fprintf(stderr, "Now at end of input.\n");
3896 yychar1 = YYTRANSLATE(yychar);
3901 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3902 /* Give the individual parser a way to print the precise meaning
3903 of a token, for further debugging info. */
3905 YYPRINT (stderr, yychar, yylval);
3907 fprintf (stderr, ")\n");
3913 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3918 /* yyn is what to do for this token type in this state.
3919 Negative => reduce, -yyn is rule number.
3920 Positive => shift, yyn is new state.
3921 New state is final state => don't bother to shift,
3922 just return success.
3923 0, or most negative number => error. */
3938 /* Shift the lookahead token. */
3942 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3945 /* Discard the token being shifted unless it is eof. */
3946 if (yychar != YYEOF)
3954 /* count tokens shifted since error; after three, turn off error status. */
3955 if (yyerrstatus) yyerrstatus--;
3960 /* Do the default action for the current state. */
3963 yyn = yydefact[yystate];
3967 /* Do a reduction. yyn is the number of a rule to reduce with. */
3971 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3978 fprintf (stderr, "Reducing via rule %d (line %d), ",
3981 /* Print the symbols being reduced, and their result. */
3982 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3983 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3984 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3994 /* In case there were missing closebraces,
3995 get us back to the global binding level. */
3996 while (! global_bindings_p ())
4003 { yyval.ttype = NULL_TREE; ;
4007 { yyval.ttype = NULL_TREE; ;
4011 { yyval.ttype = NULL_TREE; ;
4015 { have_extern_spec = 1;
4016 used_extern_spec = 0;
4017 yyval.ttype = NULL_TREE; ;
4021 { have_extern_spec = 0; ;
4025 { yyval.itype = pedantic;
4030 { if (pending_lang_change) do_pending_lang_change(); ;
4034 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4035 pop_everything (); ;
4039 { if (pending_inlines) do_pending_inlines (); ;
4043 { if (pending_inlines) do_pending_inlines (); ;
4047 { if (pending_inlines) do_pending_inlines (); ;
4051 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4052 assemble_asm (yyvsp[-2].ttype); ;
4056 { pop_lang_context (); ;
4060 { if (pending_inlines) do_pending_inlines ();
4061 pop_lang_context (); ;
4065 { if (pending_inlines) do_pending_inlines ();
4066 pop_lang_context (); ;
4070 { push_namespace (yyvsp[-1].ttype); ;
4074 { pop_namespace (); ;
4078 { push_namespace (NULL_TREE); ;
4082 { pop_namespace (); ;
4086 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4090 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4095 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4096 yyvsp[-1].ttype = lastiddecl;
4097 do_using_directive (yyvsp[-1].ttype);
4102 { pedantic = yyvsp[-1].itype; ;
4106 { yyval.ttype = yyvsp[0].ttype; ;
4110 { yyval.ttype = yyvsp[0].ttype; ;
4114 { yyval.ttype = yyvsp[0].ttype; ;
4118 { yyval.ttype = yyvsp[0].ttype; ;
4122 { yyval.ttype = yyvsp[0].ttype; ;
4126 { push_lang_context (yyvsp[0].ttype); ;
4130 { if (current_lang_name != yyvsp[0].ttype)
4131 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4132 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4136 { begin_template_parm_list (); ;
4140 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4144 { begin_specialization();
4145 yyval.ttype = NULL_TREE; ;
4149 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4153 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4157 { yyval.ttype = yyvsp[0].ttype; ;
4161 { yyval.ttype = NULL_TREE; ;
4165 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4169 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4173 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4177 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4181 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4185 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4189 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4193 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4198 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4199 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4200 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4202 error ("invalid default template argument");
4203 yyvsp[0].ttype = error_mark_node;
4205 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4211 if (yyvsp[-1].ttype)
4212 end_template_decl ();
4214 end_specialization ();
4220 if (yyvsp[-1].ttype)
4221 end_template_decl ();
4223 end_specialization ();
4233 note_list_got_semicolon (yyvsp[-2].ftype.t);
4238 { pedwarn ("empty declaration"); ;
4244 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4246 note_list_got_semicolon (yyvsp[-1].ftype.t);
4251 { yyval.itype = 0; ;
4255 { yyval.itype = 1; ;
4259 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4271 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4275 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4279 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4280 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4285 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4289 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4293 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4294 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4299 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4303 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4307 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4308 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4313 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4317 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4321 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4322 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4327 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4332 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4337 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4342 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4347 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4352 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4356 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4360 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4364 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4368 { tree specs = strip_attrs (yyvsp[-1].ttype);
4369 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4373 if (yychar == YYEMPTY)
4375 reinit_parse_for_method (yychar, yyval.ttype); ;
4379 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4383 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4384 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4388 { tree specs = strip_attrs (yyvsp[-1].ttype);
4389 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4393 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4397 { tree specs = strip_attrs (yyvsp[-1].ttype);
4398 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4402 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4407 if (! current_function_parms_stored)
4408 store_parm_decls ();
4409 yyval.ttype = yyvsp[0].ttype;
4414 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4418 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4422 { store_return_init (yyval.ttype, NULL_TREE); ;
4427 if (yyvsp[0].itype == 0)
4428 error ("no base initializers given following ':'");
4430 /* Always keep the BLOCK node associated with the outermost
4431 pair of curley braces of a function. These are needed
4432 for correct operation of dwarfout.c. */
4439 if (! current_function_parms_stored)
4440 store_parm_decls ();
4442 if (DECL_CONSTRUCTOR_P (current_function_decl))
4444 /* Make a contour for the initializer list. */
4447 expand_start_bindings (0);
4449 else if (current_class_type == NULL_TREE)
4450 error ("base initializers not allowed for non-member functions");
4451 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4452 error ("only constructors take base initializers");
4457 { yyval.itype = 0; ;
4461 { yyval.itype = 1; ;
4466 if (current_class_name)
4467 pedwarn ("anachronistic old style base class initializer");
4468 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4474 if (current_class_name)
4475 pedwarn ("anachronistic old style base class initializer");
4476 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4481 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4485 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4489 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4493 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4497 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4502 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4507 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4508 yyungetc (';', 1); ;
4512 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4513 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4517 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4521 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4525 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4526 yyungetc (';', 1); ;
4530 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4531 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4535 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4539 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4543 { begin_explicit_instantiation(); ;
4547 { end_explicit_instantiation(); ;
4552 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4553 if (yyval.ttype != error_mark_node)
4554 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4560 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4561 if (yyval.ttype != error_mark_node)
4562 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4568 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4569 if (yyval.ttype != error_mark_node)
4570 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4576 /* Handle `Class<Class<Type>>' without space in the `>>' */
4577 pedwarn ("`>>' should be `> >' in template class name");
4583 { yyval.ttype = NULL_TREE; ;
4587 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4591 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4595 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4599 { yyval.code = NEGATE_EXPR; ;
4603 { yyval.code = CONVERT_EXPR; ;
4607 { yyval.code = PREINCREMENT_EXPR; ;
4611 { yyval.code = PREDECREMENT_EXPR; ;
4615 { yyval.code = TRUTH_NOT_EXPR; ;
4619 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4623 { error ("ANSI C++ forbids an empty condition for `%s'",
4625 yyval.ttype = integer_zero_node; ;
4629 { yyval.ttype = yyvsp[-1].ttype; ;
4633 { error ("ANSI C++ forbids an empty condition for `%s'",
4635 yyval.ttype = integer_zero_node; ;
4639 { yyval.ttype = yyvsp[-1].ttype; ;
4643 { yyval.ttype = NULL_TREE; ;
4647 { yyval.ttype = condition_conversion (yyval.ttype); ;
4651 { yyval.ttype = NULL_TREE; ;
4657 for (d = getdecls (); d; d = TREE_CHAIN (d))
4658 if (TREE_CODE (d) == TYPE_DECL) {
4659 tree s = TREE_TYPE (d);
4660 if (TREE_CODE (s) == RECORD_TYPE)
4661 cp_error ("definition of class `%T' in condition", s);
4662 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4663 cp_error ("definition of enum `%T' in condition", s);
4666 current_declspecs = yyvsp[-4].ftype.t;
4667 yyvsp[0].itype = suspend_momentary ();
4668 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4669 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4675 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4676 resume_momentary (yyvsp[-2].itype);
4677 yyval.ttype = yyvsp[-1].ttype;
4678 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4679 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4684 { yyval.ttype = begin_compound_stmt (1); ;
4688 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4692 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4693 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4697 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4698 build_expr_list (NULL_TREE, error_mark_node)); ;
4702 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4706 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4710 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4714 { yyval.ttype = yyvsp[0].ttype; ;
4718 { yyval.ttype = yyvsp[0].ttype;
4719 pedantic = yyvsp[-1].itype; ;
4722 #line 1002 "parse.y"
4723 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4726 #line 1004 "parse.y"
4727 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4730 #line 1006 "parse.y"
4731 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4734 #line 1008 "parse.y"
4735 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4736 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4737 TREE_NEGATED_INT (yyval.ttype) = 1;
4738 overflow_warning (yyval.ttype);
4742 #line 1015 "parse.y"
4744 pedwarn ("ANSI C++ forbids `&&'");
4745 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4748 #line 1019 "parse.y"
4749 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4752 #line 1021 "parse.y"
4753 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4756 #line 1023 "parse.y"
4757 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4760 #line 1025 "parse.y"
4761 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4762 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4765 #line 1031 "parse.y"
4766 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4767 check_for_new_type ("new", yyvsp[0].ftype); ;
4770 #line 1034 "parse.y"
4771 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4772 check_for_new_type ("new", yyvsp[-1].ftype); ;
4775 #line 1037 "parse.y"
4776 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4777 check_for_new_type ("new", yyvsp[0].ftype); ;
4780 #line 1040 "parse.y"
4781 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4782 check_for_new_type ("new", yyvsp[-1].ftype); ;
4785 #line 1043 "parse.y"
4786 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4787 NULL_TREE, yyvsp[-3].itype);
4788 check_for_new_type ("new", yyvsp[-1].ftype); ;
4791 #line 1047 "parse.y"
4792 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4793 check_for_new_type ("new", yyvsp[-2].ftype); ;
4796 #line 1050 "parse.y"
4797 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4798 check_for_new_type ("new", yyvsp[-1].ftype); ;
4801 #line 1053 "parse.y"
4802 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4803 check_for_new_type ("new", yyvsp[-2].ftype); ;
4806 #line 1057 "parse.y"
4807 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4810 #line 1059 "parse.y"
4811 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4812 if (yychar == YYEMPTY)
4816 #line 1063 "parse.y"
4817 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4818 if (yychar == YYEMPTY)
4822 #line 1067 "parse.y"
4823 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4826 #line 1069 "parse.y"
4827 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4830 #line 1074 "parse.y"
4831 { yyval.ttype = yyvsp[-1].ttype; ;
4834 #line 1076 "parse.y"
4836 yyval.ttype = yyvsp[-1].ttype;
4837 pedwarn ("old style placement syntax, use () instead");
4841 #line 1084 "parse.y"
4842 { yyval.ttype = yyvsp[-1].ttype; ;
4845 #line 1086 "parse.y"
4846 { yyval.ttype = NULL_TREE; ;
4849 #line 1088 "parse.y"
4851 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4852 yyval.ttype = error_mark_node;
4856 #line 1096 "parse.y"
4859 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4860 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4861 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4862 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4864 yyval.ttype = yyvsp[0].ttype;
4868 #line 1110 "parse.y"
4869 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4870 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4871 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4872 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4875 #line 1115 "parse.y"
4876 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4877 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4878 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4879 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4882 #line 1124 "parse.y"
4883 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4886 #line 1126 "parse.y"
4888 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4889 nreverse (yyvsp[-2].ttype));
4891 pedwarn ("ANSI C++ forbids constructor-expressions");
4892 /* Indicate that this was a GNU C constructor expression. */
4893 TREE_HAS_CONSTRUCTOR (init) = 1;
4895 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4899 #line 1142 "parse.y"
4900 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4903 #line 1144 "parse.y"
4904 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4907 #line 1146 "parse.y"
4908 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4911 #line 1148 "parse.y"
4912 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4915 #line 1150 "parse.y"
4916 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4919 #line 1152 "parse.y"
4920 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4923 #line 1154 "parse.y"
4924 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4927 #line 1156 "parse.y"
4928 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4931 #line 1158 "parse.y"
4932 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4935 #line 1160 "parse.y"
4936 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4939 #line 1162 "parse.y"
4940 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4943 #line 1164 "parse.y"
4944 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4947 #line 1166 "parse.y"
4948 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4951 #line 1168 "parse.y"
4952 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4955 #line 1170 "parse.y"
4956 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4959 #line 1172 "parse.y"
4960 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4963 #line 1174 "parse.y"
4964 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4967 #line 1176 "parse.y"
4968 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4971 #line 1178 "parse.y"
4972 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4975 #line 1180 "parse.y"
4976 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4979 #line 1182 "parse.y"
4980 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4981 if (yyval.ttype != error_mark_node)
4982 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4985 #line 1186 "parse.y"
4986 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4989 #line 1188 "parse.y"
4990 { yyval.ttype = build_throw (NULL_TREE); ;
4993 #line 1190 "parse.y"
4994 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4997 #line 1208 "parse.y"
4998 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5001 #line 1217 "parse.y"
5002 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5005 #line 1221 "parse.y"
5006 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5009 #line 1223 "parse.y"
5010 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5013 #line 1228 "parse.y"
5014 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5017 #line 1230 "parse.y"
5018 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5021 #line 1233 "parse.y"
5022 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5025 #line 1245 "parse.y"
5026 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5029 #line 1247 "parse.y"
5030 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5033 #line 1249 "parse.y"
5034 { yyval.ttype = yyvsp[-1].ttype; ;
5037 #line 1254 "parse.y"
5038 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5041 #line 1256 "parse.y"
5042 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5045 #line 1264 "parse.y"
5046 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5049 #line 1269 "parse.y"
5051 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5052 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5053 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5054 yyval.ttype = do_identifier (yyval.ttype, 1);
5058 #line 1278 "parse.y"
5060 if (processing_template_decl)
5061 push_obstacks (&permanent_obstack, &permanent_obstack);
5062 yyval.ttype = combine_strings (yyval.ttype);
5063 if (processing_template_decl)
5068 #line 1286 "parse.y"
5069 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5072 #line 1288 "parse.y"
5073 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5074 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5077 #line 1291 "parse.y"
5078 { yyval.ttype = error_mark_node; ;
5081 #line 1293 "parse.y"
5082 { if (current_function_decl == 0)
5084 error ("braced-group within expression allowed only inside a function");
5088 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5089 yyval.ttype = begin_stmt_expr ();
5093 #line 1303 "parse.y"
5094 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5097 #line 1305 "parse.y"
5098 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5101 #line 1307 "parse.y"
5102 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5105 #line 1309 "parse.y"
5106 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5109 #line 1311 "parse.y"
5110 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5113 #line 1313 "parse.y"
5114 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5117 #line 1316 "parse.y"
5118 { yyval.ttype = finish_this_expr (); ;
5121 #line 1318 "parse.y"
5123 tree type = NULL_TREE;
5124 tree id = yyval.ttype;
5126 /* This is a C cast in C++'s `functional' notation. */
5127 if (yyvsp[-1].ttype == error_mark_node)
5129 yyval.ttype = error_mark_node;
5133 if (yyvsp[-1].ttype == NULL_TREE)
5135 error ("cannot cast null list to type `%s'",
5136 IDENTIFIER_POINTER (TYPE_NAME (id)));
5137 yyval.ttype = error_mark_node;
5142 /* type is not set! (mrs) */
5143 if (type == error_mark_node)
5144 yyval.ttype = error_mark_node;
5148 if (id == ridpointers[(int) RID_CONST])
5149 type = build_type_variant (integer_type_node, 1, 0);
5150 else if (id == ridpointers[(int) RID_VOLATILE])
5151 type = build_type_variant (integer_type_node, 0, 1);
5153 /* should not be able to get here (mrs) */
5154 else if (id == ridpointers[(int) RID_FRIEND])
5156 error ("cannot cast expression to `friend' type");
5157 yyval.ttype = error_mark_node;
5161 else my_friendly_abort (79);
5162 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5167 #line 1363 "parse.y"
5168 { tree type = groktypename (yyvsp[-4].ftype.t);
5169 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5170 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5173 #line 1367 "parse.y"
5174 { tree type = groktypename (yyvsp[-4].ftype.t);
5175 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5176 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5179 #line 1371 "parse.y"
5180 { tree type = groktypename (yyvsp[-4].ftype.t);
5181 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5182 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5185 #line 1375 "parse.y"
5186 { tree type = groktypename (yyvsp[-4].ftype.t);
5187 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5188 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5191 #line 1379 "parse.y"
5192 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5195 #line 1381 "parse.y"
5196 { tree type = groktypename (yyvsp[-1].ftype.t);
5197 check_for_new_type ("typeid", yyvsp[-1].ftype);
5198 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5201 #line 1385 "parse.y"
5202 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5205 #line 1387 "parse.y"
5207 got_scope = NULL_TREE;
5208 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5209 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5211 yyval.ttype = yyvsp[0].ttype;
5215 #line 1395 "parse.y"
5216 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5219 #line 1397 "parse.y"
5220 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5223 #line 1399 "parse.y"
5224 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5227 #line 1401 "parse.y"
5229 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5233 #line 1405 "parse.y"
5234 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5237 #line 1407 "parse.y"
5238 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5241 #line 1409 "parse.y"
5242 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5245 #line 1411 "parse.y"
5246 { if (processing_template_decl)
5247 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5249 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5252 #line 1416 "parse.y"
5253 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5256 #line 1418 "parse.y"
5257 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5260 #line 1420 "parse.y"
5261 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5264 #line 1422 "parse.y"
5265 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5268 #line 1425 "parse.y"
5269 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5272 #line 1427 "parse.y"
5273 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5276 #line 1429 "parse.y"
5278 yyval.ttype = error_mark_node;
5282 #line 1474 "parse.y"
5283 { yyval.itype = 0; ;
5286 #line 1476 "parse.y"
5287 { got_scope = NULL_TREE; yyval.itype = 1; ;
5290 #line 1481 "parse.y"
5291 { yyval.itype = 0; ;
5294 #line 1483 "parse.y"
5295 { got_scope = NULL_TREE; yyval.itype = 1; ;
5298 #line 1488 "parse.y"
5299 { yyval.ttype = boolean_true_node; ;
5302 #line 1490 "parse.y"
5303 { yyval.ttype = boolean_false_node; ;
5306 #line 1497 "parse.y"
5307 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5310 #line 1502 "parse.y"
5312 if (! current_function_parms_stored)
5313 store_parm_decls ();
5315 /* Always keep the BLOCK node associated with the outermost
5316 pair of curley braces of a function. These are needed
5317 for correct operation of dwarfout.c. */
5322 #line 1515 "parse.y"
5323 { got_object = TREE_TYPE (yyval.ttype); ;
5326 #line 1517 "parse.y"
5328 yyval.ttype = build_x_arrow (yyval.ttype);
5329 got_object = TREE_TYPE (yyval.ttype);
5333 #line 1525 "parse.y"
5335 resume_momentary (yyvsp[-1].itype);
5336 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5337 note_got_semicolon (yyvsp[-2].ftype.t);
5341 #line 1531 "parse.y"
5343 resume_momentary (yyvsp[-1].itype);
5344 note_list_got_semicolon (yyvsp[-2].ftype.t);
5348 #line 1536 "parse.y"
5349 { resume_momentary (yyvsp[-1].itype); ;
5352 #line 1538 "parse.y"
5354 shadow_tag (yyvsp[-1].ftype.t);
5355 note_list_got_semicolon (yyvsp[-1].ftype.t);
5359 #line 1543 "parse.y"
5360 { warning ("empty declaration"); ;
5363 #line 1545 "parse.y"
5364 { pedantic = yyvsp[-1].itype; ;
5367 #line 1559 "parse.y"
5368 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5369 NULL_TREE, NULL_TREE); ;
5372 #line 1562 "parse.y"
5373 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5377 #line 1569 "parse.y"
5378 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5379 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5382 #line 1572 "parse.y"
5383 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5384 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5387 #line 1575 "parse.y"
5388 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5389 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5392 #line 1578 "parse.y"
5393 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5394 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5397 #line 1581 "parse.y"
5398 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5399 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5402 #line 1597 "parse.y"
5403 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5404 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5407 #line 1600 "parse.y"
5408 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5409 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5412 #line 1603 "parse.y"
5413 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5414 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5417 #line 1606 "parse.y"
5418 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5419 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5422 #line 1609 "parse.y"
5423 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5424 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5427 #line 1612 "parse.y"
5428 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5429 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5430 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5433 #line 1619 "parse.y"
5434 { if (extra_warnings)
5435 warning ("`%s' is not at beginning of declaration",
5436 IDENTIFIER_POINTER (yyval.ttype));
5437 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5440 #line 1624 "parse.y"
5441 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5444 #line 1626 "parse.y"
5445 { if (extra_warnings)
5446 warning ("`%s' is not at beginning of declaration",
5447 IDENTIFIER_POINTER (yyvsp[0].ttype));
5448 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5451 #line 1631 "parse.y"
5452 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5455 #line 1633 "parse.y"
5456 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5459 #line 1643 "parse.y"
5460 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5463 #line 1645 "parse.y"
5464 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5467 #line 1647 "parse.y"
5468 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5469 TREE_STATIC (yyval.ttype) = 1; ;
5472 #line 1650 "parse.y"
5473 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5474 warning ("`%s' is not at beginning of declaration",
5475 IDENTIFIER_POINTER (yyvsp[0].ttype));
5476 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5477 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5480 #line 1656 "parse.y"
5481 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5484 #line 1658 "parse.y"
5485 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5488 #line 1669 "parse.y"
5489 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5490 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5493 #line 1672 "parse.y"
5494 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5495 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5498 #line 1675 "parse.y"
5499 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5500 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5503 #line 1678 "parse.y"
5504 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5505 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5508 #line 1684 "parse.y"
5509 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5512 #line 1686 "parse.y"
5513 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5516 #line 1696 "parse.y"
5517 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5520 #line 1698 "parse.y"
5521 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5524 #line 1700 "parse.y"
5525 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5526 yyval.ftype.new_type_flag = 0; ;
5529 #line 1703 "parse.y"
5530 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5531 yyval.ftype.new_type_flag = 0; ;
5534 #line 1706 "parse.y"
5535 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5537 yyval.ftype.new_type_flag = 0;
5538 if (IS_AGGR_TYPE (type))
5540 sorry ("sigof type specifier");
5541 yyval.ftype.t = type;
5545 error ("`sigof' applied to non-aggregate expression");
5546 yyval.ftype.t = error_mark_node;
5551 #line 1721 "parse.y"
5552 { tree type = groktypename (yyvsp[-1].ftype.t);
5554 yyval.ftype.new_type_flag = 0;
5555 if (IS_AGGR_TYPE (type))
5557 sorry ("sigof type specifier");
5558 yyval.ftype.t = type;
5562 error("`sigof' applied to non-aggregate type");
5563 yyval.ftype.t = error_mark_node;
5568 #line 1741 "parse.y"
5569 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5572 #line 1743 "parse.y"
5573 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5576 #line 1764 "parse.y"
5577 { yyval.ttype = NULL_TREE; ;
5580 #line 1766 "parse.y"
5581 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5584 #line 1771 "parse.y"
5585 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5586 yyvsp[-1].ttype, prefix_attributes); ;
5589 #line 1775 "parse.y"
5590 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5593 #line 1777 "parse.y"
5594 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5595 yyvsp[0].ttype, prefix_attributes);
5596 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5599 #line 1790 "parse.y"
5600 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5601 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5604 #line 1795 "parse.y"
5605 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5606 LOOKUP_ONLYCONVERTING);
5607 yyval.itype = yyvsp[-2].itype; ;
5610 #line 1799 "parse.y"
5612 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5613 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5616 #line 1806 "parse.y"
5617 { yyval.itype = yyvsp[0].itype; ;
5620 #line 1810 "parse.y"
5621 { yyval.itype = yyvsp[0].itype; ;
5624 #line 1815 "parse.y"
5625 { /* Set things up as initdcl0_innards expects. */
5626 yyval.ttype = yyvsp[-1].ttype;
5627 yyvsp[-1].ttype = NULL_TREE; ;
5630 #line 1819 "parse.y"
5634 #line 1821 "parse.y"
5636 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5637 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5640 #line 1830 "parse.y"
5641 { yyval.ttype = NULL_TREE; ;
5644 #line 1832 "parse.y"
5645 { yyval.ttype = yyvsp[0].ttype; ;
5648 #line 1837 "parse.y"
5649 { yyval.ttype = yyvsp[0].ttype; ;
5652 #line 1839 "parse.y"
5653 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5656 #line 1844 "parse.y"
5657 { yyval.ttype = yyvsp[-2].ttype; ;
5660 #line 1849 "parse.y"
5661 { yyval.ttype = yyvsp[0].ttype; ;
5664 #line 1851 "parse.y"
5665 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5668 #line 1856 "parse.y"
5669 { yyval.ttype = NULL_TREE; ;
5672 #line 1858 "parse.y"
5673 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5676 #line 1860 "parse.y"
5677 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5680 #line 1862 "parse.y"
5681 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5684 #line 1864 "parse.y"
5685 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5688 #line 1880 "parse.y"
5689 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5692 #line 1882 "parse.y"
5693 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5696 #line 1887 "parse.y"
5697 { yyval.ttype = NULL_TREE; ;
5700 #line 1889 "parse.y"
5701 { yyval.ttype = yyvsp[0].ttype; ;
5704 #line 1897 "parse.y"
5705 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5706 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5709 #line 1900 "parse.y"
5710 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5711 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5714 #line 1903 "parse.y"
5715 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5716 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5719 #line 1906 "parse.y"
5720 { yyval.ttype = NULL_TREE; ;
5723 #line 1913 "parse.y"
5724 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5727 #line 1915 "parse.y"
5728 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5731 #line 1918 "parse.y"
5732 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5735 #line 1920 "parse.y"
5736 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5739 #line 1922 "parse.y"
5740 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5743 #line 1927 "parse.y"
5744 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5746 reinit_parse_for_function (); ;
5749 #line 1933 "parse.y"
5751 int nested = (hack_decl_function_context
5752 (current_function_decl) != NULL_TREE);
5753 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5754 process_next_inline (yyvsp[-3].ttype);
5758 #line 1940 "parse.y"
5759 { process_next_inline (yyvsp[-2].ttype); ;
5762 #line 1942 "parse.y"
5763 { process_next_inline (yyvsp[-2].ttype); ;
5766 #line 1954 "parse.y"
5767 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5770 #line 1956 "parse.y"
5771 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5774 #line 1961 "parse.y"
5775 { do_pending_defargs (); ;
5778 #line 1963 "parse.y"
5779 { do_pending_defargs (); ;
5782 #line 1968 "parse.y"
5783 { yyvsp[0].itype = suspend_momentary ();
5784 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5787 #line 1971 "parse.y"
5788 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5789 yyval.ftype.new_type_flag = 1;
5790 resume_momentary ((int) yyvsp[-4].itype);
5791 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5794 #line 1976 "parse.y"
5795 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5796 yyval.ftype.new_type_flag = 1;
5797 check_for_missing_semicolon (yyval.ftype.t); ;
5800 #line 1980 "parse.y"
5801 { yyvsp[0].itype = suspend_momentary ();
5802 yyval.ttype = start_enum (make_anon_name ()); ;
5805 #line 1983 "parse.y"
5806 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5807 resume_momentary ((int) yyvsp[-5].itype);
5808 check_for_missing_semicolon (yyvsp[-3].ttype);
5809 yyval.ftype.new_type_flag = 1; ;
5812 #line 1988 "parse.y"
5813 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5814 yyval.ftype.new_type_flag = 1;
5815 check_for_missing_semicolon (yyval.ftype.t); ;
5818 #line 1992 "parse.y"
5819 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5820 yyval.ftype.new_type_flag = 0; ;
5823 #line 1995 "parse.y"
5824 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5825 yyval.ftype.new_type_flag = 0; ;
5828 #line 1998 "parse.y"
5829 { yyval.ftype.t = yyvsp[0].ttype;
5830 yyval.ftype.new_type_flag = 0; ;
5833 #line 2003 "parse.y"
5837 yyval.ttype = yyvsp[-4].ttype;
5839 /* Need to rework class nesting in the
5840 presence of nested classes, etc. */
5841 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-4].ttype)); */
5843 if (yychar == YYEMPTY)
5845 semi = yychar == ';';
5846 /* finish_struct nukes this anyway; if
5847 finish_exception does too, then it can go. */
5849 note_got_semicolon (yyvsp[-4].ttype);
5851 if (TREE_CODE (yyvsp[-4].ttype) == ENUMERAL_TYPE)
5855 yyval.ttype = finish_struct (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5856 if (semi) note_got_semicolon (yyval.ttype);
5862 check_for_missing_semicolon (yyvsp[-4].ttype);
5863 if (current_scope () == current_function_decl)
5864 do_pending_defargs ();
5868 #line 2036 "parse.y"
5871 && current_scope () == current_function_decl)
5872 do_pending_inlines ();
5876 #line 2042 "parse.y"
5878 yyval.ftype.t = yyvsp[-3].ttype;
5879 yyval.ftype.new_type_flag = 1;
5880 if (current_class_type == NULL_TREE)
5881 clear_inline_text_obstack ();
5883 /* Undo the begin_tree in left_curly. */
5888 #line 2052 "parse.y"
5890 yyval.ftype.new_type_flag = 0;
5891 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5893 cp_error ("%T is not a class type", yyvsp[0].ttype);
5894 yyval.ftype.t = error_mark_node;
5898 yyval.ftype.t = yyvsp[0].ttype;
5899 /* struct B: public A; is not accepted by the WP grammar. */
5900 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5901 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5902 cp_error ("base clause without member specification for `%#T'",
5908 #line 2079 "parse.y"
5909 { if (pedantic && !in_system_header)
5910 pedwarn ("comma at end of enumerator list"); ;
5913 #line 2086 "parse.y"
5914 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5917 #line 2088 "parse.y"
5918 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5921 #line 2090 "parse.y"
5922 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5925 #line 2092 "parse.y"
5926 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5929 #line 2097 "parse.y"
5930 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5933 #line 2102 "parse.y"
5934 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5937 #line 2107 "parse.y"
5939 current_aggr = yyvsp[-2].ttype;
5940 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5944 #line 2112 "parse.y"
5946 current_aggr = yyvsp[-3].ttype;
5947 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5951 #line 2117 "parse.y"
5953 current_aggr = yyvsp[-2].ttype;
5954 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5958 #line 2122 "parse.y"
5959 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5962 #line 2124 "parse.y"
5963 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5966 #line 2129 "parse.y"
5967 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5970 #line 2134 "parse.y"
5971 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5974 #line 2137 "parse.y"
5976 yyval.ttype = yyvsp[-1].ttype;
5978 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5982 #line 2143 "parse.y"
5984 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5985 if (TREE_INT_CST_LOW (current_aggr) == union_type
5986 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5987 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5988 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5989 && TREE_INT_CST_LOW (current_aggr) != union_type)
5990 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5993 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5995 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5996 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5998 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
5999 if (processing_template_decl)
6000 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6002 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6003 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6005 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6010 #line 2172 "parse.y"
6011 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6012 yyungetc ('{', 1); ;
6015 #line 2183 "parse.y"
6016 { yyval.ttype = NULL_TREE; ;
6019 #line 2185 "parse.y"
6020 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6023 #line 2187 "parse.y"
6024 { yyval.ttype = yyvsp[0].ttype; ;
6027 #line 2193 "parse.y"
6028 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6031 #line 2198 "parse.y"
6033 tree type = TREE_TYPE (yyvsp[0].ttype);
6034 if (! is_aggr_type (type, 1))
6035 yyval.ttype = NULL_TREE;
6036 else if (current_aggr == signature_type_node
6037 && (! type) && (! IS_SIGNATURE (type)))
6039 error ("class name not allowed as base signature");
6040 yyval.ttype = NULL_TREE;
6042 else if (current_aggr == signature_type_node)
6044 sorry ("signature inheritance, base type `%s' ignored",
6045 IDENTIFIER_POINTER (yyval.ttype));
6046 yyval.ttype = build_tree_list (access_public_node, type);
6048 else if (type && IS_SIGNATURE (type))
6050 error ("signature name not allowed as base class");
6051 yyval.ttype = NULL_TREE;
6054 yyval.ttype = build_tree_list (access_default_node, type);
6058 #line 2223 "parse.y"
6060 tree type = TREE_TYPE (yyvsp[0].ttype);
6061 if (current_aggr == signature_type_node)
6062 error ("access and source specifiers not allowed in signature");
6063 if (! IS_AGGR_TYPE (type))
6064 yyval.ttype = NULL_TREE;
6065 else if (current_aggr == signature_type_node
6066 && (! type) && (! IS_SIGNATURE (type)))
6068 error ("class name not allowed as base signature");
6069 yyval.ttype = NULL_TREE;
6071 else if (current_aggr == signature_type_node)
6073 sorry ("signature inheritance, base type `%s' ignored",
6074 IDENTIFIER_POINTER (yyval.ttype));
6075 yyval.ttype = build_tree_list (access_public_node, type);
6077 else if (type && IS_SIGNATURE (type))
6079 error ("signature name not allowed as base class");
6080 yyval.ttype = NULL_TREE;
6083 yyval.ttype = build_tree_list (yyval.ttype, type);
6087 #line 2253 "parse.y"
6088 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6091 #line 2256 "parse.y"
6093 if (current_aggr == signature_type_node)
6095 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6097 sorry ("`sigof' as base signature specifier");
6098 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6102 error ("`sigof' applied to non-aggregate expression");
6103 yyval.ttype = error_mark_node;
6108 error ("`sigof' in struct or class declaration");
6109 yyval.ttype = error_mark_node;
6114 #line 2277 "parse.y"
6116 if (current_aggr == signature_type_node)
6118 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6120 sorry ("`sigof' as base signature specifier");
6121 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6125 error ("`sigof' applied to non-aggregate expression");
6126 yyval.ttype = error_mark_node;
6131 error ("`sigof' in struct or class declaration");
6132 yyval.ttype = error_mark_node;
6137 #line 2302 "parse.y"
6138 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6139 cp_error ("`%D' access", yyvsp[-1].ttype);
6140 yyval.ttype = access_default_virtual_node; ;
6143 #line 2306 "parse.y"
6145 if (yyvsp[-2].ttype != access_default_virtual_node)
6146 error ("multiple access specifiers");
6147 else if (yyvsp[-1].ttype == access_public_node)
6148 yyval.ttype = access_public_virtual_node;
6149 else if (yyvsp[-1].ttype == access_protected_node)
6150 yyval.ttype = access_protected_virtual_node;
6151 else /* $2 == access_private_node */
6152 yyval.ttype = access_private_virtual_node;
6156 #line 2317 "parse.y"
6157 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6158 cp_error ("`%D' access", yyvsp[-1].ttype);
6159 else if (yyval.ttype == access_public_node)
6160 yyval.ttype = access_public_virtual_node;
6161 else if (yyval.ttype == access_protected_node)
6162 yyval.ttype = access_protected_virtual_node;
6163 else if (yyval.ttype == access_private_node)
6164 yyval.ttype = access_private_virtual_node;
6166 error ("multiple `virtual' specifiers");
6170 #line 2332 "parse.y"
6171 { tree t = yyvsp[-1].ttype;
6172 push_obstacks_nochange ();
6173 end_temporary_allocation ();
6175 if (t == error_mark_node
6176 || ! IS_AGGR_TYPE (t))
6178 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6179 pushtag (make_anon_name (), t, 0);
6182 duplicate_tag_error (t);
6183 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6185 t = make_lang_type (TREE_CODE (t));
6186 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6187 yyvsp[-1].ttype = t;
6189 if (processing_template_decl && TYPE_CONTEXT (t)
6190 && ! current_class_type)
6191 push_template_decl (TYPE_STUB_DECL (t));
6193 TYPE_BEING_DEFINED (t) = 1;
6194 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6196 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6197 && TYPE_SIZE (t) == NULL_TREE)
6199 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6200 if (processing_template_decl)
6201 push_template_decl (TYPE_MAIN_DECL (t));
6203 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6204 cp_error ("specialization after instantiation of `%T'", t);
6206 /* Reset the interface data, at the earliest possible
6207 moment, as it might have been set via a class foo;
6209 /* Don't change signatures. */
6210 if (! IS_SIGNATURE (t))
6212 extern tree pending_vtables;
6214 tree name = TYPE_IDENTIFIER (t);
6216 if (! ANON_AGGRNAME_P (name))
6218 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6219 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6220 (t, interface_unknown);
6223 /* Record how to set the access of this class's
6224 virtual functions. If write_virtuals == 2 or 3, then
6225 inline virtuals are ``extern inline''. */
6226 switch (write_virtuals)
6233 needs_writing = !! value_member (name, pending_vtables);
6236 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6237 && CLASSTYPE_INTERFACE_KNOWN (t);
6242 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6245 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6246 if (t && IDENTIFIER_TEMPLATE (t))
6247 overload_template_name (t, 1);
6249 reset_specialization();
6251 /* In case this is a local class within a template
6252 function, we save the current tree structure so
6253 that we can get it back later. */
6258 #line 2421 "parse.y"
6260 yyval.ttype = build_self_reference ();
6264 #line 2428 "parse.y"
6265 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6268 #line 2430 "parse.y"
6270 if (current_aggr == signature_type_node)
6271 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6273 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6274 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6278 #line 2438 "parse.y"
6280 tree visspec = yyvsp[-2].ttype;
6282 if (current_aggr == signature_type_node)
6284 error ("access specifier not allowed in signature");
6285 visspec = access_public_node;
6287 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6291 #line 2449 "parse.y"
6293 if (current_aggr == signature_type_node)
6294 error ("access specifier not allowed in signature");
6298 #line 2459 "parse.y"
6299 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6303 #line 2462 "parse.y"
6304 { /* In pushdecl, we created a reverse list of names
6305 in this binding level. Make sure that the chain
6306 of what we're trying to add isn't the item itself
6307 (which can happen with what pushdecl's doing). */
6308 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6310 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6311 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6313 yyval.ttype = yyvsp[0].ttype;
6318 #line 2478 "parse.y"
6322 #line 2480 "parse.y"
6323 { error ("missing ';' before right brace");
6324 yyungetc ('}', 0); ;
6327 #line 2485 "parse.y"
6328 { yyval.ttype = finish_method (yyval.ttype); ;
6331 #line 2487 "parse.y"
6332 { yyval.ttype = finish_method (yyval.ttype); ;
6335 #line 2489 "parse.y"
6336 { yyval.ttype = finish_method (yyval.ttype); ;
6339 #line 2491 "parse.y"
6340 { yyval.ttype = finish_method (yyval.ttype); ;
6343 #line 2493 "parse.y"
6344 { yyval.ttype = NULL_TREE; ;
6347 #line 2495 "parse.y"
6348 { yyval.ttype = yyvsp[0].ttype;
6349 pedantic = yyvsp[-1].itype; ;
6352 #line 2498 "parse.y"
6353 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6356 #line 2500 "parse.y"
6358 shadow_tag (yyvsp[-1].ftype.t);
6359 note_list_got_semicolon (yyvsp[-1].ftype.t);
6360 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6364 #line 2512 "parse.y"
6365 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6368 #line 2514 "parse.y"
6369 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6372 #line 2516 "parse.y"
6373 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6374 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6377 #line 2519 "parse.y"
6378 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6379 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6382 #line 2522 "parse.y"
6383 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6386 #line 2524 "parse.y"
6387 { yyval.ttype = NULL_TREE; ;
6390 #line 2535 "parse.y"
6391 { tree specs, attrs;
6392 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6393 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6394 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6397 #line 2540 "parse.y"
6398 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6399 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6402 #line 2543 "parse.y"
6403 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6406 #line 2549 "parse.y"
6407 { yyval.ttype = NULL_TREE; ;
6410 #line 2552 "parse.y"
6412 /* In this context, void_type_node encodes
6413 friends. They have been recorded elsewhere. */
6414 if (yyval.ttype == void_type_node)
6415 yyval.ttype = yyvsp[0].ttype;
6417 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6421 #line 2564 "parse.y"
6422 { yyval.ttype = NULL_TREE; ;
6425 #line 2567 "parse.y"
6427 /* In this context, void_type_node encodes
6428 friends. They have been recorded elsewhere. */
6429 if (yyval.ttype == void_type_node)
6430 yyval.ttype = yyvsp[0].ttype;
6432 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6436 #line 2589 "parse.y"
6437 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6438 &prefix_attributes);
6439 yyvsp[-4].ttype = current_declspecs;
6440 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6441 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6444 #line 2595 "parse.y"
6445 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6446 &prefix_attributes);
6447 yyvsp[-4].ttype = current_declspecs;
6448 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6449 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6452 #line 2604 "parse.y"
6453 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6454 &prefix_attributes);
6455 yyvsp[-4].ttype = current_declspecs;
6456 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6457 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6460 #line 2610 "parse.y"
6461 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6462 &prefix_attributes);
6463 yyvsp[-4].ttype = current_declspecs;
6464 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6465 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6468 #line 2616 "parse.y"
6469 { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
6470 &prefix_attributes);
6471 yyvsp[-4].ttype = current_declspecs;
6472 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6473 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6476 #line 2622 "parse.y"
6477 { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs,
6478 &prefix_attributes);
6479 yyvsp[-3].ttype = current_declspecs;
6480 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6481 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6484 #line 2631 "parse.y"
6485 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6486 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6489 #line 2634 "parse.y"
6490 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6491 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6494 #line 2640 "parse.y"
6495 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6496 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6499 #line 2643 "parse.y"
6500 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6501 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6504 #line 2646 "parse.y"
6505 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6506 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6509 #line 2657 "parse.y"
6510 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6513 #line 2662 "parse.y"
6514 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6517 #line 2664 "parse.y"
6518 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6521 #line 2670 "parse.y"
6522 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6523 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6526 #line 2673 "parse.y"
6527 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6528 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6531 #line 2678 "parse.y"
6534 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6535 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6536 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6537 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6541 #line 2689 "parse.y"
6542 { yyval.ttype = NULL_TREE; ;
6545 #line 2691 "parse.y"
6546 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6549 #line 2696 "parse.y"
6550 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6551 yyval.ftype.new_type_flag = 0; ;
6554 #line 2699 "parse.y"
6555 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6556 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6559 #line 2708 "parse.y"
6560 { yyval.itype = suspend_momentary (); ;
6563 #line 2713 "parse.y"
6564 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6567 #line 2719 "parse.y"
6568 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6571 #line 2721 "parse.y"
6572 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6575 #line 2723 "parse.y"
6576 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6579 #line 2725 "parse.y"
6580 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6583 #line 2732 "parse.y"
6584 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6587 #line 2734 "parse.y"
6588 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6591 #line 2736 "parse.y"
6592 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6595 #line 2738 "parse.y"
6596 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6599 #line 2740 "parse.y"
6600 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6601 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6605 #line 2748 "parse.y"
6607 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6609 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6610 if (current_class_type
6611 && TYPE_BEING_DEFINED (current_class_type)
6612 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6614 /* Remember that this name has been used in the class
6615 definition, as per [class.scope0] */
6616 pushdecl_class_level (yyval.ttype);
6620 yyval.ttype = yyvsp[0].ttype;
6624 #line 2765 "parse.y"
6626 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6627 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6629 yyval.ttype = yyvsp[0].ttype;
6630 got_scope = NULL_TREE;
6634 #line 2778 "parse.y"
6635 { yyval.ttype = yyvsp[0].ttype; ;
6638 #line 2783 "parse.y"
6639 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6642 #line 2788 "parse.y"
6643 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6646 #line 2790 "parse.y"
6647 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6650 #line 2792 "parse.y"
6651 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6654 #line 2794 "parse.y"
6655 { yyval.ttype = yyvsp[-1].ttype; ;
6658 #line 2796 "parse.y"
6659 { push_nested_class (yyvsp[-1].ttype, 3);
6660 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6661 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6664 #line 2807 "parse.y"
6665 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6668 #line 2809 "parse.y"
6669 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6672 #line 2811 "parse.y"
6673 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6676 #line 2813 "parse.y"
6677 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6680 #line 2815 "parse.y"
6681 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6682 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6686 #line 2823 "parse.y"
6687 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6690 #line 2825 "parse.y"
6691 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6694 #line 2827 "parse.y"
6695 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6698 #line 2829 "parse.y"
6699 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6702 #line 2831 "parse.y"
6703 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6704 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6708 #line 2839 "parse.y"
6709 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6712 #line 2841 "parse.y"
6713 { yyval.ttype = yyvsp[-1].ttype; ;
6716 #line 2843 "parse.y"
6717 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6720 #line 2845 "parse.y"
6721 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6724 #line 2847 "parse.y"
6725 { if (OP0 (yyval.ttype) != current_class_type)
6727 push_nested_class (OP0 (yyval.ttype), 3);
6728 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6733 #line 2854 "parse.y"
6734 { got_scope = NULL_TREE;
6735 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6736 if (yyvsp[-1].ttype != current_class_type)
6738 push_nested_class (yyvsp[-1].ttype, 3);
6739 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6744 #line 2866 "parse.y"
6745 { got_scope = NULL_TREE;
6746 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6749 #line 2869 "parse.y"
6750 { got_scope = NULL_TREE;
6751 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6754 #line 2875 "parse.y"
6755 { got_scope = NULL_TREE;
6756 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6759 #line 2878 "parse.y"
6760 { got_scope = NULL_TREE;
6761 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6764 #line 2885 "parse.y"
6765 { yyval.ttype = yyvsp[0].ttype; ;
6768 #line 2890 "parse.y"
6769 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6772 #line 2892 "parse.y"
6773 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6776 #line 2894 "parse.y"
6777 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6780 #line 2906 "parse.y"
6781 { yyval.ttype = yyvsp[0].ttype; ;
6784 #line 2908 "parse.y"
6785 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6788 #line 2915 "parse.y"
6790 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6792 yyval.ttype = lastiddecl;
6793 /* Remember that this name has been used in the class
6794 definition, as per [class.scope0] */
6795 if (current_class_type
6796 && TYPE_BEING_DEFINED (current_class_type)
6797 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6798 pushdecl_class_level (yyval.ttype);
6800 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6804 #line 2929 "parse.y"
6806 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6807 yyval.ttype = lastiddecl;
6808 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6812 #line 2935 "parse.y"
6814 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6815 yyval.ttype = lastiddecl;
6816 got_scope = yyval.ttype;
6820 #line 2941 "parse.y"
6821 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6824 #line 2957 "parse.y"
6825 { yyval.ttype = yyvsp[0].ttype; ;
6828 #line 2962 "parse.y"
6830 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6831 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6832 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6833 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6836 yyval.ttype = yyvsp[0].ttype;
6837 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6838 yyval.ttype = TREE_TYPE (yyval.ttype);
6843 #line 2975 "parse.y"
6844 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6847 #line 2977 "parse.y"
6848 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6851 #line 2979 "parse.y"
6852 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6855 #line 2984 "parse.y"
6857 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6858 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6862 #line 2989 "parse.y"
6864 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6865 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6866 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6867 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6870 yyval.ttype = yyvsp[0].ttype;
6871 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6872 yyval.ttype = TREE_TYPE (yyval.ttype);
6877 #line 3002 "parse.y"
6878 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6881 #line 3004 "parse.y"
6882 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6885 #line 3009 "parse.y"
6887 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6888 yyvsp[-1].ttype = lastiddecl;
6890 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype));
6892 if (yyval.ttype == error_mark_node)
6893 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6897 #line 3019 "parse.y"
6899 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6900 yyval.ttype = lastiddecl;
6901 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6905 #line 3025 "parse.y"
6906 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6909 #line 3029 "parse.y"
6911 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6912 yyval.ttype = lastiddecl;
6913 got_scope = yyval.ttype;
6917 #line 3038 "parse.y"
6918 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6921 #line 3043 "parse.y"
6923 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6924 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6926 yyval.ttype = yyvsp[0].ttype;
6927 got_scope = NULL_TREE;
6931 #line 3052 "parse.y"
6932 { yyval.ttype = yyvsp[0].ttype; ;
6935 #line 3057 "parse.y"
6936 { got_scope = NULL_TREE; ;
6939 #line 3059 "parse.y"
6940 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6943 #line 3066 "parse.y"
6944 { got_scope = void_type_node; ;
6947 #line 3072 "parse.y"
6948 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6951 #line 3074 "parse.y"
6952 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6955 #line 3076 "parse.y"
6956 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6959 #line 3078 "parse.y"
6960 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6963 #line 3080 "parse.y"
6964 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6965 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6969 #line 3084 "parse.y"
6970 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6971 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6975 #line 3093 "parse.y"
6976 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6979 #line 3095 "parse.y"
6980 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6983 #line 3101 "parse.y"
6984 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6987 #line 3103 "parse.y"
6988 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6991 #line 3105 "parse.y"
6992 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6995 #line 3107 "parse.y"
6996 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6999 #line 3109 "parse.y"
7000 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7003 #line 3111 "parse.y"
7004 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7007 #line 3113 "parse.y"
7008 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7011 #line 3115 "parse.y"
7012 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7015 #line 3117 "parse.y"
7016 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7017 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7021 #line 3121 "parse.y"
7022 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7023 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7027 #line 3130 "parse.y"
7028 { yyval.ttype = yyvsp[-1].ttype; ;
7031 #line 3134 "parse.y"
7032 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7035 #line 3136 "parse.y"
7036 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7039 #line 3138 "parse.y"
7040 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7043 #line 3140 "parse.y"
7044 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7047 #line 3142 "parse.y"
7048 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7051 #line 3144 "parse.y"
7052 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7055 #line 3146 "parse.y"
7056 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7059 #line 3148 "parse.y"
7060 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7063 #line 3150 "parse.y"
7064 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7067 #line 3173 "parse.y"
7069 pedwarn ("ANSI C++ forbids label declarations"); ;
7072 #line 3184 "parse.y"
7074 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7076 tree label = shadow_label (TREE_VALUE (link));
7077 C_DECLARED_LABEL_FLAG (label) = 1;
7078 declare_nonlocal_label (label);
7083 #line 3198 "parse.y"
7087 #line 3204 "parse.y"
7088 { yyval.ttype = begin_compound_stmt (0); ;
7091 #line 3206 "parse.y"
7092 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7095 #line 3211 "parse.y"
7097 yyval.ttype = begin_if_stmt ();
7098 cond_stmt_keyword = "if";
7102 #line 3216 "parse.y"
7103 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7106 #line 3218 "parse.y"
7107 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7110 #line 3223 "parse.y"
7111 { yyval.ttype = begin_compound_stmt (0); ;
7114 #line 3225 "parse.y"
7115 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7118 #line 3230 "parse.y"
7122 #line 3236 "parse.y"
7126 #line 3238 "parse.y"
7127 { finish_expr_stmt (yyvsp[-1].ttype); ;
7130 #line 3240 "parse.y"
7131 { begin_else_clause (); ;
7134 #line 3242 "parse.y"
7136 finish_else_clause (yyvsp[-3].ttype);
7141 #line 3247 "parse.y"
7142 { finish_if_stmt (); ;
7145 #line 3249 "parse.y"
7147 yyval.ttype = begin_while_stmt ();
7148 cond_stmt_keyword = "while";
7152 #line 3254 "parse.y"
7153 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7156 #line 3256 "parse.y"
7157 { finish_while_stmt (yyvsp[-3].ttype); ;
7160 #line 3258 "parse.y"
7161 { yyval.ttype = begin_do_stmt (); ;
7164 #line 3260 "parse.y"
7166 finish_do_body (yyvsp[-2].ttype);
7167 cond_stmt_keyword = "do";
7171 #line 3265 "parse.y"
7172 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7175 #line 3267 "parse.y"
7176 { yyval.ttype = begin_for_stmt (); ;
7179 #line 3269 "parse.y"
7180 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7183 #line 3271 "parse.y"
7184 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7187 #line 3273 "parse.y"
7188 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7191 #line 3275 "parse.y"
7192 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7195 #line 3277 "parse.y"
7196 { begin_switch_stmt (); ;
7199 #line 3279 "parse.y"
7200 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7203 #line 3281 "parse.y"
7204 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7207 #line 3283 "parse.y"
7208 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7211 #line 3286 "parse.y"
7212 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7215 #line 3289 "parse.y"
7216 { finish_case_label (NULL_TREE, NULL_TREE); ;
7219 #line 3292 "parse.y"
7220 { finish_break_stmt (); ;
7223 #line 3294 "parse.y"
7224 { finish_continue_stmt (); ;
7227 #line 3296 "parse.y"
7228 { finish_return_stmt (NULL_TREE); ;
7231 #line 3298 "parse.y"
7232 { finish_return_stmt (yyvsp[-1].ttype); ;
7235 #line 3300 "parse.y"
7237 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7242 #line 3306 "parse.y"
7244 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7249 #line 3312 "parse.y"
7250 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7253 #line 3316 "parse.y"
7254 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7257 #line 3318 "parse.y"
7260 pedwarn ("ANSI C++ forbids computed gotos");
7261 finish_goto_stmt (yyvsp[-1].ttype);
7265 #line 3324 "parse.y"
7266 { finish_goto_stmt (yyvsp[-1].ttype); ;
7269 #line 3326 "parse.y"
7273 #line 3328 "parse.y"
7274 { error ("label must be followed by statement");
7279 #line 3332 "parse.y"
7283 #line 3338 "parse.y"
7285 if (! current_function_parms_stored)
7286 store_parm_decls ();
7287 expand_start_early_try_stmts ();
7291 #line 3344 "parse.y"
7292 { expand_start_all_catch (); ;
7295 #line 3346 "parse.y"
7297 int nested = (hack_decl_function_context
7298 (current_function_decl) != NULL_TREE);
7299 expand_end_all_catch ();
7300 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7304 #line 3356 "parse.y"
7305 { yyval.ttype = begin_try_block (); ;
7308 #line 3358 "parse.y"
7309 { finish_try_block (yyvsp[-1].ttype); ;
7312 #line 3360 "parse.y"
7313 { finish_handler_sequence (yyvsp[-3].ttype); ;
7316 #line 3370 "parse.y"
7317 { yyval.ttype = begin_handler(); ;
7320 #line 3372 "parse.y"
7321 { finish_handler_parms (yyvsp[-1].ttype); ;
7324 #line 3374 "parse.y"
7325 { finish_handler (yyvsp[-3].ttype); ;
7328 #line 3384 "parse.y"
7329 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7332 #line 3400 "parse.y"
7333 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7334 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7335 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7338 #line 3407 "parse.y"
7341 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7342 if (label && ! minimal_parse_mode)
7343 expand_label (label);
7347 #line 3414 "parse.y"
7351 #line 3416 "parse.y"
7355 #line 3418 "parse.y"
7359 #line 3423 "parse.y"
7360 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7363 #line 3426 "parse.y"
7365 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7369 #line 3435 "parse.y"
7370 { emit_line_note (input_filename, lineno);
7371 yyval.ttype = NULL_TREE; ;
7374 #line 3438 "parse.y"
7375 { emit_line_note (input_filename, lineno); ;
7378 #line 3443 "parse.y"
7379 { yyval.ttype = NULL_TREE; ;
7382 #line 3446 "parse.y"
7383 { yyval.ttype = NULL_TREE; ;
7386 #line 3453 "parse.y"
7387 { yyval.ttype = NULL_TREE; ;
7390 #line 3460 "parse.y"
7391 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7394 #line 3465 "parse.y"
7395 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7398 #line 3470 "parse.y"
7399 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7402 #line 3472 "parse.y"
7403 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7406 #line 3483 "parse.y"
7408 yyval.ttype = empty_parms();
7412 #line 3488 "parse.y"
7413 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
7414 TREE_PARMLIST (yyval.ttype) = 1;
7415 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7418 #line 3497 "parse.y"
7420 yyval.ttype = chainon (yyval.ttype, void_list_node);
7421 TREE_PARMLIST (yyval.ttype) = 1;
7425 #line 3502 "parse.y"
7427 TREE_PARMLIST (yyval.ttype) = 1;
7431 #line 3507 "parse.y"
7433 TREE_PARMLIST (yyval.ttype) = 1;
7437 #line 3511 "parse.y"
7439 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7440 TREE_PARMLIST (yyval.ttype) = 1;
7444 #line 3516 "parse.y"
7446 yyval.ttype = NULL_TREE;
7450 #line 3520 "parse.y"
7452 TREE_PARMLIST (yyval.ttype) = 1;
7456 #line 3524 "parse.y"
7458 TREE_PARMLIST (yyval.ttype) = 1;
7462 #line 3528 "parse.y"
7464 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7465 TREE_PARMLIST (yyval.ttype) = 1;
7469 #line 3533 "parse.y"
7471 /* This helps us recover from really nasty
7472 parse errors, for example, a missing right
7474 yyerror ("possibly missing ')'");
7475 yyval.ttype = chainon (yyval.ttype, void_list_node);
7476 TREE_PARMLIST (yyval.ttype) = 1;
7482 #line 3544 "parse.y"
7484 /* This helps us recover from really nasty
7485 parse errors, for example, a missing right
7487 yyerror ("possibly missing ')'");
7488 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
7489 TREE_PARMLIST (yyval.ttype) = 1;
7495 #line 3559 "parse.y"
7496 { maybe_snarf_defarg (); ;
7499 #line 3561 "parse.y"
7500 { yyval.ttype = yyvsp[0].ttype; ;
7503 #line 3572 "parse.y"
7504 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7505 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7508 #line 3575 "parse.y"
7509 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7510 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7513 #line 3578 "parse.y"
7514 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7515 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7518 #line 3581 "parse.y"
7519 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7522 #line 3583 "parse.y"
7523 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7526 #line 3589 "parse.y"
7527 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7528 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7531 #line 3599 "parse.y"
7532 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7533 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7534 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7537 #line 3603 "parse.y"
7538 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7539 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7542 #line 3606 "parse.y"
7543 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7544 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7547 #line 3609 "parse.y"
7548 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7549 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7550 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7553 #line 3613 "parse.y"
7554 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7555 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7556 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7559 #line 3617 "parse.y"
7560 { tree specs = strip_attrs (yyvsp[-1].ttype);
7561 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7562 yyval.ftype.new_type_flag = 0; ;
7565 #line 3624 "parse.y"
7566 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7567 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7570 #line 3627 "parse.y"
7571 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7572 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7575 #line 3638 "parse.y"
7576 { see_typename (); ;
7579 #line 3643 "parse.y"
7581 error ("type specifier omitted for parameter");
7582 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7586 #line 3648 "parse.y"
7588 error ("type specifier omitted for parameter");
7589 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7590 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7591 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7592 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7593 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7597 #line 3660 "parse.y"
7598 { yyval.ttype = NULL_TREE; ;
7601 #line 3662 "parse.y"
7602 { yyval.ttype = yyvsp[-1].ttype; ;
7605 #line 3664 "parse.y"
7606 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7609 #line 3669 "parse.y"
7610 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7613 #line 3675 "parse.y"
7615 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7616 yyval.ttype = yyvsp[0].ttype;
7620 #line 3683 "parse.y"
7621 { yyval.ttype = NULL_TREE; ;
7624 #line 3685 "parse.y"
7625 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7628 #line 3687 "parse.y"
7629 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7632 #line 3689 "parse.y"
7633 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7634 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7638 #line 3696 "parse.y"
7639 { got_scope = NULL_TREE; ;
7642 #line 3701 "parse.y"
7643 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7646 #line 3703 "parse.y"
7647 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7650 #line 3705 "parse.y"
7651 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7654 #line 3707 "parse.y"
7655 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7658 #line 3709 "parse.y"
7659 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7662 #line 3711 "parse.y"
7663 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7666 #line 3713 "parse.y"
7667 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7670 #line 3715 "parse.y"
7671 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7674 #line 3717 "parse.y"
7675 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7678 #line 3719 "parse.y"
7679 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7682 #line 3721 "parse.y"
7683 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7686 #line 3723 "parse.y"
7687 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7690 #line 3725 "parse.y"
7691 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7694 #line 3727 "parse.y"
7695 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7698 #line 3729 "parse.y"
7699 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7702 #line 3731 "parse.y"
7703 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7706 #line 3733 "parse.y"
7707 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7710 #line 3735 "parse.y"
7711 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7714 #line 3737 "parse.y"
7715 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7718 #line 3739 "parse.y"
7719 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7722 #line 3741 "parse.y"
7723 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7726 #line 3743 "parse.y"
7727 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7730 #line 3745 "parse.y"
7731 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7734 #line 3747 "parse.y"
7735 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7738 #line 3749 "parse.y"
7739 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7742 #line 3751 "parse.y"
7743 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7746 #line 3753 "parse.y"
7747 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7750 #line 3755 "parse.y"
7751 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7754 #line 3757 "parse.y"
7755 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7758 #line 3759 "parse.y"
7759 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7762 #line 3761 "parse.y"
7763 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7766 #line 3763 "parse.y"
7767 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7770 #line 3765 "parse.y"
7771 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7774 #line 3768 "parse.y"
7775 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7778 #line 3770 "parse.y"
7779 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7782 /* the action file gets copied in in place of this dollarsign */
7783 #line 498 "/usr/cygnus/latest-940103/share/bison.simple"
7794 short *ssp1 = yyss - 1;
7795 fprintf (stderr, "state stack now");
7796 while (ssp1 != yyssp)
7797 fprintf (stderr, " %d", *++ssp1);
7798 fprintf (stderr, "\n");
7808 yylsp->first_line = yylloc.first_line;
7809 yylsp->first_column = yylloc.first_column;
7810 yylsp->last_line = (yylsp-1)->last_line;
7811 yylsp->last_column = (yylsp-1)->last_column;
7816 yylsp->last_line = (yylsp+yylen-1)->last_line;
7817 yylsp->last_column = (yylsp+yylen-1)->last_column;
7821 /* Now "shift" the result of the reduction.
7822 Determine what state that goes to,
7823 based on the state we popped back to
7824 and the rule number reduced by. */
7828 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7829 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7830 yystate = yytable[yystate];
7832 yystate = yydefgoto[yyn - YYNTBASE];
7836 yyerrlab: /* here on detecting error */
7839 /* If not already recovering from an error, report this error. */
7843 #ifdef YYERROR_VERBOSE
7844 yyn = yypact[yystate];
7846 if (yyn > YYFLAG && yyn < YYLAST)
7853 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7854 for (x = (yyn < 0 ? -yyn : 0);
7855 x < (sizeof(yytname) / sizeof(char *)); x++)
7856 if (yycheck[x + yyn] == x)
7857 size += strlen(yytname[x]) + 15, count++;
7858 msg = (char *) malloc(size + 15);
7861 strcpy(msg, "parse error");
7866 for (x = (yyn < 0 ? -yyn : 0);
7867 x < (sizeof(yytname) / sizeof(char *)); x++)
7868 if (yycheck[x + yyn] == x)
7870 strcat(msg, count == 0 ? ", expecting `" : " or `");
7871 strcat(msg, yytname[x]);
7880 yyerror ("parse error; also virtual memory exceeded");
7883 #endif /* YYERROR_VERBOSE */
7884 yyerror("parse error");
7888 yyerrlab1: /* here on error raised explicitly by an action */
7890 if (yyerrstatus == 3)
7892 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7894 /* return failure if at end of input */
7895 if (yychar == YYEOF)
7900 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7906 /* Else will try to reuse lookahead token
7907 after shifting the error token. */
7909 yyerrstatus = 3; /* Each real token shifted decrements this */
7913 yyerrdefault: /* current state does not do anything special for the error token. */
7916 /* This is wrong; only states that explicitly want error tokens
7917 should shift them. */
7918 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7919 if (yyn) goto yydefault;
7922 yyerrpop: /* pop the current state because it cannot handle the error token */
7924 if (yyssp == yyss) YYABORT;
7934 short *ssp1 = yyss - 1;
7935 fprintf (stderr, "Error: state stack now");
7936 while (ssp1 != yyssp)
7937 fprintf (stderr, " %d", *++ssp1);
7938 fprintf (stderr, "\n");
7944 yyn = yypact[yystate];
7949 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7968 fprintf(stderr, "Shifting error token, ");
7979 #line 3773 "parse.y"
7984 debug_yytranslate (value)
7987 return yytname[YYTRANSLATE (value)];