2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.27
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 263
30 #define RETURN_KEYWORD 279
32 #define ASM_KEYWORD 281
51 #define TYPENAME_KEYWORD 300
53 #define LEFT_RIGHT 302
56 #define DYNAMIC_CAST 305
57 #define STATIC_CAST 306
58 #define REINTERPRET_CAST 307
59 #define CONST_CAST 308
70 #define ARITHCOMPARE 319
73 #define POINTSAT_STAR 322
77 #define MINUSMINUS 326
78 #define HYPERUNARY 327
82 #define EXTERN_LANG_STRING 331
84 #define PRE_PARSED_CLASS_DECL 333
86 #define DEFARG_MARKER 335
87 #define PRE_PARSED_FUNCTION_DECL 336
88 #define TYPENAME_DEFN 337
89 #define IDENTIFIER_DEFN 338
90 #define PTYPENAME_DEFN 339
91 #define END_OF_LINE 340
92 #define END_OF_SAVED_INPUT 341
96 /* Cause the `yydebug' variable to be defined. */
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 const char * const language_string
= "GNU C++";
117 extern struct obstack permanent_obstack
;
119 extern int end_of_file
;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static const char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
132 static void parse_decl
PROTO((tree
, tree
, tree
, int, tree
*));
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. */
145 || current_class_type
!= NULL
)
146 parms
= void_list_node
;
159 flagged_type_tree ftype
;
160 struct pending_inline
*pi
;
164 /* List of types and structure classes of the current declaration. */
165 static tree current_declspecs
;
167 /* List of prefix attributes in effect.
168 Prefix attributes are parsed by the reserved_declspecs and declmods
169 rules. They create a list that contains *both* declspecs and attrs. */
170 /* ??? It is not clear yet that all cases where an attribute can now appear in
171 a declspec list have been updated. */
172 static tree prefix_attributes
;
174 /* When defining an aggregate, this is the kind of the most recent one
175 being defined. (For example, this might be class_type_node.) */
176 static tree current_aggr
;
178 /* When defining an enumeration, this is the type of the enumeration. */
179 static tree current_enum_type
;
181 /* Tell yyparse how to print a token's value, if yydebug is set. */
183 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
184 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
185 extern tree combine_strings
PROTO((tree
));
188 parse_decl (declarator
, specs_attrs
, attributes
, initialized
, decl
)
195 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
196 if (current_declspecs
197 && TREE_CODE (current_declspecs
) != TREE_LIST
)
198 current_declspecs
= build_decl_list (NULL_TREE
, current_declspecs
);
199 if (have_extern_spec
&& !used_extern_spec
)
201 current_declspecs
= decl_tree_cons (NULL_TREE
,
202 get_identifier ("extern"),
204 used_extern_spec
= 1;
206 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
207 attributes
, prefix_attributes
);
213 ggc_add_tree_root (¤t_declspecs
, 1);
214 ggc_add_tree_root (&prefix_attributes
, 1);
215 ggc_add_tree_root (¤t_aggr
, 1);
216 ggc_add_tree_root (¤t_enum_type
, 1);
229 #define YYFLAG -32768
232 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 397)
234 static const char yytranslate
[] = { 0,
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, 110, 2, 2, 2, 83, 71, 2, 93,
239 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
241 65, 76, 66, 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 94, 2, 111, 70, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 59, 69, 109, 89, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
253 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
254 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
255 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
256 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
257 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
258 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
259 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
260 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
261 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
262 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
263 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
264 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
265 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
266 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
267 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
268 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
273 static const short yyprhs
[] = { 0,
274 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
275 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
276 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
277 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
278 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
279 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
280 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
281 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
282 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
283 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
284 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
285 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
286 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
287 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
288 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
289 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
290 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
291 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
292 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
293 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
294 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
295 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
296 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
297 737, 742, 748, 754, 761, 764, 769, 775, 778, 781,
298 788, 792, 796, 800, 802, 806, 809, 813, 818, 820,
299 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
300 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
301 903, 907, 913, 917, 921, 923, 926, 930, 934, 936,
302 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
303 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
304 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
305 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
306 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
307 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
308 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
309 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
310 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
311 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
312 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
313 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
314 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
315 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
316 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
317 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
318 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
319 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
320 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
321 1569, 1570, 1576, 1579, 1582, 1585, 1586, 1587, 1588, 1599,
322 1601, 1602, 1604, 1605, 1607, 1609, 1612, 1615, 1618, 1621,
323 1624, 1627, 1630, 1633, 1636, 1640, 1645, 1649, 1652, 1656,
324 1658, 1659, 1663, 1666, 1669, 1671, 1673, 1674, 1677, 1681,
325 1683, 1688, 1690, 1694, 1696, 1698, 1701, 1704, 1708, 1712,
326 1713, 1715, 1719, 1722, 1725, 1727, 1730, 1733, 1736, 1739,
327 1742, 1745, 1748, 1750, 1753, 1756, 1760, 1763, 1766, 1771,
328 1776, 1779, 1781, 1787, 1792, 1794, 1795, 1797, 1801, 1802,
329 1804, 1808, 1810, 1812, 1814, 1816, 1821, 1826, 1831, 1836,
330 1841, 1845, 1850, 1855, 1860, 1865, 1869, 1872, 1874, 1876,
331 1880, 1882, 1886, 1889, 1891, 1898, 1899, 1902, 1904, 1907,
332 1911, 1915, 1917, 1921, 1923, 1926, 1930, 1934, 1937, 1940,
333 1944, 1946, 1951, 1956, 1960, 1964, 1967, 1969, 1971, 1974,
334 1976, 1978, 1981, 1984, 1986, 1989, 1993, 1997, 2000, 2003,
335 2007, 2009, 2013, 2017, 2020, 2023, 2027, 2029, 2034, 2038,
336 2043, 2047, 2049, 2052, 2055, 2058, 2061, 2064, 2066, 2069,
337 2074, 2079, 2082, 2084, 2086, 2088, 2090, 2093, 2098, 2101,
338 2104, 2107, 2110, 2112, 2115, 2118, 2121, 2124, 2128, 2130,
339 2133, 2137, 2142, 2145, 2148, 2151, 2154, 2157, 2160, 2165,
340 2168, 2170, 2173, 2176, 2180, 2182, 2186, 2189, 2193, 2196,
341 2199, 2203, 2205, 2209, 2214, 2216, 2219, 2223, 2226, 2229,
342 2231, 2235, 2238, 2241, 2243, 2246, 2250, 2252, 2256, 2263,
343 2268, 2273, 2277, 2283, 2287, 2291, 2295, 2298, 2300, 2302,
344 2305, 2308, 2311, 2312, 2314, 2316, 2319, 2323, 2325, 2328,
345 2329, 2333, 2334, 2335, 2341, 2343, 2344, 2347, 2349, 2351,
346 2353, 2356, 2357, 2362, 2364, 2365, 2366, 2372, 2373, 2374,
347 2382, 2383, 2384, 2385, 2386, 2399, 2400, 2401, 2409, 2410,
348 2416, 2417, 2425, 2426, 2431, 2434, 2437, 2440, 2444, 2451,
349 2460, 2471, 2484, 2489, 2493, 2496, 2499, 2501, 2503, 2505,
350 2507, 2509, 2510, 2511, 2518, 2519, 2520, 2526, 2528, 2531,
351 2532, 2533, 2539, 2541, 2543, 2547, 2551, 2554, 2557, 2560,
352 2563, 2566, 2568, 2571, 2572, 2574, 2575, 2577, 2579, 2580,
353 2582, 2584, 2588, 2593, 2595, 2599, 2600, 2602, 2604, 2606,
354 2609, 2612, 2615, 2617, 2620, 2623, 2624, 2628, 2630, 2632,
355 2634, 2637, 2640, 2643, 2648, 2651, 2654, 2657, 2660, 2663,
356 2666, 2668, 2671, 2673, 2676, 2678, 2680, 2681, 2682, 2684,
357 2685, 2690, 2693, 2695, 2697, 2701, 2702, 2706, 2710, 2714,
358 2716, 2719, 2722, 2725, 2728, 2731, 2734, 2737, 2740, 2743,
359 2746, 2749, 2752, 2755, 2758, 2761, 2764, 2767, 2770, 2773,
360 2776, 2779, 2782, 2785, 2789, 2792, 2795, 2798, 2801, 2805,
361 2808, 2811, 2816, 2821, 2825
364 static const short yyrhs
[] = { -1,
365 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
366 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
367 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
368 93, 217, 108, 61, 0, 133, 59, 115, 109, 0,
369 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
370 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
371 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
372 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
373 126, 132, 61, 0, 47, 310, 0, 47, 324, 310,
374 0, 47, 324, 207, 0, 47, 131, 163, 0, 47,
375 324, 163, 0, 47, 324, 131, 163, 0, 0, 47,
376 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
377 55, 0, 207, 0, 310, 0, 324, 310, 0, 324,
378 207, 0, 97, 0, 133, 97, 0, 0, 49, 75,
379 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
380 136, 60, 140, 0, 163, 0, 0, 267, 137, 0,
381 46, 137, 0, 134, 267, 137, 0, 138, 0, 138,
382 65, 223, 0, 388, 0, 388, 65, 202, 0, 139,
383 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
384 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
385 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
386 142, 0, 234, 61, 0, 227, 233, 61, 0, 224,
387 232, 61, 0, 259, 61, 0, 234, 61, 0, 227,
388 233, 61, 0, 224, 232, 61, 0, 227, 61, 0,
389 166, 61, 0, 224, 61, 0, 1, 61, 0, 1,
390 109, 0, 61, 0, 218, 0, 159, 0, 0, 158,
391 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
392 335, 0, 154, 146, 359, 0, 154, 146, 1, 0,
393 0, 315, 5, 93, 150, 379, 108, 297, 391, 0,
394 315, 5, 48, 297, 391, 0, 0, 324, 315, 5,
395 93, 151, 379, 108, 297, 391, 0, 324, 315, 5,
396 48, 297, 391, 0, 0, 315, 179, 93, 152, 379,
397 108, 297, 391, 0, 315, 179, 48, 297, 391, 0,
398 0, 324, 315, 179, 93, 153, 379, 108, 297, 391,
399 0, 324, 315, 179, 48, 297, 391, 0, 224, 221,
400 0, 227, 307, 0, 307, 0, 227, 149, 0, 149,
401 0, 5, 93, 379, 108, 297, 391, 0, 5, 48,
402 297, 391, 0, 179, 93, 379, 108, 297, 391, 0,
403 179, 48, 297, 391, 0, 227, 155, 0, 155, 0,
404 224, 221, 0, 227, 307, 0, 307, 0, 227, 149,
405 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
406 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
407 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
408 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
409 196, 108, 0, 164, 48, 0, 303, 93, 196, 108,
410 0, 303, 48, 0, 317, 93, 196, 108, 0, 317,
411 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
412 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
413 104, 0, 103, 0, 105, 0, 0, 49, 175, 230,
414 61, 167, 176, 0, 0, 49, 175, 224, 221, 168,
415 176, 0, 0, 49, 175, 307, 169, 176, 0, 0,
416 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
417 230, 61, 171, 176, 0, 0, 7, 49, 175, 224,
418 221, 172, 176, 0, 0, 7, 49, 175, 307, 173,
419 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
420 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
421 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
422 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
423 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
424 183, 60, 184, 0, 223, 0, 57, 0, 202, 0,
425 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
426 195, 0, 202, 0, 48, 0, 93, 186, 108, 0,
427 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
428 0, 0, 369, 221, 235, 244, 65, 191, 252, 0,
429 186, 0, 109, 0, 332, 330, 109, 0, 332, 330,
430 1, 109, 0, 332, 1, 109, 0, 0, 59, 194,
431 192, 0, 344, 0, 202, 60, 202, 0, 202, 60,
432 1, 0, 195, 60, 202, 0, 195, 60, 1, 0,
433 202, 0, 195, 0, 212, 0, 118, 201, 0, 81,
434 201, 0, 71, 201, 0, 89, 201, 0, 185, 201,
435 0, 68, 163, 0, 13, 197, 0, 13, 93, 223,
436 108, 0, 29, 197, 0, 29, 93, 223, 108, 0,
437 214, 296, 0, 214, 296, 199, 0, 214, 198, 296,
438 0, 214, 198, 296, 199, 0, 214, 93, 223, 108,
439 0, 214, 93, 223, 108, 199, 0, 214, 198, 93,
440 223, 108, 0, 214, 198, 93, 223, 108, 199, 0,
441 215, 201, 0, 215, 94, 111, 201, 0, 215, 94,
442 186, 111, 201, 0, 34, 201, 0, 35, 201, 0,
443 36, 93, 202, 60, 223, 108, 0, 93, 196, 108,
444 0, 59, 196, 109, 0, 93, 196, 108, 0, 48,
445 0, 93, 230, 108, 0, 65, 252, 0, 93, 223,
446 108, 0, 200, 93, 223, 108, 0, 197, 0, 200,
447 197, 0, 200, 59, 253, 265, 109, 0, 201, 0,
448 202, 84, 202, 0, 202, 85, 202, 0, 202, 79,
449 202, 0, 202, 80, 202, 0, 202, 81, 202, 0,
450 202, 82, 202, 0, 202, 83, 202, 0, 202, 77,
451 202, 0, 202, 78, 202, 0, 202, 74, 202, 0,
452 202, 75, 202, 0, 202, 76, 202, 0, 202, 73,
453 202, 0, 202, 72, 202, 0, 202, 71, 202, 0,
454 202, 69, 202, 0, 202, 70, 202, 0, 202, 68,
455 202, 0, 202, 67, 202, 0, 202, 66, 374, 63,
456 202, 0, 202, 65, 202, 0, 202, 64, 202, 0,
457 62, 0, 62, 202, 0, 89, 389, 163, 0, 89,
458 389, 177, 0, 205, 0, 396, 0, 3, 0, 57,
459 0, 58, 0, 0, 6, 75, 204, 182, 181, 0,
460 396, 75, 204, 182, 181, 0, 49, 163, 75, 182,
461 181, 0, 49, 6, 75, 182, 181, 0, 49, 396,
462 75, 182, 181, 0, 203, 0, 4, 0, 5, 0,
463 209, 0, 245, 209, 0, 203, 0, 81, 208, 0,
464 71, 208, 0, 93, 208, 108, 0, 3, 75, 182,
465 181, 0, 58, 75, 183, 181, 0, 309, 0, 203,
466 0, 210, 0, 93, 208, 108, 0, 203, 0, 10,
467 0, 216, 0, 217, 0, 93, 186, 108, 0, 93,
468 208, 108, 0, 93, 1, 108, 0, 0, 93, 213,
469 336, 108, 0, 203, 93, 196, 108, 0, 203, 48,
470 0, 212, 93, 196, 108, 0, 212, 48, 0, 212,
471 94, 186, 111, 0, 212, 87, 0, 212, 88, 0,
472 41, 0, 9, 93, 196, 108, 0, 313, 0, 51,
473 75, 223, 76, 93, 186, 108, 0, 52, 75, 223,
474 76, 93, 186, 108, 0, 53, 75, 223, 76, 93,
475 186, 108, 0, 54, 75, 223, 76, 93, 186, 108,
476 0, 50, 93, 186, 108, 0, 50, 93, 223, 108,
477 0, 324, 3, 0, 324, 205, 0, 324, 396, 0,
478 312, 0, 312, 93, 196, 108, 0, 312, 48, 0,
479 219, 206, 0, 219, 206, 93, 196, 108, 0, 219,
480 206, 48, 0, 219, 207, 0, 219, 312, 0, 219,
481 207, 93, 196, 108, 0, 219, 207, 48, 0, 219,
482 312, 93, 196, 108, 0, 219, 312, 48, 0, 219,
483 89, 8, 48, 0, 219, 8, 55, 89, 8, 48,
484 0, 219, 1, 0, 40, 0, 324, 40, 0, 39,
485 0, 324, 215, 0, 43, 0, 44, 0, 11, 0,
486 217, 11, 0, 0, 212, 92, 0, 212, 91, 0,
487 230, 232, 61, 0, 224, 232, 61, 0, 227, 233,
488 61, 0, 224, 61, 0, 227, 61, 0, 118, 220,
489 0, 301, 0, 307, 0, 48, 0, 222, 48, 0,
490 228, 328, 0, 298, 328, 0, 230, 328, 0, 228,
491 0, 298, 0, 228, 0, 225, 0, 227, 230, 0,
492 230, 226, 0, 230, 229, 226, 0, 227, 230, 226,
493 0, 227, 230, 229, 0, 227, 230, 229, 226, 0,
494 7, 0, 226, 231, 0, 226, 7, 0, 226, 245,
495 0, 245, 0, 298, 0, 7, 0, 227, 9, 0,
496 227, 7, 0, 227, 245, 0, 245, 0, 230, 0,
497 298, 230, 0, 230, 229, 0, 298, 230, 229, 0,
498 231, 0, 229, 231, 0, 259, 0, 8, 0, 304,
499 0, 28, 93, 186, 108, 0, 28, 93, 223, 108,
500 0, 30, 93, 186, 108, 0, 30, 93, 223, 108,
501 0, 8, 0, 9, 0, 259, 0, 240, 0, 232,
502 60, 236, 0, 241, 0, 233, 60, 236, 0, 242,
503 0, 234, 60, 236, 0, 0, 119, 93, 217, 108,
504 0, 0, 221, 235, 244, 65, 237, 252, 0, 221,
505 235, 244, 0, 0, 244, 65, 239, 252, 0, 244,
506 0, 221, 235, 238, 0, 307, 235, 238, 0, 0,
507 307, 235, 243, 238, 0, 149, 235, 244, 0, 0,
508 245, 0, 246, 0, 245, 246, 0, 31, 93, 93,
509 247, 108, 108, 0, 248, 0, 247, 60, 248, 0,
510 0, 249, 0, 249, 93, 3, 108, 0, 249, 93,
511 3, 60, 196, 108, 0, 249, 93, 196, 108, 0,
512 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
513 250, 60, 163, 0, 0, 65, 252, 0, 202, 0,
514 59, 109, 0, 59, 253, 109, 0, 59, 253, 60,
515 109, 0, 1, 0, 252, 0, 253, 60, 252, 0,
516 94, 202, 111, 252, 0, 163, 63, 252, 0, 253,
517 60, 163, 63, 252, 0, 102, 0, 254, 146, 145,
518 335, 0, 254, 146, 359, 0, 254, 146, 1, 0,
519 0, 256, 255, 147, 0, 101, 202, 107, 0, 101,
520 1, 107, 0, 0, 258, 257, 0, 258, 1, 0,
521 0, 14, 163, 59, 260, 293, 109, 0, 0, 14,
522 59, 261, 293, 109, 0, 14, 163, 0, 14, 322,
523 0, 46, 317, 0, 0, 0, 0, 274, 59, 262,
524 280, 109, 244, 263, 258, 264, 256, 0, 274, 0,
525 0, 60, 0, 0, 60, 0, 37, 0, 267, 7,
526 0, 267, 8, 0, 267, 9, 0, 267, 37, 0,
527 267, 245, 0, 267, 163, 0, 267, 165, 0, 268,
528 59, 0, 268, 63, 0, 267, 315, 163, 0, 267,
529 324, 315, 163, 0, 267, 324, 163, 0, 267, 178,
530 0, 267, 315, 178, 0, 268, 0, 0, 269, 272,
531 275, 0, 270, 275, 0, 267, 59, 0, 273, 0,
532 271, 0, 0, 63, 389, 0, 63, 389, 276, 0,
533 277, 0, 276, 60, 389, 277, 0, 278, 0, 279,
534 389, 278, 0, 317, 0, 303, 0, 38, 389, 0,
535 7, 389, 0, 279, 38, 389, 0, 279, 7, 389,
536 0, 0, 282, 0, 280, 281, 282, 0, 280, 281,
537 0, 38, 63, 0, 283, 0, 282, 283, 0, 284,
538 61, 0, 284, 109, 0, 156, 63, 0, 156, 95,
539 0, 156, 25, 0, 156, 59, 0, 61, 0, 118,
540 283, 0, 134, 283, 0, 134, 224, 61, 0, 224,
541 285, 0, 227, 286, 0, 307, 235, 244, 251, 0,
542 149, 235, 244, 251, 0, 63, 202, 0, 1, 0,
543 227, 155, 235, 244, 251, 0, 155, 235, 244, 251,
544 0, 127, 0, 0, 287, 0, 285, 60, 288, 0,
545 0, 290, 0, 286, 60, 292, 0, 289, 0, 290,
546 0, 291, 0, 292, 0, 301, 235, 244, 251, 0,
547 4, 63, 202, 244, 0, 307, 235, 244, 251, 0,
548 149, 235, 244, 251, 0, 3, 63, 202, 244, 0,
549 63, 202, 244, 0, 301, 235, 244, 251, 0, 4,
550 63, 202, 244, 0, 307, 235, 244, 251, 0, 3,
551 63, 202, 244, 0, 63, 202, 244, 0, 294, 266,
552 0, 266, 0, 295, 0, 294, 60, 295, 0, 163,
553 0, 163, 65, 202, 0, 369, 325, 0, 369, 0,
554 93, 223, 108, 94, 186, 111, 0, 0, 297, 9,
555 0, 9, 0, 298, 9, 0, 93, 196, 108, 0,
556 93, 379, 108, 0, 48, 0, 93, 1, 108, 0,
557 301, 0, 245, 301, 0, 81, 298, 300, 0, 71,
558 298, 300, 0, 81, 300, 0, 71, 300, 0, 323,
559 297, 300, 0, 302, 0, 302, 299, 297, 391, 0,
560 302, 94, 186, 111, 0, 302, 94, 111, 0, 93,
561 300, 108, 0, 315, 314, 0, 314, 0, 314, 0,
562 324, 314, 0, 303, 0, 305, 0, 324, 305, 0,
563 315, 314, 0, 307, 0, 245, 307, 0, 81, 298,
564 306, 0, 71, 298, 306, 0, 81, 306, 0, 71,
565 306, 0, 323, 297, 306, 0, 211, 0, 81, 298,
566 306, 0, 71, 298, 306, 0, 81, 308, 0, 71,
567 308, 0, 323, 297, 306, 0, 309, 0, 211, 299,
568 297, 391, 0, 93, 308, 108, 0, 211, 94, 186,
569 111, 0, 211, 94, 111, 0, 311, 0, 315, 210,
570 0, 315, 207, 0, 315, 206, 0, 315, 203, 0,
571 315, 206, 0, 311, 0, 324, 311, 0, 230, 93,
572 196, 108, 0, 230, 93, 208, 108, 0, 230, 222,
573 0, 4, 0, 5, 0, 177, 0, 316, 0, 315,
574 316, 0, 315, 49, 321, 55, 0, 4, 55, 0,
575 5, 55, 0, 58, 55, 0, 177, 55, 0, 318,
576 0, 324, 318, 0, 319, 163, 0, 319, 177, 0,
577 319, 321, 0, 319, 49, 321, 0, 320, 0, 319,
578 320, 0, 319, 321, 55, 0, 319, 49, 321, 55,
579 0, 4, 55, 0, 5, 55, 0, 177, 55, 0,
580 57, 55, 0, 3, 55, 0, 58, 55, 0, 163,
581 75, 182, 181, 0, 324, 314, 0, 305, 0, 324,
582 305, 0, 315, 81, 0, 324, 315, 81, 0, 55,
583 0, 81, 297, 325, 0, 81, 297, 0, 71, 297,
584 325, 0, 71, 297, 0, 323, 297, 0, 323, 297,
585 325, 0, 326, 0, 94, 186, 111, 0, 326, 94,
586 186, 111, 0, 328, 0, 245, 328, 0, 81, 298,
587 327, 0, 81, 327, 0, 81, 298, 0, 81, 0,
588 71, 298, 327, 0, 71, 327, 0, 71, 298, 0,
589 71, 0, 323, 297, 0, 323, 297, 327, 0, 329,
590 0, 93, 327, 108, 0, 329, 93, 379, 108, 297,
591 391, 0, 329, 48, 297, 391, 0, 329, 94, 186,
592 111, 0, 329, 94, 111, 0, 93, 380, 108, 297,
593 391, 0, 200, 297, 391, 0, 222, 297, 391, 0,
594 94, 186, 111, 0, 94, 111, 0, 343, 0, 331,
595 0, 330, 343, 0, 330, 331, 0, 1, 61, 0,
596 0, 333, 0, 334, 0, 333, 334, 0, 33, 250,
597 61, 0, 336, 0, 1, 336, 0, 0, 59, 337,
598 192, 0, 0, 0, 15, 339, 188, 340, 341, 0,
599 336, 0, 0, 342, 344, 0, 336, 0, 344, 0,
600 220, 0, 186, 61, 0, 0, 338, 16, 345, 341,
601 0, 338, 0, 0, 0, 17, 346, 188, 347, 193,
602 0, 0, 0, 18, 348, 341, 17, 349, 187, 61,
603 0, 0, 0, 0, 0, 19, 350, 93, 372, 351,
604 189, 61, 352, 374, 108, 353, 193, 0, 0, 0,
605 20, 354, 93, 190, 108, 355, 341, 0, 0, 21,
606 202, 63, 356, 343, 0, 0, 21, 202, 12, 202,
607 63, 357, 343, 0, 0, 22, 63, 358, 343, 0,
608 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
609 186, 61, 0, 119, 373, 93, 217, 108, 61, 0,
610 119, 373, 93, 217, 63, 375, 108, 61, 0, 119,
611 373, 93, 217, 63, 375, 63, 375, 108, 61, 0,
612 119, 373, 93, 217, 63, 375, 63, 375, 63, 378,
613 108, 61, 0, 26, 81, 186, 61, 0, 26, 163,
614 61, 0, 371, 343, 0, 371, 109, 0, 61, 0,
615 362, 0, 129, 0, 128, 0, 125, 0, 0, 0,
616 95, 360, 145, 336, 361, 365, 0, 0, 0, 95,
617 363, 336, 364, 365, 0, 366, 0, 365, 366, 0,
618 0, 0, 96, 367, 370, 368, 336, 0, 228, 0,
619 298, 0, 93, 12, 108, 0, 93, 388, 108, 0,
620 3, 63, 0, 57, 63, 0, 4, 63, 0, 5,
621 63, 0, 374, 61, 0, 220, 0, 59, 192, 0,
622 0, 9, 0, 0, 186, 0, 1, 0, 0, 376,
623 0, 377, 0, 376, 60, 377, 0, 11, 93, 186,
624 108, 0, 11, 0, 378, 60, 11, 0, 0, 380,
625 0, 223, 0, 384, 0, 385, 12, 0, 384, 12,
626 0, 223, 12, 0, 12, 0, 384, 63, 0, 223,
627 63, 0, 0, 65, 382, 383, 0, 100, 0, 252,
628 0, 386, 0, 388, 381, 0, 385, 387, 0, 385,
629 390, 0, 385, 390, 65, 252, 0, 384, 60, 0,
630 223, 60, 0, 225, 221, 0, 228, 221, 0, 230,
631 221, 0, 225, 328, 0, 225, 0, 227, 307, 0,
632 388, 0, 388, 381, 0, 386, 0, 223, 0, 0,
633 0, 307, 0, 0, 62, 93, 393, 108, 0, 62,
634 48, 0, 223, 0, 392, 0, 393, 60, 392, 0,
635 0, 81, 297, 394, 0, 71, 297, 394, 0, 323,
636 297, 394, 0, 42, 0, 395, 81, 0, 395, 82,
637 0, 395, 83, 0, 395, 79, 0, 395, 80, 0,
638 395, 71, 0, 395, 69, 0, 395, 70, 0, 395,
639 89, 0, 395, 60, 0, 395, 74, 0, 395, 75,
640 0, 395, 76, 0, 395, 73, 0, 395, 64, 0,
641 395, 65, 0, 395, 77, 0, 395, 78, 0, 395,
642 87, 0, 395, 88, 0, 395, 68, 0, 395, 67,
643 0, 395, 110, 0, 395, 66, 63, 0, 395, 72,
644 0, 395, 91, 0, 395, 84, 0, 395, 48, 0,
645 395, 94, 111, 0, 395, 40, 0, 395, 39, 0,
646 395, 40, 94, 111, 0, 395, 39, 94, 111, 0,
647 395, 369, 394, 0, 395, 1, 0
653 static const short yyrline
[] = { 0,
654 351, 353, 361, 364, 365, 369, 371, 374, 379, 383,
655 389, 393, 396, 400, 403, 405, 407, 410, 412, 415,
656 418, 420, 422, 424, 426, 427, 429, 430, 434, 437,
657 446, 449, 451, 455, 458, 460, 464, 467, 479, 486,
658 494, 496, 497, 499, 503, 506, 512, 515, 517, 522,
659 525, 529, 532, 535, 538, 542, 547, 557, 559, 561,
660 563, 565, 578, 581, 585, 588, 590, 592, 595, 598,
661 602, 604, 606, 608, 613, 615, 617, 619, 621, 622,
662 629, 630, 631, 634, 637, 641, 643, 644, 647, 649,
663 652, 655, 657, 661, 664, 666, 670, 672, 674, 678,
664 680, 682, 686, 688, 690, 696, 700, 703, 706, 709,
665 714, 717, 719, 721, 727, 739, 742, 747, 752, 755,
666 760, 765, 774, 777, 779, 783, 792, 808, 811, 813,
667 814, 817, 824, 830, 832, 834, 836, 838, 841, 844,
668 847, 849, 850, 851, 852, 855, 857, 858, 861, 863,
669 864, 867, 872, 872, 876, 876, 879, 879, 882, 882,
670 886, 886, 891, 891, 894, 894, 897, 899, 902, 909,
671 913, 916, 919, 921, 925, 931, 940, 942, 950, 953,
672 956, 959, 963, 966, 968, 971, 974, 976, 978, 980,
673 984, 987, 990, 995, 999, 1004, 1008, 1011, 1012, 1016,
674 1034, 1040, 1043, 1045, 1046, 1047, 1050, 1054, 1055, 1059,
675 1063, 1066, 1068, 1072, 1075, 1078, 1082, 1085, 1087, 1089,
676 1091, 1094, 1098, 1100, 1103, 1105, 1111, 1114, 1117, 1120,
677 1123, 1128, 1131, 1134, 1138, 1140, 1144, 1148, 1150, 1152,
678 1157, 1160, 1165, 1168, 1170, 1178, 1191, 1196, 1202, 1204,
679 1206, 1219, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236,
680 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256,
681 1258, 1260, 1262, 1266, 1268, 1270, 1287, 1290, 1292, 1293,
682 1294, 1295, 1296, 1299, 1311, 1314, 1318, 1321, 1323, 1328,
683 1330, 1331, 1334, 1336, 1344, 1346, 1348, 1350, 1354, 1357,
684 1361, 1365, 1366, 1367, 1371, 1379, 1380, 1381, 1391, 1393,
685 1396, 1398, 1409, 1414, 1416, 1418, 1420, 1422, 1424, 1426,
686 1429, 1431, 1442, 1443, 1447, 1451, 1455, 1459, 1461, 1465,
687 1467, 1469, 1477, 1479, 1481, 1483, 1487, 1489, 1491, 1493,
688 1498, 1500, 1502, 1504, 1507, 1509, 1511, 1555, 1558, 1562,
689 1565, 1569, 1572, 1577, 1579, 1583, 1592, 1595, 1602, 1608,
690 1612, 1614, 1619, 1621, 1628, 1630, 1634, 1638, 1644, 1648,
691 1651, 1655, 1658, 1668, 1670, 1673, 1677, 1680, 1683, 1686,
692 1689, 1695, 1701, 1703, 1708, 1710, 1728, 1731, 1733, 1736,
693 1742, 1744, 1754, 1758, 1761, 1764, 1769, 1772, 1780, 1782,
694 1784, 1786, 1789, 1792, 1807, 1826, 1829, 1831, 1834, 1836,
695 1840, 1842, 1846, 1848, 1852, 1855, 1859, 1865, 1866, 1878,
696 1884, 1886, 1892, 1897, 1902, 1908, 1909, 1917, 1920, 1924,
697 1927, 1931, 1936, 1939, 1943, 1946, 1948, 1950, 1952, 1959,
698 1961, 1962, 1963, 1967, 1970, 1974, 1977, 1983, 1985, 1988,
699 1991, 1994, 2000, 2003, 2006, 2008, 2010, 2014, 2021, 2027,
700 2032, 2038, 2040, 2045, 2048, 2051, 2053, 2055, 2059, 2063,
701 2068, 2071, 2076, 2079, 2082, 2088, 2090, 2102, 2106, 2111,
702 2135, 2137, 2140, 2142, 2147, 2149, 2151, 2153, 2155, 2157,
703 2161, 2169, 2172, 2174, 2178, 2185, 2191, 2197, 2203, 2213,
704 2219, 2223, 2230, 2258, 2268, 2274, 2277, 2280, 2282, 2286,
705 2288, 2292, 2295, 2299, 2302, 2305, 2307, 2311, 2322, 2336,
706 2337, 2338, 2339, 2342, 2351, 2356, 2362, 2364, 2369, 2371,
707 2373, 2375, 2377, 2379, 2382, 2392, 2399, 2424, 2430, 2433,
708 2436, 2438, 2449, 2454, 2457, 2462, 2465, 2472, 2482, 2485,
709 2492, 2502, 2504, 2507, 2509, 2512, 2519, 2527, 2534, 2540,
710 2546, 2554, 2558, 2563, 2567, 2570, 2575, 2577, 2584, 2586,
711 2589, 2592, 2597, 2601, 2606, 2616, 2619, 2623, 2627, 2636,
712 2639, 2641, 2643, 2649, 2651, 2660, 2663, 2665, 2667, 2669,
713 2673, 2676, 2679, 2681, 2683, 2685, 2689, 2692, 2703, 2713,
714 2715, 2716, 2720, 2728, 2730, 2738, 2741, 2743, 2745, 2747,
715 2751, 2754, 2757, 2759, 2761, 2763, 2767, 2770, 2773, 2775,
716 2777, 2779, 2781, 2788, 2792, 2797, 2801, 2806, 2808, 2812,
717 2815, 2817, 2820, 2822, 2823, 2826, 2828, 2830, 2837, 2848,
718 2854, 2860, 2874, 2876, 2880, 2894, 2896, 2898, 2902, 2908,
719 2921, 2924, 2929, 2942, 2948, 2950, 2951, 2952, 2960, 2965,
720 2974, 2975, 2979, 2982, 2988, 2994, 2997, 2999, 3001, 3003,
721 3007, 3011, 3015, 3018, 3022, 3024, 3033, 3036, 3038, 3040,
722 3042, 3044, 3046, 3048, 3050, 3054, 3058, 3062, 3066, 3068,
723 3070, 3072, 3074, 3076, 3078, 3080, 3082, 3090, 3092, 3093,
724 3094, 3097, 3103, 3105, 3110, 3112, 3115, 3128, 3131, 3134,
725 3138, 3141, 3148, 3150, 3153, 3155, 3157, 3160, 3163, 3166,
726 3169, 3171, 3174, 3178, 3180, 3186, 3188, 3189, 3191, 3196,
727 3198, 3200, 3202, 3204, 3207, 3208, 3210, 3213, 3214, 3217,
728 3217, 3220, 3220, 3223, 3223, 3225, 3227, 3229, 3231, 3237,
729 3243, 3246, 3249, 3255, 3257, 3258, 3261, 3263, 3264, 3265,
730 3267, 3270, 3273, 3276, 3282, 3286, 3288, 3291, 3293, 3296,
731 3300, 3302, 3305, 3307, 3310, 3327, 3335, 3338, 3340, 3342,
732 3346, 3349, 3350, 3358, 3362, 3366, 3369, 3370, 3376, 3379,
733 3382, 3384, 3388, 3393, 3396, 3406, 3411, 3412, 3419, 3422,
734 3425, 3427, 3430, 3432, 3442, 3456, 3460, 3463, 3465, 3469,
735 3473, 3476, 3479, 3481, 3485, 3487, 3494, 3501, 3504, 3508,
736 3512, 3516, 3522, 3526, 3531, 3533, 3536, 3541, 3547, 3558,
737 3561, 3563, 3567, 3575, 3578, 3582, 3585, 3587, 3589, 3595,
738 3600, 3603, 3605, 3607, 3609, 3611, 3613, 3615, 3617, 3619,
739 3621, 3623, 3625, 3627, 3629, 3631, 3633, 3635, 3637, 3639,
740 3641, 3643, 3645, 3647, 3649, 3651, 3653, 3655, 3657, 3659,
741 3661, 3663, 3665, 3668, 3670
746 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
748 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
749 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
750 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
751 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
752 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
753 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
754 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
755 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
756 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
757 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
758 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
759 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
760 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
761 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
762 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
763 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
764 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
765 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
766 "template_type_parm","template_template_parm","template_parm","template_def",
767 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
768 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
769 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
770 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
771 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
772 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
773 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
774 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
775 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
776 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
777 "new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas","notype_unqualified_id",
778 "do_id","template_id","object_template_id","unqualified_id","expr_or_declarator_intern",
779 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
780 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
781 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
782 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
783 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
784 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
785 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
786 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
787 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
788 "@29","@30","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
789 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
790 "named_class_head","@31","unnamed_class_head","class_head","maybe_base_class_list",
791 "base_class_list","base_class","base_class.1","base_class_access_list","opt.component_decl_list",
792 "access_specifier","component_decl_list","component_decl","component_decl_1",
793 "components","notype_components","component_declarator0","component_declarator",
794 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
795 "notype_component_declarator","enumlist_opt","enumlist","enumerator","new_type_id",
796 "cv_qualifiers","nonempty_cv_qualifiers","maybe_parmlist","after_type_declarator_intern",
797 "after_type_declarator","direct_after_type_declarator","nonnested_type","complete_type_name",
798 "nested_type","notype_declarator_intern","notype_declarator","complex_notype_declarator",
799 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
800 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
801 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
802 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
803 "absdcl_intern","absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
804 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
805 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
806 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
807 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
808 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
809 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
810 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
811 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
812 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
816 static const short yyr1
[] = { 0,
817 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
818 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
819 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
820 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
821 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
822 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
823 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
824 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
825 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
826 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
827 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
828 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
829 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
830 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
831 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
832 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
833 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
834 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
835 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
836 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
837 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
838 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
839 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
840 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
841 198, 198, 199, 199, 199, 199, 200, 200, 201, 201,
842 201, 202, 202, 202, 202, 202, 202, 202, 202, 202,
843 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
844 202, 202, 202, 202, 202, 202, 203, 203, 203, 203,
845 203, 203, 203, 204, 205, 205, 206, 206, 206, 207,
846 207, 207, 208, 208, 209, 209, 209, 209, 210, 210,
847 211, 211, 211, 211, 212, 212, 212, 212, 212, 212,
848 212, 213, 212, 212, 212, 212, 212, 212, 212, 212,
849 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
850 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
851 212, 212, 212, 212, 212, 212, 212, 214, 214, 215,
852 215, 216, 216, 217, 217, 218, 219, 219, 220, 220,
853 220, 220, 220, 220, 221, 221, 222, 222, 223, 223,
854 223, 223, 223, 224, 224, 225, 225, 225, 225, 225,
855 225, 226, 226, 226, 226, 226, 227, 227, 227, 227,
856 227, 227, 228, 228, 228, 228, 229, 229, 230, 230,
857 230, 230, 230, 230, 230, 231, 231, 231, 232, 232,
858 233, 233, 234, 234, 235, 235, 237, 236, 236, 239,
859 238, 238, 240, 241, 243, 242, 242, 244, 244, 245,
860 245, 246, 247, 247, 248, 248, 248, 248, 248, 249,
861 249, 249, 249, 250, 250, 251, 251, 252, 252, 252,
862 252, 252, 253, 253, 253, 253, 253, 254, 255, 255,
863 255, 256, 256, 257, 257, 258, 258, 258, 260, 259,
864 261, 259, 259, 259, 259, 262, 263, 264, 259, 259,
865 265, 265, 266, 266, 267, 267, 267, 267, 267, 267,
866 268, 269, 269, 269, 270, 270, 270, 270, 270, 271,
867 272, 271, 271, 273, 274, 274, 275, 275, 275, 276,
868 276, 277, 277, 278, 278, 279, 279, 279, 279, 280,
869 280, 280, 280, 281, 282, 282, 283, 283, 283, 283,
870 283, 283, 283, 283, 283, 283, 284, 284, 284, 284,
871 284, 284, 284, 284, 284, 285, 285, 285, 286, 286,
872 286, 287, 287, 288, 288, 289, 289, 290, 290, 290,
873 290, 291, 291, 292, 292, 292, 293, 293, 294, 294,
874 295, 295, 296, 296, 296, 297, 297, 298, 298, 299,
875 299, 299, 299, 300, 300, 301, 301, 301, 301, 301,
876 301, 302, 302, 302, 302, 302, 302, 303, 303, 304,
877 304, 304, 305, 306, 306, 307, 307, 307, 307, 307,
878 307, 308, 308, 308, 308, 308, 308, 309, 309, 309,
879 309, 309, 309, 310, 310, 311, 311, 312, 312, 313,
880 313, 313, 314, 314, 314, 315, 315, 315, 316, 316,
881 316, 316, 317, 317, 318, 318, 318, 318, 319, 319,
882 319, 319, 320, 320, 320, 320, 320, 320, 321, 322,
883 322, 322, 323, 323, 324, 325, 325, 325, 325, 325,
884 325, 325, 326, 326, 327, 327, 328, 328, 328, 328,
885 328, 328, 328, 328, 328, 328, 328, 329, 329, 329,
886 329, 329, 329, 329, 329, 329, 329, 330, 330, 330,
887 330, 331, 332, 332, 333, 333, 334, 335, 335, 337,
888 336, 339, 340, 338, 341, 342, 341, 343, 343, 344,
889 344, 345, 344, 344, 346, 347, 344, 348, 349, 344,
890 350, 351, 352, 353, 344, 354, 355, 344, 356, 344,
891 357, 344, 358, 344, 344, 344, 344, 344, 344, 344,
892 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
893 344, 360, 361, 359, 363, 364, 362, 365, 365, 367,
894 368, 366, 369, 369, 370, 370, 371, 371, 371, 371,
895 372, 372, 372, 373, 373, 374, 374, 374, 375, 375,
896 376, 376, 377, 378, 378, 379, 379, 379, 380, 380,
897 380, 380, 380, 380, 380, 382, 381, 383, 383, 384,
898 384, 384, 384, 384, 385, 385, 386, 386, 386, 386,
899 386, 386, 387, 387, 388, 388, 389, 390, 390, 391,
900 391, 391, 392, 393, 393, 394, 394, 394, 394, 395,
901 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
902 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
903 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
904 396, 396, 396, 396, 396
907 static const short yyr2
[] = { 0,
908 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
909 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
910 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
911 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
912 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
913 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
914 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
915 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
916 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
917 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
918 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
919 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
920 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
921 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
922 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
923 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
924 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
925 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
926 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
927 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
928 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
929 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
930 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
931 4, 5, 5, 6, 2, 4, 5, 2, 2, 6,
932 3, 3, 3, 1, 3, 2, 3, 4, 1, 2,
933 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
934 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
935 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
936 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
937 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
938 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
939 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
940 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
941 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
942 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
943 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
944 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
945 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
946 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
947 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
948 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
949 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
950 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
951 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
952 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
953 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
954 3, 0, 3, 3, 3, 0, 2, 2, 0, 6,
955 0, 5, 2, 2, 2, 0, 0, 0, 10, 1,
956 0, 1, 0, 1, 1, 2, 2, 2, 2, 2,
957 2, 2, 2, 2, 3, 4, 3, 2, 3, 1,
958 0, 3, 2, 2, 1, 1, 0, 2, 3, 1,
959 4, 1, 3, 1, 1, 2, 2, 3, 3, 0,
960 1, 3, 2, 2, 1, 2, 2, 2, 2, 2,
961 2, 2, 1, 2, 2, 3, 2, 2, 4, 4,
962 2, 1, 5, 4, 1, 0, 1, 3, 0, 1,
963 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
964 3, 4, 4, 4, 4, 3, 2, 1, 1, 3,
965 1, 3, 2, 1, 6, 0, 2, 1, 2, 3,
966 3, 1, 3, 1, 2, 3, 3, 2, 2, 3,
967 1, 4, 4, 3, 3, 2, 1, 1, 2, 1,
968 1, 2, 2, 1, 2, 3, 3, 2, 2, 3,
969 1, 3, 3, 2, 2, 3, 1, 4, 3, 4,
970 3, 1, 2, 2, 2, 2, 2, 1, 2, 4,
971 4, 2, 1, 1, 1, 1, 2, 4, 2, 2,
972 2, 2, 1, 2, 2, 2, 2, 3, 1, 2,
973 3, 4, 2, 2, 2, 2, 2, 2, 4, 2,
974 1, 2, 2, 3, 1, 3, 2, 3, 2, 2,
975 3, 1, 3, 4, 1, 2, 3, 2, 2, 1,
976 3, 2, 2, 1, 2, 3, 1, 3, 6, 4,
977 4, 3, 5, 3, 3, 3, 2, 1, 1, 2,
978 2, 2, 0, 1, 1, 2, 3, 1, 2, 0,
979 3, 0, 0, 5, 1, 0, 2, 1, 1, 1,
980 2, 0, 4, 1, 0, 0, 5, 0, 0, 7,
981 0, 0, 0, 0, 12, 0, 0, 7, 0, 5,
982 0, 7, 0, 4, 2, 2, 2, 3, 6, 8,
983 10, 12, 4, 3, 2, 2, 1, 1, 1, 1,
984 1, 0, 0, 6, 0, 0, 5, 1, 2, 0,
985 0, 5, 1, 1, 3, 3, 2, 2, 2, 2,
986 2, 1, 2, 0, 1, 0, 1, 1, 0, 1,
987 1, 3, 4, 1, 3, 0, 1, 1, 1, 2,
988 2, 2, 1, 2, 2, 0, 3, 1, 1, 1,
989 2, 2, 2, 4, 2, 2, 2, 2, 2, 2,
990 1, 2, 1, 2, 1, 1, 0, 0, 1, 0,
991 4, 2, 1, 1, 3, 0, 3, 3, 3, 1,
992 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
993 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
994 2, 2, 2, 3, 2, 2, 2, 2, 3, 2,
998 static const short yydefact
[] = { 3,
999 12, 12, 5, 0, 4, 0, 281, 633, 634, 0,
1000 388, 400, 578, 0, 11, 0, 0, 0, 10, 485,
1001 840, 0, 0, 0, 168, 665, 282, 283, 83, 0,
1002 0, 827, 0, 45, 0, 0, 13, 25, 0, 27,
1003 8, 0, 16, 15, 89, 110, 86, 0, 635, 172,
1004 302, 279, 303, 611, 0, 375, 0, 374, 393, 0,
1005 413, 392, 430, 399, 0, 500, 501, 507, 506, 505,
1006 480, 387, 600, 401, 601, 108, 301, 622, 598, 0,
1007 636, 576, 0, 0, 280, 81, 82, 179, 639, 179,
1008 640, 179, 284, 168, 141, 142, 143, 144, 145, 471,
1009 473, 0, 661, 0, 474, 0, 0, 0, 0, 142,
1010 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1011 0, 475, 643, 0, 649, 0, 0, 0, 37, 0,
1012 0, 31, 0, 0, 47, 0, 179, 641, 0, 0,
1013 0, 609, 604, 0, 0, 0, 608, 0, 0, 0,
1014 0, 302, 0, 293, 0, 0, 0, 301, 576, 28,
1015 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1016 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1017 0, 428, 0, 0, 446, 87, 79, 642, 582, 0,
1018 0, 576, 80, 0, 0, 0, 106, 0, 409, 365,
1019 591, 366, 597, 0, 576, 390, 389, 78, 109, 376,
1020 0, 411, 391, 107, 382, 406, 407, 377, 395, 397,
1021 386, 408, 0, 75, 431, 486, 487, 488, 489, 504,
1022 150, 149, 151, 491, 492, 173, 498, 490, 0, 0,
1023 493, 494, 507, 827, 503, 476, 579, 394, 0, 425,
1024 634, 0, 663, 172, 626, 627, 623, 603, 637, 0,
1025 602, 599, 0, 875, 871, 870, 868, 850, 855, 856,
1026 0, 862, 861, 847, 848, 846, 865, 854, 851, 852,
1027 853, 857, 858, 844, 845, 841, 842, 843, 867, 859,
1028 860, 849, 866, 0, 863, 773, 393, 774, 836, 284,
1029 281, 578, 306, 354, 0, 0, 0, 0, 0, 350,
1030 348, 321, 352, 353, 0, 0, 0, 0, 0, 282,
1031 283, 275, 0, 0, 187, 186, 0, 188, 189, 0,
1032 0, 190, 0, 0, 180, 181, 0, 249, 0, 252,
1033 185, 305, 216, 0, 0, 307, 308, 0, 183, 372,
1034 393, 373, 628, 333, 323, 0, 0, 0, 0, 179,
1035 0, 483, 469, 0, 662, 660, 0, 191, 192, 0,
1036 0, 0, 435, 3, 21, 29, 657, 653, 654, 656,
1037 658, 655, 141, 142, 143, 0, 144, 145, 645, 646,
1038 650, 647, 644, 0, 291, 292, 290, 625, 624, 33,
1039 32, 49, 0, 158, 0, 0, 393, 156, 0, 0,
1040 605, 607, 0, 606, 142, 143, 277, 278, 297, 0,
1041 615, 296, 0, 614, 0, 304, 282, 283, 0, 0,
1042 0, 295, 294, 619, 0, 0, 12, 0, 168, 9,
1043 9, 70, 0, 65, 0, 0, 71, 74, 0, 427,
1044 429, 122, 93, 127, 762, 0, 85, 84, 92, 125,
1045 0, 0, 123, 88, 0, 803, 215, 0, 214, 798,
1046 821, 0, 372, 393, 373, 0, 797, 799, 828, 810,
1047 0, 0, 621, 0, 0, 830, 0, 0, 589, 584,
1048 0, 588, 0, 0, 0, 0, 0, 576, 428, 0,
1049 77, 0, 576, 596, 0, 379, 380, 0, 76, 428,
1050 384, 383, 385, 378, 398, 415, 414, 179, 495, 499,
1051 497, 0, 502, 508, 0, 396, 428, 576, 94, 0,
1052 0, 0, 0, 576, 100, 577, 610, 634, 664, 172,
1053 0, 0, 864, 869, 395, 576, 576, 0, 576, 874,
1054 179, 0, 0, 223, 0, 225, 238, 239, 0, 0,
1055 0, 0, 0, 0, 276, 222, 219, 218, 220, 0,
1056 0, 0, 0, 0, 305, 0, 0, 0, 217, 177,
1057 178, 299, 0, 221, 0, 0, 250, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
1060 0, 317, 319, 320, 358, 357, 0, 0, 0, 0,
1061 0, 227, 574, 0, 235, 355, 347, 0, 0, 827,
1062 336, 339, 340, 0, 0, 367, 684, 680, 0, 0,
1063 576, 576, 576, 369, 687, 0, 632, 371, 0, 0,
1064 370, 335, 0, 330, 349, 331, 351, 629, 0, 332,
1065 176, 176, 0, 166, 0, 393, 164, 484, 571, 568,
1066 0, 483, 569, 483, 0, 402, 0, 0, 403, 404,
1067 405, 441, 442, 443, 440, 0, 433, 436, 0, 3,
1068 0, 648, 179, 651, 0, 41, 42, 0, 53, 0,
1069 0, 57, 61, 50, 826, 393, 53, 825, 59, 169,
1070 154, 152, 169, 176, 300, 613, 612, 304, 0, 616,
1071 0, 18, 20, 89, 9, 9, 73, 72, 0, 0,
1072 356, 0, 710, 91, 708, 452, 0, 448, 447, 0,
1073 583, 580, 802, 816, 805, 684, 680, 0, 817, 576,
1074 820, 822, 0, 818, 0, 819, 581, 801, 815, 804,
1075 800, 829, 812, 823, 813, 806, 811, 620, 0, 632,
1076 0, 618, 585, 587, 586, 0, 0, 0, 0, 0,
1077 0, 576, 595, 0, 423, 422, 410, 594, 0, 830,
1078 590, 381, 412, 424, 428, 0, 496, 633, 634, 827,
1079 827, 635, 509, 510, 512, 827, 515, 514, 0, 542,
1080 634, 0, 533, 0, 0, 545, 0, 121, 116, 0,
1081 172, 546, 549, 0, 0, 525, 0, 119, 426, 830,
1082 796, 179, 179, 638, 179, 830, 796, 576, 97, 576,
1083 103, 873, 872, 836, 836, 836, 0, 0, 0, 0,
1084 0, 0, 0, 0, 393, 0, 0, 0, 311, 0,
1085 309, 310, 0, 247, 182, 281, 633, 634, 282, 283,
1086 0, 0, 453, 481, 0, 274, 273, 788, 787, 0,
1087 271, 270, 268, 269, 267, 266, 265, 262, 263, 264,
1088 260, 261, 255, 256, 257, 258, 259, 253, 254, 0,
1089 0, 0, 0, 0, 0, 0, 229, 244, 0, 0,
1090 228, 576, 576, 0, 576, 573, 672, 0, 0, 0,
1091 0, 0, 338, 0, 342, 0, 344, 0, 0, 683,
1092 682, 675, 679, 678, 826, 392, 0, 0, 697, 0,
1093 0, 830, 368, 830, 685, 576, 796, 0, 684, 680,
1094 0, 0, 576, 0, 392, 0, 0, 0, 0, 171,
1095 175, 285, 169, 162, 160, 169, 0, 472, 484, 567,
1096 0, 213, 212, 211, 210, 435, 0, 0, 24, 0,
1097 0, 652, 0, 38, 44, 43, 55, 52, 53, 0,
1098 48, 0, 0, 54, 491, 0, 159, 169, 169, 157,
1099 170, 298, 17, 19, 69, 89, 416, 140, 146, 133,
1100 147, 148, 0, 126, 129, 0, 0, 0, 0, 709,
1101 703, 449, 0, 124, 0, 683, 679, 684, 680, 0,
1102 392, 598, 0, 576, 685, 684, 680, 0, 305, 0,
1103 628, 824, 0, 0, 832, 0, 0, 0, 0, 420,
1104 593, 592, 419, 176, 517, 516, 827, 827, 827, 0,
1105 576, 796, 541, 534, 546, 535, 428, 428, 531, 532,
1106 529, 530, 576, 796, 281, 633, 0, 415, 117, 537,
1107 547, 552, 553, 415, 415, 0, 0, 415, 115, 538,
1108 550, 415, 0, 428, 0, 526, 527, 528, 428, 96,
1109 0, 0, 0, 0, 102, 0, 830, 796, 830, 796,
1110 838, 837, 839, 286, 322, 224, 226, 0, 328, 329,
1111 0, 0, 0, 0, 310, 313, 0, 0, 0, 0,
1112 248, 0, 314, 316, 318, 242, 241, 231, 0, 230,
1113 246, 0, 0, 669, 667, 0, 670, 0, 236, 0,
1114 0, 179, 345, 0, 0, 0, 676, 681, 677, 688,
1115 576, 696, 694, 695, 686, 830, 0, 692, 0, 0,
1116 630, 631, 684, 680, 0, 0, 334, 167, 169, 169,
1117 165, 572, 570, 470, 434, 432, 281, 0, 22, 30,
1118 659, 56, 51, 58, 62, 60, 155, 153, 68, 0,
1119 131, 0, 135, 0, 137, 0, 139, 0, 763, 0,
1120 203, 711, 0, 704, 705, 0, 450, 0, 683, 679,
1121 684, 680, 0, 576, 603, 685, 0, 631, 814, 808,
1122 809, 807, 833, 834, 0, 0, 0, 0, 0, 0,
1123 417, 174, 0, 519, 518, 513, 830, 0, 536, 446,
1124 446, 830, 0, 0, 0, 428, 428, 0, 428, 428,
1125 0, 428, 0, 524, 477, 0, 446, 576, 288, 287,
1126 289, 576, 99, 0, 105, 0, 0, 0, 0, 0,
1127 0, 0, 456, 0, 454, 251, 272, 0, 232, 233,
1128 243, 245, 668, 666, 673, 671, 0, 237, 0, 0,
1129 337, 341, 343, 830, 690, 576, 691, 163, 161, 0,
1130 437, 439, 132, 130, 0, 0, 0, 0, 444, 0,
1131 0, 281, 633, 634, 712, 725, 728, 731, 736, 0,
1132 0, 0, 0, 0, 0, 0, 0, 282, 757, 765,
1133 0, 784, 761, 760, 759, 0, 720, 0, 0, 393,
1134 0, 699, 718, 724, 698, 719, 758, 0, 706, 451,
1135 683, 679, 0, 685, 310, 0, 831, 421, 0, 511,
1136 112, 576, 540, 544, 114, 576, 428, 428, 561, 446,
1137 281, 633, 0, 548, 554, 555, 415, 415, 446, 446,
1138 0, 446, 551, 466, 539, 830, 830, 576, 576, 240,
1139 0, 0, 0, 0, 455, 0, 0, 234, 674, 346,
1140 287, 693, 830, 0, 134, 136, 138, 770, 764, 768,
1141 0, 707, 702, 206, 777, 779, 780, 0, 0, 716,
1142 0, 0, 0, 743, 745, 746, 747, 0, 0, 0,
1143 0, 0, 0, 0, 778, 0, 364, 785, 0, 721,
1144 362, 415, 0, 363, 0, 415, 0, 0, 0, 204,
1145 701, 700, 722, 756, 755, 684, 680, 0, 0, 835,
1146 418, 830, 830, 560, 557, 559, 0, 0, 428, 428,
1147 428, 556, 558, 543, 0, 95, 101, 830, 830, 324,
1148 325, 326, 327, 457, 575, 689, 438, 0, 769, 445,
1149 195, 0, 713, 726, 715, 0, 0, 0, 0, 0,
1150 739, 0, 748, 0, 754, 39, 145, 34, 145, 0,
1151 35, 766, 0, 360, 361, 0, 0, 0, 359, 205,
1152 716, 392, 111, 113, 428, 428, 566, 446, 446, 468,
1153 0, 467, 462, 98, 104, 0, 771, 202, 0, 393,
1154 0, 716, 0, 729, 717, 703, 782, 732, 0, 0,
1155 0, 0, 744, 753, 40, 36, 0, 0, 723, 565,
1156 563, 562, 564, 0, 0, 479, 0, 0, 0, 196,
1157 415, 714, 207, 727, 209, 0, 783, 0, 781, 737,
1158 741, 740, 767, 789, 0, 465, 464, 458, 86, 89,
1159 775, 776, 772, 428, 703, 193, 0, 0, 199, 0,
1160 198, 716, 0, 0, 0, 790, 791, 749, 0, 463,
1161 0, 208, 0, 730, 733, 738, 742, 0, 789, 0,
1162 0, 461, 0, 460, 200, 194, 0, 0, 0, 750,
1163 792, 459, 0, 0, 793, 0, 0, 201, 734, 794,
1164 0, 751, 0, 0, 0, 735, 795, 752, 0, 0,
1168 static const short yydefgoto
[] = { 1659,
1169 437, 2, 438, 165, 723, 333, 181, 3, 4, 37,
1170 690, 374, 1343, 691, 816, 1344, 1345, 394, 1443, 695,
1171 41, 817, 403, 701, 987, 702, 703, 704, 43, 172,
1172 173, 44, 456, 184, 180, 45, 46, 831, 1108, 837,
1173 1110, 47, 819, 820, 185, 186, 457, 730, 1014, 1015,
1174 669, 1016, 235, 48, 999, 998, 713, 710, 1180, 1179,
1175 966, 963, 136, 997, 49, 237, 50, 960, 582, 334,
1176 335, 336, 337, 1346, 1608, 1503, 1610, 1549, 1643, 1212,
1177 1584, 1605, 368, 952, 338, 621, 911, 339, 340, 369,
1178 342, 360, 52, 256, 696, 419, 154, 53, 54, 343,
1179 577, 344, 345, 346, 347, 458, 348, 1347, 516, 642,
1180 349, 1348, 56, 218, 472, 350, 219, 485, 220, 198,
1181 211, 60, 499, 517, 1369, 785, 1240, 199, 212, 61,
1182 527, 786, 62, 63, 686, 687, 688, 1320, 463, 873,
1183 874, 1599, 1600, 1576, 1542, 1485, 64, 674, 362, 525,
1184 1394, 1543, 1130, 670, 65, 66, 67, 68, 69, 243,
1185 70, 71, 245, 803, 804, 805, 806, 824, 1095, 825,
1186 826, 827, 1080, 1090, 1081, 1384, 1082, 1083, 1385, 1386,
1187 671, 672, 673, 622, 942, 352, 192, 497, 490, 201,
1188 73, 74, 75, 142, 143, 157, 77, 132, 353, 354,
1189 355, 79, 356, 81, 808, 123, 124, 125, 532, 105,
1190 82, 357, 916, 917, 937, 932, 645, 1351, 1352, 1213,
1191 1214, 1215, 734, 1353, 1021, 1354, 1428, 1552, 1506, 1507,
1192 1355, 1356, 1531, 1429, 1553, 1430, 1586, 1431, 1588, 1637,
1193 1653, 1432, 1612, 1562, 1613, 1512, 459, 731, 1318, 1357,
1194 1446, 1567, 1419, 1420, 1498, 1579, 1551, 1547, 1358, 1558,
1195 1449, 880, 1615, 1616, 1617, 1651, 476, 938, 767, 1044,
1196 1232, 478, 479, 480, 763, 481, 148, 765, 772, 1234,
1200 static const short yypact
[] = { 115,
1201 148,-32768,-32768, 4190,-32768, 65, 43, 397, 464, 77,
1202 149,-32768,-32768, 1260,-32768, 76, 139, 177,-32768,-32768,
1203 -32768, 378, 972, 1788, 250,-32768, 275, 565,-32768, 4300,
1204 4300,-32768, 4980,-32768, 4190, 298,-32768,-32768, 227,-32768,
1205 172, 4878,-32768,-32768, 301, 908, 445, 422, 430,-32768,
1206 -32768,-32768,-32768, 316, 4016,-32768, 6889,-32768, 991, 213,
1207 -32768, 480,-32768,-32768, 2188, 96,-32768, 453,-32768,-32768,
1208 466, 6058,-32768,-32768,-32768, 922,-32768,-32768,-32768, 2259,
1209 -32768,-32768, 163, 9650, 459,-32768,-32768, 11336,-32768, 11336,
1210 -32768, 11336,-32768,-32768,-32768, 397, 464, 275, 495,-32768,
1211 508, 430,-32768, 1035,-32768, 163, 11427, 11427, 488,-32768,
1212 -32768,-32768,-32768,-32768, 483, 528, 681, 705, 784, 547,
1213 579,-32768,-32768, 1411,-32768, 519, 397, 464,-32768, 275,
1214 495,-32768, 1486, 715, 497, 7889, 11336,-32768, 11336, 5725,
1215 4947,-32768,-32768, 2459, 680, 4947,-32768, 1115, 5212, 5212,
1216 4980, 536, 540,-32768, 316, 416, 554, 561,-32768,-32768,
1217 660,-32768, 578,-32768, 5192,-32768,-32768, 250, 3765, 631,
1218 -32768,-32768,-32768, 301, 4833, 12316, 385, 673,-32768,-32768,
1219 656, 480, 750, 112, 323, 698,-32768,-32768,-32768, 8209,
1220 9742,-32768,-32768, 5557, 5557, 6556, 922, 545,-32768,-32768,
1221 544,-32768,-32768, 2649,-32768,-32768,-32768,-32768,-32768, 991,
1222 634,-32768, 480, 922,-32768,-32768,-32768, 1807, 991,-32768,
1223 480,-32768, 4833,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1224 -32768,-32768,-32768, 699,-32768, 430,-32768, 480, 1421, 1496,
1225 -32768,-32768, 453,-32768,-32768,-32768,-32768, 1581, 163,-32768,
1226 775, 1243,-32768, 419,-32768,-32768,-32768,-32768,-32768, 5965,
1227 -32768,-32768, 487,-32768, 708, 749,-32768,-32768,-32768,-32768,
1228 729,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1230 -32768,-32768,-32768, 704,-32768,-32768, 1581, 6058, 1094,-32768,
1231 -32768, 790,-32768,-32768, 12065, 12156, 12247, 12247, 793,-32768,
1232 -32768,-32768,-32768,-32768, 802, 776, 830, 835, 844, 1066,
1233 495, 11518, 1575, 12247,-32768,-32768, 12247,-32768,-32768, 12247,
1234 8485,-32768, 12247, 291, 817,-32768, 12247,-32768, 11609,-32768,
1235 12517, 438, 2003, 5466, 11700,-32768, 886, 281,-32768, 1328,
1236 1726, 5368,-32768, 462,-32768, 3060, 2562, 291, 291, 11336,
1237 7889, 1254,-32768, 1575,-32768,-32768, 813, 864, 3815, 854,
1238 857, 866, 2071, 578,-32768,-32768,-32768,-32768,-32768,-32768,
1239 -32768,-32768, 528, 681, 705, 1575, 784, 547, 863, 579,
1240 -32768, 917,-32768, 3102, 397, 464,-32768,-32768,-32768,-32768,
1241 -32768,-32768, 7944,-32768, 4833, 12384, 702,-32768, 291, 553,
1242 -32768,-32768, 718,-32768, 920, 929,-32768,-32768,-32768, 4947,
1243 -32768,-32768, 4947,-32768, 925,-32768,-32768,-32768, 416, 416,
1244 416,-32768,-32768,-32768, 5965, 88, 932, 934,-32768,-32768,
1245 -32768,-32768, 7889,-32768, 717, 723,-32768,-32768, 660,-32768,
1246 480,-32768,-32768,-32768,-32768, 118,-32768,-32768,-32768,-32768,
1247 9036, 11518,-32768,-32768, 938,-32768, 864, 940, 3815, 238,
1248 3591, 12316, 3591, 4033, 3916, 946,-32768, 199, 7200, 995,
1249 1001, 790,-32768, 945, 470, 132, 7263, 6456,-32768,-32768,
1250 6456,-32768, 6778, 6778, 6556, 7512, 954,-32768, 480, 4833,
1251 -32768, 9833,-32768,-32768, 7045, 1807, 991, 4833,-32768, 480,
1252 -32768,-32768, 480, 1807,-32768, 1049,-32768, 11336, 699,-32768,
1253 -32768, 1421,-32768, 1283, 3084, 1581, 480,-32768,-32768, 1003,
1254 1006, 1028, 1011,-32768,-32768,-32768,-32768, 786,-32768, 485,
1255 994, 998,-32768,-32768, 1581,-32768,-32768, 736,-32768,-32768,
1256 11336, 11518, 8485,-32768, 8485,-32768,-32768,-32768, 11518, 11427,
1257 12429, 12429, 12429, 12429, 12446,-32768,-32768,-32768,-32768, 1005,
1258 11792, 11792, 8485, 1020, 254, 1023, 1052, 1027,-32768,-32768,
1259 -32768,-32768, 11336,-32768, 8576, 8485,-32768, 11518, 11518, 9127,
1260 11518, 11518, 11518, 11518, 11518, 11518, 11518, 11518, 11518, 11518,
1261 11518, 11518, 11518, 11518, 11518, 11518, 11518, 11518, 11518,-32768,
1262 11518,-32768,-32768,-32768,-32768,-32768, 11518, 11518, 11518, 11427,
1263 6696, 434, 449, 9924,-32768,-32768,-32768, 1081, 1243, 1131,
1264 492, 597, 624, 3587, 680,-32768, 610, 610, 5483, 10015,
1265 1050, 1098,-32768,-32768, 772, 10604, 1062,-32768, 899, 163,
1266 -32768,-32768, 11518,-32768,-32768,-32768,-32768,-32768, 196, 459,
1267 -32768,-32768, 291,-32768, 4833, 885,-32768,-32768, 1085,-32768,
1268 1059, 1099,-32768, 1254, 863,-32768, 9400, 9491,-32768,-32768,
1269 -32768,-32768,-32768,-32768,-32768, 184,-32768, 1065, 1068, 578,
1270 3102, 1119, 11336,-32768, 1118,-32768,-32768, 715, 1452, 1144,
1271 231, 1137, 1140,-32768,-32768, 5080, 2188,-32768, 1141,-32768,
1272 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1072, 1100,-32768,
1273 1152,-32768,-32768, 301,-32768,-32768,-32768,-32768, 89, 595,
1274 1155, 1052,-32768,-32768,-32768,-32768, 8391, 12446,-32768, 1113,
1275 -32768,-32768,-32768,-32768,-32768, 2323, 2323, 6121,-32768,-32768,
1276 -32768,-32768, 2649,-32768, 10696,-32768,-32768,-32768,-32768,-32768,
1277 -32768,-32768,-32768, 1001, 1162,-32768,-32768,-32768, 10972, 1098,
1278 678,-32768,-32768,-32768,-32768, 6456, 6456, 7244, 7244, 7512,
1279 899,-32768,-32768, 7045,-32768, 1164,-32768,-32768, 1111, 132,
1280 -32768, 1807,-32768,-32768, 480, 1159,-32768, 681, 705,-32768,
1281 -32768, 579, 1171,-32768,-32768, 337,-32768,-32768, 1650,-32768,
1282 997, 1541,-32768, 11518, 6247,-32768, 6247, 195, 195, 371,
1283 760, 1944, 7449, 91, 3418,-32768, 187, 195,-32768, 132,
1284 7802, 11336, 11336,-32768, 11336, 132, 7802,-32768,-32768,-32768,
1285 -32768,-32768,-32768, 1157, 1157, 1157, 291, 1129, 1132, 1134,
1286 12472, 1142, 1148, 1168, 2601, 1169, 1184, 1191,-32768, 1160,
1287 -32768,-32768, 1167,-32768,-32768, 1206, 1000, 1002, 311, 321,
1288 11518, 1207,-32768, 1217, 1170, 12446, 12446,-32768,-32768, 1221,
1289 7101, 12534, 10130, 12549, 12563, 5619, 3476, 2055, 2055, 2055,
1290 1640, 1640, 1308, 1308, 849, 849, 849,-32768,-32768, 1189,
1291 1194, 1196, 1199, 1197, 1201, 12429, 434,-32768, 9036, 11518,
1292 -32768,-32768,-32768, 11518,-32768,-32768, 1228, 12247, 1215, 1245,
1293 1261, 1294,-32768, 11518,-32768, 11518,-32768, 11518, 2540, 2050,
1294 -32768,-32768, 2050,-32768, 93, 2540, 1247, 1252,-32768, 1240,
1295 12429, 132,-32768, 132, 2986,-32768, 7802, 10106, 10788, 10788,
1296 4654, 1255, 11609, 1258, 1969, 3561, 2562, 936, 1263,-32768,
1297 -32768,-32768,-32768,-32768,-32768,-32768, 11518,-32768, 1575,-32768,
1298 1264,-32768, 12446,-32768, 12446, 2071, 1266, 11883,-32768, 1271,
1299 1311,-32768, 291,-32768,-32768,-32768,-32768,-32768, 1899, 7944,
1300 -32768, 12429, 11336,-32768, 1704, 11518,-32768,-32768,-32768,-32768,
1301 -32768,-32768,-32768,-32768,-32768, 301,-32768,-32768, 528,-32768,
1302 784, 547, 11518, 1324,-32768, 778, 807, 819, 1052,-32768,
1303 69,-32768, 133,-32768, 3358, 3250, 3250, 3491, 3491, 6121,
1304 3784, 144, 2649,-32768, 4207, 10880, 10880, 7678, 182, 1288,
1305 478,-32768, 9036, 8670,-32768, 12429, 1746, 1746, 2980,-32768,
1306 -32768,-32768, 1333,-32768,-32768,-32768,-32768,-32768,-32768, 1671,
1307 -32768, 7802, 12446,-32768, 1625,-32768, 480, 480,-32768,-32768,
1308 -32768,-32768,-32768, 7802, 781, 1082, 11518, 1049,-32768, 1341,
1309 -32768,-32768,-32768, 160, 362, 2259, 680, 598, 195, 1342,
1310 -32768, 687, 1344, 480, 4391,-32768,-32768,-32768, 480,-32768,
1311 1296, 291, 291, 291,-32768, 1305, 132, 7802, 132, 7802,
1312 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 12429,-32768,-32768,
1313 1330, 1334, 1338, 1339, 1072,-32768, 12424, 9036, 8763, 1325,
1314 -32768, 11518,-32768,-32768,-32768,-32768,-32768, 770, 1327,-32768,
1315 -32768, 1335, 330, 1348, 1348, 1322, 1348, 11518,-32768, 12247,
1316 1430, 11336,-32768, 1340, 1345, 1358,-32768,-32768,-32768,-32768,
1317 -32768,-32768,-32768,-32768,-32768, 132, 1359,-32768, 1336, 1969,
1318 -32768,-32768, 4484, 4484, 6385, 4321,-32768,-32768,-32768,-32768,
1319 -32768, 12446,-32768,-32768,-32768,-32768, 235, 1364,-32768,-32768,
1320 -32768,-32768,-32768,-32768,-32768, 12517,-32768,-32768,-32768, 1365,
1321 -32768, 260,-32768, 11518,-32768, 11518,-32768, 11518,-32768, 1575,
1322 -32768,-32768, 8116, 1408,-32768, 8854,-32768, 3784, 3250, 3250,
1323 4545, 4545, 6651,-32768, 518, 4207, 1366, 400,-32768,-32768,
1324 -32768,-32768,-32768,-32768, 252, 4504, 4504, 1938, 1938, 9036,
1325 -32768,-32768, 1283,-32768,-32768,-32768, 132, 1367,-32768, 1380,
1326 1380, 132, 1372, 11518, 11518, 7542, 480, 2218, 480, 480,
1327 966, 480, 2825,-32768,-32768, 4764, 1380,-32768,-32768, 1397,
1328 -32768,-32768,-32768, 1373,-32768, 1375, 1377, 11518, 11518, 11518,
1329 11518, 9036,-32768, 1431,-32768,-32768, 12446, 11518,-32768, 770,
1330 -32768,-32768,-32768,-32768,-32768,-32768, 1382,-32768, 1463, 291,
1331 -32768,-32768,-32768, 132,-32768,-32768,-32768,-32768,-32768, 11518,
1332 -32768,-32768,-32768,-32768, 1404, 1410, 1415, 1433,-32768, 918,
1333 350, 1467, 1136, 1161,-32768,-32768,-32768,-32768,-32768, 11518,
1334 1468, 1471, 1473, 11063, 200, 1575, 697, 795,-32768,-32768,
1335 11154, 1527,-32768,-32768,-32768, 1476,-32768, 5252, 7794, 2745,
1336 5837,-32768,-32768, 1522,-32768,-32768,-32768, 10215,-32768,-32768,
1337 3194, 3194, 899, 3665, 539, 12429,-32768,-32768, 9036,-32768,
1338 -32768,-32768,-32768,-32768,-32768,-32768, 7542, 7542,-32768, 1380,
1339 810, 1216, 11518,-32768,-32768,-32768, 1049, 1049, 1380, 1380,
1340 786, 1380,-32768,-32768,-32768, 132, 132,-32768,-32768,-32768,
1341 1432, 1440, 1451, 1457,-32768, 9036, 1428,-32768,-32768,-32768,
1342 -32768,-32768, 132, 1462,-32768,-32768,-32768,-32768, 1433,-32768,
1343 1575,-32768,-32768,-32768,-32768,-32768,-32768, 824, 824, 1052,
1344 1448, 1480, 7312,-32768,-32768,-32768,-32768, 1520, 11518, 1531,
1345 1509, 1528, 1689, 1696,-32768, 1052,-32768,-32768, 1510,-32768,
1346 -32768, 1049, 951,-32768, 1040, 1049, 11245, 1056, 394,-32768,
1347 -32768,-32768,-32768,-32768,-32768, 3684, 3684, 7027, 3908,-32768,
1348 -32768, 132, 132,-32768,-32768,-32768, 11518, 11518, 7542, 480,
1349 480,-32768,-32768,-32768, 8007,-32768,-32768, 132, 132,-32768,
1350 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1511,-32768,-32768,
1351 -32768, 11427,-32768,-32768,-32768, 1590, 10511, 8300, 11427, 11518,
1352 -32768, 10323,-32768, 1552,-32768,-32768, 1559,-32768, 1528, 1689,
1353 -32768,-32768, 660,-32768,-32768, 11974, 11974, 8945,-32768,-32768,
1354 1052, 3908,-32768,-32768, 7542, 7542,-32768, 1380, 1380,-32768,
1355 9582,-32768,-32768,-32768,-32768, 12371,-32768,-32768, 1514, 442,
1356 4833, 1052, 10417,-32768,-32768, 69,-32768,-32768, 1558, 1518,
1357 12495, 10323,-32768,-32768,-32768,-32768, 1433, 74,-32768,-32768,
1358 -32768,-32768,-32768, 1534, 7352, 1532, 1536, 1542, 1052,-32768,
1359 1049,-32768,-32768,-32768,-32768, 839,-32768, 9218,-32768,-32768,
1360 -32768,-32768, 1433, 1624, 1591,-32768,-32768,-32768, 445, 301,
1361 -32768,-32768,-32768, 480, 69,-32768, 11518, 1597,-32768, 1598,
1362 -32768, 1052, 10323, 1568, 54, 1602,-32768,-32768, 120,-32768,
1363 1586,-32768, 1556,-32768,-32768,-32768,-32768, 11518, 1624, 1608,
1364 1624,-32768, 118,-32768,-32768,-32768, 9309, 1562, 851,-32768,
1365 -32768,-32768, 9036, 1569,-32768, 1673, 1629,-32768,-32768,-32768,
1366 409,-32768, 10417, 1674, 1630,-32768,-32768,-32768, 1695, 1698,
1370 static const short yypgoto
[] = {-32768,
1371 1702,-32768, -331, 1539, -393, 7, 10, 1711,-32768, 1680,
1372 -32768,-32768, 123,-32768, 345,-32768, 414,-32768, 288, 1042,
1373 45, 12,-32768,-32768, -648,-32768,-32768, 751, 56, 1570,
1374 1299, 1584, -718, 158, -170, -19, -27,-32768,-32768,-32768,
1375 -32768,-32768, 935,-32768,-32768,-32768,-32768,-32768,-32768, 557,
1376 721,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1377 -32768,-32768, 1668, -605, 6850, 1526, -36, -622, -334, -23,
1378 1627, -551,-32768, 822,-32768, 342,-32768, -1398,-32768, -1277,
1379 122,-32768, 1386, 1794, -279,-32768, -861, 6377, -272, 1930,
1380 4964, 1478, -339, -82, -38, 1337, -106, -70, 758,-32768,
1381 -32768,-32768, -335,-32768, -156,-32768,-32768, -1275, 136, -343,
1382 2172, 37, 1667, -128, 103, 236, -191, -4, -141, -160,
1383 -167, -3, 108, 29,-32768, -380,-32768,-32768,-32768,-32768,
1384 -32768, 383, 1406, 179,-32768, 809,-32768,-32768, -1038, -93,
1385 1054,-32768,-32768,-32768,-32768,-32768, -30,-32768,-32768,-32768,
1386 -32768,-32768,-32768, 1127, -369,-32768,-32768,-32768,-32768,-32768,
1387 -32768,-32768, 1557,-32768, 559, 745,-32768,-32768,-32768, 711,
1388 -705,-32768,-32768,-32768,-32768,-32768,-32768, 985,-32768, 548,
1389 1149,-32768, 841, 1204, 3119, 59, 1617, 1932, 258,-32768,
1390 -496,-32768, 57, 168, 856, -148, 1143, -97, 5540, 1474,
1391 -32768, 6413, 2880, 1513, -17, -123,-32768, 1706, -60,-32768,
1392 5603, 4117, -445,-32768, 2579, -228,-32768,-32768, 477,-32768,
1393 -32768, 620, 207, -449,-32768,-32768,-32768,-32768, -1395,-32768,
1394 -1207, -1437,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1395 -32768,-32768,-32768,-32768,-32768,-32768, 223,-32768,-32768,-32768,
1396 -32768,-32768, 280, -1357,-32768,-32768, -28,-32768,-32768,-32768,
1397 -32768, -1427, 222,-32768, 221,-32768, -667, -107, 1090,-32768,
1398 -32768,-32768,-32768, -386,-32768, -382, -211,-32768, 761, 489,
1399 -32768, 174,-32768, -232
1403 #define YYLAST 12648
1406 static const short yytable
[] = { 59,
1407 421, 424, 393, 444, 436, 122, 735, 647, 446, 257,
1408 35, 178, 1019, 36, 445, 42, 708, 656, 507, 533,
1409 709, 657, 174, 661, 662, 554, 556, 807, 222, 209,
1410 59, 865, 524, 707, 557, 558, 401, 59, 177, 961,
1411 55, 35, 689, 254, 36, 1140, 42, 724, 169, 433,
1412 398, 567, 210, 42, 568, 299, 526, 569, 994, 587,
1413 579, 1499, 72, 392, 584, 1447, 358, 248, 359, 1555,
1414 103, 55, 625, 257, 714, 715, 512, 515, 175, 297,
1415 1559, 506, 477, 351, 626, 351, 170, 351, 141, 146,
1416 514, 1001, 708, 72, 399, 400, 764, 171, 626, 626,
1417 72, 1210, 351, 351, 743, 545, 57, 1000, 404, 1064,
1418 1560, 1066, 453, 409, -1, 1585, 1629, 88, 732, 1096,
1419 1632, 644, 648, 651, 660, 86, 38, 863, 1093, 794,
1420 647, 407, 351, 257, 351, 1569, 1594, 57, 178, 261,
1421 536, 770, 298, 1462, 176, 441, 829, -2, 209, 174,
1422 1465, 93, 744, 182, 241, 745, 1582, 38, 242, 545,
1423 59, 1630, 365, 1101, 59, 177, 8, 9, 107, 1106,
1424 -356, 210, 405, 87, 454, 169, 733, 1211, -356, 222,
1425 42, 1595, 454, 250, -365, 474, 15, 222, 222, 1611,
1426 197, -597, 1216, 771, 72, 721, 1007, 94, 147, 1094,
1427 864, 55, 95, 110, 111, 175, 455, 420, 423, 1644,
1428 758, 1373, 1374, 170, 455, 1585, 1626, 222, -365, 130,
1429 131, 15, -365, 72, 171, -415, 540, 72, 1395, -302,
1430 163, 108, 1557, 1017, 310, 1499, -597, -597, 406, 58,
1431 225, 1217, 751, 976, 644, 648, 651, 1097, 475, 743,
1432 26, -597, 488, 491, -365, -415, 112, 113, 759, -415,
1433 1008, 760, 1009, 798, 799, 631, 222, 57, 164, 109,
1434 58, 176, 223, 224, -302, -302, 1289, 58, 1587, 1167,
1435 1439, 627, 1020, 301, 395, 396, 10, 162, 628, -295,
1436 990, 977, 729, 248, 1310, 1098, 697, 744, 567, 568,
1437 745, 610, -826, -415, 1563, 261, 991, 1010, 412, 632,
1438 197, 1366, 200, 414, 26, 623, 1011, 1012, 225, 296,
1439 222, 510, 21, 657, 135, 692, 351, 1622, 962, 629,
1440 989, 1005, 1006, 664, 225, 26, 663, 27, 321, 297,
1441 1192, 1476, 1311, 1058, 421, 424, 611, 248, 39, 137,
1442 1482, 1483, 1013, 1484, 1592, 351, 666, 1178, 980, 1367,
1443 1181, -295, 147, 189, 512, 515, 580, 739, 581, 630,
1444 460, 58, 512, -144, 1059, 138, 222, 636, 792, 39,
1445 95, 110, 111, -145, 515, 137, -366, 461, 15, 433,
1446 161, 225, 1197, 1198, 1248, 1069, 533, 665, 706, 225,
1447 58, 210, 298, 515, 58, 1627, 1253, 179, 190, 191,
1448 1423, -304, 178, 261, 700, 462, 225, 40, 301, 72,
1449 -366, 10, 769, 726, -366, 473, -304, 537, 1408, 1070,
1450 -304, 1242, 200, 1071, 112, 113, 114, 1292, 59, 177,
1451 1274, 1195, 1276, 222, 223, 447, 18, -304, 40, 216,
1452 217, 89, 127, 128, 1423, 14, -366, 21, 1424, -304,
1453 -304, 475, -304, 406, -304, 1072, 534, 210, 1654, 183,
1454 248, 90, 427, 428, 706, 222, 222, 648, 20, 175,
1455 200, 908, 187, 222, 188, 610, 429, 23, 821, 636,
1456 8, 538, -304, -304, 796, 222, 430, 818, 909, 1572,
1457 1573, 72, 1530, 26, 32, 130, 131, -304, 431, 652,
1458 18, 535, 1114, 351, 222, 244, 1655, 636, 91, 912,
1459 59, 116, 117, 118, 246, -622, 910, 847, 787, 913,
1460 611, 815, 840, 300, 769, 364, 793, 475, 92, 923,
1461 711, 375, 914, 130, 131, 176, 351, 376, 351, 138,
1462 351, 776, 777, 1004, 653, 351, 855, 855, 855, 855,
1463 1096, 822, 769, 807, 450, -596, 363, 539, 351, 1209,
1464 -622, -622, 402, 1308, 1309, 119, 120, 841, 351, 296,
1465 373, 351, 377, 72, 924, -622, -304, 716, 1055, 1056,
1466 717, 189, 623, 697, 1060, 1008, 58, 1009, 798, 799,
1467 986, 381, 720, 708, 500, 501, 749, 709, 754, 756,
1468 -596, -596, 583, 127, 128, 351, 297, 656, 13, 138,
1469 707, 657, -120, 795, 15, -596, 648, 823, 580, 225,
1470 581, -304, -304, 382, 706, 222, 190, 502, 473, 139,
1471 18, 474, 1010, -295, 925, 1149, -298, 426, 1191, 26,
1472 512, 1011, 1012, -128, -128, 412, -120, 636, 414, 985,
1473 -120, 434, 200, 545, 26, 225, 130, 131, -617, 983,
1474 304, 927, 537, 587, 225, 222, 567, 568, 58, 298,
1475 637, 122, 257, 127, 128, 393, -7, 1013, 351, 926,
1476 638, 225, -120, 508, 509, 930, 933, 475, 1293, 1294,
1477 1157, 1296, 639, 640, 475, 1017, 261, 1157, 215, 216,
1478 217, -118, 1018, 15, 473, 14, 928, 301, 395, 396,
1479 10, 127, 128, 477, 660, 1045, 1157, 164, 200, 477,
1480 200, 200, 18, 448, 101, 378, 130, 131, 20, 127,
1481 128, 129, 115, 706, 773, -118, 807, 23, 449, -118,
1482 474, 26, 452, 773, 1442, 90, 21, 200, 464, 379,
1483 58, 222, 712, 567, 568, 200, 364, 1269, 1270, 1271,
1484 1046, 27, 321, 518, 130, 131, 500, 727, 821, 92,
1485 821, -118, 508, 728, 364, 234, 821, 818, 821, 818,
1486 155, 543, 130, 131, 1078, 1088, 1157, 818, 539, 770,
1487 964, 541, 1157, 32, 1026, 1027, 475, 1073, 1102, 1103,
1488 59, 1104, 59, 475, 544, 1141, 253, 908, 210, 946,
1489 59, 815, 528, 815, 222, 1203, 706, 351, 351, 91,
1490 351, 815, 706, 838, 909, 1199, 1047, 1048, 380, 477,
1491 91, 756, 542, 1254, 389, 1243, 1244, 1245, 433, 92,
1492 561, 822, 1074, 1065, 1205, 88, 296, 1445, 137, 76,
1493 92, 822, 910, 1288, 947, 948, 1207, 529, 417, 137,
1494 1204, 1501, 1477, 72, 473, 72, 583, 1298, 839, 421,
1495 424, 473, 552, 72, 88, 559, 1606, 421, 424, 475,
1496 76, 215, 216, 217, 560, 475, 626, 76, 14, 1206,
1497 1633, 855, 8, 9, 562, 1143, 155, 155, 155, 563,
1498 202, 1208, 214, 1646, 147, 18, 1502, 823, 564, 823,
1499 676, 20, 200, 677, 433, 1067, 1068, 823, 367, 371,
1500 23, 1607, 608, 609, 15, 1099, 855, 693, -415, 8,
1501 9, 1157, 706, 716, 717, 965, 474, 364, 15, 1229,
1502 1231, 720, -415, 155, 477, 130, 131, 1079, 1647, 519,
1503 521, 679, 257, 200, 680, 1411, 477, -415, -415, 127,
1504 1391, 694, 531, 681, 116, 117, 118, 1421, 1422, 253,
1505 1505, -415, -415, 473, 364, 706, -415, 855, 351, 1157,
1506 473, 408, 130, 131, 90, 411, 1522, 215, 216, 217,
1507 477, 700, 477, 92, 14, 475, 770, 930, 933, 475,
1508 500, 1524, 484, 261, 364, 257, 539, 1111, 1112, 1113,
1509 76, 18, 130, 131, 76, 706, 26, 20, 119, 120,
1510 202, 214, 718, 474, 1283, 1285, 23, 1078, 8, 9,
1511 -6, 855, 722, 566, 1061, 741, 539, 742, 475, 254,
1512 58, 91, 58, 757, 89, 768, 91, 706, 821, -825,
1513 58, 783, -142, 433, -143, 766, 473, 818, 579, 706,
1514 -576, 92, 473, -576, 90, 15, 92, 832, 202, 1084,
1515 833, 1505, 834, 364, 675, 835, 1219, 1220, 475, 1062,
1516 59, 130, 131, 685, 1219, 1220, 475, 127, 128, 508,
1517 1525, 815, 1505, 706, 842, 706, 675, 225, 843, 943,
1518 733, 433, 859, 855, 225, 500, 1529, 95, 415, 416,
1519 475, -576, 1285, -576, -576, -184, -576, 861, 1300, 1603,
1520 862, 822, 475, 225, 864, 920, 89, -576, 922, -576,
1521 137, -184, 941, -184, 1255, 943, 1368, 351, 26, 967,
1522 130, 131, 574, 72, -576, -576, 90, 978, 969, 708,
1523 127, 128, 1505, 1578, 546, 536, 475, 968, 475, -576,
1524 706, 98, 113, 982, 547, 158, 979, 1053, 984, -298,
1525 20, 1455, 473, 735, 1018, 1257, 473, 1453, 1405, 1458,
1526 89, 1259, 1260, 412, 414, 1257, 1262, 823, 1426, 1260,
1527 1079, 992, 537, 225, 993, 996, 770, 1002, 1350, 225,
1528 90, 26, 1003, 130, 131, 91, 667, 454, 706, 1341,
1529 1024, 1051, 1342, 1427, 540, 473, 1043, 546, 1050, 821,
1530 1057, 930, 933, 475, 1054, 92, 1115, 547, 818, 1116,
1531 1157, 1117, 797, 1121, 1122, 95, 110, 111, 530, 1119,
1532 155, 155, 155, 567, 568, 1120, 95, 110, 111, 1123,
1533 202, 59, 95, 96, 97, 473, 1124, 1125, -141, 1128,
1534 89, 72, 815, 473, 1126, 1471, 1129, 1131, 1478, 1361,
1535 1362, 475, 773, 1132, 21, 116, 798, 799, 773, 800,
1536 90, 158, 158, 158, 1047, 1048, 1133, 473, 76, 112,
1537 113, 1134, 822, 1157, 1137, 872, 1135, 1136, 1138, 473,
1538 112, 113, 1494, 668, 26, 1349, 98, 99, 100, 222,
1539 801, 1148, 1084, 789, 72, 1150, 202, 752, 202, 202,
1540 58, 127, 128, 1151, 762, 1152, 1350, 26, 158, 119,
1541 120, 1153, 411, 473, 210, 473, 1350, 1341, 225, 921,
1542 1162, 127, 128, 1350, 1160, 202, 536, 1341, 545, 1161,
1543 1342, 855, 1171, 202, 1341, 1172, 1568, 1342, 823, 153,
1544 1177, 1190, 1184, 1186, 574, 636, 574, 421, 424, 1189,
1545 828, 852, 26, 1202, 130, 131, 716, 717, 605, 606,
1546 607, 608, 609, 720, 574, 1228, 225, 1241, 637, 72,
1547 1258, 1263, 26, 1268, 130, 131, 1264, 574, 638, 72,
1548 473, 879, 1272, 383, 384, 385, 72, 225, 912, 988,
1549 639, 640, 1278, 95, 96, 97, 1279, 995, 913, 1620,
1550 1280, 1281, 1295, 1286, 1290, 140, 140, 1299, 156, 902,
1551 1210, 914, 1291, 1349, 461, 919, 1307, 1301, 58, 1250,
1552 1251, -659, 1302, 1349, 383, 384, 385, 872, 473, 386,
1553 1349, 940, 213, 706, 221, 1303, 1306, 387, 388, 364,
1554 238, 1312, 1313, 1365, 1372, 773, 1265, 98, 99, 1376,
1555 1398, 1267, 1399, 1452, 1400, 1452, 422, 425, 301, 395,
1556 396, 10, 1409, 1406, 1480, 1481, 773, 1550, 95, 96,
1557 97, 58, 1350, 1350, 1550, 155, 26, 1350, 387, 388,
1558 1410, 1415, 155, 1341, 1341, 1387, 1342, 1416, 1341, 222,
1559 202, 1342, 1417, 351, 1361, 1362, 475, 21, 1418, 1425,
1560 1434, 1435, 153, 1436, 252, 1448, 1450, 1463, 1495, 1490,
1561 1508, 706, 27, 321, 127, 128, 140, 1491, 1350, 1648,
1562 1052, 140, 98, 99, 156, 156, 156, 1350, 1492, 1341,
1563 298, 202, 1342, 510, 1493, 72, 72, 298, 1341, 1497,
1564 72, 1342, 1509, 376, 32, 467, 58, 95, 110, 111,
1565 1513, 213, 1516, 1550, 776, 777, 58, 451, 216, 217,
1566 1100, 1515, 259, 58, 14, 26, 1105, 130, 131, 487,
1567 487, 496, 1523, 1546, 475, 200, 1554, 200, 1350, 1349,
1568 1349, 72, 1564, 1565, 1349, 221, 259, 20, 1589, 1341,
1569 72, 1580, 1342, 513, 221, 1590, 23, 1075, 1076, 9,
1570 10, 112, 113, 1598, 1614, 158, 158, 158, 1379, 1380,
1571 1596, 1389, 1390, 1601, 1392, 259, 298, 225, 1350, 1602,
1572 1635, 1618, 116, 798, 799, 1349, 259, 1624, 1625, 1341,
1573 1628, 1631, 1342, 1636, 1349, 140, 21, 576, 1640, 1645,
1574 828, 72, 828, 116, 798, 799, 1649, 1085, 1092, 26,
1575 828, 27, 28, 1650, 1657, 1249, 1581, 1077, 1604, 1652,
1576 1658, 95, 110, 111, 1660, 194, 685, 1661, 95, 110,
1577 111, 1, 1163, 473, 1164, 195, 119, 120, 443, 988,
1578 225, 72, 5, 32, 160, 1349, 259, 196, 603, 604,
1579 605, 606, 607, 608, 609, 26, 773, 119, 120, 127,
1580 128, 1520, 981, 216, 217, 1146, 156, 296, 442, 14,
1581 1193, 725, 58, 58, 296, 112, 1517, 58, 440, 8,
1582 9, 259, 112, 1519, 247, 1349, 1619, 1089, 1314, 1474,
1583 1475, 361, 20, -52, 520, 410, 422, 719, -52, 1169,
1584 1504, 23, 574, 636, 1656, 259, 18, 551, 518, -52,
1585 26, 473, 130, 131, 1185, 155, 155, 155, 58, 773,
1586 1023, 127, 128, 155, 155, 155, 637, 58, 970, 523,
1587 26, 1370, 130, 131, 1246, 1266, 638, 1091, 200, 1183,
1588 1393, 213, 221, 511, 216, 217, 1236, 503, 646, 640,
1589 14, 633, 971, 296, 907, 140, 1237, 1461, 140, 391,
1590 422, 425, 129, 1359, 156, 156, 156, 18, 1238, 1642,
1591 140, 1634, 26, 20, 130, 131, 1593, 467, 58, 1284,
1592 1639, 1641, 23, 1042, 1470, 0, 471, 0, 0, 574,
1593 0, 1537, 1538, 1539, 0, 0, 0, 1273, 259, 1275,
1594 0, 0, 0, 0, 0, 0, 0, 213, 0, 221,
1595 411, 0, 0, 0, 0, 0, 0, 0, 58, 576,
1596 158, 576, 0, 487, 0, 0, 487, 158, 496, 496,
1597 496, 95, 110, 111, 451, 226, 227, 228, 422, 860,
1598 487, 513, 221, 0, 0, 451, 0, 1570, 1571, 513,
1599 1085, 0, 576, 0, 0, 259, 1305, 0, 0, 18,
1600 1319, 0, 451, 0, 0, 229, 1284, 467, 0, 0,
1601 0, 8, 9, 0, 0, 0, 1075, 1076, 9, 10,
1602 828, 0, 0, 0, 0, 112, 113, 0, 156, 0,
1603 156, 0, 0, 0, 0, 0, 0, 0, 18, 1297,
1604 0, 301, 127, 128, 10, 0, 156, 156, 156, 0,
1605 0, 0, 954, 468, 0, 21, 1621, 0, 0, 0,
1606 0, 156, 26, 0, 130, 131, 467, 0, 26, 18,
1607 27, 28, 467, 0, 467, 467, 1077, 1371, 1236, 0,
1608 21, 0, 1375, 0, 194, 0, 636, 341, 1237, 341,
1609 0, 341, 0, 26, 195, 27, 321, 0, 0, 0,
1610 1238, 467, 32, 0, 259, 0, 196, 0, 467, 1173,
1611 0, 0, 929, 929, 936, 0, 0, 0, 0, 1174,
1612 612, 955, 0, 127, 128, 1440, 1441, 32, 247, 0,
1613 259, 1175, 640, 0, 1412, 0, 341, 0, 341, 471,
1614 0, 221, 0, 95, 110, 111, 0, 682, 683, 684,
1615 18, 0, 0, 0, 153, 0, 0, 0, 0, 613,
1616 614, 1040, 0, 615, 616, 617, 618, 636, 0, 1401,
1617 1402, 1403, 1404, 0, 26, 954, 130, 131, 0, 1407,
1618 0, 221, 238, 1388, 0, 422, 719, 0, 1388, 469,
1619 637, 828, 0, 0, 0, 489, 492, 112, 113, 0,
1620 638, 601, 602, 603, 604, 605, 606, 607, 608, 609,
1621 467, 1500, 639, 640, 0, 471, 259, 0, 0, 0,
1622 0, 1025, 1025, 1031, 467, 1438, 1486, 1487, 0, 0,
1623 1031, 259, 0, 1518, 1521, 0, 0, 0, 0, 0,
1624 158, 158, 158, 1496, 156, 0, 0, 0, 158, 158,
1625 158, 487, 487, 496, 496, 496, 0, 0, 0, 487,
1626 95, 96, 97, 0, 226, 227, 228, 513, 0, 0,
1627 451, 0, 0, 202, 1456, 202, 0, 0, 0, 0,
1628 0, 0, 0, 0, 155, 0, 0, 0, 18, 0,
1629 1381, 1382, 9, 10, 229, 0, 0, 0, 213, 0,
1630 0, 0, 1533, 1534, 0, 0, 0, 0, 0, 0,
1631 1566, 0, 26, 0, 98, 99, 230, 0, 1544, 1545,
1632 0, 565, 0, 0, 0, 740, 0, 0, 0, 21,
1633 1514, 7, 8, 251, 10, 259, 0, 0, 0, 0,
1634 0, 0, 26, 0, 27, 28, 0, 0, 370, 372,
1635 1383, 0, 0, 155, 155, 155, 422, 860, 194, 341,
1636 231, 232, 233, 259, 0, 467, 0, 0, 195, 0,
1637 21, 0, 0, 0, 0, 471, 32, 252, 0, 467,
1638 196, 467, 471, 467, 0, 27, 28, 0, 0, 0,
1639 0, 0, 0, 1548, 0, 7, 8, 9, 10, 879,
1640 1548, 13, 0, 0, 0, 929, 0, 0, 929, 253,
1641 0, 0, 0, 0, 0, 848, 0, 32, 0, 574,
1642 929, 0, 0, 18, 1170, 1170, 955, 0, 0, 0,
1643 0, 470, 0, 467, 21, 422, 425, 0, 0, 0,
1644 636, 0, 0, 422, 1227, 0, 0, 26, 0, 27,
1645 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1646 738, 469, 0, 746, 238, 0, 0, 0, 467, 0,
1647 0, 0, 0, 747, 900, 0, 202, 0, 0, 1548,
1648 901, 32, 903, 904, 471, 748, 640, 0, 0, 774,
1649 0, 471, 775, 0, 489, 492, 0, 0, 1623, 0,
1650 0, 1025, 1025, 1218, 1218, 1031, 791, 0, 0, 0,
1651 1025, 1218, 1218, 1031, 0, 0, 959, 341, 0, 1638,
1652 0, 0, 1239, 1239, 1239, 0, 0, 0, 879, 0,
1653 0, 7, 127, 128, 10, 0, 0, 0, 259, 0,
1654 259, 0, 451, 451, 0, 0, 0, 0, 0, 0,
1655 341, 469, 0, 0, 0, 0, 0, 0, 851, 0,
1656 0, 0, 0, 0, 0, 0, 0, 471, 0, 451,
1657 21, 0, 578, 471, 451, 0, 0, 252, 0, 0,
1658 422, 719, 341, 0, 738, 27, 28, 876, 877, 0,
1659 881, 882, 883, 884, 885, 886, 887, 888, 889, 890,
1660 891, 892, 893, 894, 895, 896, 897, 898, 899, 253,
1661 469, 0, 0, 127, 128, 259, 469, 32, 469, 469,
1662 0, 0, 0, 0, 0, 0, 0, 0, 422, 719,
1663 0, 0, 0, 0, 654, 8, 9, 10, 0, 0,
1664 18, 0, 0, 0, 705, 469, 0, 0, 1170, 1170,
1665 955, 0, 469, 0, 0, 0, 0, 636, 0, 467,
1666 0, 467, 0, 467, 26, 0, 130, 131, 259, 158,
1667 310, 655, 0, 21, 127, 128, 973, 975, 216, 217,
1668 637, 0, 0, 471, 14, 0, 26, 471, 130, 131,
1669 638, 0, 341, 0, 1025, 1025, 1218, 1218, 1031, 0,
1670 0, 1025, 639, 640, 0, 0, 0, 20, 0, 0,
1671 0, 1239, 1239, 1239, 0, 0, 23, 0, 636, 0,
1672 705, 7, 8, 9, 10, 26, 471, 130, 131, 0,
1673 0, 451, 451, 0, 451, 451, 738, 451, 158, 158,
1674 158, 637, 0, 0, 0, 0, 0, 489, 492, 0,
1675 0, 638, 0, 0, 469, 0, 0, 0, 259, 0,
1676 21, 0, 0, 639, 640, 467, 471, 252, 469, 0,
1677 0, 0, 0, 1142, 471, 27, 28, 774, 775, 489,
1678 492, 0, 0, 0, 0, 791, 0, 1154, 0, 1155,
1679 0, 1156, 0, 0, 849, 0, 850, 0, 471, 253,
1680 0, 853, 854, 856, 857, 858, 0, 32, 0, 0,
1681 471, 0, 0, 1063, 578, 0, 0, 7, 8, 9,
1682 10, 215, 216, 217, 213, 221, 0, 875, 14, 0,
1683 0, 341, 341, 0, 341, 0, 1469, 1469, 0, 1469,
1684 0, 1188, 0, 259, 471, 18, 471, 0, 0, 0,
1685 0, 20, 451, 451, 0, 0, 21, 0, 0, 0,
1686 23, 905, 636, 1040, 0, 0, 0, 0, 0, 26,
1687 1127, 27, 28, 0, 0, 0, 1200, 0, 0, 0,
1688 935, 0, 0, 0, 0, 194, 0, 935, 0, 0,
1689 0, 0, 0, 0, 0, 195, 0, 1381, 127, 128,
1690 10, 0, 0, 32, 0, 0, 0, 1457, 738, 469,
1691 0, 471, 467, 0, 0, 0, 0, 0, 0, 0,
1692 0, 0, 0, 469, 0, 469, 0, 469, 0, 0,
1693 0, 0, 496, 422, 1227, 0, 21, 0, 0, 0,
1694 0, 1469, 1469, 1532, 0, 259, 0, 0, 0, 26,
1695 0, 27, 28, 80, 451, 451, 451, 1383, 0, 471,
1696 0, 0, 0, 104, 0, 30, 1182, 0, 0, 0,
1697 0, 0, 0, 133, 0, 31, 0, 469, 0, 144,
1698 144, 0, 144, 32, 80, 0, 0, 33, 0, 935,
1699 0, 80, 341, 0, 0, 1196, 935, 0, 0, 0,
1700 0, 496, 496, 496, 204, 0, 80, 0, 0, 0,
1701 451, 451, 469, 0, 239, 0, 0, 0, 0, 0,
1702 0, 104, 0, 0, 0, 0, 0, 774, 775, 489,
1703 492, 0, 263, 104, 0, 0, 791, 489, 492, 0,
1704 0, 0, 738, 738, 0, 0, 0, 0, 774, 775,
1705 791, 0, 0, 8, 9, 104, 0, 0, 536, 127,
1706 128, 0, 0, 0, 536, 0, 0, 1315, 0, 1316,
1707 0, 1317, 470, 0, 0, 0, 1256, 0, 470, 451,
1708 18, 0, 0, 133, 0, 80, 18, 0, 0, 144,
1709 144, 0, 0, 0, 413, 144, 0, 0, 144, 144,
1710 144, 0, 0, 636, 26, 0, 130, 131, 0, 0,
1711 26, 0, 130, 131, 80, 0, 0, 0, 80, 0,
1712 1236, 0, 0, 0, 204, 80, 637, 738, 738, 0,
1713 1237, 1287, 301, 8, 9, 10, 638, 0, 0, 0,
1714 0, 0, 1238, 204, 204, 204, 0, 1139, 639, 640,
1715 0, 341, 0, 0, 810, 0, 7, 8, 811, 10,
1716 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1717 0, 21, 204, 1414, 301, 395, 396, 10, 252, 0,
1718 0, 16, 875, 17, 18, 19, 27, 321, 470, 522,
1719 20, -520, 935, 0, 0, 21, 0, 0, 104, 23,
1720 812, 0, 168, 469, 471, 469, 0, 469, 26, 144,
1721 27, 28, 0, 21, 813, 738, 814, 0, 32, 0,
1722 774, 775, 489, 492, 30, 0, 26, 791, 27, 321,
1723 0, 705, 0, 1194, 31, 0, 0, 489, 492, 738,
1724 0, 0, 32, 0, 0, 0, 33, 104, 548, 0,
1725 0, 0, 0, 1377, 1378, 0, 0, 0, 0, 0,
1726 32, 0, -520, 0, 0, 0, 0, 8, 9, 0,
1727 260, 935, 247, 0, 0, 0, 0, 0, 0, 935,
1728 0, 738, 471, 0, 0, 931, 934, 1233, 0, 0,
1729 0, 0, 0, 104, 18, 0, 0, 634, 0, 548,
1730 548, 649, 0, 470, 0, 0, 0, 0, 0, 469,
1731 80, 636, 0, 0, 0, 470, 0, 0, 26, 0,
1732 130, 131, 7, 8, 9, 10, 0, 0, 247, 1433,
1733 0, 0, 0, 0, 1466, 0, 0, 0, 0, 0,
1734 0, 0, 0, 133, 1467, 0, 0, 435, 0, 470,
1735 18, 470, 104, 0, 204, 104, 1468, 640, 0, 1277,
1736 0, 21, 774, 775, 0, 791, 0, 636, 738, 144,
1737 0, 0, 144, 0, 26, 0, 27, 28, 0, 0,
1738 486, 0, 1479, 0, 144, 0, 0, 0, 0, 0,
1739 746, 0, 80, 505, 931, 934, 0, 0, 0, 0,
1740 747, 0, 0, 0, 0, 738, 0, 0, 32, 0,
1741 0, 0, 748, 640, 0, 0, 935, 0, 0, 0,
1742 204, 753, 204, 204, 649, 0, 0, 0, 753, 0,
1743 7, 8, 9, 10, 0, 0, 204, 204, 0, 0,
1744 204, 0, 204, 204, 204, 781, 0, 0, 0, 204,
1745 0, 0, 0, 0, 204, 0, 469, 204, 18, 0,
1746 0, 0, 0, 0, 935, 0, 0, 489, 492, 21,
1747 0, 0, 0, 0, 80, 636, 1535, 1536, 0, 0,
1748 0, 0, 26, 0, 27, 28, 0, 0, 810, 0,
1749 7, 8, 811, 10, 167, 12, 13, 0, 746, 0,
1750 0, 14, 0, 0, 0, 0, 0, 0, 747, 1561,
1751 104, 104, 104, 104, 0, 16, 32, 17, 18, 19,
1752 748, 640, 0, 0, 20, -521, 0, 489, 492, 21,
1753 0, 0, 0, 23, 812, 0, 168, 0, 0, 0,
1754 1575, 0, 26, 0, 27, 28, 0, 0, 813, 0,
1755 814, 0, 0, 0, 0, 0, 0, 0, 30, 0,
1756 0, 0, 0, 7, 8, 9, 10, 0, 31, 13,
1757 104, 0, 548, 0, 0, 0, 32, 0, 1158, 0,
1758 33, 1159, 0, 0, 634, 0, 548, 548, 649, 0,
1759 0, 18, 0, 1165, 0, 956, -521, 931, 934, 958,
1760 0, 0, 21, 0, 0, 0, 0, 1233, 636, 0,
1761 0, 0, 0, 0, 204, 26, 0, 27, 28, 598,
1762 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
1763 609, 1028, 0, 301, 8, 9, 10, 0, 0, 0,
1764 133, 1029, 738, 0, 0, 0, 0, 133, 0, 32,
1765 0, 0, 0, 1030, 640, 204, 239, 0, 0, 301,
1766 127, 128, 10, 7, 8, 9, 10, 0, 0, 0,
1767 0, 0, 21, 0, 1158, 1159, 931, 934, 0, 252,
1768 0, 0, 0, 1165, 931, 934, 784, 27, 321, 0,
1769 0, 790, 0, 0, 0, 204, 204, 1033, 21, 0,
1770 0, 0, 21, 0, 1033, 252, 0, 0, 636, 935,
1771 0, 253, 0, 27, 321, 26, 830, 27, 28, 32,
1772 0, 0, 836, 0, 0, 204, 204, 781, 781, 781,
1773 0, 746, 0, 204, 844, 845, 0, 846, 8, 9,
1774 0, 747, 0, 536, 0, 32, 0, 0, 0, 32,
1775 0, 0, 0, 748, 640, 0, 0, 8, 9, 0,
1776 0, 133, 13, 0, 80, 18, 80, 0, 0, 578,
1777 0, 1086, 80, 0, 80, 0, 0, 0, 0, 0,
1778 104, 0, 636, 0, 18, 0, 104, 705, 0, 26,
1779 0, 130, 131, 548, 548, 548, 0, 0, 0, 0,
1780 0, 636, 0, 0, 548, 1466, 0, 0, 26, 0,
1781 130, 131, 0, 0, 0, 1467, 0, 0, 0, 0,
1782 0, 931, 934, 0, 1466, 0, 0, 1468, 640, 0,
1783 944, 945, 0, 0, 1467, 944, 0, 7, 8, 9,
1784 10, 167, 12, 13, 0, 0, 1468, 640, 14, 0,
1785 0, 0, 0, 0, 0, 104, 301, 8, 9, 10,
1786 0, 0, 16, 0, 17, 18, 19, 1158, 1159, 931,
1787 934, 20, 0, 0, 1165, 0, 21, 0, 548, 548,
1788 23, 0, 548, 168, 18, 548, 0, 0, 0, 26,
1789 104, 27, 28, 0, 548, 21, 104, 0, 956, 956,
1790 956, 636, 0, 0, 548, 30, 1176, 0, 26, 0,
1791 27, 321, 0, 0, 0, 31, 0, 0, 0, 0,
1792 0, 0, 0, 32, 1221, 0, 0, 33, 0, 0,
1793 0, 34, 0, 0, 1222, 0, 0, 0, 1035, 104,
1794 0, 104, 32, 0, 678, 0, 1223, 640, 588, 589,
1795 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
1796 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
1797 1049, 0, 0, 0, 204, 204, 204, 204, 204, 1033,
1798 781, 8, 9, 0, 204, 1033, 1033, 1033, -387, 8,
1799 9, -387, -387, 12, 247, 104, 781, 781, 781, 14,
1800 0, 0, 0, 0, 0, 0, 0, 0, 18, 1158,
1801 1159, 104, 1165, 16, 1086, 17, -387, 0, 0, 0,
1802 0, 0, 20, 104, 0, 636, 1107, -387, 1109, 0,
1803 0, 23, 26, 636, 130, 131, 1261, 0, 0, 0,
1804 26, 0, 130, 131, 80, 0, 0, 0, 1466, 0,
1805 0, 0, 0, 0, 0, 0, 637, 104, 1467, 104,
1806 0, 0, 0, 0, 0, 0, 638, 104, 0, 0,
1807 1468, 640, 0, 0, -387, 0, 0, 0, 639, 640,
1808 0, 0, 0, 0, 0, 0, 0, 0, 7, 8,
1809 9, 10, 0, 548, 548, 0, 548, 0, 0, 0,
1810 1144, 1145, 0, 1147, 0, 7, 8, 9, 10, 215,
1811 216, 217, 0, 0, 931, 934, 14, 0, 0, 548,
1812 0, 0, 548, 548, 649, 0, 0, 21, 0, 0,
1813 0, 0, 0, 18, 1166, 0, 0, 0, 0, 20,
1814 26, 0, 27, 28, 21, 0, 193, 0, 23, 0,
1815 636, 0, 0, 0, 0, 0, 194, 26, 0, 27,
1816 28, 0, 0, 0, 0, 0, 195, 781, 204, 204,
1817 781, 781, 1363, 746, 32, 204, 0, 0, 196, 0,
1818 0, 0, 0, 747, 0, 781, 781, 781, 781, 0,
1819 83, 32, 0, 0, 0, 755, 640, 0, 0, 0,
1820 106, 0, 0, 0, 0, 0, 0, 204, 0, 126,
1821 134, 0, 144, 0, 0, 80, 145, 145, 0, 145,
1822 0, 83, 1226, 0, 0, 0, 0, 0, 83, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 145, 0, 83, 0, 0, 0, 0, 0, 1247,
1825 0, 240, 0, 0, 0, 0, 0, 0, 249, 0,
1826 6, 1252, 7, 8, 9, 10, 11, 12, 13, 0,
1827 249, 0, 0, 14, 0, 0, 0, 0, 0, 7,
1828 8, 9, 10, 0, 0, 536, 15, 16, 0, 17,
1829 18, 19, 0, 0, 0, 0, 20, 204, 753, 204,
1830 0, 21, 0, 0, 22, 23, 24, 18, 25, 0,
1831 781, 781, 0, 781, 26, 104, 27, 28, 21, 0,
1832 29, 0, 83, 0, 636, 0, 145, 145, 0, 0,
1833 30, 26, 145, 27, 28, 145, 145, 145, 0, 0,
1834 31, 0, 0, 0, 0, 0, 0, 746, 32, 1304,
1835 0, 83, 33, 0, 0, 83, 34, 747, 0, 0,
1836 0, 145, 83, 0, 0, 32, 0, 0, 0, 748,
1837 640, 0, 7, 127, 128, 10, 0, 0, 13, 0,
1838 145, 145, 145, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 301, 8, 9, 10, 0, 0, 0,
1840 18, 0, 0, 0, 0, 0, 1033, 0, 0, 145,
1841 0, 21, 1364, 0, 0, 781, 781, 1363, 781, 0,
1842 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
1843 0, 0, 21, 0, 0, 0, 0, 0, 0, 252,
1844 30, 0, 0, 0, 0, 0, 145, 27, 321, 0,
1845 31, 0, 0, 0, 0, 0, 1396, 0, 32, 0,
1846 1397, 810, 33, 7, 8, 811, 10, 167, 12, 13,
1847 0, 539, 0, 0, 14, 1033, 1033, 1033, 0, 32,
1848 0, 781, 0, 0, 249, 145, 0, 0, 16, 0,
1849 17, 18, 19, 0, 1413, 104, 0, 20, -523, 0,
1850 204, 0, 21, 0, 0, 0, 23, 812, 0, 168,
1851 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1852 0, 813, 0, 814, 0, 0, 0, 0, 0, 0,
1853 249, 30, 0, 0, 635, 0, 145, 145, 650, 0,
1854 0, 31, 0, 659, 0, 0, 0, 83, 0, 32,
1855 0, 0, 0, 33, 0, 0, 301, 127, 128, 10,
1856 1472, 0, 13, 0, 1473, 0, 0, 0, 0, -523,
1857 0, 0, 0, 0, 0, 0, 0, 8, 9, 0,
1858 698, 0, 13, 0, 18, 0, 1488, 1489, 0, 249,
1859 0, 145, 249, 0, 0, 21, 0, 0, 0, 0,
1860 0, 636, 0, 0, 18, 0, 145, 0, 26, 145,
1861 27, 321, 0, 0, 0, 0, 0, 301, 8, 9,
1862 10, 145, 0, 13, 1173, 0, 0, 0, 26, 83,
1863 130, 131, 0, 0, 1174, 0, 0, 0, 0, 0,
1864 0, 0, 32, 0, 1236, 18, 1175, 640, 0, 0,
1865 0, 0, 0, 0, 1237, 0, 21, 145, 650, 145,
1866 145, 650, 636, 0, 0, 650, 1238, 0, 0, 26,
1867 0, 27, 321, 145, 145, 0, 0, 145, 0, 145,
1868 145, 145, 145, 0, 0, 1221, 145, 0, 0, 0,
1869 0, 145, 0, 0, 145, 1222, 0, 0, 0, 0,
1870 0, 0, 0, 32, 0, 0, 0, 1223, 640, 0,
1871 809, 83, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 570, 0, 301, 8, 9, 10,
1873 167, 12, 302, 303, 304, 466, 305, 14, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 249, 249, 249,
1875 249, 16, 306, 17, 18, 19, 0, 307, 308, 309,
1876 20, 0, 310, 311, 312, 21, 313, 314, 0, 23,
1877 0, 636, 0, 315, 316, 317, 318, 319, 26, 0,
1878 27, 321, -312, 0, 0, 322, 0, 0, 0, 0,
1879 0, 323, 0, 0, 949, 0, 0, 0, 0, 0,
1880 0, 0, 325, 326, 950, 0, 0, 249, 0, 145,
1881 328, 329, 330, 0, 0, 0, 951, 640, 0, 0,
1882 0, 0, 0, 145, 145, 650, 0, 0, 0, 0,
1883 0, 0, 957, 332, 810, 0, 7, 8, 811, 10,
1884 167, 12, 13, 0, 0, 659, 0, 14, 0, 0,
1885 0, 145, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 16, 0, 17, 18, 19, 0, 0, 0, 0,
1887 20, -522, 0, 0, 0, 21, 0, 698, 0, 23,
1888 812, 0, 168, 0, 0, 126, 0, 0, 26, 0,
1889 27, 28, 145, 240, 813, 0, 814, 0, 0, 0,
1890 0, 0, 0, 0, 30, 7, 8, 9, 10, 0,
1891 0, 0, 0, 0, 31, 0, 809, 0, 0, 0,
1892 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
1893 0, 0, 145, 145, 650, 0, 0, 0, 0, 0,
1894 0, 957, -522, 0, 21, 0, 0, 0, 166, 0,
1895 7, 8, 9, 10, 167, 12, 13, 26, 0, 27,
1896 28, 14, 145, 145, 145, 145, 145, 0, 0, 0,
1897 145, 0, 0, 194, 0, 16, 0, 17, 18, 19,
1898 0, 0, 0, 195, 20, 0, 0, 0, 0, 21,
1899 0, 32, 0, 23, 0, 196, 168, 0, 134, 0,
1900 0, 83, 26, 83, 27, 28, 0, 0, 1087, 83,
1901 0, 83, 0, 0, 0, 0, 0, 249, 30, 7,
1902 127, 128, 10, 249, 0, 247, 0, 0, 31, 0,
1903 145, 145, 145, 0, 0, 0, 32, 51, 0, 0,
1904 33, 145, 0, 0, 34, 0, 0, 18, 0, 0,
1905 0, 0, 7, 127, 128, 10, 0, 0, 21, 0,
1906 0, 0, 0, 51, 51, 0, 152, 0, 51, 0,
1907 0, 26, 0, 27, 28, 51, 0, 0, 0, 0,
1908 18, 0, 0, 0, 0, 0, 0, 30, 51, 0,
1909 51, 21, 249, 0, 0, 0, 0, 31, 0, 0,
1910 0, 0, 0, 0, 26, 32, 27, 28, 0, 33,
1911 0, 0, 0, 255, 0, 145, 145, 0, 0, 145,
1912 149, 0, 145, 0, 0, 0, 0, 249, 0, 0,
1913 150, 145, 0, 249, 0, 957, 957, 957, 32, 0,
1914 0, 145, 151, 659, 0, 0, 0, 0, 0, 0,
1915 0, 0, 7, 8, 9, 10, 215, 216, 217, 0,
1916 0, 0, 0, 14, 0, 0, 397, 397, 0, 51,
1917 0, 0, 0, 51, 51, 0, 249, 255, 249, 51,
1918 18, 0, 152, 152, 152, 0, 20, 0, 0, 432,
1919 0, 21, 0, 0, 0, 23, 0, 636, 51, 0,
1920 0, 0, 51, 0, 26, 0, 27, 28, 51, 51,
1921 0, 145, 145, 145, 145, 145, 650, 145, 0, 0,
1922 746, 145, 957, 957, 957, 0, 0, 51, 51, 152,
1923 747, 0, 249, 145, 145, 145, 0, 255, 32, 0,
1924 0, 0, 748, 640, 0, 0, 809, 0, 249, 0,
1925 0, 1087, 0, 0, 0, 0, 51, 0, 0, 0,
1926 249, 0, 6, 0, 7, 8, 9, 10, 11, 12,
1927 13, 0, 0, 0, 0, 14, 0, 0, 0, 0,
1928 0, 83, 0, 0, 7, 127, 128, 10, 0, 16,
1929 13, 17, 18, 51, 249, 0, 249, 0, 20, 0,
1930 0, 0, 0, 21, 249, 0, 0, 23, 0, 0,
1931 439, 0, 18, 0, 0, 0, 26, 0, 27, 28,
1932 0, 0, 29, 21, 7, 8, 9, 10, 0, 0,
1933 145, 145, 30, 145, 0, 0, 26, 0, 27, 28,
1934 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
1935 32, 0, 149, 0, 33, 0, 145, 0, 0, 145,
1936 145, 650, 150, 21, 575, 0, 0, 0, 0, 0,
1937 32, 0, 0, 0, 151, 0, 26, 0, 27, 28,
1938 0, 397, 1451, 0, 0, 0, 0, 0, 809, 255,
1939 0, 0, 194, 0, 51, 0, 0, 0, 0, 0,
1940 0, 0, 195, 0, 145, 145, 145, 145, 145, 650,
1941 32, 0, 145, 0, 196, 0, 0, 0, 0, 0,
1942 0, 0, 145, 145, 145, 145, 0, 397, 0, 809,
1943 0, 0, 0, 0, 0, 0, 0, 0, 51, 0,
1944 0, 8, 9, 0, 145, 12, 247, 0, 0, 145,
1945 0, 14, 83, 51, 0, 0, 51, 0, 0, 0,
1946 0, 0, 432, 432, 432, 16, 0, 17, 51, 0,
1947 0, 0, 0, 0, 20, 0, 51, 0, 0, 0,
1948 0, 0, 0, 23, 0, 636, 0, 0, 0, 0,
1949 0, 0, 26, 0, 130, 131, 0, 0, 0, 0,
1950 0, 0, 0, 0, 51, 51, 51, 51, 637, 0,
1951 0, 0, 51, 0, 0, 0, 0, 0, 638, 0,
1952 51, 51, 0, 1444, 51, 0, 152, 152, 152, 432,
1953 639, 640, 0, 51, 145, 650, 145, 0, 51, 8,
1954 9, 51, 0, 12, 13, 0, 0, 145, 145, 14,
1955 145, 0, 249, 0, 0, 0, 8, 9, 51, 167,
1956 12, 13, 0, 16, 466, 17, 14, 0, 0, 0,
1957 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
1958 16, 23, 17, 18, 0, 0, 575, 0, 575, 20,
1959 26, 0, 130, 131, 619, 0, 0, 0, 23, 0,
1960 636, 0, 0, 0, 575, 575, 575, 26, 0, 130,
1961 131, 0, 0, 78, 0, 0, 0, 0, 0, 575,
1962 0, 0, 0, 637, 0, 0, 0, 0, 620, 7,
1963 8, 9, 10, 638, 0, 13, 0, 0, 0, 78,
1964 78, 0, 78, 957, 78, 639, 640, 0, 0, 0,
1965 0, 78, 145, 145, 650, 145, 0, 18, 0, 0,
1966 0, 0, 0, 0, 78, 0, 78, 255, 21, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 575,
1968 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 194, 51, 0,
1970 0, 0, 0, 0, 0, 159, 0, 195, 0, 0,
1971 0, 0, 957, 957, 957, 32, 0, 0, 145, 196,
1972 0, 0, 0, 0, 397, 0, 0, 205, 0, 0,
1973 0, 397, 249, 0, 0, 0, 0, 145, 0, 51,
1974 0, 0, 0, 0, 0, 78, 0, 0, 0, 78,
1975 78, 0, 0, 0, 0, 78, 0, 0, 78, 78,
1976 78, 597, 598, 599, 600, 601, 602, 603, 604, 605,
1977 606, 607, 608, 609, 78, 0, 0, 0, 78, 51,
1978 51, 152, 0, 0, 78, 78, 255, 0, 1039, 0,
1979 0, 0, 0, 0, 0, 0, 0, 7, 127, 128,
1980 10, 0, 575, 78, 78, 78, 0, 0, 0, 51,
1981 51, 432, 432, 432, 0, 0, 0, 51, 0, 0,
1982 0, 159, 159, 159, 0, 18, 0, 0, 0, 0,
1983 0, 0, 78, 0, 0, 0, 21, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 205, 51, 26,
1985 51, 27, 28, 0, 0, 51, 51, 0, 51, 0,
1986 0, 0, 0, 0, 0, 30, 205, 205, 498, 78,
1987 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1988 0, 0, 0, 32, 0, 0, 0, 33, 0, 0,
1989 0, 0, 0, 0, 0, 205, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 1459, 0, 1322,
1991 1323, 1324, 10, 167, 12, 302, 303, 304, 0, 305,
1992 14, 1325, 0, 1326, 1327, 1328, 1329, 1330, 1331, 1332,
1993 1333, 1334, 1335, 15, 16, 306, 17, 18, 19, 0,
1994 307, 308, 309, 20, 0, 310, 311, 312, 21, 313,
1995 314, 1336, 23, 1337, 0, 0, 315, 316, 317, 318,
1996 319, 26, 0, 1338, 321, 733, 658, 1339, 322, 0,
1997 78, 549, 0, 0, 323, 0, 0, 324, 0, 0,
1998 0, 0, 575, 575, 575, 325, 326, 327, 432, 255,
1999 0, 0, 0, 328, 329, 330, 0, 0, 0, 331,
2000 0, 1340, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 78, 1460, 332, 0, 0, 0,
2002 0, 0, 643, 643, 643, 0, 0, 0, 0, 78,
2003 0, 0, 78, 0, 0, 0, 0, 7, 127, 128,
2004 10, 0, 0, 536, 78, 0, 0, 0, 0, 0,
2005 0, 0, 78, 0, 0, 0, 0, 0, 51, 51,
2006 51, 152, 152, 152, 432, 18, 255, 0, 51, 1039,
2007 1039, 1039, 0, 0, 0, 0, 21, 205, 0, 0,
2008 78, 78, 78, 78, 0, 0, 0, 0, 78, 26,
2009 0, 27, 28, 0, 0, 0, 78, 78, 51, 0,
2010 78, 0, 78, 78, 78, 30, 0, 0, 0, 78,
2011 0, 0, 0, 0, 78, 31, 0, 78, 0, 255,
2012 0, 0, 0, 32, 0, 0, 0, 33, 51, 0,
2013 0, 8, 9, 0, 78, 12, 247, 0, 0, 0,
2014 0, 14, 0, 750, 0, 750, 750, 643, 0, 0,
2015 0, 0, 0, 0, 0, 16, 0, 17, 0, 205,
2016 205, 0, 0, 205, 20, 498, 498, 498, 782, 0,
2017 0, 0, 205, 23, 0, 0, 0, 205, 0, 0,
2018 205, 0, 26, 0, 130, 131, 0, 0, 0, 0,
2019 0, 0, 0, 7, 8, 9, 10, 167, 12, 13,
2020 0, 0, 466, 432, 14, 0, 432, 432, 432, 255,
2021 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
2022 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
2023 0, 0, 21, 0, 0, 0, 23, 0, 636, 0,
2024 0, 0, 0, 0, 658, 26, 0, 27, 28, 0,
2025 0, 432, 51, 51, 432, 432, 432, 0, 0, 51,
2026 0, 1028, 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 1029, 0, 0, 78, 0, 0, 0, 0, 32,
2028 0, 0, 0, 1030, 640, 0, 0, 0, 0, 0,
2029 0, 51, 0, 0, 0, 915, 51, 0, 0, 51,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 643,
2031 643, 643, 0, 0, 0, 78, 0, 810, 643, 7,
2032 8, 811, 10, 167, 12, 13, 0, 0, 0, 0,
2033 14, 0, 0, 0, 0, 0, 0, 205, 0, 0,
2034 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
2035 0, 0, 0, 20, 0, 78, 78, 78, 21, 0,
2036 0, 0, 23, 812, 1041, 168, 0, 0, 0, 0,
2037 0, 26, 0, 27, 28, 0, 0, 813, 750, 814,
2038 0, 51, 51, 51, 0, 78, 78, 30, 0, 0,
2039 0, 0, 0, 78, 0, 0, 0, 31, 0, 0,
2040 0, 0, 0, 0, 0, 32, 0, 0, 0, 33,
2041 0, 0, 0, 0, 0, 0, 0, 0, 750, 750,
2042 1034, 0, 0, 0, 78, 0, 78, 1034, 0, 0,
2043 0, 78, 78, 0, 78, 0, 0, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 205, 205,
2045 782, 782, 782, 0, 0, 0, 205, 301, 8, 9,
2046 10, 167, 12, 13, 0, 0, 466, 0, 14, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
2049 1039, 20, 0, 0, 205, 0, 21, 0, 0, 0,
2050 23, 0, 636, 0, 0, 0, 0, 0, 0, 26,
2051 0, 27, 321, 0, 0, 0, 549, 549, 549, 0,
2052 0, 0, 0, 0, 0, 1173, 0, 643, 7, 8,
2053 9, 10, 0, 0, 247, 1174, 0, 203, 0, 0,
2054 0, 0, 0, 32, 0, 0, 0, 1175, 640, 0,
2055 0, 0, 0, 0, 0, 0, 18, 0, 0, 1039,
2056 1039, 1039, 258, 0, 0, 262, 658, 21, 0, 0,
2057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058 26, 0, 27, 28, 51, 0, 258, 0, 366, 0,
2059 0, 0, 0, 0, 0, 0, 194, 0, 0, 0,
2060 0, 643, 643, 0, 0, 643, 195, 0, 643, 0,
2061 0, 0, 0, 0, 32, 0, 0, 643, 196, 0,
2062 0, 643, 643, 643, 0, 0, 0, 643, 7, 8,
2063 9, 10, 0, 0, 78, 78, 78, 78, 78, 78,
2064 0, 0, 0, 0, 78, 1041, 1041, 1041, 0, 0,
2065 0, 0, 0, 0, 0, 0, 18, 203, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
2067 0, 0, 0, 0, 78, 0, 203, 203, 203, 0,
2068 26, 0, 27, 28, 0, 0, 504, 0, 0, 0,
2069 0, 0, 0, 0, 0, 0, 493, 750, 750, 750,
2070 1034, 1034, 1034, 1224, 78, 203, 494, 750, 1034, 1034,
2071 1034, 0, 0, 0, 32, 0, 0, 0, 495, 782,
2072 782, 782, 0, 301, 8, 9, 10, 167, 12, 13,
2073 0, 262, 466, 0, 14, 0, 0, 205, 0, 0,
2074 0, 0, 0, 0, 0, 258, 0, 0, 16, 0,
2075 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
2076 0, 0, 21, 0, 0, 0, 23, 0, 636, 8,
2077 9, 0, 0, 12, 13, 26, 0, 27, 321, 14,
2078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 1221, 0, 16, 0, 17, 641, 641, 641, 0,
2080 0, 1222, 20, 0, 0, 0, 0, 0, 0, 32,
2081 0, 23, 0, 1223, 640, 0, 915, 915, 0, 915,
2082 26, 0, 130, 131, 0, 0, 0, 0, 78, 78,
2083 0, 0, 0, 0, 0, 78, 0, 0, 258, 262,
2084 0, 0, 643, 0, 0, 643, 643, 643, 0, 0,
2085 7, 8, 9, 10, 0, 0, 13, 0, 906, 0,
2086 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
2087 0, 0, 78, 0, 0, 78, 0, 0, 18, 0,
2088 0, 0, 0, 0, 0, 0, 0, 203, 0, 21,
2089 1224, 750, 750, 1224, 1224, 1224, 0, 0, 750, 0,
2090 0, 0, 26, 0, 27, 28, 0, 0, 782, 782,
2091 782, 782, 0, 0, 0, 0, 0, 641, 493, 641,
2092 641, 641, 0, 0, 0, 0, 0, 0, 494, 0,
2093 205, 0, 0, 102, 0, 0, 32, 0, 0, 0,
2094 495, 0, 121, 102, 0, 0, 0, 0, 0, 102,
2095 102, 0, 102, 203, 0, 203, 203, 78, 78, 78,
2096 0, 7, 8, 9, 10, 206, 12, 207, 0, 203,
2097 203, 0, 14, 203, 0, 203, 203, 203, 203, 0,
2098 0, 0, 203, 0, 236, 0, 16, 203, 17, 18,
2099 203, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2100 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2101 0, 0, 0, 26, 0, 27, 28, 0, 0, 208,
2102 205, 0, 205, 0, 0, 0, 0, 0, 0, 30,
2103 0, 0, 0, 1224, 1224, 0, 1224, 0, 0, 31,
2104 0, 0, 0, 390, 0, 121, 0, 32, 0, 0,
2105 0, 33, 102, 102, 0, 0, 0, 0, 0, 102,
2106 102, 0, 0, 102, 102, 102, 1041, 418, 102, 102,
2107 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 641, 641, 641, 0, 0, 0, 0,
2109 0, 0, 953, 0, 0, 0, 0, 0, 0, 0,
2110 8, 9, 0, 167, 12, 13, 0, 0, 466, 0,
2111 14, 0, 0, 0, 0, 0, 0, 7, 8, 9,
2112 10, 0, 0, 536, 16, 0, 17, 18, 0, 498,
2113 0, 258, 262, 20, 0, 1041, 1041, 1041, 1224, 1224,
2114 1224, 1224, 23, 0, 636, 18, 0, 203, 0, 0,
2115 0, 26, 641, 130, 131, 0, 21, 0, 236, 102,
2116 78, 0, 0, 0, 0, 0, 0, 1466, 0, 26,
2117 0, 27, 28, 0, 0, 0, 0, 1467, 0, 102,
2118 0, 0, 0, 0, 0, 194, 0, 0, 203, 1468,
2119 640, 0, 641, 641, 641, 195, 0, 0, 498, 498,
2120 498, 953, 0, 32, 1224, 0, 0, 196, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
2122 0, 0, 0, 205, 0, 0, 0, 0, 203, 203,
2123 1032, 0, 0, 0, 0, 258, 0, 1032, 592, 593,
2124 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2125 604, 605, 606, 607, 608, 609, 0, 0, 203, 203,
2126 203, 203, 203, 504, 0, 0, 203, 102, 0, 102,
2127 102, 0, 7, 8, 9, 10, 167, 12, 13, 0,
2128 0, 761, 0, 14, 0, 0, 0, 0, 0, 0,
2129 0, 262, 0, 0, 0, 0, 0, 16, 0, 17,
2130 18, 641, 0, 0, 203, 0, 20, 0, 0, 0,
2131 0, 21, 0, 102, 0, 23, 301, 8, 9, 10,
2132 0, 0, 13, 0, 26, 0, 27, 28, 0, 0,
2133 0, 0, 102, 0, 0, 7, 8, 9, 10, 102,
2134 30, 0, 102, 0, 18, 0, 0, 0, 0, 0,
2135 31, 0, 0, 0, 102, 21, 0, 0, 32, 0,
2136 0, 0, 33, 18, 0, 0, 0, 0, 26, 0,
2137 27, 321, 0, 0, 21, 641, 641, 0, 0, 641,
2138 0, 0, 641, 0, 778, 0, 0, 26, 0, 27,
2139 28, 641, 0, 1510, 779, 953, 953, 953, 0, 0,
2140 0, 641, 32, 194, 0, 0, 780, 0, 0, 0,
2141 0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
2142 0, 32, 0, 0, 0, 196, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 258, 262,
2144 258, 102, 0, 802, 1511, 588, 589, 590, 591, 592,
2145 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2146 603, 604, 605, 606, 607, 608, 609, 102, 0, 0,
2147 0, 641, 641, 641, 641, 641, 641, 641, 0, 0,
2148 0, 641, 953, 953, 953, 588, 589, 590, 591, 592,
2149 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2150 603, 604, 605, 606, 607, 608, 609, 203, 203, 203,
2151 203, 203, 1032, 203, 0, 1225, 0, 203, 1032, 1032,
2152 1032, 1075, 8, 811, 10, 206, 12, 207, 1597, 203,
2153 203, 203, 14, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 102, 0, 0, 0, 16, 203, 17, 18,
2155 0, 0, 0, 102, 102, 20, 102, 102, 0, 0,
2156 21, 0, 0, 0, 23, 0, 0, 0, 504, 0,
2157 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
2158 0, 1077, 0, 0, 301, 8, 9, 10, 0, 30,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2160 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2161 102, 33, 18, 0, 0, 0, 641, 102, 121, 641,
2162 641, 641, 0, 21, 0, 0, 236, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 26, 0, 27, 321,
2164 0, 0, 18, 0, 0, 0, 0, 0, 0, 802,
2165 0, 0, 778, 0, 0, 0, 0, 0, 258, 0,
2166 0, 0, 779, 0, 641, 641, 641, 641, 641, 641,
2167 32, 0, 641, 0, 780, 588, 589, 590, 591, 592,
2168 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2169 603, 604, 605, 606, 607, 608, 609, 0, 0, 0,
2170 203, 203, 203, 203, 203, 1032, 0, 0, 203, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 203, 203,
2172 203, 203, 0, 0, 0, 0, 0, 0, 802, 0,
2173 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
2174 203, 0, 0, 0, 0, 0, 0, 0, 570, 0,
2175 7, 8, 9, 10, 167, 12, 302, 303, 304, 466,
2176 305, 14, 0, 102, 102, 102, 0, 0, 0, 0,
2177 0, 0, 0, 0, 102, 16, 306, 17, 18, 19,
2178 0, 307, 308, 309, 20, 0, 310, 311, 312, 21,
2179 313, 314, 0, 23, 0, 636, 0, 315, 316, 317,
2180 318, 319, 26, 0, 27, 28, -312, 641, 641, 322,
2181 641, 0, 0, 0, 0, 323, 0, 0, 1036, 0,
2182 0, 0, 0, 0, 0, 0, 325, 326, 1037, 0,
2183 203, 0, 203, 0, 328, 329, 330, 0, 0, 0,
2184 1038, 640, 0, 203, 203, 1225, 203, 0, 102, 102,
2185 0, 0, 102, 0, 0, 102, 0, 332, 0, 0,
2186 0, 0, 0, 0, 102, 0, 7, 8, 9, 10,
2187 206, 12, 207, 0, 102, 8, 9, 14, 167, 12,
2188 13, 0, 0, 466, 0, 14, 0, 0, 0, 0,
2189 0, 16, 0, 17, 18, 0, 0, 0, 0, 16,
2190 20, 17, 18, 0, 0, 21, 0, 0, 20, 23,
2191 0, 0, 641, 641, 641, 641, 0, 23, 26, 0,
2192 27, 28, 0, 0, 1454, 0, 26, 0, 130, 131,
2193 0, 0, 0, 0, 30, 0, 0, 0, 0, 1032,
2194 0, 0, 0, 0, 31, 0, 0, 0, 203, 203,
2195 1032, 203, 32, 0, 0, 0, 33, 0, 0, 0,
2196 0, 7, 8, 9, 10, 167, 12, 13, 0, 0,
2197 0, 0, 14, 0, 0, 0, 0, 0, 641, 802,
2198 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2199 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2200 21, 0, 0, 0, 23, 0, 102, 0, 1032, 1032,
2201 1032, 0, 0, 26, 203, 27, 28, 8, 9, 0,
2202 167, 12, 13, 0, 0, 0, 0, 14, 0, 30,
2203 0, 0, 0, 203, 0, 0, 0, 0, 0, 31,
2204 0, 16, 0, 17, 18, 0, 0, 32, 0, 0,
2205 20, 33, 0, 0, 0, 0, 0, 0, 0, 699,
2206 0, 0, 168, 102, 102, 0, 102, 0, 26, 0,
2207 130, 131, 0, 0, 0, 0, 0, 1540, 0, -478,
2208 -478, -478, -478, -478, -478, -478, 0, 0, -478, 102,
2209 -478, 0, 102, 102, 0, 0, 0, 0, 0, 0,
2210 0, -478, 0, -478, 0, 0, 0, -478, 0, 0,
2211 0, 0, 0, -478, 0, 0, 0, 0, -478, 0,
2212 0, 802, -478, 0, -478, 0, 0, 0, 0, 0,
2213 0, -478, 0, -478, -478, -478, -478, -478, 0, -478,
2214 -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
2215 -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
2216 -478, -478, 802, -478, -478, -478, 0, -478, -478, -478,
2217 -478, -478, 0, 0, 0, 0, 0, 1541, -478, 0,
2218 102, 0, 102, -478, -478, -478, 1321, -478, 1322, 1323,
2219 1324, 10, 167, 12, 302, 303, 304, 0, 305, 14,
2220 1325, 0, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333,
2221 1334, 1335, 15, 16, 306, 17, 18, 19, 0, 307,
2222 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2223 1336, 23, 1337, 0, 0, 315, 316, 317, 318, 319,
2224 26, 0, 1338, 321, 733, 0, 1339, 322, 0, 0,
2225 0, 0, 0, 323, 0, 0, 324, 0, 0, 0,
2226 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2227 0, 0, 328, 329, 330, 0, 0, 0, 331, 465,
2228 1340, 301, 8, 9, 10, 167, 12, 302, 303, 304,
2229 466, 305, 14, 0, 0, 332, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 16, 306, 17, 18,
2231 19, 0, 307, 308, 309, 20, 0, 310, 311, 312,
2232 21, 313, 314, 0, 23, 0, 0, 0, 315, 316,
2233 317, 318, 319, 26, 0, 27, 321, 0, 0, 0,
2234 322, 0, 0, 0, 0, 0, 323, 0, 0, 324,
2235 0, 0, 0, 0, 0, 0, 0, 325, 326, 327,
2236 0, 0, 0, 0, 0, 328, 329, 330, 0, 0,
2237 878, 331, 301, 8, 9, 10, 167, 12, 302, 303,
2238 304, 0, 305, 14, 0, 0, -796, 0, 332, 0,
2239 0, 0, 0, 0, 0, 0, 0, 16, 306, 17,
2240 18, 19, 0, 307, 308, 309, 20, 0, 310, 311,
2241 312, 21, 313, 314, 0, 23, 0, 0, 0, 315,
2242 316, 317, 318, 319, 26, 0, 27, 321, 1556, 0,
2243 -786, 322, 0, 0, 0, 0, 0, 323, 0, 0,
2244 324, 0, 0, 0, 0, 0, 0, 0, 325, 326,
2245 327, 0, 0, 0, 0, 0, 328, 329, 330, 0,
2246 0, 736, 331, 866, 867, 868, 10, 0, 12, 482,
2247 303, 304, 0, 305, 14, 0, 0, 0, 0, 332,
2248 0, 0, 0, 0, 0, 0, 0, 0, 16, 306,
2249 17, 0, 19, 0, 307, 308, 309, 20, 0, 310,
2250 311, 312, 21, 313, 314, 0, 23, 0, 0, 0,
2251 315, 316, 317, 318, 319, 26, 0, 869, 870, 737,
2252 0, 0, 322, 0, 0, 0, 0, 0, 323, 0,
2253 0, 324, 0, 0, 0, 0, 0, 0, 0, 325,
2254 326, 327, 0, 0, 0, 0, 0, 328, 329, 330,
2255 0, 0, 0, 331, 871, 570, 0, 301, 8, 9,
2256 10, 0, 12, 302, 303, 304, 0, 305, 14, 1022,
2257 332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 0, 0, 16, 306, 17, 18, 19, 0, 307, 308,
2259 309, 20, 0, 310, 311, 312, 21, 313, 314, 0,
2260 23, 0, 0, 0, 315, 316, 317, 318, 319, 26,
2261 0, 27, 321, -312, 0, 0, 322, 0, 0, 0,
2262 0, 0, 323, 0, 0, 571, 0, 0, 0, 0,
2263 0, 0, 0, 325, 326, 572, 0, 0, 0, 0,
2264 0, 328, 329, 330, 0, 0, 736, 573, 866, 867,
2265 868, 10, 0, 12, 482, 303, 304, 0, 305, 14,
2266 0, 0, 0, 0, 332, 0, 0, 0, 0, 0,
2267 0, 0, 0, 16, 306, 17, 0, 19, 0, 307,
2268 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2269 0, 23, 0, 0, 0, 315, 316, 317, 318, 319,
2270 26, 0, 869, 870, 737, 0, 0, 322, 0, 0,
2271 0, 0, 0, 323, 0, 0, 324, 0, 0, 0,
2272 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2273 0, 0, 328, 329, 330, 0, 0, 0, 331, 871,
2274 736, 0, 301, 8, 9, 10, 0, 12, 482, 303,
2275 304, 0, 305, 14, 0, 332, 0, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 16, 306, 17,
2277 0, 19, 0, 307, 308, 309, 20, 0, 310, 311,
2278 312, 21, 313, 314, 0, 23, 0, 0, 0, 315,
2279 316, 317, 318, 319, 26, 0, 27, 321, 737, 0,
2280 0, 322, 0, 0, 0, 0, 0, 323, 0, 0,
2281 324, 0, 0, 0, 0, 0, 0, 0, 325, 326,
2282 327, 0, 0, 0, 0, 0, 328, 329, 330, 0,
2283 0, 0, 331, 736, 0, 866, 867, 868, 10, 1230,
2284 12, 482, 303, 304, 0, 305, 14, 0, 0, 332,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 16, 306, 17, 0, 19, 0, 307, 308, 309, 20,
2287 0, 310, 311, 312, 21, 313, 314, 0, 23, 0,
2288 0, 0, 315, 316, 317, 318, 319, 26, 0, 869,
2289 870, 737, 0, 0, 322, 0, 0, 0, 0, 0,
2290 323, 0, 0, 324, 0, 0, 0, 0, 0, 0,
2291 0, 325, 326, 327, 0, 0, 0, 0, 0, 328,
2292 329, 330, 0, 0, 736, 331, 866, 867, 868, 10,
2293 0, 12, 482, 303, 304, 0, 305, 14, 0, 0,
2294 0, -482, 332, 0, 0, 0, 0, 0, 0, 0,
2295 0, 16, 306, 17, 0, 19, 0, 307, 308, 309,
2296 20, 0, 310, 311, 312, 21, 313, 314, 0, 23,
2297 0, 0, 0, 315, 316, 317, 318, 319, 26, 0,
2298 869, 870, 737, 0, 0, 322, 0, 0, 0, 0,
2299 0, 323, 0, 0, 324, 0, 0, 0, 0, 0,
2300 0, 0, 325, 326, 327, 0, 0, 0, 0, 0,
2301 328, 329, 330, 0, 0, 570, 331, 7, 8, 9,
2302 10, 0, 12, 302, 303, 304, 0, 305, 14, 0,
2303 0, 0, 1360, 332, 0, 0, 0, 0, 0, 0,
2304 0, 0, 16, 306, 17, 18, 19, 0, 307, 308,
2305 309, 20, 0, 310, 311, 312, 21, 313, 314, 0,
2306 23, 0, 0, 0, 315, 316, 317, 318, 319, 26,
2307 0, 27, 28, -312, 0, 0, 322, 0, 0, 0,
2308 0, 0, 323, 0, 0, 1526, 0, 0, 0, 0,
2309 0, 0, 0, 325, 326, 1527, 0, 0, 0, 0,
2310 0, 328, 329, 330, 0, 0, 736, 1528, 301, 8,
2311 9, 10, 0, 12, 482, 303, 304, 0, 305, 14,
2312 0, 0, 0, 0, 332, 0, 0, 0, 0, 0,
2313 0, 0, 0, 16, 306, 17, 0, 19, 0, 307,
2314 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2315 0, 23, 0, 0, 0, 315, 316, 317, 318, 319,
2316 26, 0, 27, 321, 737, 0, 0, 322, 0, 0,
2317 0, 0, 0, 323, 0, 0, 324, 0, 0, 0,
2318 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2319 0, 0, 328, 329, 330, 0, 0, 878, 331, 301,
2320 8, 9, 10, 0, 12, 482, 303, 304, 0, 305,
2321 14, 0, 0, 0, 0, 332, 0, 0, 0, 0,
2322 0, 0, 0, 0, 16, 306, 17, 0, 19, 0,
2323 307, 308, 309, 20, 0, 310, 311, 312, 21, 313,
2324 314, 0, 23, 0, 0, 0, 315, 316, 317, 318,
2325 319, 26, 0, 27, 321, 0, 0, 0, 322, -786,
2326 0, 0, 0, 0, 323, 0, 0, 324, 0, 0,
2327 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
2328 0, 0, 0, 328, 329, 330, 0, 0, 1609, 331,
2329 301, 8, 9, 10, 0, 12, 302, 303, 304, 0,
2330 305, 14, 0, 0, 0, 0, 332, 0, 0, 0,
2331 0, 0, 0, 0, 0, 16, 306, 17, 0, 19,
2332 0, 307, 308, 309, 20, 0, 310, 311, 312, 21,
2333 313, 314, 0, 23, 0, 0, 0, 315, 316, 317,
2334 318, 319, 26, 0, 27, 321, 0, 0, -197, 322,
2335 0, 0, 0, 0, 0, 323, 0, 0, 324, 0,
2336 0, 0, 0, 0, 0, 0, 325, 326, 327, 0,
2337 0, 0, 0, 0, 328, 329, 330, 0, 0, 878,
2338 331, 301, 8, 9, 10, 0, 12, 482, 303, 304,
2339 0, 305, 14, 0, 0, 0, 0, 332, 0, 0,
2340 0, 0, 0, 0, 0, 0, 16, 306, 17, 0,
2341 19, 0, 307, 308, 309, 20, 0, 310, 311, 312,
2342 21, 313, 314, 0, 23, 0, 0, 0, 315, 316,
2343 317, 318, 319, 26, 0, 27, 321, 0, 0, 0,
2344 322, 0, 0, 0, 0, 0, 323, 0, 0, 324,
2345 0, 0, 0, 0, 0, 0, 0, 325, 326, 327,
2346 0, 0, 0, 0, 0, 328, 329, 330, 0, 0,
2347 972, 331, 301, 8, 9, 10, 0, 12, 482, 303,
2348 304, 0, 305, 14, 0, 0, -786, 0, 332, 0,
2349 0, 0, 0, 0, 0, 0, 0, 16, 306, 17,
2350 0, 19, 0, 307, 308, 309, 20, 0, 310, 311,
2351 312, 21, 313, 314, 0, 23, 0, 0, 0, 315,
2352 316, 317, 318, 319, 26, 0, 27, 321, 0, 0,
2353 0, 322, 0, 0, 0, 0, 0, 323, 0, 0,
2354 324, 0, 0, 0, 0, 0, 0, 0, 325, 326,
2355 327, 0, 0, 0, 0, 0, 328, 329, 330, 0,
2356 0, 974, 331, 301, 8, 9, 10, 0, 12, 482,
2357 303, 304, 0, 305, 14, 0, 0, 0, 0, 332,
2358 0, 0, 0, 0, 0, 0, 0, 0, 16, 306,
2359 17, 0, 19, 0, 307, 308, 309, 20, 0, 310,
2360 311, 312, 21, 313, 314, 0, 23, 0, 0, 0,
2361 315, 316, 317, 318, 319, 26, 0, 27, 321, 0,
2362 0, 0, 322, 0, 0, 0, 0, 0, 323, 0,
2363 0, 324, 0, 0, 0, 0, 0, 0, 0, 325,
2364 326, 327, 0, 0, 0, 0, 0, 328, 329, 330,
2365 0, 0, 1574, 331, 301, 8, 9, 10, 0, 12,
2366 482, 303, 304, 0, 305, 14, 0, 0, 0, 0,
2367 332, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2368 306, 17, 0, 19, 0, 307, 308, 309, 20, 0,
2369 310, 311, 312, 21, 313, 314, 0, 23, 0, 0,
2370 0, 315, 316, 317, 318, 319, 26, 0, 27, 321,
2371 0, 0, 0, 322, 0, 0, 0, 0, 0, 323,
2372 264, 0, 324, 8, 9, 0, 0, 12, 13, 0,
2373 325, 326, 327, 14, 0, 0, 0, 0, 328, 329,
2374 330, 0, 0, 0, 331, 0, 0, 16, 0, 17,
2375 0, 0, 0, 0, 0, 0, 20, 0, 265, 266,
2376 0, 332, 0, 0, 0, 23, 0, 267, 0, 0,
2377 0, 0, 0, 0, 26, 0, 130, 131, 0, 268,
2378 0, 0, 0, 269, 270, 271, 272, 273, 274, 275,
2379 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2380 286, 287, 288, 289, 0, 0, 290, 291, 292, 0,
2381 293, 0, 0, 294, 301, 8, 9, 10, 0, 12,
2382 482, 303, 304, 0, 305, 14, 0, 0, 0, 295,
2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2384 306, 17, 0, 19, 0, 307, 308, 309, 20, 0,
2385 310, 311, 312, 21, 313, 314, 0, 23, 0, 0,
2386 0, 315, 316, 317, 318, 319, 26, 0, 27, 321,
2387 0, 0, 0, 322, 0, 0, 0, 0, 0, 323,
2388 0, 0, 324, 0, 0, 0, 0, 0, 0, 0,
2389 325, 326, 327, 0, 0, 0, 0, 0, 328, 329,
2390 330, 0, 0, 0, 331, 301, 8, 9, 10, 0,
2391 12, 482, 303, 304, 0, 305, 14, 0, 0, 0,
2392 0, 332, 483, 0, 0, 0, 0, 0, 0, 0,
2393 16, 306, 17, 0, 19, 0, 307, 308, 309, 20,
2394 0, 310, 311, 312, 21, 313, 314, 0, 23, 0,
2395 0, 0, 315, 316, 317, 318, 319, 26, 0, 27,
2396 321, 0, 0, 0, 322, 0, 0, 0, 0, 0,
2397 323, 0, 0, 324, 0, 0, 0, 0, 0, 0,
2398 0, 325, 326, 327, 0, 0, 0, 0, 0, 328,
2399 329, 330, 0, 0, 0, 331, 301, 8, 9, 10,
2400 0, 12, 482, 303, 304, 0, 305, 14, 0, 0,
2401 0, 0, 332, 788, 0, 0, 0, 0, 0, 0,
2402 0, 16, 306, 17, 0, 19, 0, 307, 308, 309,
2403 20, 0, 310, 311, 312, 21, 313, 314, 0, 23,
2404 0, 0, 0, 315, 316, 317, 318, 319, 26, 0,
2405 27, 321, 0, 0, 0, 322, 0, 0, 0, 0,
2406 0, 323, 0, 0, 324, 0, 0, 0, 0, 0,
2407 0, 0, 325, 326, 327, 0, 0, 0, 0, 0,
2408 328, 329, 330, 0, 0, 0, 331, 301, 8, 9,
2409 10, 0, 12, 482, 303, 304, 0, 305, 14, 0,
2410 0, 0, 0, 332, 918, 0, 0, 0, 0, 0,
2411 0, 0, 16, 306, 17, 0, 19, 0, 307, 308,
2412 309, 20, 0, 310, 311, 312, 21, 313, 314, 0,
2413 23, 0, 0, 0, 315, 316, 317, 318, 319, 26,
2414 0, 27, 321, 0, 0, 0, 322, 0, 0, 0,
2415 0, 0, 323, 0, 0, 324, 0, 0, 0, 0,
2416 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
2417 0, 328, 329, 330, 0, 0, 0, 331, 301, 8,
2418 9, 10, 0, 12, 482, 303, 304, 0, 305, 14,
2419 0, 0, 0, 0, 332, 939, 0, 0, 0, 0,
2420 0, 0, 0, 16, 306, 17, 0, 19, 0, 307,
2421 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2422 0, 23, 0, 0, 0, 315, 316, 317, 318, 319,
2423 26, 0, 27, 321, 0, 0, 0, 322, 0, 0,
2424 0, 0, 0, 323, 0, 0, 324, 0, 0, 0,
2425 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2426 0, 0, 328, 329, 330, 0, 0, 0, 331, 594,
2427 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2428 605, 606, 607, 608, 609, 332, 1168, 1322, 1323, 1324,
2429 10, 167, 12, 302, 303, 304, 0, 305, 14, 1325,
2430 0, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334,
2431 1335, 15, 16, 306, 17, 18, 19, 0, 307, 308,
2432 309, 20, 0, 310, 311, 312, 21, 313, 314, 1336,
2433 23, 1337, 0, 0, 315, 316, 317, 318, 319, 26,
2434 0, 1338, 321, 733, 0, 1339, 322, 0, 0, 0,
2435 0, 0, 323, 0, 0, 324, 0, 0, 0, 0,
2436 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
2437 0, 328, 329, 330, 0, 0, 0, 331, 0, 1340,
2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2439 0, 0, 0, 1464, 332, 1322, 1323, 1324, 10, 167,
2440 12, 302, 303, 304, 0, 305, 14, 1325, 0, 1326,
2441 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 15,
2442 16, 306, 17, 18, 19, 0, 307, 308, 309, 20,
2443 0, 310, 311, 312, 21, 313, 314, 1336, 23, 1337,
2444 0, 0, 315, 316, 317, 318, 319, 26, 0, 1338,
2445 321, 733, 0, 1339, 322, 0, 0, 0, 0, 0,
2446 323, 0, 0, 324, 0, 0, 0, 0, 0, 0,
2447 0, 325, 326, 327, 0, 0, 0, 0, 0, 328,
2448 329, 330, 0, 0, 0, 331, 0, 1340, 0, 1322,
2449 1323, 1324, 10, 167, 12, 302, 303, 304, 0, 305,
2450 14, 1325, 332, 1326, 1327, 1328, 1329, 1330, 1331, 1332,
2451 1333, 1334, 1335, 15, 16, 306, 17, 18, 19, 0,
2452 307, 308, 309, 20, 0, 310, 311, 312, 21, 313,
2453 314, 1336, 23, 1337, 0, 0, 315, 316, 317, 318,
2454 319, 26, 0, 1338, 321, 1583, 0, 1339, 322, 0,
2455 0, 0, 0, 0, 323, 0, 0, 324, 0, 0,
2456 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
2457 0, 0, 0, 328, 329, 330, 0, 0, 0, 331,
2458 0, 1340, 0, 1322, 1323, 1324, 10, 167, 12, 302,
2459 303, 304, 0, 305, 14, 1325, 332, 1326, 1327, 1328,
2460 1329, 1330, 1331, 1332, 1333, 1334, 1335, 15, 16, 306,
2461 17, 18, 19, 0, 307, 308, 309, 20, 0, 310,
2462 311, 312, 21, 313, 314, 1336, 23, 1337, 0, 0,
2463 315, 316, 317, 318, 319, 26, 0, 1338, 321, 0,
2464 0, 1339, 322, 0, 0, 0, 0, 0, 323, 0,
2465 0, 324, 0, 0, 0, 0, 0, 0, 0, 325,
2466 326, 327, 0, 0, 0, 0, 0, 328, 329, 330,
2467 0, 0, 0, 331, 0, 1340, 301, 8, 9, 10,
2468 167, 12, 302, 303, 304, 466, 305, 14, 0, 0,
2469 332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2470 0, 16, 306, 17, 18, 19, 0, 307, 308, 309,
2471 20, 0, 310, 311, 312, 21, 313, 314, 0, 23,
2472 0, 636, 0, 315, 316, 317, 318, 319, 26, 0,
2473 27, 321, 0, 0, 0, 322, 0, 0, 0, 0,
2474 0, 323, 0, 0, 949, 0, 0, 0, 0, 0,
2475 0, 0, 325, 326, 950, 0, 0, 0, 0, 0,
2476 328, 329, 330, 0, 0, 0, 951, 640, 7, 8,
2477 9, 10, 167, 12, 302, 303, 304, 466, 305, 14,
2478 0, 0, 0, 332, 0, 0, 0, 0, 0, 0,
2479 0, 0, 0, 16, 306, 17, 18, 19, 0, 307,
2480 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2481 0, 23, 0, 636, 0, 315, 316, 317, 318, 319,
2482 26, 0, 27, 28, 0, 0, 0, 322, 0, 0,
2483 0, 0, 0, 323, 0, 0, 1036, 0, 0, 0,
2484 0, 0, 0, 0, 325, 326, 1037, 0, 0, 0,
2485 0, 0, 328, 329, 330, 0, 0, 0, 1038, 640,
2486 301, 8, 9, 10, 0, 12, 302, 303, 304, 0,
2487 305, 14, 0, 0, 0, 332, 0, 0, 0, 0,
2488 0, 0, 0, 0, 0, 16, 306, 17, 18, 19,
2489 0, 307, 308, 309, 20, 0, 310, 311, 312, 21,
2490 313, 314, 0, 23, 0, 636, 0, 315, 316, 317,
2491 318, 319, 26, 0, 27, 321, 0, 0, 0, 0,
2492 0, 0, 0, 0, 0, 323, 0, 0, 949, 0,
2493 0, 0, 0, 0, 0, 0, 325, 326, 950, 0,
2494 0, 0, 0, 0, 328, 329, 330, 0, 0, 0,
2495 951, 640, 7, 8, 9, 10, 0, 12, 302, 303,
2496 304, 0, 305, 14, 0, 0, 0, 332, 0, 0,
2497 0, 0, 0, 0, 0, 0, 0, 16, 306, 17,
2498 18, 19, 0, 307, 308, 309, 20, 0, 310, 311,
2499 312, 21, 313, 314, 0, 23, 0, 636, 0, 315,
2500 316, 317, 318, 319, 26, 0, 27, 28, 0, 0,
2501 0, 0, 0, 0, 0, 0, 0, 323, 0, 0,
2502 1036, 0, 0, 0, 0, 0, 0, 0, 325, 326,
2503 1037, 0, 0, 0, 0, 0, 328, 329, 330, 0,
2504 0, 0, 1038, 640, 301, 8, 9, 10, 0, 12,
2505 482, 303, 304, 0, 305, 14, 0, 0, 0, 332,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2507 306, 17, 18, 19, 0, 307, 308, 309, 20, 0,
2508 310, 311, 312, 21, 313, 314, 0, 23, 0, 0,
2509 0, 315, 316, 317, 318, 319, 26, 0, 27, 321,
2510 0, 0, 0, 322, 0, 0, 0, 0, 0, 323,
2511 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
2512 325, 326, 572, 0, 0, 0, 0, 0, 328, 329,
2513 330, 0, 0, 0, 573, 301, 8, 9, 10, 0,
2514 12, 482, 303, 304, 0, 305, 14, 0, 0, 0,
2515 0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
2516 16, 306, 17, 0, 19, 0, 307, 308, 309, 20,
2517 0, 310, 311, 312, 21, 313, 314, 0, 23, 0,
2518 0, 0, 315, 316, 317, 318, 319, 26, 0, 27,
2519 321, 0, 0, 1437, 322, 0, 0, 0, 0, 0,
2520 323, 0, 0, 324, 0, 0, 0, 0, 0, 0,
2521 0, 325, 326, 327, 0, 0, 0, 0, 0, 328,
2522 329, 330, 0, 0, 0, 331, 301, 8, 9, 10,
2523 167, 12, 302, 303, 304, 0, 305, 14, 0, 0,
2524 0, 0, 332, 0, 0, 0, 0, 0, 0, 0,
2525 0, 16, 306, 17, 18, 19, 0, 307, 308, 309,
2526 20, 0, 310, 311, 312, 21, 313, 314, 0, 23,
2527 0, 0, 0, 315, 316, 317, 318, 319, 26, 0,
2528 27, 321, 0, 0, 0, 0, 0, 0, 0, 0,
2529 0, 323, 0, 0, 324, 0, 0, 0, 0, 0,
2530 0, 0, 325, 326, 327, 0, 0, 0, 0, 0,
2531 328, 329, 330, 0, 0, 0, 331, 7, 8, 9,
2532 10, 0, 12, 482, 303, 304, 0, 305, 14, 0,
2533 0, 0, 0, 332, 0, 0, 0, 0, 0, 0,
2534 0, 0, 16, 306, 17, 18, 19, 0, 307, 308,
2535 309, 20, 0, 310, 311, 312, 21, 313, 314, 0,
2536 23, 0, 0, 0, 315, 316, 317, 318, 319, 26,
2537 0, 27, 28, 0, 0, 0, 322, 0, 0, 0,
2538 0, 0, 323, 0, 0, 1526, 0, 0, 0, 0,
2539 0, 0, 0, 325, 326, 1527, 0, 0, 0, 0,
2540 0, 328, 329, 330, 0, 0, 0, 1528, 301, 8,
2541 9, 10, 0, 12, 302, 303, 304, 0, 305, 14,
2542 0, 0, 0, 0, 332, 0, 0, 0, 0, 0,
2543 0, 0, 0, 16, 306, 17, 0, 19, 0, 307,
2544 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2545 0, 23, 0, 0, 0, 315, 316, 317, 318, 319,
2546 26, 0, 320, 321, 0, 0, 0, 322, 0, 0,
2547 0, 0, 0, 323, 0, 0, 324, 0, 0, 0,
2548 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2549 0, 0, 328, 329, 330, 0, 0, 0, 331, 301,
2550 8, 9, 10, 0, 12, 302, 303, 304, 0, 305,
2551 14, 0, 0, 0, 0, 332, 0, 0, 0, 0,
2552 0, 0, 0, 0, 16, 306, 17, 0, 19, 0,
2553 307, 308, 309, 20, 0, 310, 311, 312, 21, 313,
2554 314, 0, 23, 0, 0, 0, 315, 316, 317, 318,
2555 319, 26, 0, 27, 321, 0, 0, 0, 322, 0,
2556 0, 0, 0, 0, 323, 0, 0, 324, 0, 0,
2557 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
2558 0, 0, 0, 328, 329, 330, 0, 0, 0, 331,
2559 301, 8, 9, 10, 0, 12, 482, 303, 304, 0,
2560 305, 14, 0, 0, 0, 0, 332, 0, 0, 0,
2561 0, 0, 0, 0, 0, 16, 306, 17, 0, 19,
2562 0, 307, 308, 309, 20, 0, 310, 311, 312, 21,
2563 313, 314, 0, 23, 0, 0, 0, 315, 316, 317,
2564 318, 319, 26, 0, 27, 321, 0, 0, 0, 322,
2565 0, 0, 0, 0, 0, 323, 0, 0, 324, 0,
2566 0, 0, 0, 0, 0, 0, 325, 326, 327, 0,
2567 0, 0, 0, 0, 328, 329, 330, 0, 0, 0,
2568 331, 301, 8, 9, 10, 0, 12, 482, 303, 304,
2569 0, 305, 14, 0, 0, 0, 0, 332, 0, 0,
2570 0, 0, 0, 0, 0, 0, 16, 306, 17, 0,
2571 19, 0, 307, 308, 309, 20, 0, 310, 311, 312,
2572 21, 313, 314, 0, 23, 0, 0, 0, 315, 316,
2573 317, 318, 319, 26, 0, 27, 321, 585, 0, 0,
2574 0, 0, 0, 0, 0, 0, 323, 0, 0, 324,
2575 0, 0, 0, 0, 0, 0, 0, 325, 326, 327,
2576 0, 0, 0, 0, 0, 328, 329, 330, 0, 0,
2577 0, 586, 301, 8, 9, 10, 0, 12, 482, 303,
2578 304, 0, 305, 14, 0, 0, 0, 0, 332, 0,
2579 0, 0, 0, 0, 0, 0, 0, 16, 306, 17,
2580 0, 19, 0, 307, 308, 309, 20, 0, 310, 311,
2581 312, 21, 313, 314, 0, 23, 0, 0, 0, 315,
2582 316, 317, 318, 319, 26, 0, 27, 321, 0, 0,
2583 0, 0, 0, 0, 0, 0, 0, 323, 0, 0,
2584 324, 0, 0, 0, 0, 0, 0, 0, 325, 326,
2585 327, 0, 0, 0, 0, 0, 328, 329, 330, 0,
2586 0, 0, 331, 624, 301, 8, 9, 10, 0, 12,
2587 482, 303, 304, 0, 305, 14, 0, 0, 0, 332,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2589 306, 17, 18, 19, 0, 307, 308, 309, 20, 0,
2590 310, 311, 312, 21, 313, 314, 0, 23, 0, 0,
2591 0, 315, 316, 317, 318, 319, 26, 0, 27, 321,
2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
2593 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
2594 325, 326, 572, 0, 0, 0, 0, 0, 328, 329,
2595 330, 0, 0, 0, 573, 1187, 8, 9, 10, 0,
2596 12, 482, 303, 304, 0, 305, 14, 0, 0, 0,
2597 0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
2598 16, 306, 17, 0, 19, 0, 307, 308, 309, 20,
2599 0, 310, 311, 312, 21, 313, 314, 0, 23, 0,
2600 0, 0, 315, 316, 317, 318, 319, 26, 0, 27,
2601 321, 0, 0, 0, 322, 0, 0, 0, 0, 0,
2602 323, 0, 0, 324, 0, 0, 0, 0, 0, 0,
2603 0, 325, 326, 327, 0, 0, 0, 0, 0, 328,
2604 329, 330, 0, 0, 0, 331, 7, 8, 9, 10,
2605 0, 12, 302, 303, 304, 0, 305, 14, 0, 0,
2606 0, 0, 332, 0, 0, 0, 0, 0, 0, 0,
2607 0, 16, 306, 17, 18, 19, 0, 307, 308, 309,
2608 20, 0, 310, 311, 312, 21, 313, 314, 0, 23,
2609 0, 0, 0, 315, 316, 317, 318, 319, 26, 0,
2610 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 323, 0, 0, 1526, 0, 0, 0, 0, 0,
2612 0, 0, 325, 326, 1527, 0, 0, 0, 0, 0,
2613 328, 329, 330, 0, 0, 0, 1528, 301, 8, 9,
2614 10, 0, 12, 482, 303, 304, 0, 305, 14, 0,
2615 0, 0, 0, 332, 0, 0, 0, 0, 0, 0,
2616 0, 0, 16, 306, 17, 0, 19, 0, 307, 308,
2617 309, 20, 0, 310, 311, 312, 21, 313, 314, 0,
2618 23, 0, 0, 0, 315, 316, 317, 318, 319, 26,
2619 0, 27, 321, 0, 0, 0, 0, 0, 0, 0,
2620 0, 0, 323, 0, 0, 324, 0, 0, 0, 0,
2621 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
2622 0, 328, 329, 330, 0, 0, 0, 553, 301, 8,
2623 9, 10, 0, 12, 482, 303, 304, 0, 305, 14,
2624 0, 0, 0, 0, 332, 0, 0, 0, 0, 0,
2625 0, 0, 0, 16, 306, 17, 0, 19, 0, 307,
2626 308, 309, 20, 0, 310, 311, 312, 21, 313, 314,
2627 0, 23, 0, 0, 0, 315, 316, 317, 318, 319,
2628 26, 0, 27, 321, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 323, 0, 0, 324, 0, 0, 0,
2630 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2631 0, 0, 328, 329, 330, 0, 0, 0, 555, 301,
2632 8, 9, 10, 0, 12, 482, 303, 304, 0, 305,
2633 14, 0, 0, 0, 0, 332, 0, 0, 0, 0,
2634 0, 0, 0, 0, 16, 306, 17, 0, 19, 0,
2635 307, 308, 309, 20, 0, 310, 311, 312, 21, 313,
2636 314, 0, 23, 0, 0, 0, 315, 316, 317, 318,
2637 319, 26, 0, 27, 321, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 323, 0, 0, 324, 7, 8,
2639 9, 10, 206, 12, 207, 325, 326, 327, 0, 14,
2640 0, 0, 0, 328, 329, 330, 0, 0, 0, 331,
2641 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
2642 0, 0, 20, 0, 0, 0, 332, 21, 0, 0,
2643 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2644 26, 0, 27, 28, 8, 9, 0, 167, 12, 13,
2645 0, 0, 1577, 0, 14, 0, 30, 8, 9, 0,
2646 206, 12, 207, 0, 0, 0, 31, 14, 16, 0,
2647 17, 18, 0, 0, 32, 0, 0, 20, 33, 0,
2648 0, 16, 0, 17, 18, 0, 23, 0, 0, 0,
2649 20, 0, 0, 0, 0, 26, 0, 130, 131, 23,
2650 0, 0, 8, 9, 0, 0, 12, 13, 26, 0,
2651 130, 131, 14, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 16, 0, 17, 0,
2653 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2654 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2655 0, 0, 0, 26, 0, 130, 131, 588, 589, 590,
2656 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2657 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2658 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2659 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2660 609, 1118, 0, 0, 1282, 588, 589, 590, 591, 592,
2661 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2662 603, 604, 605, 606, 607, 608, 609, 1591, 588, 589,
2663 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2664 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2665 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
2666 598, 599, 0, 601, 602, 603, 604, 605, 606, 607,
2667 608, 609, 593, 594, 595, 596, 597, 598, 599, 600,
2668 601, 602, 603, 604, 605, 606, 607, 608, 609, 595,
2669 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2670 606, 607, 608, 609, 596, 597, 598, 599, 600, 601,
2671 602, 603, 604, 605, 606, 607, 608, 609
2674 static const short yycheck
[] = { 4,
2675 149, 150, 126, 174, 161, 23, 456, 351, 176, 80,
2676 4, 42, 731, 4, 175, 4, 403, 357, 210, 252,
2677 403, 357, 42, 358, 359, 305, 306, 524, 59, 57,
2678 35, 583, 244, 403, 307, 308, 134, 42, 42, 662,
2679 4, 35, 374, 80, 35, 907, 35, 441, 42, 156,
2680 133, 324, 57, 42, 327, 84, 248, 330, 707, 339,
2681 333, 1419, 4, 124, 337, 1341, 90, 72, 92, 1507,
2682 14, 35, 345, 144, 409, 410, 218, 219, 42, 84,
2683 1508, 210, 190, 88, 11, 90, 42, 92, 30, 31,
2684 219, 714, 479, 35, 133, 134, 479, 42, 11, 11,
2685 42, 33, 107, 108, 12, 297, 4, 713, 136, 815,
2686 1509, 817, 1, 137, 0, 1553, 63, 75, 1, 825,
2687 1, 350, 351, 352, 357, 61, 4, 577, 38, 510,
2688 474, 136, 137, 204, 139, 1531, 63, 35, 169, 83,
2689 9, 485, 84, 1351, 42, 165, 527, 0, 176, 169,
2690 1358, 75, 60, 46, 59, 63, 1552, 35, 63, 351,
2691 165, 108, 106, 831, 169, 169, 4, 5, 93, 837,
2692 59, 176, 136, 109, 63, 169, 59, 109, 59, 210,
2693 169, 108, 63, 76, 25, 190, 27, 218, 219, 1588,
2694 55, 48, 60, 62, 136, 108, 108, 49, 31, 109,
2695 108, 165, 3, 4, 5, 169, 95, 149, 150, 1637,
2696 12, 1250, 1251, 169, 95, 1653, 1612, 248, 59, 57,
2697 58, 27, 63, 165, 169, 31, 263, 169, 1267, 48,
2698 59, 93, 1508, 730, 39, 1593, 93, 94, 136, 4,
2699 62, 109, 471, 60, 473, 474, 475, 61, 190, 12,
2700 55, 108, 194, 195, 95, 61, 57, 58, 60, 65,
2701 1, 63, 3, 4, 5, 348, 297, 165, 97, 93,
2702 35, 169, 60, 61, 93, 94, 1138, 42, 1556, 947,
2703 81, 1, 732, 3, 4, 5, 6, 61, 8, 108,
2704 60, 108, 449, 298, 60, 109, 394, 60, 571, 572,
2705 63, 48, 65, 109, 1512, 249, 76, 48, 141, 348,
2706 175, 60, 55, 146, 55, 344, 57, 58, 140, 84,
2707 351, 214, 42, 659, 75, 386, 331, 1605, 663, 49,
2708 700, 725, 726, 361, 156, 55, 360, 57, 58, 344,
2709 989, 1380, 108, 7, 493, 494, 93, 352, 4, 75,
2710 1389, 1390, 93, 1392, 1562, 360, 361, 963, 690, 108,
2711 966, 108, 195, 48, 506, 507, 76, 461, 78, 89,
2712 48, 136, 514, 63, 38, 55, 407, 48, 507, 35,
2713 3, 4, 5, 63, 526, 75, 25, 65, 27, 496,
2714 93, 213, 998, 999, 1062, 25, 629, 361, 403, 221,
2715 165, 406, 344, 545, 169, 1613, 1074, 107, 93, 94,
2716 61, 12, 443, 357, 403, 93, 238, 4, 3, 361,
2717 59, 6, 93, 443, 63, 190, 27, 260, 1290, 59,
2718 31, 1054, 175, 63, 57, 58, 59, 108, 443, 443,
2719 1108, 993, 1110, 474, 60, 61, 31, 48, 35, 8,
2720 9, 55, 4, 5, 61, 14, 95, 42, 109, 60,
2721 61, 403, 63, 361, 65, 95, 48, 472, 60, 25,
2722 475, 75, 57, 58, 479, 506, 507, 706, 37, 443,
2723 223, 48, 61, 514, 55, 48, 71, 46, 525, 48,
2724 4, 5, 93, 94, 518, 526, 81, 525, 65, 1538,
2725 1539, 443, 109, 55, 89, 57, 58, 108, 93, 48,
2726 31, 93, 847, 518, 545, 63, 108, 48, 55, 71,
2727 525, 3, 4, 5, 59, 48, 93, 551, 500, 81,
2728 93, 525, 48, 75, 93, 49, 508, 479, 75, 48,
2729 405, 59, 94, 57, 58, 443, 551, 65, 553, 55,
2730 555, 493, 494, 724, 93, 560, 561, 562, 563, 564,
2731 1266, 525, 93, 1060, 182, 48, 59, 81, 573, 1019,
2732 93, 94, 76, 1179, 1180, 57, 58, 93, 583, 344,
2733 93, 586, 55, 525, 93, 108, 48, 420, 800, 801,
2734 423, 48, 621, 691, 806, 1, 361, 3, 4, 5,
2735 698, 55, 435, 990, 60, 61, 471, 990, 473, 474,
2736 93, 94, 60, 4, 5, 620, 621, 957, 9, 55,
2737 990, 957, 25, 516, 27, 108, 855, 525, 76, 451,
2738 78, 93, 94, 55, 639, 666, 93, 94, 403, 75,
2739 31, 646, 48, 108, 48, 918, 108, 108, 983, 55,
2740 792, 57, 58, 59, 60, 488, 59, 48, 491, 698,
2741 63, 108, 405, 855, 55, 487, 57, 58, 108, 693,
2742 11, 48, 505, 953, 496, 706, 949, 950, 443, 621,
2743 71, 699, 753, 4, 5, 809, 109, 93, 693, 93,
2744 81, 513, 95, 60, 61, 637, 638, 639, 1144, 1145,
2745 929, 1147, 93, 94, 646, 1202, 650, 936, 7, 8,
2746 9, 25, 730, 27, 479, 14, 93, 3, 4, 5,
2747 6, 4, 5, 831, 957, 48, 955, 97, 471, 837,
2748 473, 474, 31, 61, 14, 55, 57, 58, 37, 4,
2749 5, 45, 22, 748, 487, 59, 1243, 46, 93, 63,
2750 755, 55, 3, 496, 58, 75, 42, 500, 61, 55,
2751 525, 792, 61, 1036, 1037, 508, 49, 1102, 1103, 1104,
2752 93, 57, 58, 75, 57, 58, 60, 61, 815, 75,
2753 817, 95, 60, 61, 49, 65, 823, 815, 825, 817,
2754 33, 63, 57, 58, 822, 823, 1025, 825, 81, 1143,
2755 665, 94, 1031, 89, 746, 747, 748, 48, 832, 833,
2756 815, 835, 817, 755, 111, 909, 81, 48, 823, 48,
2757 825, 815, 48, 817, 855, 48, 831, 832, 833, 55,
2758 835, 825, 837, 48, 65, 1006, 778, 779, 55, 947,
2759 55, 706, 94, 63, 124, 1057, 1058, 1059, 955, 75,
2760 75, 815, 93, 817, 48, 75, 621, 63, 75, 4,
2761 75, 825, 93, 94, 93, 94, 48, 93, 148, 75,
2762 93, 48, 63, 815, 639, 817, 60, 1150, 93, 1028,
2763 1029, 646, 93, 825, 75, 93, 48, 1036, 1037, 831,
2764 35, 7, 8, 9, 93, 837, 11, 42, 14, 93,
2765 1619, 906, 4, 5, 75, 910, 149, 150, 151, 75,
2766 55, 93, 57, 63, 747, 31, 93, 815, 75, 817,
2767 108, 37, 665, 60, 1031, 818, 819, 825, 107, 108,
2768 46, 93, 84, 85, 27, 828, 941, 75, 31, 4,
2769 5, 1170, 947, 776, 777, 61, 951, 49, 27, 1043,
2770 1044, 784, 31, 196, 1062, 57, 58, 822, 108, 239,
2771 240, 108, 1033, 706, 108, 1300, 1074, 60, 61, 4,
2772 5, 55, 252, 108, 3, 4, 5, 60, 61, 81,
2773 1430, 60, 61, 748, 49, 990, 65, 992, 993, 1218,
2774 755, 136, 57, 58, 75, 140, 1446, 7, 8, 9,
2775 1108, 990, 1110, 75, 14, 947, 1350, 949, 950, 951,
2776 60, 61, 191, 957, 49, 1086, 81, 844, 845, 846,
2777 165, 31, 57, 58, 169, 1030, 55, 37, 57, 58,
2778 175, 176, 108, 1038, 1128, 1129, 46, 1065, 4, 5,
2779 109, 1046, 109, 323, 48, 108, 81, 108, 990, 1086,
2780 815, 55, 817, 108, 55, 111, 55, 1062, 1095, 65,
2781 825, 108, 63, 1170, 63, 65, 831, 1095, 1341, 1074,
2782 9, 75, 837, 12, 75, 27, 75, 75, 223, 822,
2783 75, 1531, 55, 49, 364, 75, 1028, 1029, 1030, 93,
2784 1095, 57, 58, 373, 1036, 1037, 1038, 4, 5, 60,
2785 61, 1095, 1552, 1108, 111, 1110, 386, 929, 111, 48,
2786 59, 1218, 108, 1118, 936, 60, 61, 3, 4, 5,
2787 1062, 60, 1216, 62, 63, 60, 65, 108, 1152, 1579,
2788 108, 1095, 1074, 955, 108, 55, 55, 76, 8, 78,
2789 75, 76, 93, 78, 63, 48, 1240, 1152, 55, 65,
2790 57, 58, 331, 1095, 93, 94, 75, 93, 60, 1546,
2791 4, 5, 1612, 1546, 71, 9, 1108, 109, 1110, 108,
2792 1175, 57, 58, 55, 81, 33, 109, 795, 61, 108,
2793 37, 1349, 947, 1633, 1202, 1078, 951, 1348, 1282, 1350,
2794 55, 1084, 1085, 1026, 1027, 1088, 1089, 1095, 63, 1092,
2795 1065, 65, 1035, 1025, 65, 65, 1550, 108, 1213, 1031,
2796 75, 55, 61, 57, 58, 55, 361, 63, 1223, 1213,
2797 108, 111, 1213, 63, 1261, 990, 65, 71, 65, 1266,
2798 60, 1173, 1174, 1175, 76, 75, 108, 81, 1266, 108,
2799 1469, 108, 522, 76, 76, 3, 4, 5, 6, 108,
2800 493, 494, 495, 1526, 1527, 108, 3, 4, 5, 76,
2801 405, 1266, 3, 4, 5, 1030, 76, 108, 63, 63,
2802 55, 1213, 1266, 1038, 108, 1369, 60, 108, 63, 1221,
2803 1222, 1223, 1025, 63, 42, 3, 4, 5, 1031, 7,
2804 75, 149, 150, 151, 1236, 1237, 108, 1062, 443, 57,
2805 58, 108, 1266, 1532, 108, 585, 111, 109, 108, 1074,
2806 57, 58, 1406, 60, 55, 1213, 57, 58, 59, 1350,
2807 38, 94, 1065, 502, 1266, 111, 471, 472, 473, 474,
2808 1095, 4, 5, 89, 479, 75, 1341, 55, 196, 57,
2809 58, 48, 487, 1108, 1349, 1110, 1351, 1341, 1170, 629,
2810 111, 4, 5, 1358, 108, 500, 9, 1351, 1550, 108,
2811 1351, 1366, 108, 508, 1358, 108, 1523, 1358, 1266, 33,
2812 108, 61, 109, 108, 553, 48, 555, 1526, 1527, 109,
2813 525, 560, 55, 60, 57, 58, 1219, 1220, 81, 82,
2814 83, 84, 85, 1226, 573, 108, 1218, 65, 71, 1341,
2815 60, 60, 55, 108, 57, 58, 63, 586, 81, 1351,
2816 1175, 590, 108, 3, 4, 5, 1358, 1239, 71, 699,
2817 93, 94, 93, 3, 4, 5, 93, 707, 81, 1600,
2818 93, 93, 111, 109, 108, 30, 31, 8, 33, 618,
2819 33, 94, 108, 1341, 65, 624, 111, 108, 1213, 1067,
2820 1068, 55, 108, 1351, 3, 4, 5, 737, 1223, 49,
2821 1358, 640, 57, 1468, 59, 108, 108, 57, 58, 49,
2822 65, 108, 108, 108, 108, 1218, 1094, 57, 58, 108,
2823 108, 1099, 108, 1348, 108, 1350, 150, 151, 3, 4,
2824 5, 6, 111, 63, 1387, 1388, 1239, 1502, 3, 4,
2825 5, 1266, 1507, 1508, 1509, 748, 55, 1512, 57, 58,
2826 48, 108, 755, 1507, 1508, 1258, 1507, 108, 1512, 1550,
2827 665, 1512, 108, 1528, 1466, 1467, 1468, 42, 96, 63,
2828 63, 61, 196, 61, 49, 9, 61, 16, 111, 108,
2829 93, 1546, 57, 58, 4, 5, 141, 108, 1553, 1643,
2830 790, 146, 57, 58, 149, 150, 151, 1562, 108, 1553,
2831 1502, 706, 1553, 1456, 108, 1507, 1508, 1509, 1562, 108,
2832 1512, 1562, 93, 65, 89, 190, 1341, 3, 4, 5,
2833 61, 176, 55, 1588, 1526, 1527, 1351, 182, 8, 9,
2834 830, 61, 80, 1358, 14, 55, 836, 57, 58, 194,
2835 195, 196, 93, 93, 1546, 1348, 17, 1350, 1613, 1507,
2836 1508, 1553, 61, 55, 1512, 210, 104, 37, 61, 1613,
2837 1562, 108, 1613, 218, 219, 108, 46, 3, 4, 5,
2838 6, 57, 58, 102, 11, 493, 494, 495, 1256, 1257,
2839 107, 1259, 1260, 108, 1262, 133, 1588, 1469, 1653, 108,
2840 65, 61, 3, 4, 5, 1553, 144, 61, 61, 1653,
2841 93, 60, 1653, 108, 1562, 260, 42, 331, 61, 108,
2842 815, 1613, 817, 3, 4, 5, 108, 822, 823, 55,
2843 825, 57, 58, 11, 11, 61, 1551, 63, 1581, 61,
2844 61, 3, 4, 5, 0, 71, 976, 0, 3, 4,
2845 5, 0, 942, 1468, 944, 81, 57, 58, 170, 989,
2846 1532, 1653, 2, 89, 35, 1613, 204, 93, 79, 80,
2847 81, 82, 83, 84, 85, 55, 1469, 57, 58, 4,
2848 5, 1444, 691, 8, 9, 914, 331, 1502, 169, 14,
2849 990, 443, 1507, 1508, 1509, 57, 58, 1512, 165, 4,
2850 5, 239, 57, 58, 9, 1653, 1599, 823, 1202, 1377,
2851 1378, 94, 37, 60, 239, 139, 430, 431, 65, 948,
2852 1429, 46, 951, 48, 1653, 263, 31, 300, 75, 76,
2853 55, 1546, 57, 58, 976, 1028, 1029, 1030, 1553, 1532,
2854 737, 4, 5, 1036, 1037, 1038, 71, 1562, 672, 243,
2855 55, 1243, 57, 58, 1060, 1095, 81, 823, 1551, 969,
2856 1263, 406, 407, 7, 8, 9, 71, 201, 93, 94,
2857 14, 348, 674, 1588, 621, 420, 81, 1351, 423, 124,
2858 494, 495, 45, 1214, 429, 430, 431, 31, 93, 1633,
2859 435, 1619, 55, 37, 57, 58, 1567, 462, 1613, 1129,
2860 1629, 1631, 46, 764, 1366, -1, 190, -1, -1, 1038,
2861 -1, 1479, 1480, 1481, -1, -1, -1, 1107, 356, 1109,
2862 -1, -1, -1, -1, -1, -1, -1, 472, -1, 474,
2863 1025, -1, -1, -1, -1, -1, -1, -1, 1653, 553,
2864 748, 555, -1, 488, -1, -1, 491, 755, 493, 494,
2865 495, 3, 4, 5, 499, 7, 8, 9, 572, 573,
2866 505, 506, 507, -1, -1, 510, -1, 1535, 1536, 514,
2867 1065, -1, 586, -1, -1, 413, 1166, -1, -1, 31,
2868 1210, -1, 527, -1, -1, 37, 1216, 552, -1, -1,
2869 -1, 4, 5, -1, -1, -1, 3, 4, 5, 6,
2870 1095, -1, -1, -1, -1, 57, 58, -1, 553, -1,
2871 555, -1, -1, -1, -1, -1, -1, -1, 31, 1148,
2872 -1, 3, 4, 5, 6, -1, 571, 572, 573, -1,
2873 -1, -1, 646, 190, -1, 42, 1604, -1, -1, -1,
2874 -1, 586, 55, -1, 57, 58, 611, -1, 55, 31,
2875 57, 58, 617, -1, 619, 620, 63, 1247, 71, -1,
2876 42, -1, 1252, -1, 71, -1, 48, 88, 81, 90,
2877 -1, 92, -1, 55, 81, 57, 58, -1, -1, -1,
2878 93, 646, 89, -1, 522, -1, 93, -1, 653, 71,
2879 -1, -1, 637, 638, 639, -1, -1, -1, -1, 81,
2880 48, 646, -1, 4, 5, 1335, 1336, 89, 9, -1,
2881 548, 93, 94, -1, 1304, -1, 137, -1, 139, 403,
2882 -1, 666, -1, 3, 4, 5, -1, 7, 8, 9,
2883 31, -1, -1, -1, 748, -1, -1, -1, -1, 87,
2884 88, 755, -1, 91, 92, 93, 94, 48, -1, 1278,
2885 1279, 1280, 1281, -1, 55, 769, 57, 58, -1, 1288,
2886 -1, 706, 707, 1258, -1, 779, 780, -1, 1263, 190,
2887 71, 1266, -1, -1, -1, 194, 195, 57, 58, -1,
2888 81, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2889 755, 1421, 93, 94, -1, 479, 634, -1, -1, -1,
2890 -1, 746, 747, 748, 769, 1334, 1396, 1397, -1, -1,
2891 755, 649, -1, 1443, 1444, -1, -1, -1, -1, -1,
2892 1028, 1029, 1030, 1413, 769, -1, -1, -1, 1036, 1037,
2893 1038, 776, 777, 778, 779, 780, -1, -1, -1, 784,
2894 3, 4, 5, -1, 7, 8, 9, 792, -1, -1,
2895 795, -1, -1, 1348, 1349, 1350, -1, -1, -1, -1,
2896 -1, -1, -1, -1, 1457, -1, -1, -1, 31, -1,
2897 3, 4, 5, 6, 37, -1, -1, -1, 823, -1,
2898 -1, -1, 1472, 1473, -1, -1, -1, -1, -1, -1,
2899 1520, -1, 55, -1, 57, 58, 59, -1, 1488, 1489,
2900 -1, 322, -1, -1, -1, 462, -1, -1, -1, 42,
2901 1439, 3, 4, 5, 6, 753, -1, -1, -1, -1,
2902 -1, -1, 55, -1, 57, 58, -1, -1, 107, 108,
2903 63, -1, -1, 1526, 1527, 1528, 950, 951, 71, 360,
2904 103, 104, 105, 781, -1, 910, -1, -1, 81, -1,
2905 42, -1, -1, -1, -1, 639, 89, 49, -1, 924,
2906 93, 926, 646, 928, -1, 57, 58, -1, -1, -1,
2907 -1, -1, -1, 1502, -1, 3, 4, 5, 6, 1508,
2908 1509, 9, -1, -1, -1, 930, -1, -1, 933, 81,
2909 -1, -1, -1, -1, -1, 552, -1, 89, -1, 1528,
2910 945, -1, -1, 31, 949, 950, 951, -1, -1, -1,
2911 -1, 190, -1, 978, 42, 1029, 1030, -1, -1, -1,
2912 48, -1, -1, 1037, 1038, -1, -1, 55, -1, 57,
2913 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2914 461, 462, -1, 71, 989, -1, -1, -1, 1013, -1,
2915 -1, -1, -1, 81, 611, -1, 1551, -1, -1, 1588,
2916 617, 89, 619, 620, 748, 93, 94, -1, -1, 488,
2917 -1, 755, 491, -1, 493, 494, -1, -1, 1607, -1,
2918 -1, 1026, 1027, 1028, 1029, 1030, 505, -1, -1, -1,
2919 1035, 1036, 1037, 1038, -1, -1, 653, 518, -1, 1628,
2920 -1, -1, 1047, 1048, 1049, -1, -1, -1, 1637, -1,
2921 -1, 3, 4, 5, 6, -1, -1, -1, 956, -1,
2922 958, -1, 1067, 1068, -1, -1, -1, -1, -1, -1,
2923 551, 552, -1, -1, -1, -1, -1, -1, 559, -1,
2924 -1, -1, -1, -1, -1, -1, -1, 831, -1, 1094,
2925 42, -1, 331, 837, 1099, -1, -1, 49, -1, -1,
2926 1174, 1175, 583, -1, 585, 57, 58, 588, 589, -1,
2927 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2928 601, 602, 603, 604, 605, 606, 607, 608, 609, 81,
2929 611, -1, -1, 4, 5, 1033, 617, 89, 619, 620,
2930 -1, -1, -1, -1, -1, -1, -1, -1, 1222, 1223,
2931 -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
2932 31, -1, -1, -1, 403, 646, -1, -1, 1173, 1174,
2933 1175, -1, 653, -1, -1, -1, -1, 48, -1, 1204,
2934 -1, 1206, -1, 1208, 55, -1, 57, 58, 1086, 1457,
2935 39, 40, -1, 42, 4, 5, 677, 678, 8, 9,
2936 71, -1, -1, 947, 14, -1, 55, 951, 57, 58,
2937 81, -1, 693, -1, 1219, 1220, 1221, 1222, 1223, -1,
2938 -1, 1226, 93, 94, -1, -1, -1, 37, -1, -1,
2939 -1, 1236, 1237, 1238, -1, -1, 46, -1, 48, -1,
2940 479, 3, 4, 5, 6, 55, 990, 57, 58, -1,
2941 -1, 1256, 1257, -1, 1259, 1260, 737, 1262, 1526, 1527,
2942 1528, 71, -1, -1, -1, -1, -1, 746, 747, -1,
2943 -1, 81, -1, -1, 755, -1, -1, -1, 1176, -1,
2944 42, -1, -1, 93, 94, 1310, 1030, 49, 769, -1,
2945 -1, -1, -1, 910, 1038, 57, 58, 776, 777, 778,
2946 779, -1, -1, -1, -1, 784, -1, 924, -1, 926,
2947 -1, 928, -1, -1, 553, -1, 555, -1, 1062, 81,
2948 -1, 560, 561, 562, 563, 564, -1, 89, -1, -1,
2949 1074, -1, -1, 814, 573, -1, -1, 3, 4, 5,
2950 6, 7, 8, 9, 1349, 1350, -1, 586, 14, -1,
2951 -1, 832, 833, -1, 835, -1, 1361, 1362, -1, 1364,
2952 -1, 978, -1, 1261, 1108, 31, 1110, -1, -1, -1,
2953 -1, 37, 1377, 1378, -1, -1, 42, -1, -1, -1,
2954 46, 620, 48, 1457, -1, -1, -1, -1, -1, 55,
2955 871, 57, 58, -1, -1, -1, 1013, -1, -1, -1,
2956 639, -1, -1, -1, -1, 71, -1, 646, -1, -1,
2957 -1, -1, -1, -1, -1, 81, -1, 3, 4, 5,
2958 6, -1, -1, 89, -1, -1, -1, 93, 909, 910,
2959 -1, 1175, 1457, -1, -1, -1, -1, -1, -1, -1,
2960 -1, -1, -1, 924, -1, 926, -1, 928, -1, -1,
2961 -1, -1, 1457, 1527, 1528, -1, 42, -1, -1, -1,
2962 -1, 1466, 1467, 1468, -1, 1363, -1, -1, -1, 55,
2963 -1, 57, 58, 4, 1479, 1480, 1481, 63, -1, 1223,
2964 -1, -1, -1, 14, -1, 71, 967, -1, -1, -1,
2965 -1, -1, -1, 24, -1, 81, -1, 978, -1, 30,
2966 31, -1, 33, 89, 35, -1, -1, 93, -1, 748,
2967 -1, 42, 993, -1, -1, 996, 755, -1, -1, -1,
2968 -1, 1526, 1527, 1528, 55, -1, 57, -1, -1, -1,
2969 1535, 1536, 1013, -1, 65, -1, -1, -1, -1, -1,
2970 -1, 72, -1, -1, -1, -1, -1, 1026, 1027, 1028,
2971 1029, -1, 83, 84, -1, -1, 1035, 1036, 1037, -1,
2972 -1, -1, 1043, 1044, -1, -1, -1, -1, 1047, 1048,
2973 1049, -1, -1, 4, 5, 106, -1, -1, 9, 4,
2974 5, -1, -1, -1, 9, -1, -1, 1204, -1, 1206,
2975 -1, 1208, 831, -1, -1, -1, 1077, -1, 837, 1604,
2976 31, -1, -1, 134, -1, 136, 31, -1, -1, 140,
2977 141, -1, -1, -1, 145, 146, -1, -1, 149, 150,
2978 151, -1, -1, 48, 55, -1, 57, 58, -1, -1,
2979 55, -1, 57, 58, 165, -1, -1, -1, 169, -1,
2980 71, -1, -1, -1, 175, 176, 71, 1128, 1129, -1,
2981 81, 1132, 3, 4, 5, 6, 81, -1, -1, -1,
2982 -1, -1, 93, 194, 195, 196, -1, 906, 93, 94,
2983 -1, 1152, -1, -1, 1, -1, 3, 4, 5, 6,
2984 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2985 -1, 42, 223, 1310, 3, 4, 5, 6, 49, -1,
2986 -1, 28, 941, 30, 31, 32, 57, 58, 947, 240,
2987 37, 38, 951, -1, -1, 42, -1, -1, 249, 46,
2988 47, -1, 49, 1204, 1468, 1206, -1, 1208, 55, 260,
2989 57, 58, -1, 42, 61, 1216, 63, -1, 89, -1,
2990 1219, 1220, 1221, 1222, 71, -1, 55, 1226, 57, 58,
2991 -1, 990, -1, 992, 81, -1, -1, 1236, 1237, 1240,
2992 -1, -1, 89, -1, -1, -1, 93, 298, 299, -1,
2993 -1, -1, -1, 1254, 1255, -1, -1, -1, -1, -1,
2994 89, -1, 109, -1, -1, -1, -1, 4, 5, -1,
2995 82, 1030, 9, -1, -1, -1, -1, -1, -1, 1038,
2996 -1, 1282, 1546, -1, -1, 637, 638, 1046, -1, -1,
2997 -1, -1, -1, 344, 31, -1, -1, 348, -1, 350,
2998 351, 352, -1, 1062, -1, -1, -1, -1, -1, 1310,
2999 361, 48, -1, -1, -1, 1074, -1, -1, 55, -1,
3000 57, 58, 3, 4, 5, 6, -1, -1, 9, 1330,
3001 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3002 -1, -1, -1, 394, 81, -1, -1, 159, -1, 1108,
3003 31, 1110, 403, -1, 405, 406, 93, 94, -1, 1118,
3004 -1, 42, 1361, 1362, -1, 1364, -1, 48, 1369, 420,
3005 -1, -1, 423, -1, 55, -1, 57, 58, -1, -1,
3006 192, -1, 1383, -1, 435, -1, -1, -1, -1, -1,
3007 71, -1, 443, 205, 746, 747, -1, -1, -1, -1,
3008 81, -1, -1, -1, -1, 1406, -1, -1, 89, -1,
3009 -1, -1, 93, 94, -1, -1, 1175, -1, -1, -1,
3010 471, 472, 473, 474, 475, -1, -1, -1, 479, -1,
3011 3, 4, 5, 6, -1, -1, 487, 488, -1, -1,
3012 491, -1, 493, 494, 495, 496, -1, -1, -1, 500,
3013 -1, -1, -1, -1, 505, -1, 1457, 508, 31, -1,
3014 -1, -1, -1, -1, 1223, -1, -1, 1466, 1467, 42,
3015 -1, -1, -1, -1, 525, 48, 1477, 1478, -1, -1,
3016 -1, -1, 55, -1, 57, 58, -1, -1, 1, -1,
3017 3, 4, 5, 6, 7, 8, 9, -1, 71, -1,
3018 -1, 14, -1, -1, -1, -1, -1, -1, 81, 1510,
3019 561, 562, 563, 564, -1, 28, 89, 30, 31, 32,
3020 93, 94, -1, -1, 37, 38, -1, 1526, 1527, 42,
3021 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
3022 1541, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3023 63, -1, -1, -1, -1, -1, -1, -1, 71, -1,
3024 -1, -1, -1, 3, 4, 5, 6, -1, 81, 9,
3025 621, -1, 623, -1, -1, -1, 89, -1, 930, -1,
3026 93, 933, -1, -1, 635, -1, 637, 638, 639, -1,
3027 -1, 31, -1, 945, -1, 646, 109, 949, 950, 650,
3028 -1, -1, 42, -1, -1, -1, -1, 1366, 48, -1,
3029 -1, -1, -1, -1, 665, 55, -1, 57, 58, 74,
3030 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3031 85, 71, -1, 3, 4, 5, 6, -1, -1, -1,
3032 691, 81, 1643, -1, -1, -1, -1, 698, -1, 89,
3033 -1, -1, -1, 93, 94, 706, 707, -1, -1, 3,
3034 4, 5, 6, 3, 4, 5, 6, -1, -1, -1,
3035 -1, -1, 42, -1, 1026, 1027, 1028, 1029, -1, 49,
3036 -1, -1, -1, 1035, 1036, 1037, 498, 57, 58, -1,
3037 -1, 503, -1, -1, -1, 746, 747, 748, 42, -1,
3038 -1, -1, 42, -1, 755, 49, -1, -1, 48, 1468,
3039 -1, 81, -1, 57, 58, 55, 528, 57, 58, 89,
3040 -1, -1, 534, -1, -1, 776, 777, 778, 779, 780,
3041 -1, 71, -1, 784, 546, 547, -1, 549, 4, 5,
3042 -1, 81, -1, 9, -1, 89, -1, -1, -1, 89,
3043 -1, -1, -1, 93, 94, -1, -1, 4, 5, -1,
3044 -1, 812, 9, -1, 815, 31, 817, -1, -1, 1528,
3045 -1, 822, 823, -1, 825, -1, -1, -1, -1, -1,
3046 831, -1, 48, -1, 31, -1, 837, 1546, -1, 55,
3047 -1, 57, 58, 844, 845, 846, -1, -1, -1, -1,
3048 -1, 48, -1, -1, 855, 71, -1, -1, 55, -1,
3049 57, 58, -1, -1, -1, 81, -1, -1, -1, -1,
3050 -1, 1173, 1174, -1, 71, -1, -1, 93, 94, -1,
3051 642, 643, -1, -1, 81, 647, -1, 3, 4, 5,
3052 6, 7, 8, 9, -1, -1, 93, 94, 14, -1,
3053 -1, -1, -1, -1, -1, 906, 3, 4, 5, 6,
3054 -1, -1, 28, -1, 30, 31, 32, 1219, 1220, 1221,
3055 1222, 37, -1, -1, 1226, -1, 42, -1, 929, 930,
3056 46, -1, 933, 49, 31, 936, -1, -1, -1, 55,
3057 941, 57, 58, -1, 945, 42, 947, -1, 949, 950,
3058 951, 48, -1, -1, 955, 71, 957, -1, 55, -1,
3059 57, 58, -1, -1, -1, 81, -1, -1, -1, -1,
3060 -1, -1, -1, 89, 71, -1, -1, 93, -1, -1,
3061 -1, 97, -1, -1, 81, -1, -1, -1, 750, 990,
3062 -1, 992, 89, -1, 60, -1, 93, 94, 64, 65,
3063 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3064 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3065 782, -1, -1, -1, 1025, 1026, 1027, 1028, 1029, 1030,
3066 1031, 4, 5, -1, 1035, 1036, 1037, 1038, 3, 4,
3067 5, 6, 7, 8, 9, 1046, 1047, 1048, 1049, 14,
3068 -1, -1, -1, -1, -1, -1, -1, -1, 31, 1361,
3069 1362, 1062, 1364, 28, 1065, 30, 31, -1, -1, -1,
3070 -1, -1, 37, 1074, -1, 48, 838, 42, 840, -1,
3071 -1, 46, 55, 48, 57, 58, 1087, -1, -1, -1,
3072 55, -1, 57, 58, 1095, -1, -1, -1, 71, -1,
3073 -1, -1, -1, -1, -1, -1, 71, 1108, 81, 1110,
3074 -1, -1, -1, -1, -1, -1, 81, 1118, -1, -1,
3075 93, 94, -1, -1, 89, -1, -1, -1, 93, 94,
3076 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
3077 5, 6, -1, 1144, 1145, -1, 1147, -1, -1, -1,
3078 912, 913, -1, 915, -1, 3, 4, 5, 6, 7,
3079 8, 9, -1, -1, 1466, 1467, 14, -1, -1, 1170,
3080 -1, -1, 1173, 1174, 1175, -1, -1, 42, -1, -1,
3081 -1, -1, -1, 31, 946, -1, -1, -1, -1, 37,
3082 55, -1, 57, 58, 42, -1, 61, -1, 46, -1,
3083 48, -1, -1, -1, -1, -1, 71, 55, -1, 57,
3084 58, -1, -1, -1, -1, -1, 81, 1218, 1219, 1220,
3085 1221, 1222, 1223, 71, 89, 1226, -1, -1, 93, -1,
3086 -1, -1, -1, 81, -1, 1236, 1237, 1238, 1239, -1,
3087 4, 89, -1, -1, -1, 93, 94, -1, -1, -1,
3088 14, -1, -1, -1, -1, -1, -1, 1258, -1, 23,
3089 24, -1, 1263, -1, -1, 1266, 30, 31, -1, 33,
3090 -1, 35, 1034, -1, -1, -1, -1, -1, 42, -1,
3091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3092 -1, 55, -1, 57, -1, -1, -1, -1, -1, 1061,
3093 -1, 65, -1, -1, -1, -1, -1, -1, 72, -1,
3094 1, 1073, 3, 4, 5, 6, 7, 8, 9, -1,
3095 84, -1, -1, 14, -1, -1, -1, -1, -1, 3,
3096 4, 5, 6, -1, -1, 9, 27, 28, -1, 30,
3097 31, 32, -1, -1, -1, -1, 37, 1348, 1349, 1350,
3098 -1, 42, -1, -1, 45, 46, 47, 31, 49, -1,
3099 1361, 1362, -1, 1364, 55, 1366, 57, 58, 42, -1,
3100 61, -1, 136, -1, 48, -1, 140, 141, -1, -1,
3101 71, 55, 146, 57, 58, 149, 150, 151, -1, -1,
3102 81, -1, -1, -1, -1, -1, -1, 71, 89, 1161,
3103 -1, 165, 93, -1, -1, 169, 97, 81, -1, -1,
3104 -1, 175, 176, -1, -1, 89, -1, -1, -1, 93,
3105 94, -1, 3, 4, 5, 6, -1, -1, 9, -1,
3106 194, 195, 196, -1, -1, -1, -1, -1, -1, -1,
3107 -1, -1, -1, 3, 4, 5, 6, -1, -1, -1,
3108 31, -1, -1, -1, -1, -1, 1457, -1, -1, 223,
3109 -1, 42, 1224, -1, -1, 1466, 1467, 1468, 1469, -1,
3110 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3111 -1, -1, 42, -1, -1, -1, -1, -1, -1, 49,
3112 71, -1, -1, -1, -1, -1, 260, 57, 58, -1,
3113 81, -1, -1, -1, -1, -1, 1268, -1, 89, -1,
3114 1272, 1, 93, 3, 4, 5, 6, 7, 8, 9,
3115 -1, 81, -1, -1, 14, 1526, 1527, 1528, -1, 89,
3116 -1, 1532, -1, -1, 298, 299, -1, -1, 28, -1,
3117 30, 31, 32, -1, 1306, 1546, -1, 37, 38, -1,
3118 1551, -1, 42, -1, -1, -1, 46, 47, -1, 49,
3119 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3120 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
3121 344, 71, -1, -1, 348, -1, 350, 351, 352, -1,
3122 -1, 81, -1, 357, -1, -1, -1, 361, -1, 89,
3123 -1, -1, -1, 93, -1, -1, 3, 4, 5, 6,
3124 1372, -1, 9, -1, 1376, -1, -1, -1, -1, 109,
3125 -1, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3126 394, -1, 9, -1, 31, -1, 1398, 1399, -1, 403,
3127 -1, 405, 406, -1, -1, 42, -1, -1, -1, -1,
3128 -1, 48, -1, -1, 31, -1, 420, -1, 55, 423,
3129 57, 58, -1, -1, -1, -1, -1, 3, 4, 5,
3130 6, 435, -1, 9, 71, -1, -1, -1, 55, 443,
3131 57, 58, -1, -1, 81, -1, -1, -1, -1, -1,
3132 -1, -1, 89, -1, 71, 31, 93, 94, -1, -1,
3133 -1, -1, -1, -1, 81, -1, 42, 471, 472, 473,
3134 474, 475, 48, -1, -1, 479, 93, -1, -1, 55,
3135 -1, 57, 58, 487, 488, -1, -1, 491, -1, 493,
3136 494, 495, 496, -1, -1, 71, 500, -1, -1, -1,
3137 -1, 505, -1, -1, 508, 81, -1, -1, -1, -1,
3138 -1, -1, -1, 89, -1, -1, -1, 93, 94, -1,
3139 524, 525, -1, -1, -1, -1, -1, -1, -1, -1,
3140 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3141 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3142 -1, -1, -1, -1, -1, -1, -1, 561, 562, 563,
3143 564, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3144 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3145 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3146 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3147 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3148 -1, -1, 79, 80, 81, -1, -1, 621, -1, 623,
3149 87, 88, 89, -1, -1, -1, 93, 94, -1, -1,
3150 -1, -1, -1, 637, 638, 639, -1, -1, -1, -1,
3151 -1, -1, 646, 110, 1, -1, 3, 4, 5, 6,
3152 7, 8, 9, -1, -1, 659, -1, 14, -1, -1,
3153 -1, 665, -1, -1, -1, -1, -1, -1, -1, -1,
3154 -1, 28, -1, 30, 31, 32, -1, -1, -1, -1,
3155 37, 38, -1, -1, -1, 42, -1, 691, -1, 46,
3156 47, -1, 49, -1, -1, 699, -1, -1, 55, -1,
3157 57, 58, 706, 707, 61, -1, 63, -1, -1, -1,
3158 -1, -1, -1, -1, 71, 3, 4, 5, 6, -1,
3159 -1, -1, -1, -1, 81, -1, 730, -1, -1, -1,
3160 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3161 -1, -1, 746, 747, 748, -1, -1, -1, -1, -1,
3162 -1, 755, 109, -1, 42, -1, -1, -1, 1, -1,
3163 3, 4, 5, 6, 7, 8, 9, 55, -1, 57,
3164 58, 14, 776, 777, 778, 779, 780, -1, -1, -1,
3165 784, -1, -1, 71, -1, 28, -1, 30, 31, 32,
3166 -1, -1, -1, 81, 37, -1, -1, -1, -1, 42,
3167 -1, 89, -1, 46, -1, 93, 49, -1, 812, -1,
3168 -1, 815, 55, 817, 57, 58, -1, -1, 822, 823,
3169 -1, 825, -1, -1, -1, -1, -1, 831, 71, 3,
3170 4, 5, 6, 837, -1, 9, -1, -1, 81, -1,
3171 844, 845, 846, -1, -1, -1, 89, 4, -1, -1,
3172 93, 855, -1, -1, 97, -1, -1, 31, -1, -1,
3173 -1, -1, 3, 4, 5, 6, -1, -1, 42, -1,
3174 -1, -1, -1, 30, 31, -1, 33, -1, 35, -1,
3175 -1, 55, -1, 57, 58, 42, -1, -1, -1, -1,
3176 31, -1, -1, -1, -1, -1, -1, 71, 55, -1,
3177 57, 42, 906, -1, -1, -1, -1, 81, -1, -1,
3178 -1, -1, -1, -1, 55, 89, 57, 58, -1, 93,
3179 -1, -1, -1, 80, -1, 929, 930, -1, -1, 933,
3180 71, -1, 936, -1, -1, -1, -1, 941, -1, -1,
3181 81, 945, -1, 947, -1, 949, 950, 951, 89, -1,
3182 -1, 955, 93, 957, -1, -1, -1, -1, -1, -1,
3183 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3184 -1, -1, -1, 14, -1, -1, 133, 134, -1, 136,
3185 -1, -1, -1, 140, 141, -1, 990, 144, 992, 146,
3186 31, -1, 149, 150, 151, -1, 37, -1, -1, 156,
3187 -1, 42, -1, -1, -1, 46, -1, 48, 165, -1,
3188 -1, -1, 169, -1, 55, -1, 57, 58, 175, 176,
3189 -1, 1025, 1026, 1027, 1028, 1029, 1030, 1031, -1, -1,
3190 71, 1035, 1036, 1037, 1038, -1, -1, 194, 195, 196,
3191 81, -1, 1046, 1047, 1048, 1049, -1, 204, 89, -1,
3192 -1, -1, 93, 94, -1, -1, 1060, -1, 1062, -1,
3193 -1, 1065, -1, -1, -1, -1, 223, -1, -1, -1,
3194 1074, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3195 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
3196 -1, 1095, -1, -1, 3, 4, 5, 6, -1, 28,
3197 9, 30, 31, 260, 1108, -1, 1110, -1, 37, -1,
3198 -1, -1, -1, 42, 1118, -1, -1, 46, -1, -1,
3199 49, -1, 31, -1, -1, -1, 55, -1, 57, 58,
3200 -1, -1, 61, 42, 3, 4, 5, 6, -1, -1,
3201 1144, 1145, 71, 1147, -1, -1, 55, -1, 57, 58,
3202 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
3203 89, -1, 71, -1, 93, -1, 1170, -1, -1, 1173,
3204 1174, 1175, 81, 42, 331, -1, -1, -1, -1, -1,
3205 89, -1, -1, -1, 93, -1, 55, -1, 57, 58,
3206 -1, 348, 61, -1, -1, -1, -1, -1, 1202, 356,
3207 -1, -1, 71, -1, 361, -1, -1, -1, -1, -1,
3208 -1, -1, 81, -1, 1218, 1219, 1220, 1221, 1222, 1223,
3209 89, -1, 1226, -1, 93, -1, -1, -1, -1, -1,
3210 -1, -1, 1236, 1237, 1238, 1239, -1, 394, -1, 1243,
3211 -1, -1, -1, -1, -1, -1, -1, -1, 405, -1,
3212 -1, 4, 5, -1, 1258, 8, 9, -1, -1, 1263,
3213 -1, 14, 1266, 420, -1, -1, 423, -1, -1, -1,
3214 -1, -1, 429, 430, 431, 28, -1, 30, 435, -1,
3215 -1, -1, -1, -1, 37, -1, 443, -1, -1, -1,
3216 -1, -1, -1, 46, -1, 48, -1, -1, -1, -1,
3217 -1, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3218 -1, -1, -1, -1, 471, 472, 473, 474, 71, -1,
3219 -1, -1, 479, -1, -1, -1, -1, -1, 81, -1,
3220 487, 488, -1, 1337, 491, -1, 493, 494, 495, 496,
3221 93, 94, -1, 500, 1348, 1349, 1350, -1, 505, 4,
3222 5, 508, -1, 8, 9, -1, -1, 1361, 1362, 14,
3223 1364, -1, 1366, -1, -1, -1, 4, 5, 525, 7,
3224 8, 9, -1, 28, 12, 30, 14, -1, -1, -1,
3225 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
3226 28, 46, 30, 31, -1, -1, 553, -1, 555, 37,
3227 55, -1, 57, 58, 59, -1, -1, -1, 46, -1,
3228 48, -1, -1, -1, 571, 572, 573, 55, -1, 57,
3229 58, -1, -1, 4, -1, -1, -1, -1, -1, 586,
3230 -1, -1, -1, 71, -1, -1, -1, -1, 93, 3,
3231 4, 5, 6, 81, -1, 9, -1, -1, -1, 30,
3232 31, -1, 33, 1457, 35, 93, 94, -1, -1, -1,
3233 -1, 42, 1466, 1467, 1468, 1469, -1, 31, -1, -1,
3234 -1, -1, -1, -1, 55, -1, 57, 634, 42, -1,
3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, 646,
3236 -1, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3237 -1, -1, -1, -1, -1, -1, -1, 71, 665, -1,
3238 -1, -1, -1, -1, -1, 33, -1, 81, -1, -1,
3239 -1, -1, 1526, 1527, 1528, 89, -1, -1, 1532, 93,
3240 -1, -1, -1, -1, 691, -1, -1, 55, -1, -1,
3241 -1, 698, 1546, -1, -1, -1, -1, 1551, -1, 706,
3242 -1, -1, -1, -1, -1, 136, -1, -1, -1, 140,
3243 141, -1, -1, -1, -1, 146, -1, -1, 149, 150,
3244 151, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3245 82, 83, 84, 85, 165, -1, -1, -1, 169, 746,
3246 747, 748, -1, -1, 175, 176, 753, -1, 755, -1,
3247 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3248 6, -1, 769, 194, 195, 196, -1, -1, -1, 776,
3249 777, 778, 779, 780, -1, -1, -1, 784, -1, -1,
3250 -1, 149, 150, 151, -1, 31, -1, -1, -1, -1,
3251 -1, -1, 223, -1, -1, -1, 42, -1, -1, -1,
3252 -1, -1, -1, -1, -1, -1, -1, 175, 815, 55,
3253 817, 57, 58, -1, -1, 822, 823, -1, 825, -1,
3254 -1, -1, -1, -1, -1, 71, 194, 195, 196, 260,
3255 -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
3256 -1, -1, -1, 89, -1, -1, -1, 93, -1, -1,
3257 -1, -1, -1, -1, -1, 223, -1, -1, -1, -1,
3258 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3259 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3260 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3261 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3262 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3263 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3264 54, 55, -1, 57, 58, 59, 357, 61, 62, -1,
3265 361, 299, -1, -1, 68, -1, -1, 71, -1, -1,
3266 -1, -1, 949, 950, 951, 79, 80, 81, 955, 956,
3267 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3268 -1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
3269 -1, -1, -1, -1, 405, 109, 110, -1, -1, -1,
3270 -1, -1, 350, 351, 352, -1, -1, -1, -1, 420,
3271 -1, -1, 423, -1, -1, -1, -1, 3, 4, 5,
3272 6, -1, -1, 9, 435, -1, -1, -1, -1, -1,
3273 -1, -1, 443, -1, -1, -1, -1, -1, 1025, 1026,
3274 1027, 1028, 1029, 1030, 1031, 31, 1033, -1, 1035, 1036,
3275 1037, 1038, -1, -1, -1, -1, 42, 405, -1, -1,
3276 471, 472, 473, 474, -1, -1, -1, -1, 479, 55,
3277 -1, 57, 58, -1, -1, -1, 487, 488, 1065, -1,
3278 491, -1, 493, 494, 495, 71, -1, -1, -1, 500,
3279 -1, -1, -1, -1, 505, 81, -1, 508, -1, 1086,
3280 -1, -1, -1, 89, -1, -1, -1, 93, 1095, -1,
3281 -1, 4, 5, -1, 525, 8, 9, -1, -1, -1,
3282 -1, 14, -1, 471, -1, 473, 474, 475, -1, -1,
3283 -1, -1, -1, -1, -1, 28, -1, 30, -1, 487,
3284 488, -1, -1, 491, 37, 493, 494, 495, 496, -1,
3285 -1, -1, 500, 46, -1, -1, -1, 505, -1, -1,
3286 508, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3287 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3288 -1, -1, 12, 1170, 14, -1, 1173, 1174, 1175, 1176,
3289 -1, -1, -1, -1, -1, -1, -1, -1, 28, -1,
3290 30, 31, -1, -1, -1, -1, -1, 37, -1, -1,
3291 -1, -1, 42, -1, -1, -1, 46, -1, 48, -1,
3292 -1, -1, -1, -1, 635, 55, -1, 57, 58, -1,
3293 -1, 1218, 1219, 1220, 1221, 1222, 1223, -1, -1, 1226,
3294 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1,
3295 -1, 81, -1, -1, 665, -1, -1, -1, -1, 89,
3296 -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3297 -1, 1258, -1, -1, -1, 623, 1263, -1, -1, 1266,
3298 -1, -1, -1, -1, -1, -1, -1, -1, -1, 637,
3299 638, 639, -1, -1, -1, 706, -1, 1, 646, 3,
3300 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3301 14, -1, -1, -1, -1, -1, -1, 665, -1, -1,
3302 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3303 -1, -1, -1, 37, -1, 746, 747, 748, 42, -1,
3304 -1, -1, 46, 47, 755, 49, -1, -1, -1, -1,
3305 -1, 55, -1, 57, 58, -1, -1, 61, 706, 63,
3306 -1, 1348, 1349, 1350, -1, 776, 777, 71, -1, -1,
3307 -1, -1, -1, 784, -1, -1, -1, 81, -1, -1,
3308 -1, -1, -1, -1, -1, 89, -1, -1, -1, 93,
3309 -1, -1, -1, -1, -1, -1, -1, -1, 746, 747,
3310 748, -1, -1, -1, 815, -1, 817, 755, -1, -1,
3311 -1, 822, 823, -1, 825, -1, -1, -1, -1, -1,
3312 -1, -1, -1, -1, -1, -1, -1, -1, 776, 777,
3313 778, 779, 780, -1, -1, -1, 784, 3, 4, 5,
3314 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3316 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
3317 1457, 37, -1, -1, 822, -1, 42, -1, -1, -1,
3318 46, -1, 48, -1, -1, -1, -1, -1, -1, 55,
3319 -1, 57, 58, -1, -1, -1, 844, 845, 846, -1,
3320 -1, -1, -1, -1, -1, 71, -1, 855, 3, 4,
3321 5, 6, -1, -1, 9, 81, -1, 55, -1, -1,
3322 -1, -1, -1, 89, -1, -1, -1, 93, 94, -1,
3323 -1, -1, -1, -1, -1, -1, 31, -1, -1, 1526,
3324 1527, 1528, 80, -1, -1, 83, 957, 42, -1, -1,
3325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3326 55, -1, 57, 58, 1551, -1, 104, -1, 106, -1,
3327 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3328 -1, 929, 930, -1, -1, 933, 81, -1, 936, -1,
3329 -1, -1, -1, -1, 89, -1, -1, 945, 93, -1,
3330 -1, 949, 950, 951, -1, -1, -1, 955, 3, 4,
3331 5, 6, -1, -1, 1025, 1026, 1027, 1028, 1029, 1030,
3332 -1, -1, -1, -1, 1035, 1036, 1037, 1038, -1, -1,
3333 -1, -1, -1, -1, -1, -1, 31, 175, -1, -1,
3334 -1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
3335 -1, -1, -1, -1, 1065, -1, 194, 195, 196, -1,
3336 55, -1, 57, 58, -1, -1, 204, -1, -1, -1,
3337 -1, -1, -1, -1, -1, -1, 71, 1025, 1026, 1027,
3338 1028, 1029, 1030, 1031, 1095, 223, 81, 1035, 1036, 1037,
3339 1038, -1, -1, -1, 89, -1, -1, -1, 93, 1047,
3340 1048, 1049, -1, 3, 4, 5, 6, 7, 8, 9,
3341 -1, 249, 12, -1, 14, -1, -1, 1065, -1, -1,
3342 -1, -1, -1, -1, -1, 263, -1, -1, 28, -1,
3343 30, 31, -1, -1, -1, -1, -1, 37, -1, -1,
3344 -1, -1, 42, -1, -1, -1, 46, -1, 48, 4,
3345 5, -1, -1, 8, 9, 55, -1, 57, 58, 14,
3346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3347 -1, 71, -1, 28, -1, 30, 350, 351, 352, -1,
3348 -1, 81, 37, -1, -1, -1, -1, -1, -1, 89,
3349 -1, 46, -1, 93, 94, -1, 1144, 1145, -1, 1147,
3350 55, -1, 57, 58, -1, -1, -1, -1, 1219, 1220,
3351 -1, -1, -1, -1, -1, 1226, -1, -1, 356, 357,
3352 -1, -1, 1170, -1, -1, 1173, 1174, 1175, -1, -1,
3353 3, 4, 5, 6, -1, -1, 9, -1, 93, -1,
3354 -1, -1, -1, -1, -1, -1, -1, 1258, -1, -1,
3355 -1, -1, 1263, -1, -1, 1266, -1, -1, 31, -1,
3356 -1, -1, -1, -1, -1, -1, -1, 405, -1, 42,
3357 1218, 1219, 1220, 1221, 1222, 1223, -1, -1, 1226, -1,
3358 -1, -1, 55, -1, 57, 58, -1, -1, 1236, 1237,
3359 1238, 1239, -1, -1, -1, -1, -1, 471, 71, 473,
3360 474, 475, -1, -1, -1, -1, -1, -1, 81, -1,
3361 1258, -1, -1, 14, -1, -1, 89, -1, -1, -1,
3362 93, -1, 23, 24, -1, -1, -1, -1, -1, 30,
3363 31, -1, 33, 471, -1, 473, 474, 1348, 1349, 1350,
3364 -1, 3, 4, 5, 6, 7, 8, 9, -1, 487,
3365 488, -1, 14, 491, -1, 493, 494, 495, 496, -1,
3366 -1, -1, 500, -1, 65, -1, 28, 505, 30, 31,
3367 508, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3368 42, -1, -1, -1, 46, -1, -1, -1, -1, -1,
3369 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
3370 1348, -1, 1350, -1, -1, -1, -1, -1, -1, 71,
3371 -1, -1, -1, 1361, 1362, -1, 1364, -1, -1, 81,
3372 -1, -1, -1, 124, -1, 126, -1, 89, -1, -1,
3373 -1, 93, 133, 134, -1, -1, -1, -1, -1, 140,
3374 141, -1, -1, 144, 145, 146, 1457, 148, 149, 150,
3375 151, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3376 -1, -1, -1, 637, 638, 639, -1, -1, -1, -1,
3377 -1, -1, 646, -1, -1, -1, -1, -1, -1, -1,
3378 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
3379 14, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3380 6, -1, -1, 9, 28, -1, 30, 31, -1, 1457,
3381 -1, 649, 650, 37, -1, 1526, 1527, 1528, 1466, 1467,
3382 1468, 1469, 46, -1, 48, 31, -1, 665, -1, -1,
3383 -1, 55, 706, 57, 58, -1, 42, -1, 239, 240,
3384 1551, -1, -1, -1, -1, -1, -1, 71, -1, 55,
3385 -1, 57, 58, -1, -1, -1, -1, 81, -1, 260,
3386 -1, -1, -1, -1, -1, 71, -1, -1, 706, 93,
3387 94, -1, 746, 747, 748, 81, -1, -1, 1526, 1527,
3388 1528, 755, -1, 89, 1532, -1, -1, 93, -1, -1,
3389 -1, -1, -1, -1, -1, -1, -1, -1, 299, -1,
3390 -1, -1, -1, 1551, -1, -1, -1, -1, 746, 747,
3391 748, -1, -1, -1, -1, 753, -1, 755, 68, 69,
3392 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3393 80, 81, 82, 83, 84, 85, -1, -1, 776, 777,
3394 778, 779, 780, 781, -1, -1, 784, 348, -1, 350,
3395 351, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3396 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3397 -1, 809, -1, -1, -1, -1, -1, 28, -1, 30,
3398 31, 855, -1, -1, 822, -1, 37, -1, -1, -1,
3399 -1, 42, -1, 394, -1, 46, 3, 4, 5, 6,
3400 -1, -1, 9, -1, 55, -1, 57, 58, -1, -1,
3401 -1, -1, 413, -1, -1, 3, 4, 5, 6, 420,
3402 71, -1, 423, -1, 31, -1, -1, -1, -1, -1,
3403 81, -1, -1, -1, 435, 42, -1, -1, 89, -1,
3404 -1, -1, 93, 31, -1, -1, -1, -1, 55, -1,
3405 57, 58, -1, -1, 42, 929, 930, -1, -1, 933,
3406 -1, -1, 936, -1, 71, -1, -1, 55, -1, 57,
3407 58, 945, -1, 12, 81, 949, 950, 951, -1, -1,
3408 -1, 955, 89, 71, -1, -1, 93, -1, -1, -1,
3409 -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
3410 -1, 89, -1, -1, -1, 93, -1, -1, -1, -1,
3411 -1, -1, -1, -1, -1, -1, -1, -1, 956, 957,
3412 958, 522, -1, 524, 63, 64, 65, 66, 67, 68,
3413 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3414 79, 80, 81, 82, 83, 84, 85, 548, -1, -1,
3415 -1, 1025, 1026, 1027, 1028, 1029, 1030, 1031, -1, -1,
3416 -1, 1035, 1036, 1037, 1038, 64, 65, 66, 67, 68,
3417 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3418 79, 80, 81, 82, 83, 84, 85, 1025, 1026, 1027,
3419 1028, 1029, 1030, 1031, -1, 1033, -1, 1035, 1036, 1037,
3420 1038, 3, 4, 5, 6, 7, 8, 9, 107, 1047,
3421 1048, 1049, 14, -1, -1, -1, -1, -1, -1, -1,
3422 -1, -1, 623, -1, -1, -1, 28, 1065, 30, 31,
3423 -1, -1, -1, 634, 635, 37, 637, 638, -1, -1,
3424 42, -1, -1, -1, 46, -1, -1, -1, 1086, -1,
3425 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
3426 -1, 63, -1, -1, 3, 4, 5, 6, -1, 71,
3427 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3428 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3429 691, 93, 31, -1, -1, -1, 1170, 698, 699, 1173,
3430 1174, 1175, -1, 42, -1, -1, 707, -1, -1, -1,
3431 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3432 -1, -1, 31, -1, -1, -1, -1, -1, -1, 730,
3433 -1, -1, 71, -1, -1, -1, -1, -1, 1176, -1,
3434 -1, -1, 81, -1, 1218, 1219, 1220, 1221, 1222, 1223,
3435 89, -1, 1226, -1, 93, 64, 65, 66, 67, 68,
3436 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3437 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
3438 1218, 1219, 1220, 1221, 1222, 1223, -1, -1, 1226, -1,
3439 -1, -1, -1, -1, -1, -1, -1, -1, 1236, 1237,
3440 1238, 1239, -1, -1, -1, -1, -1, -1, 809, -1,
3441 -1, 812, -1, -1, -1, -1, -1, -1, -1, -1,
3442 1258, -1, -1, -1, -1, -1, -1, -1, 1, -1,
3443 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3444 13, 14, -1, 844, 845, 846, -1, -1, -1, -1,
3445 -1, -1, -1, -1, 855, 28, 29, 30, 31, 32,
3446 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3447 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3448 53, 54, 55, -1, 57, 58, 59, 1361, 1362, 62,
3449 1364, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3450 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3451 1348, -1, 1350, -1, 87, 88, 89, -1, -1, -1,
3452 93, 94, -1, 1361, 1362, 1363, 1364, -1, 929, 930,
3453 -1, -1, 933, -1, -1, 936, -1, 110, -1, -1,
3454 -1, -1, -1, -1, 945, -1, 3, 4, 5, 6,
3455 7, 8, 9, -1, 955, 4, 5, 14, 7, 8,
3456 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3457 -1, 28, -1, 30, 31, -1, -1, -1, -1, 28,
3458 37, 30, 31, -1, -1, 42, -1, -1, 37, 46,
3459 -1, -1, 1466, 1467, 1468, 1469, -1, 46, 55, -1,
3460 57, 58, -1, -1, 61, -1, 55, -1, 57, 58,
3461 -1, -1, -1, -1, 71, -1, -1, -1, -1, 1457,
3462 -1, -1, -1, -1, 81, -1, -1, -1, 1466, 1467,
3463 1468, 1469, 89, -1, -1, -1, 93, -1, -1, -1,
3464 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3465 -1, -1, 14, -1, -1, -1, -1, -1, 1532, 1060,
3466 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3467 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3468 42, -1, -1, -1, 46, -1, 1087, -1, 1526, 1527,
3469 1528, -1, -1, 55, 1532, 57, 58, 4, 5, -1,
3470 7, 8, 9, -1, -1, -1, -1, 14, -1, 71,
3471 -1, -1, -1, 1551, -1, -1, -1, -1, -1, 81,
3472 -1, 28, -1, 30, 31, -1, -1, 89, -1, -1,
3473 37, 93, -1, -1, -1, -1, -1, -1, -1, 46,
3474 -1, -1, 49, 1144, 1145, -1, 1147, -1, 55, -1,
3475 57, 58, -1, -1, -1, -1, -1, 1, -1, 3,
3476 4, 5, 6, 7, 8, 9, -1, -1, 12, 1170,
3477 14, -1, 1173, 1174, -1, -1, -1, -1, -1, -1,
3478 -1, 25, -1, 27, -1, -1, -1, 31, -1, -1,
3479 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3480 -1, 1202, 46, -1, 48, -1, -1, -1, -1, -1,
3481 -1, 55, -1, 57, 58, 59, 60, 61, -1, 63,
3482 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3483 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3484 84, 85, 1243, 87, 88, 89, -1, 91, 92, 93,
3485 94, 95, -1, -1, -1, -1, -1, 101, 102, -1,
3486 1261, -1, 1263, 107, 108, 109, 1, 111, 3, 4,
3487 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3488 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3489 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3490 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3491 45, 46, 47, -1, -1, 50, 51, 52, 53, 54,
3492 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3493 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3494 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3495 -1, -1, 87, 88, 89, -1, -1, -1, 93, 1,
3496 95, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3497 12, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3498 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3499 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3500 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3501 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3502 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3503 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3504 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3505 1, 93, 3, 4, 5, 6, 7, 8, 9, 10,
3506 11, -1, 13, 14, -1, -1, 108, -1, 110, -1,
3507 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3508 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3509 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3510 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3511 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3512 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3513 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3514 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3515 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3516 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3517 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3518 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3519 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3520 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3521 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3522 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3523 -1, -1, -1, 93, 94, 1, -1, 3, 4, 5,
3524 6, -1, 8, 9, 10, 11, -1, 13, 14, 109,
3525 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3526 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3527 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3528 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3529 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3530 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3531 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3532 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3533 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3534 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3535 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3536 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3537 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3538 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3539 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3540 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3541 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3542 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3543 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3544 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3545 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3546 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3547 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3548 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3549 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3550 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3551 -1, -1, 93, 1, -1, 3, 4, 5, 6, 100,
3552 8, 9, 10, 11, -1, 13, 14, -1, -1, 110,
3553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3554 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3555 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3556 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3557 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3558 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3559 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3560 88, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3561 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3562 -1, 109, 110, -1, -1, -1, -1, -1, -1, -1,
3563 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3564 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3565 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3566 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3567 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3568 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3569 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3570 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3571 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3572 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3573 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3574 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3575 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3576 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3577 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3578 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3579 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3580 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3581 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3582 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3583 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3584 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3585 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3586 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3587 -1, -1, 87, 88, 89, -1, -1, 1, 93, 3,
3588 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3589 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3590 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3591 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3592 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3593 54, 55, -1, 57, 58, -1, -1, -1, 62, 63,
3594 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3595 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3596 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3597 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3598 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3599 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3600 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3601 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3602 53, 54, 55, -1, 57, 58, -1, -1, 61, 62,
3603 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3604 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3605 -1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
3606 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3607 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3608 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3609 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3610 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3611 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3612 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3613 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3614 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3615 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3616 11, -1, 13, 14, -1, -1, 108, -1, 110, -1,
3617 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3618 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3619 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3620 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3621 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3622 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3623 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3624 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3625 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3626 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3627 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3628 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3629 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3630 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3631 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3632 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3633 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3634 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3635 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3636 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3637 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3638 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3639 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3640 1, -1, 71, 4, 5, -1, -1, 8, 9, -1,
3641 79, 80, 81, 14, -1, -1, -1, -1, 87, 88,
3642 89, -1, -1, -1, 93, -1, -1, 28, -1, 30,
3643 -1, -1, -1, -1, -1, -1, 37, -1, 39, 40,
3644 -1, 110, -1, -1, -1, 46, -1, 48, -1, -1,
3645 -1, -1, -1, -1, 55, -1, 57, 58, -1, 60,
3646 -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
3647 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3648 81, 82, 83, 84, -1, -1, 87, 88, 89, -1,
3649 91, -1, -1, 94, 3, 4, 5, 6, -1, 8,
3650 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3652 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3653 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3654 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3655 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3656 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3657 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3658 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3659 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3660 -1, 110, 111, -1, -1, -1, -1, -1, -1, -1,
3661 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3662 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3663 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3664 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3665 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3666 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3667 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3668 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3669 -1, -1, 110, 111, -1, -1, -1, -1, -1, -1,
3670 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3671 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3672 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3673 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3674 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3675 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3676 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3677 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3678 -1, -1, -1, 110, 111, -1, -1, -1, -1, -1,
3679 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3680 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3681 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3682 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3683 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3684 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3685 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3686 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3687 -1, -1, -1, -1, 110, 111, -1, -1, -1, -1,
3688 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3689 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3690 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3691 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3692 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3693 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3694 -1, -1, 87, 88, 89, -1, -1, -1, 93, 70,
3695 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3696 81, 82, 83, 84, 85, 110, 111, 3, 4, 5,
3697 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3698 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3699 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3700 36, 37, -1, 39, 40, 41, 42, 43, 44, 45,
3701 46, 47, -1, -1, 50, 51, 52, 53, 54, 55,
3702 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3703 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3704 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3705 -1, 87, 88, 89, -1, -1, -1, 93, -1, 95,
3706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3707 -1, -1, -1, 109, 110, 3, 4, 5, 6, 7,
3708 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3709 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3710 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3711 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3712 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3713 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3714 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3715 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3716 88, 89, -1, -1, -1, 93, -1, 95, -1, 3,
3717 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3718 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3719 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3720 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3721 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3722 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3723 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3724 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3725 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3726 -1, 95, -1, 3, 4, 5, 6, 7, 8, 9,
3727 10, 11, -1, 13, 14, 15, 110, 17, 18, 19,
3728 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3729 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3730 40, 41, 42, 43, 44, 45, 46, 47, -1, -1,
3731 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3732 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3733 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3734 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3735 -1, -1, -1, 93, -1, 95, 3, 4, 5, 6,
3736 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3737 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3738 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3739 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3740 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3741 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3742 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3743 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3744 87, 88, 89, -1, -1, -1, 93, 94, 3, 4,
3745 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3746 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3747 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3748 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3749 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3750 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3751 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3752 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3753 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3754 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3755 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3756 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3757 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3758 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3759 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3760 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3761 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3762 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3763 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3764 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3765 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3766 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3767 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3768 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3769 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3770 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3771 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3772 -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
3773 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3774 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3775 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3776 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3777 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3778 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3779 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3780 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3781 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3782 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3783 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3784 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3785 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3786 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3787 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3788 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3789 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3790 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3791 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3792 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3793 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3794 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3795 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3796 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3797 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3798 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3799 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3800 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3801 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3802 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3803 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3804 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3805 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3806 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3807 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3808 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3809 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3810 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3811 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3812 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3813 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3814 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3815 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3816 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3817 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3818 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3819 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3820 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3821 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3822 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3823 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3824 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3825 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3826 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3827 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3828 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3829 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3830 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3831 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3832 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3833 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3834 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3835 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3836 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3837 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3838 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3839 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3840 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3841 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3842 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3843 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3844 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3845 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3846 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3847 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3848 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3849 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3850 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3851 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3852 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3853 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3854 -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
3855 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3856 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3857 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3858 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3859 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3860 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3861 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3862 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3863 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3864 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3865 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3866 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3867 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3868 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3869 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3870 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3871 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3872 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3873 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3874 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3875 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3876 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3877 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3878 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3879 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3880 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3881 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3882 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3883 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3884 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3885 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3886 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3887 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3888 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3889 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3890 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3891 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3892 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3893 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3894 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3895 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3896 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3897 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3898 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3899 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3900 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3901 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3902 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3903 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3904 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3905 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3906 -1, -1, -1, -1, 68, -1, -1, 71, 3, 4,
3907 5, 6, 7, 8, 9, 79, 80, 81, -1, 14,
3908 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3909 -1, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3910 -1, -1, 37, -1, -1, -1, 110, 42, -1, -1,
3911 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3912 55, -1, 57, 58, 4, 5, -1, 7, 8, 9,
3913 -1, -1, 12, -1, 14, -1, 71, 4, 5, -1,
3914 7, 8, 9, -1, -1, -1, 81, 14, 28, -1,
3915 30, 31, -1, -1, 89, -1, -1, 37, 93, -1,
3916 -1, 28, -1, 30, 31, -1, 46, -1, -1, -1,
3917 37, -1, -1, -1, -1, 55, -1, 57, 58, 46,
3918 -1, -1, 4, 5, -1, -1, 8, 9, 55, -1,
3919 57, 58, 14, -1, -1, -1, -1, -1, -1, -1,
3920 -1, -1, -1, -1, -1, -1, 28, -1, 30, -1,
3921 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3922 -1, -1, -1, -1, 46, -1, -1, -1, -1, -1,
3923 -1, -1, -1, 55, -1, 57, 58, 64, 65, 66,
3924 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3925 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3926 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3927 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3928 85, 60, -1, -1, 111, 64, 65, 66, 67, 68,
3929 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3930 79, 80, 81, 82, 83, 84, 85, 63, 64, 65,
3931 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3932 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3933 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3934 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
3935 84, 85, 69, 70, 71, 72, 73, 74, 75, 76,
3936 77, 78, 79, 80, 81, 82, 83, 84, 85, 71,
3937 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3938 82, 83, 84, 85, 72, 73, 74, 75, 76, 77,
3939 78, 79, 80, 81, 82, 83, 84, 85
3941 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3942 #line 3 "/usr/lib/bison.simple"
3943 /* This file comes from bison-1.27. */
3945 /* Skeleton output parser for bison,
3946 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3948 This program is free software; you can redistribute it and/or modify
3949 it under the terms of the GNU General Public License as published by
3950 the Free Software Foundation; either version 2, or (at your option)
3953 This program is distributed in the hope that it will be useful,
3954 but WITHOUT ANY WARRANTY; without even the implied warranty of
3955 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3956 GNU General Public License for more details.
3958 You should have received a copy of the GNU General Public License
3959 along with this program; if not, write to the Free Software
3960 Foundation, Inc., 59 Temple Place - Suite 330,
3961 Boston, MA 02111-1307, USA. */
3963 /* As a special exception, when this file is copied by Bison into a
3964 Bison output file, you may use that output file without restriction.
3965 This special exception was added by the Free Software Foundation
3966 in version 1.24 of Bison. */
3968 /* This is the parser code that is written into each bison parser
3969 when the %semantic_parser declaration is not specified in the grammar.
3970 It was written by Richard Stallman by simplifying the hairy parser
3971 used when %semantic_parser is specified. */
3973 #ifndef YYSTACK_USE_ALLOCA
3975 #define YYSTACK_USE_ALLOCA
3976 #else /* alloca not defined */
3978 #define YYSTACK_USE_ALLOCA
3979 #define alloca __builtin_alloca
3980 #else /* not GNU C. */
3981 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
3982 #define YYSTACK_USE_ALLOCA
3984 #else /* not sparc */
3985 /* We think this test detects Watcom and Microsoft C. */
3986 /* This used to test MSDOS, but that is a bad idea
3987 since that symbol is in the user namespace. */
3988 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
3989 #if 0 /* No need for malloc.h, which pollutes the namespace;
3990 instead, just don't use alloca. */
3993 #else /* not MSDOS, or __TURBOC__ */
3995 /* I don't know what this was needed for, but it pollutes the namespace.
3996 So I turned it off. rms, 2 May 1997. */
3997 /* #include <malloc.h> */
3999 #define YYSTACK_USE_ALLOCA
4000 #else /* not MSDOS, or __TURBOC__, or _AIX */
4002 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
4003 and on HPUX 10. Eventually we can turn this on. */
4004 #define YYSTACK_USE_ALLOCA
4005 #define alloca __builtin_alloca
4008 #endif /* not _AIX */
4009 #endif /* not MSDOS, or __TURBOC__ */
4010 #endif /* not sparc */
4011 #endif /* not GNU C */
4012 #endif /* alloca not defined */
4013 #endif /* YYSTACK_USE_ALLOCA not defined */
4015 #ifdef YYSTACK_USE_ALLOCA
4016 #define YYSTACK_ALLOC alloca
4018 #define YYSTACK_ALLOC malloc
4021 /* Note: there must be only one dollar sign in this file.
4022 It is replaced by the list of actions, each action
4023 as one case of the switch. */
4025 #define yyerrok (yyerrstatus = 0)
4026 #define yyclearin (yychar = YYEMPTY)
4029 #define YYACCEPT goto yyacceptlab
4030 #define YYABORT goto yyabortlab
4031 #define YYERROR goto yyerrlab1
4032 /* Like YYERROR except do call yyerror.
4033 This remains here temporarily to ease the
4034 transition to the new meaning of YYERROR, for GCC.
4035 Once GCC version 2 has supplanted version 1, this can go. */
4036 #define YYFAIL goto yyerrlab
4037 #define YYRECOVERING() (!!yyerrstatus)
4038 #define YYBACKUP(token, value) \
4040 if (yychar == YYEMPTY && yylen == 1) \
4041 { yychar = (token), yylval = (value); \
4042 yychar1 = YYTRANSLATE (yychar); \
4047 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4051 #define YYERRCODE 256
4054 #define YYLEX yylex()
4060 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4062 #define YYLEX yylex(&yylval, &yylloc)
4064 #else /* not YYLSP_NEEDED */
4066 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4068 #define YYLEX yylex(&yylval)
4070 #endif /* not YYLSP_NEEDED */
4073 /* If nonreentrant, generate the variables here */
4077 int yychar
; /* the lookahead symbol */
4078 YYSTYPE yylval
; /* the semantic value of the */
4079 /* lookahead symbol */
4082 YYLTYPE yylloc
; /* location data for the lookahead */
4086 int yynerrs
; /* number of parse errors so far */
4087 #endif /* not YYPURE */
4090 int yydebug
; /* nonzero means print parse trace */
4091 /* Since this is uninitialized, it does not stop multiple parsers
4095 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4098 #define YYINITDEPTH 200
4101 /* YYMAXDEPTH is the maximum size the stacks can grow to
4102 (effective only if the built-in stack extension method is used). */
4109 #define YYMAXDEPTH 10000
4112 /* Define __yy_memcpy. Note that the size argument
4113 should be passed with type unsigned int, because that is what the non-GCC
4114 definitions require. With GCC, __builtin_memcpy takes an arg
4115 of type size_t, but it can handle unsigned int. */
4117 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4118 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4119 #else /* not GNU C or C++ */
4122 /* This is the most reliable way to avoid incompatibilities
4123 in available built-in functions on various systems. */
4125 __yy_memcpy (to
, from
, count
)
4130 register char *f
= from
;
4131 register char *t
= to
;
4132 register int i
= count
;
4138 #else /* __cplusplus */
4140 /* This is the most reliable way to avoid incompatibilities
4141 in available built-in functions on various systems. */
4143 __yy_memcpy (char *to
, char *from
, unsigned int count
)
4145 register char *t
= to
;
4146 register char *f
= from
;
4147 register int i
= count
;
4156 #line 216 "/usr/lib/bison.simple"
4158 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4159 into yyparse. The argument should have type void *.
4160 It should actually point to an object.
4161 Grammar actions can access the variable by casting it
4162 to the proper pointer type. */
4164 #ifdef YYPARSE_PARAM
4166 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4167 #define YYPARSE_PARAM_DECL
4168 #else /* not __cplusplus */
4169 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4170 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4171 #endif /* not __cplusplus */
4172 #else /* not YYPARSE_PARAM */
4173 #define YYPARSE_PARAM_ARG
4174 #define YYPARSE_PARAM_DECL
4175 #endif /* not YYPARSE_PARAM */
4177 /* Prevent warning if -Wstrict-prototypes. */
4179 #ifdef YYPARSE_PARAM
4180 int yyparse (void *);
4187 yyparse(YYPARSE_PARAM_ARG
)
4190 register int yystate
;
4192 register short *yyssp
;
4193 register YYSTYPE
*yyvsp
;
4194 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
4195 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
4197 short yyssa
[YYINITDEPTH
]; /* the state stack */
4198 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
4200 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
4201 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
4204 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
4205 YYLTYPE
*yyls
= yylsa
;
4208 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4210 #define YYPOPSTACK (yyvsp--, yyssp--)
4213 int yystacksize
= YYINITDEPTH
;
4214 int yyfree_stacks
= 0;
4225 YYSTYPE yyval
; /* the variable used to return */
4226 /* semantic values from the action */
4233 fprintf(stderr
, "Starting parse\n");
4239 yychar
= YYEMPTY
; /* Cause a token to be read. */
4241 /* Initialize stack pointers.
4242 Waste one element of value and location stack
4243 so that they stay on the same level as the state stack.
4244 The wasted elements are never initialized. */
4252 /* Push a new state, which is found in yystate . */
4253 /* In all cases, when you get here, the value and location stacks
4254 have just been pushed. so pushing a state here evens the stacks. */
4259 if (yyssp
>= yyss
+ yystacksize
- 1)
4261 /* Give user a chance to reallocate the stack */
4262 /* Use copies of these so that the &'s don't force the real ones into memory. */
4263 YYSTYPE
*yyvs1
= yyvs
;
4264 short *yyss1
= yyss
;
4266 YYLTYPE
*yyls1
= yyls
;
4269 /* Get the current used size of the three stacks, in elements. */
4270 int size
= yyssp
- yyss
+ 1;
4273 /* Each stack pointer address is followed by the size of
4274 the data in use in that stack, in bytes. */
4276 /* This used to be a conditional around just the two extra args,
4277 but that might be undefined if yyoverflow is a macro. */
4278 yyoverflow("parser stack overflow",
4279 &yyss1
, size
* sizeof (*yyssp
),
4280 &yyvs1
, size
* sizeof (*yyvsp
),
4281 &yyls1
, size
* sizeof (*yylsp
),
4284 yyoverflow("parser stack overflow",
4285 &yyss1
, size
* sizeof (*yyssp
),
4286 &yyvs1
, size
* sizeof (*yyvsp
),
4290 yyss
= yyss1
; yyvs
= yyvs1
;
4294 #else /* no yyoverflow */
4295 /* Extend the stack our own way. */
4296 if (yystacksize
>= YYMAXDEPTH
)
4298 yyerror("parser stack overflow");
4310 if (yystacksize
> YYMAXDEPTH
)
4311 yystacksize
= YYMAXDEPTH
;
4312 #ifndef YYSTACK_USE_ALLOCA
4315 yyss
= (short *) YYSTACK_ALLOC (yystacksize
* sizeof (*yyssp
));
4316 __yy_memcpy ((char *)yyss
, (char *)yyss1
,
4317 size
* (unsigned int) sizeof (*yyssp
));
4318 yyvs
= (YYSTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yyvsp
));
4319 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
,
4320 size
* (unsigned int) sizeof (*yyvsp
));
4322 yyls
= (YYLTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yylsp
));
4323 __yy_memcpy ((char *)yyls
, (char *)yyls1
,
4324 size
* (unsigned int) sizeof (*yylsp
));
4326 #endif /* no yyoverflow */
4328 yyssp
= yyss
+ size
- 1;
4329 yyvsp
= yyvs
+ size
- 1;
4331 yylsp
= yyls
+ size
- 1;
4336 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4339 if (yyssp
>= yyss
+ yystacksize
- 1)
4345 fprintf(stderr
, "Entering state %d\n", yystate
);
4351 /* Do appropriate processing given the current state. */
4352 /* Read a lookahead token if we need one and don't already have one. */
4355 /* First try to decide what to do without reference to lookahead token. */
4357 yyn
= yypact
[yystate
];
4361 /* Not known => get a lookahead token if don't already have one. */
4363 /* yychar is either YYEMPTY or YYEOF
4364 or a valid token in external form. */
4366 if (yychar
== YYEMPTY
)
4370 fprintf(stderr
, "Reading a token: ");
4375 /* Convert token to internal form (in yychar1) for indexing tables with */
4377 if (yychar
<= 0) /* This means end of input. */
4380 yychar
= YYEOF
; /* Don't call YYLEX any more */
4384 fprintf(stderr
, "Now at end of input.\n");
4389 yychar1
= YYTRANSLATE(yychar
);
4394 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4395 /* Give the individual parser a way to print the precise meaning
4396 of a token, for further debugging info. */
4398 YYPRINT (stderr
, yychar
, yylval
);
4400 fprintf (stderr
, ")\n");
4406 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4411 /* yyn is what to do for this token type in this state.
4412 Negative => reduce, -yyn is rule number.
4413 Positive => shift, yyn is new state.
4414 New state is final state => don't bother to shift,
4415 just return success.
4416 0, or most negative number => error. */
4431 /* Shift the lookahead token. */
4435 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4438 /* Discard the token being shifted unless it is eof. */
4439 if (yychar
!= YYEOF
)
4447 /* count tokens shifted since error; after three, turn off error status. */
4448 if (yyerrstatus
) yyerrstatus
--;
4453 /* Do the default action for the current state. */
4456 yyn
= yydefact
[yystate
];
4460 /* Do a reduction. yyn is the number of a rule to reduce with. */
4464 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4471 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4474 /* Print the symbols being reduced, and their result. */
4475 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4476 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4477 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4486 { finish_translation_unit (); ;
4490 { yyval
.ttype
= NULL_TREE
; ;
4494 { yyval
.ttype
= NULL_TREE
; ;
4498 { yyval
.ttype
= NULL_TREE
; ;
4502 { have_extern_spec
= 1;
4503 used_extern_spec
= 0;
4504 yyval
.ttype
= NULL_TREE
; ;
4508 { have_extern_spec
= 0; ;
4512 { yyval
.itype
= pedantic
;
4517 { if (pending_lang_change
) do_pending_lang_change(); ;
4521 { if (! toplevel_bindings_p ())
4522 pop_everything (); ;
4526 { if (pending_inlines
) do_pending_inlines (); ;
4530 { if (pending_inlines
) do_pending_inlines (); ;
4534 { if (pending_inlines
) do_pending_inlines (); ;
4538 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4539 assemble_asm (yyvsp
[-2].ttype
); ;
4543 { pop_lang_context (); ;
4547 { if (pending_inlines
) do_pending_inlines ();
4548 pop_lang_context (); ;
4552 { if (pending_inlines
) do_pending_inlines ();
4553 pop_lang_context (); ;
4557 { push_namespace (yyvsp
[-1].ttype
); ;
4561 { pop_namespace (); ;
4565 { push_namespace (NULL_TREE
); ;
4569 { pop_namespace (); ;
4573 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4577 { pedantic
= yyvsp
[-1].itype
; ;
4581 { begin_only_namespace_names (); ;
4586 end_only_namespace_names ();
4588 yyvsp
[-1].ttype
= lastiddecl
;
4589 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4594 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4598 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4602 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4606 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4610 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4614 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4618 { begin_only_namespace_names (); ;
4623 end_only_namespace_names ();
4624 /* If no declaration was found, the using-directive is
4625 invalid. Since that was not reported, we need the
4626 identifier for the error message. */
4627 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4628 yyvsp
[-1].ttype
= lastiddecl
;
4629 do_using_directive (yyvsp
[-1].ttype
);
4635 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4636 yyval
.ttype
= lastiddecl
;
4637 got_scope
= yyval
.ttype
;
4643 yyval
.ttype
= yyvsp
[-1].ttype
;
4644 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4645 yyval
.ttype
= lastiddecl
;
4646 got_scope
= yyval
.ttype
;
4651 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4655 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4659 { push_lang_context (yyvsp
[0].ttype
); ;
4663 { if (current_lang_name
!= yyvsp
[0].ttype
)
4664 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4665 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4669 { begin_template_parm_list (); ;
4673 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4677 { begin_specialization();
4678 yyval
.ttype
= NULL_TREE
; ;
4682 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4686 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4690 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4694 { yyval
.ttype
= NULL_TREE
; ;
4698 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4702 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4706 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4710 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4714 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4718 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4722 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4726 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4731 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4732 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4733 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4735 error ("invalid default template argument");
4736 yyvsp
[0].ttype
= error_mark_node
;
4738 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4743 { finish_template_decl (yyvsp
[-1].ttype
); ;
4747 { finish_template_decl (yyvsp
[-1].ttype
); ;
4751 { if (pending_inlines
) do_pending_inlines (); ;
4755 { if (pending_inlines
) do_pending_inlines (); ;
4759 { if (pending_inlines
) do_pending_inlines (); ;
4763 { if (pending_inlines
) do_pending_inlines ();
4764 pop_lang_context (); ;
4768 { if (pending_inlines
) do_pending_inlines ();
4769 pop_lang_context (); ;
4773 { pedantic
= yyvsp
[-1].itype
; ;
4781 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4785 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4786 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4794 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4798 { pedwarn ("empty declaration"); ;
4804 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4806 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4811 { yyval
.itype
= 0; ;
4815 { yyval
.itype
= 1; ;
4819 { expand_body (finish_function (lineno
, (int)yyvsp
[-1].itype
)); ;
4823 { expand_body (finish_function (lineno
, (int)yyvsp
[0].itype
)); ;
4831 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4835 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4839 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4840 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4845 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4849 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4853 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4854 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4859 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4863 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4867 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4868 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4873 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4877 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4881 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4882 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4887 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4892 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4897 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4902 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4907 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4912 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4916 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4920 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4924 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4928 { tree specs
, attrs
;
4929 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4930 attrs
= build_tree_list (attrs
, NULL_TREE
);
4931 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
);
4935 if (yychar
== YYEMPTY
)
4937 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4941 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4942 goto rest_of_mdef
; ;
4946 { tree specs
, attrs
;
4947 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4948 attrs
= build_tree_list (attrs
, NULL_TREE
);
4949 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4953 { tree specs
, attrs
;
4954 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4955 attrs
= build_tree_list (attrs
, NULL_TREE
);
4956 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4960 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4961 goto rest_of_mdef
; ;
4965 { tree specs
, attrs
;
4966 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4967 attrs
= build_tree_list (attrs
, NULL_TREE
);
4968 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4972 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4973 goto rest_of_mdef
; ;
4978 if (! current_function_parms_stored
)
4979 store_parm_decls ();
4980 yyval
.ttype
= yyvsp
[0].ttype
;
4985 { finish_named_return_value (yyval
.ttype
, yyvsp
[0].ttype
); ;
4989 { finish_named_return_value (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4993 { finish_named_return_value (yyval
.ttype
, NULL_TREE
); ;
4998 if (yyvsp
[0].itype
== 0)
4999 error ("no base initializers given following ':'");
5006 if (! current_function_parms_stored
)
5007 store_parm_decls ();
5009 if (DECL_CONSTRUCTOR_P (current_function_decl
))
5010 /* Make a contour for the initializer list. */
5012 else if (current_class_type
== NULL_TREE
)
5013 error ("base initializers not allowed for non-member functions");
5014 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
5015 error ("only constructors take base initializers");
5020 { yyval
.itype
= 0; ;
5024 { yyval
.itype
= 1; ;
5029 if (current_class_name
)
5030 pedwarn ("anachronistic old style base class initializer");
5031 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
5037 if (current_class_name
)
5038 pedwarn ("anachronistic old style base class initializer");
5039 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
5044 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5048 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
5052 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5056 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
5060 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
5065 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
5070 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
5071 yyungetc (';', 1); ;
5075 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5076 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
5080 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5084 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5088 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
5089 yyungetc (';', 1); ;
5093 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5094 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
5098 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5102 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5106 { begin_explicit_instantiation(); ;
5110 { end_explicit_instantiation(); ;
5114 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5118 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5122 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5126 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5131 if (yychar
== YYEMPTY
)
5134 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5141 /* Handle `Class<Class<Type>>' without space in the `>>' */
5142 pedwarn ("`>>' should be `> >' in template class name");
5148 { yyval
.ttype
= NULL_TREE
; ;
5152 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5156 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5160 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
5164 { yyval
.ttype
= lastiddecl
; ;
5168 { yyval
.code
= NEGATE_EXPR
; ;
5172 { yyval
.code
= CONVERT_EXPR
; ;
5176 { yyval
.code
= PREINCREMENT_EXPR
; ;
5180 { yyval
.code
= PREDECREMENT_EXPR
; ;
5184 { yyval
.code
= TRUTH_NOT_EXPR
; ;
5188 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
5192 { error ("ANSI C++ forbids an empty condition for `%s'",
5194 yyval
.ttype
= integer_zero_node
; ;
5198 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5201 #line 1001 "parse.y"
5202 { error ("ANSI C++ forbids an empty condition for `%s'",
5204 yyval
.ttype
= integer_zero_node
; ;
5207 #line 1005 "parse.y"
5208 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5211 #line 1010 "parse.y"
5212 { yyval
.ttype
= NULL_TREE
; ;
5215 #line 1013 "parse.y"
5216 { yyval
.ttype
= NULL_TREE
; ;
5219 #line 1018 "parse.y"
5222 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
5223 if (TREE_CODE (d
) == TYPE_DECL
) {
5224 tree s
= TREE_TYPE (d
);
5225 if (TREE_CODE (s
) == RECORD_TYPE
)
5226 cp_error ("definition of class `%T' in condition", s
);
5227 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
5228 cp_error ("definition of enum `%T' in condition", s
);
5231 current_declspecs
= yyvsp
[-4].ftype
.t
;
5232 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5233 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
5237 #line 1034 "parse.y"
5239 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, LOOKUP_ONLYCONVERTING
);
5240 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
5241 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
5242 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
5246 #line 1052 "parse.y"
5247 { yyval
.ttype
= begin_compound_stmt (1); ;
5250 #line 1054 "parse.y"
5251 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
5254 #line 1061 "parse.y"
5255 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5256 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5259 #line 1064 "parse.y"
5260 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5261 build_expr_list (NULL_TREE
, error_mark_node
)); ;
5264 #line 1067 "parse.y"
5265 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5268 #line 1069 "parse.y"
5269 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
5272 #line 1074 "parse.y"
5273 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
5276 #line 1080 "parse.y"
5277 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5280 #line 1083 "parse.y"
5281 { yyval
.ttype
= yyvsp
[0].ttype
;
5282 pedantic
= yyvsp
[-1].itype
; ;
5285 #line 1086 "parse.y"
5286 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
5289 #line 1088 "parse.y"
5290 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5293 #line 1090 "parse.y"
5294 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5297 #line 1092 "parse.y"
5298 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5301 #line 1095 "parse.y"
5303 pedwarn ("ANSI C++ forbids `&&'");
5304 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
5307 #line 1099 "parse.y"
5308 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
5311 #line 1101 "parse.y"
5312 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
5313 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
5316 #line 1104 "parse.y"
5317 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
5320 #line 1106 "parse.y"
5321 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
5322 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
5325 #line 1112 "parse.y"
5326 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
5327 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5330 #line 1115 "parse.y"
5331 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
5332 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5335 #line 1118 "parse.y"
5336 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5337 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5340 #line 1121 "parse.y"
5341 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5342 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5345 #line 1125 "parse.y"
5346 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5347 NULL_TREE
, yyvsp
[-3].itype
);
5348 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5351 #line 1129 "parse.y"
5352 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
5353 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5356 #line 1132 "parse.y"
5357 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
5358 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5361 #line 1135 "parse.y"
5362 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5363 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5366 #line 1139 "parse.y"
5367 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5370 #line 1141 "parse.y"
5371 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5372 if (yychar
== YYEMPTY
)
5376 #line 1145 "parse.y"
5377 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5378 if (yychar
== YYEMPTY
)
5382 #line 1149 "parse.y"
5383 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5386 #line 1151 "parse.y"
5387 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5390 #line 1153 "parse.y"
5391 { yyval
.ttype
= build_x_va_arg (yyvsp
[-3].ttype
, groktypename (yyvsp
[-1].ftype
.t
));
5392 check_for_new_type ("__builtin_va_arg", yyvsp
[-1].ftype
); ;
5395 #line 1159 "parse.y"
5396 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5399 #line 1161 "parse.y"
5400 { cp_pedwarn ("old style placement syntax, use () instead");
5401 yyval
.ttype
= yyvsp
[-1].ttype
; ;
5404 #line 1167 "parse.y"
5405 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5408 #line 1169 "parse.y"
5409 { yyval
.ttype
= NULL_TREE
; ;
5412 #line 1171 "parse.y"
5414 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5415 yyval
.ttype
= error_mark_node
;
5419 #line 1179 "parse.y"
5422 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5423 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5424 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5425 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5427 yyval
.ttype
= yyvsp
[0].ttype
;
5431 #line 1193 "parse.y"
5432 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5433 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5434 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5437 #line 1197 "parse.y"
5438 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5439 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5440 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5443 #line 1205 "parse.y"
5444 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5447 #line 1207 "parse.y"
5449 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5450 nreverse (yyvsp
[-2].ttype
));
5452 pedwarn ("ANSI C++ forbids constructor-expressions");
5453 /* Indicate that this was a GNU C constructor expression. */
5454 TREE_HAS_CONSTRUCTOR (init
) = 1;
5456 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5460 #line 1223 "parse.y"
5461 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5464 #line 1225 "parse.y"
5465 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5468 #line 1227 "parse.y"
5469 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5472 #line 1229 "parse.y"
5473 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5476 #line 1231 "parse.y"
5477 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5480 #line 1233 "parse.y"
5481 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5484 #line 1235 "parse.y"
5485 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5488 #line 1237 "parse.y"
5489 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5492 #line 1239 "parse.y"
5493 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5496 #line 1241 "parse.y"
5497 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5500 #line 1243 "parse.y"
5501 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5504 #line 1245 "parse.y"
5505 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5508 #line 1247 "parse.y"
5509 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5512 #line 1249 "parse.y"
5513 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5516 #line 1251 "parse.y"
5517 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5520 #line 1253 "parse.y"
5521 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5524 #line 1255 "parse.y"
5525 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5528 #line 1257 "parse.y"
5529 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5532 #line 1259 "parse.y"
5533 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5536 #line 1261 "parse.y"
5537 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5540 #line 1263 "parse.y"
5541 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5542 if (yyval
.ttype
!= error_mark_node
)
5543 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5546 #line 1267 "parse.y"
5547 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5550 #line 1269 "parse.y"
5551 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5554 #line 1271 "parse.y"
5555 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5558 #line 1289 "parse.y"
5559 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5562 #line 1291 "parse.y"
5563 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5566 #line 1300 "parse.y"
5568 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5569 means that we're in an expression like S::f<int>, so
5570 don't do_identifier; we only do that for unqualified
5572 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5573 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5575 yyval
.ttype
= yyvsp
[-1].ttype
;
5579 #line 1313 "parse.y"
5580 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5583 #line 1315 "parse.y"
5584 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5587 #line 1320 "parse.y"
5588 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5591 #line 1322 "parse.y"
5592 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5595 #line 1325 "parse.y"
5596 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5599 #line 1337 "parse.y"
5601 /* Provide support for '(' attributes '*' declarator ')'
5603 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5607 #line 1347 "parse.y"
5608 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5611 #line 1349 "parse.y"
5612 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5615 #line 1351 "parse.y"
5616 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5619 #line 1356 "parse.y"
5620 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5623 #line 1358 "parse.y"
5624 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5627 #line 1368 "parse.y"
5628 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5631 #line 1373 "parse.y"
5633 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5634 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5636 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5640 #line 1382 "parse.y"
5642 yyval
.ttype
= combine_strings (yyval
.ttype
);
5643 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5644 a const array the way we want, so fix it. */
5645 if (flag_const_strings
)
5646 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5647 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5648 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5652 #line 1392 "parse.y"
5653 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5656 #line 1394 "parse.y"
5657 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5658 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5661 #line 1397 "parse.y"
5662 { yyval
.ttype
= error_mark_node
; ;
5665 #line 1399 "parse.y"
5666 { tree scope
= current_scope ();
5667 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5669 error ("braced-group within expression allowed only inside a function");
5673 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5674 yyval
.ttype
= begin_stmt_expr ();
5678 #line 1410 "parse.y"
5679 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
); ;
5682 #line 1415 "parse.y"
5683 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5686 #line 1417 "parse.y"
5687 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5690 #line 1419 "parse.y"
5691 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5694 #line 1421 "parse.y"
5695 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5698 #line 1423 "parse.y"
5699 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5702 #line 1425 "parse.y"
5703 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5706 #line 1427 "parse.y"
5707 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5710 #line 1430 "parse.y"
5711 { yyval
.ttype
= finish_this_expr (); ;
5714 #line 1432 "parse.y"
5716 /* This is a C cast in C++'s `functional' notation
5717 using the "implicit int" extension so that:
5718 `const (3)' is equivalent to `const int (3)'. */
5721 type
= hash_tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, NULL_TREE
);
5722 type
= groktypename (build_decl_list (type
, NULL_TREE
));
5723 yyval
.ttype
= build_functional_cast (type
, yyvsp
[-1].ttype
);
5727 #line 1444 "parse.y"
5728 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5729 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5730 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5733 #line 1448 "parse.y"
5734 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5735 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5736 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5739 #line 1452 "parse.y"
5740 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5741 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5742 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5745 #line 1456 "parse.y"
5746 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5747 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5748 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5751 #line 1460 "parse.y"
5752 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5755 #line 1462 "parse.y"
5756 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5757 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5758 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5761 #line 1466 "parse.y"
5762 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5765 #line 1468 "parse.y"
5766 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5769 #line 1470 "parse.y"
5771 got_scope
= NULL_TREE
;
5772 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5773 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5775 yyval
.ttype
= yyvsp
[0].ttype
;
5779 #line 1478 "parse.y"
5780 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5783 #line 1480 "parse.y"
5784 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5787 #line 1482 "parse.y"
5788 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5791 #line 1484 "parse.y"
5793 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5797 #line 1488 "parse.y"
5798 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5801 #line 1490 "parse.y"
5802 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5805 #line 1492 "parse.y"
5806 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5809 #line 1494 "parse.y"
5810 { if (processing_template_decl
)
5811 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5813 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5816 #line 1499 "parse.y"
5817 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5820 #line 1501 "parse.y"
5821 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5824 #line 1503 "parse.y"
5825 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5828 #line 1505 "parse.y"
5829 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5832 #line 1508 "parse.y"
5833 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5836 #line 1510 "parse.y"
5837 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5840 #line 1512 "parse.y"
5842 yyval
.ttype
= error_mark_node
;
5846 #line 1557 "parse.y"
5847 { yyval
.itype
= 0; ;
5850 #line 1559 "parse.y"
5851 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5854 #line 1564 "parse.y"
5855 { yyval
.itype
= 0; ;
5858 #line 1566 "parse.y"
5859 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5862 #line 1571 "parse.y"
5863 { yyval
.ttype
= boolean_true_node
; ;
5866 #line 1573 "parse.y"
5867 { yyval
.ttype
= boolean_false_node
; ;
5870 #line 1580 "parse.y"
5871 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5874 #line 1585 "parse.y"
5876 if (! current_function_parms_stored
)
5877 store_parm_decls ();
5882 #line 1594 "parse.y"
5883 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5886 #line 1596 "parse.y"
5888 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5889 got_object
= TREE_TYPE (yyval
.ttype
);
5893 #line 1604 "parse.y"
5895 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5896 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5900 #line 1609 "parse.y"
5902 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5906 #line 1613 "parse.y"
5910 #line 1615 "parse.y"
5912 shadow_tag (yyvsp
[-1].ftype
.t
);
5913 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5917 #line 1620 "parse.y"
5918 { warning ("empty declaration"); ;
5921 #line 1622 "parse.y"
5922 { pedantic
= yyvsp
[-1].itype
; ;
5925 #line 1636 "parse.y"
5926 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5927 NULL_TREE
, NULL_TREE
); ;
5930 #line 1639 "parse.y"
5931 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5935 #line 1646 "parse.y"
5936 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5937 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5940 #line 1649 "parse.y"
5941 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5942 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5945 #line 1652 "parse.y"
5946 { yyval
.ftype
.t
= build_decl_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
5948 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5951 #line 1656 "parse.y"
5952 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5953 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5956 #line 1659 "parse.y"
5957 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5958 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5961 #line 1675 "parse.y"
5962 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5963 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5966 #line 1678 "parse.y"
5967 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5968 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5971 #line 1681 "parse.y"
5972 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5973 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5976 #line 1684 "parse.y"
5977 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5978 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5981 #line 1687 "parse.y"
5982 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5983 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5986 #line 1690 "parse.y"
5987 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5988 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5989 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5992 #line 1697 "parse.y"
5993 { if (extra_warnings
)
5994 warning ("`%s' is not at beginning of declaration",
5995 IDENTIFIER_POINTER (yyval
.ttype
));
5996 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5999 #line 1702 "parse.y"
6000 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
6003 #line 1704 "parse.y"
6004 { if (extra_warnings
)
6005 warning ("`%s' is not at beginning of declaration",
6006 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6007 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6010 #line 1709 "parse.y"
6011 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6014 #line 1711 "parse.y"
6015 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6018 #line 1730 "parse.y"
6019 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
6022 #line 1732 "parse.y"
6023 { yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
6026 #line 1734 "parse.y"
6027 { yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
6028 TREE_STATIC (yyval
.ttype
) = 1; ;
6031 #line 1737 "parse.y"
6032 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
6033 warning ("`%s' is not at beginning of declaration",
6034 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6035 yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
6036 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
6039 #line 1743 "parse.y"
6040 { yyval
.ttype
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6043 #line 1745 "parse.y"
6044 { yyval
.ttype
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6047 #line 1756 "parse.y"
6048 { yyval
.ftype
.t
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
6049 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6052 #line 1759 "parse.y"
6053 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
6054 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6057 #line 1762 "parse.y"
6058 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6059 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6062 #line 1765 "parse.y"
6063 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6064 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
6067 #line 1771 "parse.y"
6068 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
6071 #line 1773 "parse.y"
6072 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
6075 #line 1783 "parse.y"
6076 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6079 #line 1785 "parse.y"
6080 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6083 #line 1787 "parse.y"
6084 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
6085 yyval
.ftype
.new_type_flag
= 0; ;
6088 #line 1790 "parse.y"
6089 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
6090 yyval
.ftype
.new_type_flag
= 0; ;
6093 #line 1793 "parse.y"
6094 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
6096 yyval
.ftype
.new_type_flag
= 0;
6097 if (IS_AGGR_TYPE (type
))
6099 sorry ("sigof type specifier");
6100 yyval
.ftype
.t
= type
;
6104 error ("`sigof' applied to non-aggregate expression");
6105 yyval
.ftype
.t
= error_mark_node
;
6110 #line 1808 "parse.y"
6111 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
6113 yyval
.ftype
.new_type_flag
= 0;
6114 if (IS_AGGR_TYPE (type
))
6116 sorry ("sigof type specifier");
6117 yyval
.ftype
.t
= type
;
6121 error("`sigof' applied to non-aggregate type");
6122 yyval
.ftype
.t
= error_mark_node
;
6127 #line 1828 "parse.y"
6128 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6131 #line 1830 "parse.y"
6132 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6135 #line 1837 "parse.y"
6136 { check_multiple_declarators (); ;
6139 #line 1843 "parse.y"
6140 { check_multiple_declarators (); ;
6143 #line 1849 "parse.y"
6144 { check_multiple_declarators (); ;
6147 #line 1854 "parse.y"
6148 { yyval
.ttype
= NULL_TREE
; ;
6151 #line 1856 "parse.y"
6152 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6155 #line 1861 "parse.y"
6156 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
6157 yyvsp
[-1].ttype
, prefix_attributes
); ;
6160 #line 1865 "parse.y"
6161 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, LOOKUP_ONLYCONVERTING
); ;
6164 #line 1867 "parse.y"
6165 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
6166 yyvsp
[0].ttype
, prefix_attributes
);
6167 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 0); ;
6170 #line 1880 "parse.y"
6171 { parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
6174 #line 1884 "parse.y"
6175 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
,
6176 LOOKUP_ONLYCONVERTING
); ;
6179 #line 1887 "parse.y"
6181 parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
6182 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 0); ;
6185 #line 1894 "parse.y"
6189 #line 1899 "parse.y"
6193 #line 1904 "parse.y"
6194 { /* Set things up as initdcl0_innards expects. */
6195 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
6196 yyvsp
[-1].ttype
= NULL_TREE
; ;
6199 #line 1908 "parse.y"
6203 #line 1910 "parse.y"
6205 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
6206 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 0); ;
6209 #line 1919 "parse.y"
6210 { yyval
.ttype
= NULL_TREE
; ;
6213 #line 1921 "parse.y"
6214 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6217 #line 1926 "parse.y"
6218 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6221 #line 1928 "parse.y"
6222 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6225 #line 1933 "parse.y"
6226 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
6229 #line 1938 "parse.y"
6230 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6233 #line 1940 "parse.y"
6234 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6237 #line 1945 "parse.y"
6238 { yyval
.ttype
= NULL_TREE
; ;
6241 #line 1947 "parse.y"
6242 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
6245 #line 1949 "parse.y"
6246 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
6249 #line 1951 "parse.y"
6250 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
6253 #line 1953 "parse.y"
6254 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6257 #line 1969 "parse.y"
6258 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6261 #line 1971 "parse.y"
6262 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6265 #line 1976 "parse.y"
6266 { yyval
.ttype
= NULL_TREE
; ;
6269 #line 1978 "parse.y"
6270 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6273 #line 1986 "parse.y"
6274 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6275 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6278 #line 1989 "parse.y"
6279 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6280 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6283 #line 1992 "parse.y"
6284 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6285 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6288 #line 1995 "parse.y"
6289 { yyval
.ttype
= NULL_TREE
; ;
6292 #line 2002 "parse.y"
6293 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6296 #line 2004 "parse.y"
6297 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6300 #line 2007 "parse.y"
6301 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6304 #line 2009 "parse.y"
6305 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6308 #line 2011 "parse.y"
6309 { yyval
.ttype
= tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6312 #line 2016 "parse.y"
6313 { start_function (NULL_TREE
, yyvsp
[0].pi
->fndecl
, NULL_TREE
,
6314 (SF_DEFAULT
| SF_PRE_PARSED
6315 | SF_INCLASS_INLINE
));
6316 reinit_parse_for_function (); ;
6319 #line 2023 "parse.y"
6321 expand_body (finish_function (lineno
, (int)yyvsp
[-1].itype
| 2));
6322 process_next_inline (yyvsp
[-3].pi
);
6326 #line 2028 "parse.y"
6328 expand_body (finish_function (lineno
, (int)yyvsp
[0].itype
| 2));
6329 process_next_inline (yyvsp
[-2].pi
);
6333 #line 2033 "parse.y"
6335 finish_function (lineno
, 2);
6336 process_next_inline (yyvsp
[-2].pi
); ;
6339 #line 2047 "parse.y"
6340 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6343 #line 2049 "parse.y"
6344 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6347 #line 2054 "parse.y"
6348 { do_pending_defargs (); ;
6351 #line 2056 "parse.y"
6352 { do_pending_defargs (); ;
6355 #line 2061 "parse.y"
6356 { yyval
.ttype
= current_enum_type
;
6357 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6360 #line 2064 "parse.y"
6361 { yyval
.ftype
.t
= finish_enum (current_enum_type
);
6362 yyval
.ftype
.new_type_flag
= 1;
6363 current_enum_type
= yyvsp
[-2].ttype
;
6364 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6367 #line 2069 "parse.y"
6368 { yyval
.ttype
= current_enum_type
;
6369 current_enum_type
= start_enum (make_anon_name ()); ;
6372 #line 2072 "parse.y"
6373 { yyval
.ftype
.t
= finish_enum (current_enum_type
);
6374 yyval
.ftype
.new_type_flag
= 1;
6375 current_enum_type
= yyvsp
[-2].ttype
;
6376 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6379 #line 2077 "parse.y"
6380 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6381 yyval
.ftype
.new_type_flag
= 0; ;
6384 #line 2080 "parse.y"
6385 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6386 yyval
.ftype
.new_type_flag
= 0; ;
6389 #line 2083 "parse.y"
6390 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6391 yyval
.ftype
.new_type_flag
= 0;
6392 if (!processing_template_decl
)
6393 cp_pedwarn ("using `typename' outside of template"); ;
6396 #line 2089 "parse.y"
6397 { yyvsp
[-1].ftype
.t
= begin_class_definition (yyvsp
[-1].ftype
.t
); ;
6400 #line 2091 "parse.y"
6404 if (yychar
== YYEMPTY
)
6406 semi
= yychar
== ';';
6408 yyval
.ttype
= finish_class_definition (yyvsp
[-5].ftype
.t
, yyvsp
[0].ttype
, semi
,
6409 yyvsp
[-5].ftype
.new_type_flag
);
6413 #line 2102 "parse.y"
6415 begin_inline_definitions ();
6419 #line 2106 "parse.y"
6421 finish_inline_definitions ();
6422 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6423 yyval
.ftype
.new_type_flag
= 1;
6427 #line 2112 "parse.y"
6429 if (yyvsp
[0].ftype
.new_type_flag
&& yyvsp
[0].ftype
.t
!= error_mark_node
)
6430 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp
[0].ftype
.t
)));
6431 yyval
.ftype
.new_type_flag
= 0;
6432 if (yyvsp
[0].ftype
.t
== error_mark_node
)
6433 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6434 else if (TYPE_BINFO (yyvsp
[0].ftype
.t
) == NULL_TREE
)
6436 cp_error ("%T is not a class type", yyvsp
[0].ftype
.t
);
6437 yyval
.ftype
.t
= error_mark_node
;
6441 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6442 /* struct B: public A; is not accepted by the WP grammar. */
6443 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6444 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6445 cp_error ("base clause without member specification for `%#T'",
6451 #line 2143 "parse.y"
6452 { if (pedantic
&& !in_system_header
)
6453 pedwarn ("comma at end of enumerator list"); ;
6456 #line 2150 "parse.y"
6457 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6460 #line 2152 "parse.y"
6461 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6464 #line 2154 "parse.y"
6465 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6468 #line 2156 "parse.y"
6469 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6472 #line 2158 "parse.y"
6473 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6476 #line 2163 "parse.y"
6478 current_aggr
= yyvsp
[-1].ttype
;
6479 yyval
.ttype
= yyvsp
[0].ttype
;
6483 #line 2171 "parse.y"
6484 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6487 #line 2173 "parse.y"
6488 { yyungetc ('{', 1); ;
6491 #line 2175 "parse.y"
6492 { yyungetc (':', 1); ;
6495 #line 2180 "parse.y"
6497 current_aggr
= yyvsp
[-2].ttype
;
6498 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6499 yyval
.ftype
.new_type_flag
= 1;
6503 #line 2186 "parse.y"
6505 current_aggr
= yyvsp
[-3].ttype
;
6506 yyval
.ftype
.t
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6507 yyval
.ftype
.new_type_flag
= 1;
6511 #line 2192 "parse.y"
6513 current_aggr
= yyvsp
[-2].ttype
;
6514 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6515 yyval
.ftype
.new_type_flag
= 1;
6519 #line 2198 "parse.y"
6521 current_aggr
= yyvsp
[-1].ttype
;
6522 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6523 yyval
.ftype
.new_type_flag
= 0;
6527 #line 2204 "parse.y"
6529 current_aggr
= yyvsp
[-2].ttype
;
6530 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6531 if (CP_DECL_CONTEXT (yyval
.ftype
.t
))
6532 push_scope (CP_DECL_CONTEXT (yyval
.ftype
.t
));
6533 yyval
.ftype
.new_type_flag
= 1;
6537 #line 2215 "parse.y"
6539 yyval
.ftype
.t
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1);
6540 yyval
.ftype
.new_type_flag
= 0;
6544 #line 2220 "parse.y"
6545 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6548 #line 2224 "parse.y"
6550 yyval
.ftype
.t
= yyvsp
[-1].ttype
;
6551 yyval
.ftype
.new_type_flag
= 0;
6553 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6557 #line 2232 "parse.y"
6559 if (yyvsp
[-1].ftype
.t
!= error_mark_node
)
6561 yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ftype
.t
);
6562 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
6563 if (current_aggr
== union_type_node
6564 && TREE_CODE (yyval
.ftype
.t
) != UNION_TYPE
)
6565 cp_pedwarn ("`union' tag used in declaring `%#T'",
6567 else if (TREE_CODE (yyval
.ftype
.t
) == UNION_TYPE
6568 && current_aggr
!= union_type_node
)
6569 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ftype
);
6570 else if (TREE_CODE (yyval
.ftype
.t
) == RECORD_TYPE
)
6571 /* We might be specializing a template with a different
6573 CLASSTYPE_DECLARED_CLASS (yyval
.ftype
.t
)
6574 = (current_aggr
== class_type_node
);
6577 maybe_process_partial_specialization (yyval
.ftype
.t
);
6578 xref_basetypes (current_aggr
, yyvsp
[-1].ftype
.t
, yyval
.ftype
.t
, yyvsp
[0].ttype
);
6584 #line 2260 "parse.y"
6585 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6586 yyungetc ('{', 1); ;
6589 #line 2270 "parse.y"
6591 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6592 yyval
.ftype
.new_type_flag
= 0;
6596 #line 2279 "parse.y"
6597 { yyval
.ttype
= NULL_TREE
; ;
6600 #line 2281 "parse.y"
6601 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6604 #line 2283 "parse.y"
6605 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6608 #line 2289 "parse.y"
6609 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6612 #line 2294 "parse.y"
6613 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
); ;
6616 #line 2296 "parse.y"
6617 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6620 #line 2301 "parse.y"
6621 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6624 #line 2308 "parse.y"
6625 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6626 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6627 yyval
.ttype
= access_default_virtual_node
; ;
6630 #line 2312 "parse.y"
6632 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6633 error ("multiple access specifiers");
6634 else if (yyvsp
[-1].ttype
== access_public_node
)
6635 yyval
.ttype
= access_public_virtual_node
;
6636 else if (yyvsp
[-1].ttype
== access_protected_node
)
6637 yyval
.ttype
= access_protected_virtual_node
;
6638 else /* $2 == access_private_node */
6639 yyval
.ttype
= access_private_virtual_node
;
6643 #line 2323 "parse.y"
6644 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6645 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6646 else if (yyval
.ttype
== access_public_node
)
6647 yyval
.ttype
= access_public_virtual_node
;
6648 else if (yyval
.ttype
== access_protected_node
)
6649 yyval
.ttype
= access_protected_virtual_node
;
6650 else if (yyval
.ttype
== access_private_node
)
6651 yyval
.ttype
= access_private_virtual_node
;
6653 error ("multiple `virtual' specifiers");
6657 #line 2344 "parse.y"
6659 current_access_specifier
= yyvsp
[-1].ttype
;
6663 #line 2353 "parse.y"
6665 finish_member_declaration (yyvsp
[0].ttype
);
6669 #line 2357 "parse.y"
6671 finish_member_declaration (yyvsp
[0].ttype
);
6675 #line 2365 "parse.y"
6676 { error ("missing ';' before right brace");
6677 yyungetc ('}', 0); ;
6680 #line 2370 "parse.y"
6681 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6684 #line 2372 "parse.y"
6685 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6688 #line 2374 "parse.y"
6689 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6692 #line 2376 "parse.y"
6693 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6696 #line 2378 "parse.y"
6697 { yyval
.ttype
= NULL_TREE
; ;
6700 #line 2380 "parse.y"
6701 { yyval
.ttype
= yyvsp
[0].ttype
;
6702 pedantic
= yyvsp
[-1].itype
; ;
6705 #line 2383 "parse.y"
6708 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6710 /* The component was already processed. */
6711 yyval
.ttype
= NULL_TREE
;
6713 finish_template_decl (yyvsp
[-1].ttype
);
6717 #line 2393 "parse.y"
6719 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6720 finish_template_decl (yyvsp
[-2].ttype
);
6724 #line 2404 "parse.y"
6726 /* Most of the productions for component_decl only
6727 allow the creation of one new member, so we call
6728 finish_member_declaration in component_decl_list.
6729 For this rule and the next, however, there can be
6730 more than one member, e.g.:
6734 and we need the first member to be fully
6735 registered before the second is processed.
6736 Therefore, the rules for components take care of
6737 this processing. To avoid registering the
6738 components more than once, we send NULL_TREE up
6739 here; that lets finish_member_declaration know
6740 that there is nothing to do. */
6741 if (!yyvsp
[0].itype
)
6742 grok_x_components (yyvsp
[-1].ftype
.t
);
6743 yyval
.ttype
= NULL_TREE
;
6747 #line 2425 "parse.y"
6749 if (!yyvsp
[0].itype
)
6750 grok_x_components (yyvsp
[-1].ttype
);
6751 yyval
.ttype
= NULL_TREE
;
6755 #line 2431 "parse.y"
6756 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6757 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6760 #line 2434 "parse.y"
6761 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6762 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6765 #line 2437 "parse.y"
6766 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6769 #line 2439 "parse.y"
6770 { yyval
.ttype
= NULL_TREE
; ;
6773 #line 2450 "parse.y"
6774 { tree specs
, attrs
;
6775 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6776 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6777 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6780 #line 2455 "parse.y"
6781 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6782 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6785 #line 2458 "parse.y"
6786 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6789 #line 2464 "parse.y"
6790 { yyval
.itype
= 0; ;
6793 #line 2466 "parse.y"
6795 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6796 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6797 finish_member_declaration (yyvsp
[0].ttype
);
6802 #line 2473 "parse.y"
6804 check_multiple_declarators ();
6805 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6806 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6807 finish_member_declaration (yyvsp
[0].ttype
);
6812 #line 2484 "parse.y"
6813 { yyval
.itype
= 0; ;
6816 #line 2486 "parse.y"
6818 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6819 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6820 finish_member_declaration (yyvsp
[0].ttype
);
6825 #line 2493 "parse.y"
6827 check_multiple_declarators ();
6828 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6829 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6830 finish_member_declaration (yyvsp
[0].ttype
);
6835 #line 2514 "parse.y"
6836 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6837 &prefix_attributes
);
6838 yyvsp
[-4].ttype
= current_declspecs
;
6839 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6840 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6843 #line 2520 "parse.y"
6844 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6845 &prefix_attributes
);
6846 yyvsp
[-4].ttype
= current_declspecs
;
6847 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6848 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6851 #line 2529 "parse.y"
6852 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6853 &prefix_attributes
);
6854 yyvsp
[-4].ttype
= current_declspecs
;
6855 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6856 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6859 #line 2535 "parse.y"
6860 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6861 &prefix_attributes
);
6862 yyvsp
[-4].ttype
= current_declspecs
;
6863 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6864 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6867 #line 2541 "parse.y"
6868 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6869 &prefix_attributes
);
6870 yyvsp
[-4].ttype
= current_declspecs
;
6871 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6872 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6875 #line 2547 "parse.y"
6876 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6877 &prefix_attributes
);
6878 yyvsp
[-3].ttype
= current_declspecs
;
6879 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6880 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6883 #line 2556 "parse.y"
6884 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6885 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6888 #line 2559 "parse.y"
6889 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6890 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6893 #line 2565 "parse.y"
6894 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6895 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6898 #line 2568 "parse.y"
6899 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6900 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6903 #line 2571 "parse.y"
6904 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6905 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6908 #line 2591 "parse.y"
6909 { build_enumerator (yyvsp
[0].ttype
, NULL_TREE
, current_enum_type
); ;
6912 #line 2593 "parse.y"
6913 { build_enumerator (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6916 #line 2599 "parse.y"
6917 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6918 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6921 #line 2602 "parse.y"
6922 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6923 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6926 #line 2607 "parse.y"
6929 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6930 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6931 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6932 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6936 #line 2618 "parse.y"
6937 { yyval
.ttype
= NULL_TREE
; ;
6940 #line 2620 "parse.y"
6941 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6944 #line 2625 "parse.y"
6945 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
6946 yyval
.ftype
.new_type_flag
= 0; ;
6949 #line 2628 "parse.y"
6950 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6951 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6954 #line 2638 "parse.y"
6955 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6958 #line 2640 "parse.y"
6959 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6962 #line 2642 "parse.y"
6963 { yyval
.ttype
= empty_parms (); ;
6966 #line 2644 "parse.y"
6967 { yyval
.ttype
= NULL_TREE
; ;
6970 #line 2652 "parse.y"
6972 /* Provide support for '(' attributes '*' declarator ')'
6974 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6978 #line 2662 "parse.y"
6979 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6982 #line 2664 "parse.y"
6983 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6986 #line 2666 "parse.y"
6987 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6990 #line 2668 "parse.y"
6991 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6994 #line 2670 "parse.y"
6995 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6996 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7000 #line 2678 "parse.y"
7001 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7004 #line 2680 "parse.y"
7005 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7008 #line 2682 "parse.y"
7009 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7012 #line 2684 "parse.y"
7013 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7016 #line 2686 "parse.y"
7017 { push_nested_class (yyvsp
[-1].ttype
, 3);
7018 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
7019 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
7022 #line 2694 "parse.y"
7024 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7026 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
7027 maybe_note_name_used_in_class (yyvsp
[0].ttype
, yyval
.ttype
);
7030 yyval
.ttype
= yyvsp
[0].ttype
;
7034 #line 2704 "parse.y"
7036 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7037 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7039 yyval
.ttype
= yyvsp
[0].ttype
;
7040 got_scope
= NULL_TREE
;
7044 #line 2717 "parse.y"
7045 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7048 #line 2722 "parse.y"
7049 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
7052 #line 2731 "parse.y"
7054 /* Provide support for '(' attributes '*' declarator ')'
7056 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7060 #line 2740 "parse.y"
7061 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7064 #line 2742 "parse.y"
7065 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7068 #line 2744 "parse.y"
7069 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7072 #line 2746 "parse.y"
7073 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7076 #line 2748 "parse.y"
7077 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7078 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7082 #line 2756 "parse.y"
7083 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7086 #line 2758 "parse.y"
7087 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7090 #line 2760 "parse.y"
7091 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7094 #line 2762 "parse.y"
7095 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7098 #line 2764 "parse.y"
7099 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7100 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7104 #line 2772 "parse.y"
7105 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7108 #line 2774 "parse.y"
7109 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7112 #line 2776 "parse.y"
7113 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7116 #line 2778 "parse.y"
7117 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7120 #line 2780 "parse.y"
7121 { enter_scope_of (yyvsp
[0].ttype
); ;
7124 #line 2782 "parse.y"
7125 { got_scope
= NULL_TREE
;
7126 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7127 enter_scope_of (yyval
.ttype
);
7131 #line 2790 "parse.y"
7132 { got_scope
= NULL_TREE
;
7133 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7136 #line 2793 "parse.y"
7137 { got_scope
= NULL_TREE
;
7138 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7141 #line 2799 "parse.y"
7142 { got_scope
= NULL_TREE
;
7143 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7146 #line 2802 "parse.y"
7147 { got_scope
= NULL_TREE
;
7148 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7151 #line 2809 "parse.y"
7152 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7155 #line 2814 "parse.y"
7156 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7159 #line 2816 "parse.y"
7160 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7163 #line 2818 "parse.y"
7164 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7167 #line 2829 "parse.y"
7168 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7171 #line 2831 "parse.y"
7172 { got_scope
= yyval
.ttype
7173 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7176 #line 2839 "parse.y"
7178 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7180 yyval
.ttype
= lastiddecl
;
7181 maybe_note_name_used_in_class (yyvsp
[-1].ttype
, yyval
.ttype
);
7183 got_scope
= yyval
.ttype
=
7184 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
)));
7188 #line 2849 "parse.y"
7190 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7191 yyval
.ttype
= lastiddecl
;
7192 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7196 #line 2855 "parse.y"
7198 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7199 yyval
.ttype
= lastiddecl
;
7200 got_scope
= yyval
.ttype
;
7204 #line 2861 "parse.y"
7205 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7208 #line 2877 "parse.y"
7209 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7212 #line 2882 "parse.y"
7214 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7215 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7216 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7217 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7220 yyval
.ttype
= yyvsp
[0].ttype
;
7221 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7222 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7227 #line 2895 "parse.y"
7228 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7231 #line 2897 "parse.y"
7232 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7235 #line 2899 "parse.y"
7236 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7239 #line 2904 "parse.y"
7241 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7242 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7246 #line 2909 "parse.y"
7248 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7249 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7250 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7251 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7254 yyval
.ttype
= yyvsp
[0].ttype
;
7255 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7256 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7261 #line 2922 "parse.y"
7262 { got_scope
= yyval
.ttype
7263 = make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7266 #line 2925 "parse.y"
7267 { got_scope
= yyval
.ttype
7268 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7271 #line 2931 "parse.y"
7273 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7274 yyvsp
[-1].ttype
= lastiddecl
;
7276 /* Retrieve the type for the identifier, which might involve
7277 some computation. */
7278 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7280 if (yyval
.ttype
== error_mark_node
)
7281 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7285 #line 2943 "parse.y"
7287 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7288 yyval
.ttype
= lastiddecl
;
7289 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7293 #line 2949 "parse.y"
7294 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7297 #line 2953 "parse.y"
7299 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7300 yyval
.ttype
= lastiddecl
;
7301 got_scope
= yyval
.ttype
;
7305 #line 2962 "parse.y"
7306 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7309 #line 2967 "parse.y"
7311 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7312 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7314 yyval
.ttype
= yyvsp
[0].ttype
;
7315 got_scope
= NULL_TREE
;
7319 #line 2976 "parse.y"
7320 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7323 #line 2981 "parse.y"
7324 { got_scope
= NULL_TREE
; ;
7327 #line 2983 "parse.y"
7328 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7331 #line 2990 "parse.y"
7332 { got_scope
= void_type_node
; ;
7335 #line 2996 "parse.y"
7336 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7339 #line 2998 "parse.y"
7340 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7343 #line 3000 "parse.y"
7344 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7347 #line 3002 "parse.y"
7348 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7351 #line 3004 "parse.y"
7352 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7353 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7357 #line 3008 "parse.y"
7358 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7359 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7363 #line 3017 "parse.y"
7364 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7367 #line 3019 "parse.y"
7368 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7371 #line 3025 "parse.y"
7373 /* Provide support for '(' attributes '*' declarator ')'
7375 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7379 #line 3035 "parse.y"
7380 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7383 #line 3037 "parse.y"
7384 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7387 #line 3039 "parse.y"
7388 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7391 #line 3041 "parse.y"
7392 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7395 #line 3043 "parse.y"
7396 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7399 #line 3045 "parse.y"
7400 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7403 #line 3047 "parse.y"
7404 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7407 #line 3049 "parse.y"
7408 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7411 #line 3051 "parse.y"
7412 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7413 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7417 #line 3055 "parse.y"
7418 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7419 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7423 #line 3064 "parse.y"
7424 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7427 #line 3067 "parse.y"
7428 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7431 #line 3069 "parse.y"
7432 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7435 #line 3071 "parse.y"
7436 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7439 #line 3073 "parse.y"
7440 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7443 #line 3075 "parse.y"
7444 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7447 #line 3077 "parse.y"
7448 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7451 #line 3079 "parse.y"
7452 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7455 #line 3081 "parse.y"
7456 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7459 #line 3083 "parse.y"
7460 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7463 #line 3106 "parse.y"
7465 pedwarn ("ANSI C++ forbids label declarations"); ;
7468 #line 3117 "parse.y"
7470 while (yyvsp
[-1].ttype
)
7472 finish_label_decl (TREE_VALUE (yyvsp
[-1].ttype
));
7473 yyvsp
[-1].ttype
= TREE_CHAIN (yyvsp
[-1].ttype
);
7478 #line 3130 "parse.y"
7482 #line 3136 "parse.y"
7483 { yyval
.ttype
= begin_compound_stmt (0); ;
7486 #line 3138 "parse.y"
7487 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7490 #line 3143 "parse.y"
7492 yyval
.ttype
= begin_if_stmt ();
7493 cond_stmt_keyword
= "if";
7497 #line 3148 "parse.y"
7498 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7501 #line 3150 "parse.y"
7502 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7505 #line 3155 "parse.y"
7506 { yyval
.ttype
= begin_compound_stmt (0); ;
7509 #line 3157 "parse.y"
7510 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7513 #line 3162 "parse.y"
7517 #line 3168 "parse.y"
7521 #line 3170 "parse.y"
7522 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7525 #line 3172 "parse.y"
7526 { begin_else_clause (); ;
7529 #line 3174 "parse.y"
7531 finish_else_clause (yyvsp
[-3].ttype
);
7536 #line 3179 "parse.y"
7537 { finish_if_stmt (); ;
7540 #line 3181 "parse.y"
7542 yyval
.ttype
= begin_while_stmt ();
7543 cond_stmt_keyword
= "while";
7547 #line 3186 "parse.y"
7548 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7551 #line 3188 "parse.y"
7552 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7555 #line 3190 "parse.y"
7556 { yyval
.ttype
= begin_do_stmt (); ;
7559 #line 3192 "parse.y"
7561 finish_do_body (yyvsp
[-2].ttype
);
7562 cond_stmt_keyword
= "do";
7566 #line 3197 "parse.y"
7567 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7570 #line 3199 "parse.y"
7571 { yyval
.ttype
= begin_for_stmt (); ;
7574 #line 3201 "parse.y"
7575 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7578 #line 3203 "parse.y"
7579 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7582 #line 3205 "parse.y"
7583 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7586 #line 3207 "parse.y"
7587 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7590 #line 3209 "parse.y"
7591 { yyval
.ttype
= begin_switch_stmt (); ;
7594 #line 3211 "parse.y"
7595 { finish_switch_cond (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7598 #line 3213 "parse.y"
7599 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-5].ttype
); ;
7602 #line 3215 "parse.y"
7603 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7606 #line 3218 "parse.y"
7607 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7610 #line 3221 "parse.y"
7611 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7614 #line 3224 "parse.y"
7615 { finish_break_stmt (); ;
7618 #line 3226 "parse.y"
7619 { finish_continue_stmt (); ;
7622 #line 3228 "parse.y"
7623 { finish_return_stmt (NULL_TREE
); ;
7626 #line 3230 "parse.y"
7627 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7630 #line 3232 "parse.y"
7632 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7637 #line 3238 "parse.y"
7639 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7644 #line 3244 "parse.y"
7645 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7648 #line 3248 "parse.y"
7649 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7652 #line 3250 "parse.y"
7655 pedwarn ("ANSI C++ forbids computed gotos");
7656 finish_goto_stmt (yyvsp
[-1].ttype
);
7660 #line 3256 "parse.y"
7661 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7664 #line 3259 "parse.y"
7665 { error ("label must be followed by statement");
7666 yyungetc ('}', 0); ;
7669 #line 3262 "parse.y"
7673 #line 3266 "parse.y"
7674 { do_local_using_decl (yyvsp
[0].ttype
); ;
7677 #line 3272 "parse.y"
7678 { yyval
.ttype
= begin_function_try_block (); ;
7681 #line 3274 "parse.y"
7682 { finish_function_try_block (yyvsp
[-2].ttype
); ;
7685 #line 3276 "parse.y"
7687 finish_function_handler_sequence (yyvsp
[-4].ttype
);
7688 yyval
.itype
= yyvsp
[-3].itype
;
7692 #line 3284 "parse.y"
7693 { yyval
.ttype
= begin_try_block (); ;
7696 #line 3286 "parse.y"
7697 { finish_try_block (yyvsp
[-1].ttype
); ;
7700 #line 3288 "parse.y"
7701 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7704 #line 3298 "parse.y"
7705 { yyval
.ttype
= begin_handler(); ;
7708 #line 3300 "parse.y"
7709 { yyval
.ttype
= finish_handler_parms (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7712 #line 3302 "parse.y"
7713 { finish_handler (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7716 #line 3312 "parse.y"
7717 { yyval
.ttype
= NULL_TREE
; ;
7720 #line 3328 "parse.y"
7722 check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7723 yyval
.ttype
= start_handler_parms (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7724 TREE_VALUE (yyvsp
[-1].ftype
.t
));
7728 #line 3337 "parse.y"
7729 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7732 #line 3339 "parse.y"
7733 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7736 #line 3341 "parse.y"
7737 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7740 #line 3343 "parse.y"
7741 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7744 #line 3348 "parse.y"
7745 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7748 #line 3351 "parse.y"
7750 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7754 #line 3360 "parse.y"
7755 { emit_line_note (input_filename
, lineno
);
7756 yyval
.ttype
= NULL_TREE
; ;
7759 #line 3363 "parse.y"
7760 { emit_line_note (input_filename
, lineno
); ;
7763 #line 3368 "parse.y"
7764 { yyval
.ttype
= NULL_TREE
; ;
7767 #line 3371 "parse.y"
7768 { yyval
.ttype
= NULL_TREE
; ;
7771 #line 3378 "parse.y"
7772 { yyval
.ttype
= NULL_TREE
; ;
7775 #line 3385 "parse.y"
7776 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7779 #line 3390 "parse.y"
7780 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7783 #line 3395 "parse.y"
7784 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7787 #line 3397 "parse.y"
7788 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7791 #line 3408 "parse.y"
7793 yyval
.ttype
= empty_parms();
7797 #line 3413 "parse.y"
7798 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7799 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7802 #line 3421 "parse.y"
7803 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7806 #line 3423 "parse.y"
7807 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7810 #line 3426 "parse.y"
7811 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7814 #line 3428 "parse.y"
7815 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7816 yyvsp
[-1].ftype
.t
), 1); ;
7819 #line 3431 "parse.y"
7820 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7823 #line 3433 "parse.y"
7825 /* This helps us recover from really nasty
7826 parse errors, for example, a missing right
7828 yyerror ("possibly missing ')'");
7829 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7835 #line 3443 "parse.y"
7837 /* This helps us recover from really nasty
7838 parse errors, for example, a missing right
7840 yyerror ("possibly missing ')'");
7841 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7842 yyvsp
[-1].ftype
.t
), 0);
7848 #line 3458 "parse.y"
7849 { maybe_snarf_defarg (); ;
7852 #line 3460 "parse.y"
7853 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7856 #line 3471 "parse.y"
7857 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7858 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7861 #line 3474 "parse.y"
7862 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7863 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7866 #line 3477 "parse.y"
7867 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7868 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7871 #line 3480 "parse.y"
7872 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7875 #line 3482 "parse.y"
7876 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7879 #line 3488 "parse.y"
7880 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7881 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7884 #line 3498 "parse.y"
7885 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7886 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7887 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7890 #line 3502 "parse.y"
7891 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7892 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7895 #line 3505 "parse.y"
7896 { yyval
.ftype
.t
= build_tree_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
7898 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7901 #line 3509 "parse.y"
7902 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7903 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7904 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7907 #line 3513 "parse.y"
7908 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7909 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7910 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7913 #line 3517 "parse.y"
7914 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7915 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7916 yyval
.ftype
.new_type_flag
= 0; ;
7919 #line 3524 "parse.y"
7920 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7921 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7924 #line 3527 "parse.y"
7925 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7926 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7929 #line 3538 "parse.y"
7930 { see_typename (); ;
7933 #line 3543 "parse.y"
7935 error ("type specifier omitted for parameter");
7936 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7940 #line 3548 "parse.y"
7942 error ("type specifier omitted for parameter");
7943 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7944 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7945 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7946 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7947 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7951 #line 3560 "parse.y"
7952 { yyval
.ttype
= NULL_TREE
; ;
7955 #line 3562 "parse.y"
7956 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7959 #line 3564 "parse.y"
7960 { yyval
.ttype
= empty_except_spec
; ;
7963 #line 3569 "parse.y"
7965 check_for_new_type ("exception specifier", yyvsp
[0].ftype
);
7966 yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
);
7970 #line 3577 "parse.y"
7971 { yyval
.ttype
= add_exception_specifier (NULL_TREE
, yyvsp
[0].ttype
, 1); ;
7974 #line 3579 "parse.y"
7975 { yyval
.ttype
= add_exception_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 1); ;
7978 #line 3584 "parse.y"
7979 { yyval
.ttype
= NULL_TREE
; ;
7982 #line 3586 "parse.y"
7983 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7986 #line 3588 "parse.y"
7987 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7990 #line 3590 "parse.y"
7991 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7992 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7996 #line 3597 "parse.y"
7997 { got_scope
= NULL_TREE
; ;
8000 #line 3602 "parse.y"
8001 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8004 #line 3604 "parse.y"
8005 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8008 #line 3606 "parse.y"
8009 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8012 #line 3608 "parse.y"
8013 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8016 #line 3610 "parse.y"
8017 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8020 #line 3612 "parse.y"
8021 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8024 #line 3614 "parse.y"
8025 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8028 #line 3616 "parse.y"
8029 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8032 #line 3618 "parse.y"
8033 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8036 #line 3620 "parse.y"
8037 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8040 #line 3622 "parse.y"
8041 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8044 #line 3624 "parse.y"
8045 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8048 #line 3626 "parse.y"
8049 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8052 #line 3628 "parse.y"
8053 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8056 #line 3630 "parse.y"
8057 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8060 #line 3632 "parse.y"
8061 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8064 #line 3634 "parse.y"
8065 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8068 #line 3636 "parse.y"
8069 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8072 #line 3638 "parse.y"
8073 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8076 #line 3640 "parse.y"
8077 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8080 #line 3642 "parse.y"
8081 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8084 #line 3644 "parse.y"
8085 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8088 #line 3646 "parse.y"
8089 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8092 #line 3648 "parse.y"
8093 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8096 #line 3650 "parse.y"
8097 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8100 #line 3652 "parse.y"
8101 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8104 #line 3654 "parse.y"
8105 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8108 #line 3656 "parse.y"
8109 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8112 #line 3658 "parse.y"
8113 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8116 #line 3660 "parse.y"
8117 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8120 #line 3662 "parse.y"
8121 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8124 #line 3664 "parse.y"
8125 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8128 #line 3666 "parse.y"
8129 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8132 #line 3669 "parse.y"
8133 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8136 #line 3671 "parse.y"
8137 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8140 /* the action file gets copied in in place of this dollarsign */
8141 #line 542 "/usr/lib/bison.simple"
8152 short *ssp1
= yyss
- 1;
8153 fprintf (stderr
, "state stack now");
8154 while (ssp1
!= yyssp
)
8155 fprintf (stderr
, " %d", *++ssp1
);
8156 fprintf (stderr
, "\n");
8166 yylsp
->first_line
= yylloc
.first_line
;
8167 yylsp
->first_column
= yylloc
.first_column
;
8168 yylsp
->last_line
= (yylsp
-1)->last_line
;
8169 yylsp
->last_column
= (yylsp
-1)->last_column
;
8174 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8175 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8179 /* Now "shift" the result of the reduction.
8180 Determine what state that goes to,
8181 based on the state we popped back to
8182 and the rule number reduced by. */
8186 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8187 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8188 yystate
= yytable
[yystate
];
8190 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8194 yyerrlab
: /* here on detecting error */
8197 /* If not already recovering from an error, report this error. */
8201 #ifdef YYERROR_VERBOSE
8202 yyn
= yypact
[yystate
];
8204 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8211 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8212 for (x
= (yyn
< 0 ? -yyn
: 0);
8213 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8214 if (yycheck
[x
+ yyn
] == x
)
8215 size
+= strlen(yytname
[x
]) + 15, count
++;
8216 msg
= (char *) malloc(size
+ 15);
8219 strcpy(msg
, "parse error");
8224 for (x
= (yyn
< 0 ? -yyn
: 0);
8225 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8226 if (yycheck
[x
+ yyn
] == x
)
8228 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8229 strcat(msg
, yytname
[x
]);
8238 yyerror ("parse error; also virtual memory exceeded");
8241 #endif /* YYERROR_VERBOSE */
8242 yyerror("parse error");
8246 yyerrlab1
: /* here on error raised explicitly by an action */
8248 if (yyerrstatus
== 3)
8250 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8252 /* return failure if at end of input */
8253 if (yychar
== YYEOF
)
8258 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8264 /* Else will try to reuse lookahead token
8265 after shifting the error token. */
8267 yyerrstatus
= 3; /* Each real token shifted decrements this */
8271 yyerrdefault
: /* current state does not do anything special for the error token. */
8274 /* This is wrong; only states that explicitly want error tokens
8275 should shift them. */
8276 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8277 if (yyn
) goto yydefault
;
8280 yyerrpop
: /* pop the current state because it cannot handle the error token */
8282 if (yyssp
== yyss
) YYABORT
;
8292 short *ssp1
= yyss
- 1;
8293 fprintf (stderr
, "Error: state stack now");
8294 while (ssp1
!= yyssp
)
8295 fprintf (stderr
, " %d", *++ssp1
);
8296 fprintf (stderr
, "\n");
8302 yyn
= yypact
[yystate
];
8307 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8326 fprintf(stderr
, "Shifting error token, ");
8338 /* YYACCEPT comes here. */
8350 /* YYABORT comes here. */
8361 #line 3674 "parse.y"
8366 debug_yytranslate (value
)
8369 return yytname
[YYTRANSLATE (value
)];